[
  {
    "path": ".editorconfig",
    "content": "# Standard\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\nindent_size = 2\nindent_style = tab\n\n# Spaces are important\n[*.yml]\nindent_style = space\n\n[*.sql]\nindent_style = space\n\n# Windows endings\n[*.bat]\nend_of_line = crlf\n"
  },
  {
    "path": ".gitattributes",
    "content": "# Force Unix-Style Line Endings\n*.css      text eol=lf\n*.html     text eol=lf\n*.js       text eol=lf\n*.json     text eol=lf\n*.less     text eol=lf\n*.markdown text eol=lf\n*.md       text eol=lf\n*.php      text eol=lf\n*.svg      text eol=lf\n*.xml      text eol=lf\n"
  },
  {
    "path": ".gitignore",
    "content": "### Unit Testing ###\n/testing/vendor\n\n### Build Process ###\n/node_modules\n/npm-debug.log\n\n### OS ###\n.DS_Store\n.DS_Store?\n._*\n.Spotlight-V100\n.Trashes\nIcon?\nehthumbs.db\nThumbs.db\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: php\nscript: phpunit\nbefore_script:\n  - composer install\n  - cp testing/wp-config.php testing/vendor/wordpress/wp-config.php\n  - mysql -uroot -e 'create database semantic;'\n  - mysql -uroot semantic < testing/database.sql\n  - ln -s \"$(pwd)/src\" \"$(pwd)/testing/vendor/wordpress/wp-content/themes/Semantic-UI-WordPress\"\nphp:\n  - hhvm\n  - 7.0\n  - 5.6\n  - 5.5\n  - 5.4\n"
  },
  {
    "path": "LICENSE",
    "content": "The Semantic UI for WordPress documentation by Nicholas Jordon is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/\n\nThe Semantic UI for WordPress source code by Nicholas Jordon is licensed under the MIT License. To view a copy of this license, visit http://opensource.org/licenses/MIT\n\nSemantic UI is not subject to this work's copyright and license(s). Other works that may also be included with this work are also not subject to this\nwork's copyright and license(s). Copyright and licensing of all included works are determined by their respective owners.\n"
  },
  {
    "path": "README.md",
    "content": "# Semantic UI for WordPress: Developer Edition\n\n<p align=\"center\">\n\t<img src=\"http://i.imgur.com/AEYUA4Q.png\" alt=\"Semantic UI for WordPress: Developer Edition Logo\"><br>\n\tThe Semantic UI starter/developer theme for WordPress.<br>\n\t<img src=\"https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\" alt=\"License\">\n\t<img src=\"https://img.shields.io/travis/ProjectCleverWeb/Semantic-UI-WordPress/develop.svg?style=flat-square\" alt=\"Travis\">\n</p>\n\nThis project incorporates Semantic UI into a starter (aka developer) theme for WordPress. This project also includes some useful techniques for creating fast, responsive, and easy-to-maintain themes for WordPress. *Please keep in mind this theme is meant to be developed for your specific application; and is not meant to be used \"as-is.\"*\n\nLive Demo: [semantic-wordpress.gopagoda.io](http://semantic-wordpress.gopagoda.io/)\n\n#### Download:\n\n[![Sheild](https://img.shields.io/badge/Release-1.0.1-blue.svg?style=flat-square)](http://bit.ly/1mQOExM)\n\n#### Screenshots\n\n[![Screenshots](http://i.imgur.com/467EKwk.png)](http://i.imgur.com/467EKwk.png)\n\n&nbsp;\n\nCopyright &copy; 2014 Nicholas Jordon &mdash; All Rights Reserved\n\n## Features\n\n<p align=\"center\">\n\t<a target=\"_blank\" href=\"http://semantic-ui.com/\">Semantic UI</a><br>\n\t<a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/Responsive_web_design\">Responsive Design</a> | <a target=\"_blank\" href=\"https://www.google.com/fonts\">Google Web Fonts</a><br>\n\t<a target=\"_blank\" href=\"https://github.com/firetix/gulp-image-optimization\">Image Optimization</a> | <a target=\"_blank\" href=\"http://codex.wordpress.org/Theme_Development#Theme_Options\">Theme Options Page</a> | <a target=\"_blank\" href=\"http://docs.woothemes.com/document/third-party-custom-theme-compatibility/\">Woocommerce Support</a><br>\n\t<a target=\"_blank\" href=\"http://fortawesome.github.io/Font-Awesome/\">Font Awesome</a> | <a target=\"_blank\" href=\"https://github.com/adamfairhead/webicons\">Webicons</a> | <a target=\"_blank\" href=\"http://sass-lang.com/\">LESS/SASS Support</a> | <a target=\"_blank\" href=\"http://necolas.github.io/normalize.css/\">Normalize CSS</a><br>\n\t<a target=\"_blank\" href=\"https://developers.google.com/speed/libraries/devguide\">jQuery</a> | <a target=\"_blank\" href=\"http://gulpjs.com/\">Gulp</a> | <a target=\"_blank\" href=\"https://support.google.com/webmasters/answer/176035?hl=en&amp;ref_topic=4600447\">Google Microdata</a> | <a target=\"_blank\" href=\"https://travis-ci.org/ProjectCleverWeb/Semantic-UI-WordPress\">Unit Testing</a><br>\n\t<a target=\"_blank\" href=\"https://highlightjs.org/\">Highlight.js</a> | <a target=\"_blank\" href=\"http://craig.is/killing/mice\">Keyboard Shortcuts</a><br>\n\tWell Commented Code\n</p>\n\n## Installation\n\n#### Requirements\n\n* PHP **5.6**, **7.0**, or **HHVM** <small>(5.4 and 5.5 run, but are not officially supported)</small>\n* WordPress 4.0 or later <small>(3.9 runs, but is not officially supported)</small>\n\n#### Install Guide\n\n1. Download the release version of the theme\n2. Unzip to your `wp-content/themes` directory\n3. Set the theme to \"active\" in your WordPress dashboard\n\n#### Building From Source\n\nTo build from source you need to have [Node.js](http://nodejs.org/) installed\nand in your `$path` ([win](http://www.computerhope.com/issues/ch000549.htm)/[mac](http://apple.stackexchange.com/questions/119125/mac-os-x-mavericks-add-to-path)/[unix](http://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path)).\nYou should also have [PHPUnit](https://phpunit.de/) and\n[Composer](https://getcomposer.org/) installed and in your `$path` as well.\n\n&#42;&#42;Please note that when building from source, the `/dist` directory\nshould be renamed and then put in your `/wp-content/themes` directory\n\n**Mac &amp; Unix:**\n\n1. Download or clone the master branch\n2. Open your command line and navigate to where you deployed the code\n3. Run `npm install && sudo npm install -g gulp` enter your password and then wait for it to finish.\n4. Run `gulp` to see a list of available tasks. Running `gulp build` will regenerate `/dist` from scratch.\n\n**Windows:**\n\n1. Download or clone the master branch\n2. Open your command line and navigate to where you deployed the code\n3. Run `npm install && npm install -g gulp` and then wait for it to finish.\n4. Run `gulp` to see a list of available tasks. Running `gulp build` will regenerate `/dist` from scratch.\n\n## Usage\n\nThis is a developer theme designed to be developed for your specific application. The default state of this theme is meant to be minimal &amp; organized; while not being bias to any particular design.\n\n## Designing Pages\n\nIn this developer theme there are 4 important parts to generate a page:\n\n- Templates\n- Includes\n- Contents\n- Assets\n\n**A template file** generates the general layout of a page. They generally call\nthe header and footer functions, get content files, and should call any includes\nthe page will need.\n\n**A include file** adds functionality to a page and should have no output unless\na function or method is called in a template or content file. Include files are \nusually used for API classes and libraries, but can be used for any kind of\nfunctionality.\n\n**A content file** generates a group of elements and often has functionality\ncalls for specific elements, such as dynamic text and images. Content files\ntypically output the most HTML.\n\n**Assets** are typically static files that are commonly used. These files are\nusually images, stylesheets, fonts, and javascript files, and might also\ninclude other files that need to be pre-compiled before they can be used. (such\nas LESS and SASS/SCSS files)\n\n## Contributing\n\n#### Contributing to Semantic UI\n\nVisit [this page](https://github.com/Semantic-Org/Semantic-UI/blob/master/CONTRIBUTING.md)\nto learn how to contribute to Semantic UI.\n\n#### Contributing to This WordPress Theme\n\n**Contributing *via* Suggestions:** <br>\nThe best way to submit a suggestion is to open an issue on Github and prefix the\ntitle with `[Suggestion]`. Alternatively, you can email your suggestions to\nprojectcleverweb (at) gmail (dot) com.\n\n**Contributing *via* Reporting Problems:** <br>\nAll problems must be reported via Github's\n[issue tracker](https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues).\n\n**Contributing *via* Code:**\n\n1. Fork the repo on Github: [github.com/ProjectCleverWeb/Semantic-UI-WordPress](https://github.com/ProjectCleverWeb/Semantic-UI-WordPress)\n2. Make your changes.\n3. Send a pull request to have your changes reviewed.\n\n## License\n\n**NOTICE:** All included works (aka libraries) are licensed under the MIT license\n**OR** are compatible with the MIT License.\n\nThe Semantic UI for WordPress documentation by Nicholas Jordon is licensed\nunder the Creative Commons Attribution-ShareAlike 4.0 International License.\nTo view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/\n\nThe Semantic UI for WordPress source code by Nicholas Jordon is licensed under\nthe MIT License. To view a copy of this license, visit http://opensource.org/licenses/MIT\n\nSemantic UI is not subject to this work's copyright &amp; license(s). Other\nworks that may also be included with this work are also not subject to this\nwork's copyright &amp; license(s). Copyright &amp; licensing of all included\nworks are determined by their respective owners.\n"
  },
  {
    "path": "composer.json",
    "content": "{\n\t\"name\": \"projectcleverweb/semantic-ui-wordpress\",\n\t\"description\": \"\",\n\t\"version\": \"1.0.0\",\n\t\"keywords\": [\n\t\t\"semantic\",\n\t\t\"ui\",\n\t\t\"wordpress\"\n\t],\n\t\"homepage\": \"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\",\n\t\"type\": \"project\",\n\t\"license\": [\"MIT\", \"CC-BY-SA-4.0\"],\n\t\"authors\": [\n\t\t{\n\t\t\t\"name\": \"Nicholas Jordon\",\n\t\t\t\"email\": \"projectcleverweb@gmail.com\",\n\t\t\t\"homepage\": \"https://github.com/ProjectCleverWeb\"\n\t\t}\n\t],\n\t\"require\": {\n\t\t\"php\": \">=5.4\"\n\t},\n\t\"require-dev\": {\n\t\t\"wordpress\": \">=3.9\"\n\t},\n\t\"config\": {\n\t\t\"vendor-dir\": \"testing/vendor\"\n\t},\n\t\"repositories\": [\n\t\t{\n\t\t\t\"type\": \"package\",\n\t\t\t\"package\": {\n\t\t\t\t\"name\": \"wordpress\",\n\t\t\t\t\"version\": \"3.9.2\",\n\t\t\t\t\"dist\": {\n\t\t\t\t\t\"url\": \"http://wordpress.org/wordpress-3.9.2.zip\",\n\t\t\t\t\t\"type\": \"zip\"\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n}\n"
  },
  {
    "path": "default_build.json",
    "content": "{\n\t\"compile_less\": true,\n\t\"compile_sass\": true,\n\t\"optimize_images\": true,\n\t\"optimize_image_types\": [\"gif\", \"jpeg\", \"jpg\", \"png\"],\n\t\"optimize_image_options\": {\n\t\t\"optimizationLevel\": 7,\n\t\t\"progressive\": true,\n\t\t\"interlaced\": true\n\t},\n\t\"minify_css\": true,\n\t\"concat_css\": true,\n\t\"minify_js\": true,\n\t\"concat_js\": true,\n\t\"concat_css_output\": \"base.concat.min.css\",\n\t\"concat_js_output\": \"base.concat.min.js\",\n\t\"concat_js_files\":[\n\t\t\"jquery-2.1.1.min.js\",\n\t\t\"highlight.pack.min.js\",\n\t\t\"mousetrap.min.js\"\n\t],\n\t\"concat_css_files\":[\n\t\t\"normalize.min.css\",\n\t\t\"font-awesome.min.css\",\n\t\t\"webicons.min.css\",\n\t\t\"highlight.js/github.min.css\"\n\t],\n\t\"paths\":{\n\t\t\"source\": \"src\",\n\t\t\"dist\": \"dist\",\n\t\t\"testing_dist\": \"testing/vendor/wordpress/wp-content/themes/semantic-ui\",\n\t\t\"styles\": \"asset/style\",\n\t\t\"scripts\": \"asset/script\"\n\t}\n}\n"
  },
  {
    "path": "dist/README.html",
    "content": "<html><body><style type=\"text/css\">/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}\n/*!\n *  Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome\n *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:\"\\f000\"}.fa-music:before{content:\"\\f001\"}.fa-search:before{content:\"\\f002\"}.fa-envelope-o:before{content:\"\\f003\"}.fa-heart:before{content:\"\\f004\"}.fa-star:before{content:\"\\f005\"}.fa-star-o:before{content:\"\\f006\"}.fa-user:before{content:\"\\f007\"}.fa-film:before{content:\"\\f008\"}.fa-th-large:before{content:\"\\f009\"}.fa-th:before{content:\"\\f00a\"}.fa-th-list:before{content:\"\\f00b\"}.fa-check:before{content:\"\\f00c\"}.fa-remove:before,.fa-close:before,.fa-times:before{content:\"\\f00d\"}.fa-search-plus:before{content:\"\\f00e\"}.fa-search-minus:before{content:\"\\f010\"}.fa-power-off:before{content:\"\\f011\"}.fa-signal:before{content:\"\\f012\"}.fa-gear:before,.fa-cog:before{content:\"\\f013\"}.fa-trash-o:before{content:\"\\f014\"}.fa-home:before{content:\"\\f015\"}.fa-file-o:before{content:\"\\f016\"}.fa-clock-o:before{content:\"\\f017\"}.fa-road:before{content:\"\\f018\"}.fa-download:before{content:\"\\f019\"}.fa-arrow-circle-o-down:before{content:\"\\f01a\"}.fa-arrow-circle-o-up:before{content:\"\\f01b\"}.fa-inbox:before{content:\"\\f01c\"}.fa-play-circle-o:before{content:\"\\f01d\"}.fa-rotate-right:before,.fa-repeat:before{content:\"\\f01e\"}.fa-refresh:before{content:\"\\f021\"}.fa-list-alt:before{content:\"\\f022\"}.fa-lock:before{content:\"\\f023\"}.fa-flag:before{content:\"\\f024\"}.fa-headphones:before{content:\"\\f025\"}.fa-volume-off:before{content:\"\\f026\"}.fa-volume-down:before{content:\"\\f027\"}.fa-volume-up:before{content:\"\\f028\"}.fa-qrcode:before{content:\"\\f029\"}.fa-barcode:before{content:\"\\f02a\"}.fa-tag:before{content:\"\\f02b\"}.fa-tags:before{content:\"\\f02c\"}.fa-book:before{content:\"\\f02d\"}.fa-bookmark:before{content:\"\\f02e\"}.fa-print:before{content:\"\\f02f\"}.fa-camera:before{content:\"\\f030\"}.fa-font:before{content:\"\\f031\"}.fa-bold:before{content:\"\\f032\"}.fa-italic:before{content:\"\\f033\"}.fa-text-height:before{content:\"\\f034\"}.fa-text-width:before{content:\"\\f035\"}.fa-align-left:before{content:\"\\f036\"}.fa-align-center:before{content:\"\\f037\"}.fa-align-right:before{content:\"\\f038\"}.fa-align-justify:before{content:\"\\f039\"}.fa-list:before{content:\"\\f03a\"}.fa-dedent:before,.fa-outdent:before{content:\"\\f03b\"}.fa-indent:before{content:\"\\f03c\"}.fa-video-camera:before{content:\"\\f03d\"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:\"\\f03e\"}.fa-pencil:before{content:\"\\f040\"}.fa-map-marker:before{content:\"\\f041\"}.fa-adjust:before{content:\"\\f042\"}.fa-tint:before{content:\"\\f043\"}.fa-edit:before,.fa-pencil-square-o:before{content:\"\\f044\"}.fa-share-square-o:before{content:\"\\f045\"}.fa-check-square-o:before{content:\"\\f046\"}.fa-arrows:before{content:\"\\f047\"}.fa-step-backward:before{content:\"\\f048\"}.fa-fast-backward:before{content:\"\\f049\"}.fa-backward:before{content:\"\\f04a\"}.fa-play:before{content:\"\\f04b\"}.fa-pause:before{content:\"\\f04c\"}.fa-stop:before{content:\"\\f04d\"}.fa-forward:before{content:\"\\f04e\"}.fa-fast-forward:before{content:\"\\f050\"}.fa-step-forward:before{content:\"\\f051\"}.fa-eject:before{content:\"\\f052\"}.fa-chevron-left:before{content:\"\\f053\"}.fa-chevron-right:before{content:\"\\f054\"}.fa-plus-circle:before{content:\"\\f055\"}.fa-minus-circle:before{content:\"\\f056\"}.fa-times-circle:before{content:\"\\f057\"}.fa-check-circle:before{content:\"\\f058\"}.fa-question-circle:before{content:\"\\f059\"}.fa-info-circle:before{content:\"\\f05a\"}.fa-crosshairs:before{content:\"\\f05b\"}.fa-times-circle-o:before{content:\"\\f05c\"}.fa-check-circle-o:before{content:\"\\f05d\"}.fa-ban:before{content:\"\\f05e\"}.fa-arrow-left:before{content:\"\\f060\"}.fa-arrow-right:before{content:\"\\f061\"}.fa-arrow-up:before{content:\"\\f062\"}.fa-arrow-down:before{content:\"\\f063\"}.fa-mail-forward:before,.fa-share:before{content:\"\\f064\"}.fa-expand:before{content:\"\\f065\"}.fa-compress:before{content:\"\\f066\"}.fa-plus:before{content:\"\\f067\"}.fa-minus:before{content:\"\\f068\"}.fa-asterisk:before{content:\"\\f069\"}.fa-exclamation-circle:before{content:\"\\f06a\"}.fa-gift:before{content:\"\\f06b\"}.fa-leaf:before{content:\"\\f06c\"}.fa-fire:before{content:\"\\f06d\"}.fa-eye:before{content:\"\\f06e\"}.fa-eye-slash:before{content:\"\\f070\"}.fa-warning:before,.fa-exclamation-triangle:before{content:\"\\f071\"}.fa-plane:before{content:\"\\f072\"}.fa-calendar:before{content:\"\\f073\"}.fa-random:before{content:\"\\f074\"}.fa-comment:before{content:\"\\f075\"}.fa-magnet:before{content:\"\\f076\"}.fa-chevron-up:before{content:\"\\f077\"}.fa-chevron-down:before{content:\"\\f078\"}.fa-retweet:before{content:\"\\f079\"}.fa-shopping-cart:before{content:\"\\f07a\"}.fa-folder:before{content:\"\\f07b\"}.fa-folder-open:before{content:\"\\f07c\"}.fa-arrows-v:before{content:\"\\f07d\"}.fa-arrows-h:before{content:\"\\f07e\"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:\"\\f080\"}.fa-twitter-square:before{content:\"\\f081\"}.fa-facebook-square:before{content:\"\\f082\"}.fa-camera-retro:before{content:\"\\f083\"}.fa-key:before{content:\"\\f084\"}.fa-gears:before,.fa-cogs:before{content:\"\\f085\"}.fa-comments:before{content:\"\\f086\"}.fa-thumbs-o-up:before{content:\"\\f087\"}.fa-thumbs-o-down:before{content:\"\\f088\"}.fa-star-half:before{content:\"\\f089\"}.fa-heart-o:before{content:\"\\f08a\"}.fa-sign-out:before{content:\"\\f08b\"}.fa-linkedin-square:before{content:\"\\f08c\"}.fa-thumb-tack:before{content:\"\\f08d\"}.fa-external-link:before{content:\"\\f08e\"}.fa-sign-in:before{content:\"\\f090\"}.fa-trophy:before{content:\"\\f091\"}.fa-github-square:before{content:\"\\f092\"}.fa-upload:before{content:\"\\f093\"}.fa-lemon-o:before{content:\"\\f094\"}.fa-phone:before{content:\"\\f095\"}.fa-square-o:before{content:\"\\f096\"}.fa-bookmark-o:before{content:\"\\f097\"}.fa-phone-square:before{content:\"\\f098\"}.fa-twitter:before{content:\"\\f099\"}.fa-facebook:before{content:\"\\f09a\"}.fa-github:before{content:\"\\f09b\"}.fa-unlock:before{content:\"\\f09c\"}.fa-credit-card:before{content:\"\\f09d\"}.fa-rss:before{content:\"\\f09e\"}.fa-hdd-o:before{content:\"\\f0a0\"}.fa-bullhorn:before{content:\"\\f0a1\"}.fa-bell:before{content:\"\\f0f3\"}.fa-certificate:before{content:\"\\f0a3\"}.fa-hand-o-right:before{content:\"\\f0a4\"}.fa-hand-o-left:before{content:\"\\f0a5\"}.fa-hand-o-up:before{content:\"\\f0a6\"}.fa-hand-o-down:before{content:\"\\f0a7\"}.fa-arrow-circle-left:before{content:\"\\f0a8\"}.fa-arrow-circle-right:before{content:\"\\f0a9\"}.fa-arrow-circle-up:before{content:\"\\f0aa\"}.fa-arrow-circle-down:before{content:\"\\f0ab\"}.fa-globe:before{content:\"\\f0ac\"}.fa-wrench:before{content:\"\\f0ad\"}.fa-tasks:before{content:\"\\f0ae\"}.fa-filter:before{content:\"\\f0b0\"}.fa-briefcase:before{content:\"\\f0b1\"}.fa-arrows-alt:before{content:\"\\f0b2\"}.fa-group:before,.fa-users:before{content:\"\\f0c0\"}.fa-chain:before,.fa-link:before{content:\"\\f0c1\"}.fa-cloud:before{content:\"\\f0c2\"}.fa-flask:before{content:\"\\f0c3\"}.fa-cut:before,.fa-scissors:before{content:\"\\f0c4\"}.fa-copy:before,.fa-files-o:before{content:\"\\f0c5\"}.fa-paperclip:before{content:\"\\f0c6\"}.fa-save:before,.fa-floppy-o:before{content:\"\\f0c7\"}.fa-square:before{content:\"\\f0c8\"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:\"\\f0c9\"}.fa-list-ul:before{content:\"\\f0ca\"}.fa-list-ol:before{content:\"\\f0cb\"}.fa-strikethrough:before{content:\"\\f0cc\"}.fa-underline:before{content:\"\\f0cd\"}.fa-table:before{content:\"\\f0ce\"}.fa-magic:before{content:\"\\f0d0\"}.fa-truck:before{content:\"\\f0d1\"}.fa-pinterest:before{content:\"\\f0d2\"}.fa-pinterest-square:before{content:\"\\f0d3\"}.fa-google-plus-square:before{content:\"\\f0d4\"}.fa-google-plus:before{content:\"\\f0d5\"}.fa-money:before{content:\"\\f0d6\"}.fa-caret-down:before{content:\"\\f0d7\"}.fa-caret-up:before{content:\"\\f0d8\"}.fa-caret-left:before{content:\"\\f0d9\"}.fa-caret-right:before{content:\"\\f0da\"}.fa-columns:before{content:\"\\f0db\"}.fa-unsorted:before,.fa-sort:before{content:\"\\f0dc\"}.fa-sort-down:before,.fa-sort-desc:before{content:\"\\f0dd\"}.fa-sort-up:before,.fa-sort-asc:before{content:\"\\f0de\"}.fa-envelope:before{content:\"\\f0e0\"}.fa-linkedin:before{content:\"\\f0e1\"}.fa-rotate-left:before,.fa-undo:before{content:\"\\f0e2\"}.fa-legal:before,.fa-gavel:before{content:\"\\f0e3\"}.fa-dashboard:before,.fa-tachometer:before{content:\"\\f0e4\"}.fa-comment-o:before{content:\"\\f0e5\"}.fa-comments-o:before{content:\"\\f0e6\"}.fa-flash:before,.fa-bolt:before{content:\"\\f0e7\"}.fa-sitemap:before{content:\"\\f0e8\"}.fa-umbrella:before{content:\"\\f0e9\"}.fa-paste:before,.fa-clipboard:before{content:\"\\f0ea\"}.fa-lightbulb-o:before{content:\"\\f0eb\"}.fa-exchange:before{content:\"\\f0ec\"}.fa-cloud-download:before{content:\"\\f0ed\"}.fa-cloud-upload:before{content:\"\\f0ee\"}.fa-user-md:before{content:\"\\f0f0\"}.fa-stethoscope:before{content:\"\\f0f1\"}.fa-suitcase:before{content:\"\\f0f2\"}.fa-bell-o:before{content:\"\\f0a2\"}.fa-coffee:before{content:\"\\f0f4\"}.fa-cutlery:before{content:\"\\f0f5\"}.fa-file-text-o:before{content:\"\\f0f6\"}.fa-building-o:before{content:\"\\f0f7\"}.fa-hospital-o:before{content:\"\\f0f8\"}.fa-ambulance:before{content:\"\\f0f9\"}.fa-medkit:before{content:\"\\f0fa\"}.fa-fighter-jet:before{content:\"\\f0fb\"}.fa-beer:before{content:\"\\f0fc\"}.fa-h-square:before{content:\"\\f0fd\"}.fa-plus-square:before{content:\"\\f0fe\"}.fa-angle-double-left:before{content:\"\\f100\"}.fa-angle-double-right:before{content:\"\\f101\"}.fa-angle-double-up:before{content:\"\\f102\"}.fa-angle-double-down:before{content:\"\\f103\"}.fa-angle-left:before{content:\"\\f104\"}.fa-angle-right:before{content:\"\\f105\"}.fa-angle-up:before{content:\"\\f106\"}.fa-angle-down:before{content:\"\\f107\"}.fa-desktop:before{content:\"\\f108\"}.fa-laptop:before{content:\"\\f109\"}.fa-tablet:before{content:\"\\f10a\"}.fa-mobile-phone:before,.fa-mobile:before{content:\"\\f10b\"}.fa-circle-o:before{content:\"\\f10c\"}.fa-quote-left:before{content:\"\\f10d\"}.fa-quote-right:before{content:\"\\f10e\"}.fa-spinner:before{content:\"\\f110\"}.fa-circle:before{content:\"\\f111\"}.fa-mail-reply:before,.fa-reply:before{content:\"\\f112\"}.fa-github-alt:before{content:\"\\f113\"}.fa-folder-o:before{content:\"\\f114\"}.fa-folder-open-o:before{content:\"\\f115\"}.fa-smile-o:before{content:\"\\f118\"}.fa-frown-o:before{content:\"\\f119\"}.fa-meh-o:before{content:\"\\f11a\"}.fa-gamepad:before{content:\"\\f11b\"}.fa-keyboard-o:before{content:\"\\f11c\"}.fa-flag-o:before{content:\"\\f11d\"}.fa-flag-checkered:before{content:\"\\f11e\"}.fa-terminal:before{content:\"\\f120\"}.fa-code:before{content:\"\\f121\"}.fa-mail-reply-all:before,.fa-reply-all:before{content:\"\\f122\"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:\"\\f123\"}.fa-location-arrow:before{content:\"\\f124\"}.fa-crop:before{content:\"\\f125\"}.fa-code-fork:before{content:\"\\f126\"}.fa-unlink:before,.fa-chain-broken:before{content:\"\\f127\"}.fa-question:before{content:\"\\f128\"}.fa-info:before{content:\"\\f129\"}.fa-exclamation:before{content:\"\\f12a\"}.fa-superscript:before{content:\"\\f12b\"}.fa-subscript:before{content:\"\\f12c\"}.fa-eraser:before{content:\"\\f12d\"}.fa-puzzle-piece:before{content:\"\\f12e\"}.fa-microphone:before{content:\"\\f130\"}.fa-microphone-slash:before{content:\"\\f131\"}.fa-shield:before{content:\"\\f132\"}.fa-calendar-o:before{content:\"\\f133\"}.fa-fire-extinguisher:before{content:\"\\f134\"}.fa-rocket:before{content:\"\\f135\"}.fa-maxcdn:before{content:\"\\f136\"}.fa-chevron-circle-left:before{content:\"\\f137\"}.fa-chevron-circle-right:before{content:\"\\f138\"}.fa-chevron-circle-up:before{content:\"\\f139\"}.fa-chevron-circle-down:before{content:\"\\f13a\"}.fa-html5:before{content:\"\\f13b\"}.fa-css3:before{content:\"\\f13c\"}.fa-anchor:before{content:\"\\f13d\"}.fa-unlock-alt:before{content:\"\\f13e\"}.fa-bullseye:before{content:\"\\f140\"}.fa-ellipsis-h:before{content:\"\\f141\"}.fa-ellipsis-v:before{content:\"\\f142\"}.fa-rss-square:before{content:\"\\f143\"}.fa-play-circle:before{content:\"\\f144\"}.fa-ticket:before{content:\"\\f145\"}.fa-minus-square:before{content:\"\\f146\"}.fa-minus-square-o:before{content:\"\\f147\"}.fa-level-up:before{content:\"\\f148\"}.fa-level-down:before{content:\"\\f149\"}.fa-check-square:before{content:\"\\f14a\"}.fa-pencil-square:before{content:\"\\f14b\"}.fa-external-link-square:before{content:\"\\f14c\"}.fa-share-square:before{content:\"\\f14d\"}.fa-compass:before{content:\"\\f14e\"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:\"\\f150\"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:\"\\f151\"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:\"\\f152\"}.fa-euro:before,.fa-eur:before{content:\"\\f153\"}.fa-gbp:before{content:\"\\f154\"}.fa-dollar:before,.fa-usd:before{content:\"\\f155\"}.fa-rupee:before,.fa-inr:before{content:\"\\f156\"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:\"\\f157\"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:\"\\f158\"}.fa-won:before,.fa-krw:before{content:\"\\f159\"}.fa-bitcoin:before,.fa-btc:before{content:\"\\f15a\"}.fa-file:before{content:\"\\f15b\"}.fa-file-text:before{content:\"\\f15c\"}.fa-sort-alpha-asc:before{content:\"\\f15d\"}.fa-sort-alpha-desc:before{content:\"\\f15e\"}.fa-sort-amount-asc:before{content:\"\\f160\"}.fa-sort-amount-desc:before{content:\"\\f161\"}.fa-sort-numeric-asc:before{content:\"\\f162\"}.fa-sort-numeric-desc:before{content:\"\\f163\"}.fa-thumbs-up:before{content:\"\\f164\"}.fa-thumbs-down:before{content:\"\\f165\"}.fa-youtube-square:before{content:\"\\f166\"}.fa-youtube:before{content:\"\\f167\"}.fa-xing:before{content:\"\\f168\"}.fa-xing-square:before{content:\"\\f169\"}.fa-youtube-play:before{content:\"\\f16a\"}.fa-dropbox:before{content:\"\\f16b\"}.fa-stack-overflow:before{content:\"\\f16c\"}.fa-instagram:before{content:\"\\f16d\"}.fa-flickr:before{content:\"\\f16e\"}.fa-adn:before{content:\"\\f170\"}.fa-bitbucket:before{content:\"\\f171\"}.fa-bitbucket-square:before{content:\"\\f172\"}.fa-tumblr:before{content:\"\\f173\"}.fa-tumblr-square:before{content:\"\\f174\"}.fa-long-arrow-down:before{content:\"\\f175\"}.fa-long-arrow-up:before{content:\"\\f176\"}.fa-long-arrow-left:before{content:\"\\f177\"}.fa-long-arrow-right:before{content:\"\\f178\"}.fa-apple:before{content:\"\\f179\"}.fa-windows:before{content:\"\\f17a\"}.fa-android:before{content:\"\\f17b\"}.fa-linux:before{content:\"\\f17c\"}.fa-dribbble:before{content:\"\\f17d\"}.fa-skype:before{content:\"\\f17e\"}.fa-foursquare:before{content:\"\\f180\"}.fa-trello:before{content:\"\\f181\"}.fa-female:before{content:\"\\f182\"}.fa-male:before{content:\"\\f183\"}.fa-gittip:before{content:\"\\f184\"}.fa-sun-o:before{content:\"\\f185\"}.fa-moon-o:before{content:\"\\f186\"}.fa-archive:before{content:\"\\f187\"}.fa-bug:before{content:\"\\f188\"}.fa-vk:before{content:\"\\f189\"}.fa-weibo:before{content:\"\\f18a\"}.fa-renren:before{content:\"\\f18b\"}.fa-pagelines:before{content:\"\\f18c\"}.fa-stack-exchange:before{content:\"\\f18d\"}.fa-arrow-circle-o-right:before{content:\"\\f18e\"}.fa-arrow-circle-o-left:before{content:\"\\f190\"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:\"\\f191\"}.fa-dot-circle-o:before{content:\"\\f192\"}.fa-wheelchair:before{content:\"\\f193\"}.fa-vimeo-square:before{content:\"\\f194\"}.fa-turkish-lira:before,.fa-try:before{content:\"\\f195\"}.fa-plus-square-o:before{content:\"\\f196\"}.fa-space-shuttle:before{content:\"\\f197\"}.fa-slack:before{content:\"\\f198\"}.fa-envelope-square:before{content:\"\\f199\"}.fa-wordpress:before{content:\"\\f19a\"}.fa-openid:before{content:\"\\f19b\"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:\"\\f19c\"}.fa-mortar-board:before,.fa-graduation-cap:before{content:\"\\f19d\"}.fa-yahoo:before{content:\"\\f19e\"}.fa-google:before{content:\"\\f1a0\"}.fa-reddit:before{content:\"\\f1a1\"}.fa-reddit-square:before{content:\"\\f1a2\"}.fa-stumbleupon-circle:before{content:\"\\f1a3\"}.fa-stumbleupon:before{content:\"\\f1a4\"}.fa-delicious:before{content:\"\\f1a5\"}.fa-digg:before{content:\"\\f1a6\"}.fa-pied-piper:before{content:\"\\f1a7\"}.fa-pied-piper-alt:before{content:\"\\f1a8\"}.fa-drupal:before{content:\"\\f1a9\"}.fa-joomla:before{content:\"\\f1aa\"}.fa-language:before{content:\"\\f1ab\"}.fa-fax:before{content:\"\\f1ac\"}.fa-building:before{content:\"\\f1ad\"}.fa-child:before{content:\"\\f1ae\"}.fa-paw:before{content:\"\\f1b0\"}.fa-spoon:before{content:\"\\f1b1\"}.fa-cube:before{content:\"\\f1b2\"}.fa-cubes:before{content:\"\\f1b3\"}.fa-behance:before{content:\"\\f1b4\"}.fa-behance-square:before{content:\"\\f1b5\"}.fa-steam:before{content:\"\\f1b6\"}.fa-steam-square:before{content:\"\\f1b7\"}.fa-recycle:before{content:\"\\f1b8\"}.fa-automobile:before,.fa-car:before{content:\"\\f1b9\"}.fa-cab:before,.fa-taxi:before{content:\"\\f1ba\"}.fa-tree:before{content:\"\\f1bb\"}.fa-spotify:before{content:\"\\f1bc\"}.fa-deviantart:before{content:\"\\f1bd\"}.fa-soundcloud:before{content:\"\\f1be\"}.fa-database:before{content:\"\\f1c0\"}.fa-file-pdf-o:before{content:\"\\f1c1\"}.fa-file-word-o:before{content:\"\\f1c2\"}.fa-file-excel-o:before{content:\"\\f1c3\"}.fa-file-powerpoint-o:before{content:\"\\f1c4\"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:\"\\f1c5\"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:\"\\f1c6\"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:\"\\f1c7\"}.fa-file-movie-o:before,.fa-file-video-o:before{content:\"\\f1c8\"}.fa-file-code-o:before{content:\"\\f1c9\"}.fa-vine:before{content:\"\\f1ca\"}.fa-codepen:before{content:\"\\f1cb\"}.fa-jsfiddle:before{content:\"\\f1cc\"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:\"\\f1cd\"}.fa-circle-o-notch:before{content:\"\\f1ce\"}.fa-ra:before,.fa-rebel:before{content:\"\\f1d0\"}.fa-ge:before,.fa-empire:before{content:\"\\f1d1\"}.fa-git-square:before{content:\"\\f1d2\"}.fa-git:before{content:\"\\f1d3\"}.fa-hacker-news:before{content:\"\\f1d4\"}.fa-tencent-weibo:before{content:\"\\f1d5\"}.fa-qq:before{content:\"\\f1d6\"}.fa-wechat:before,.fa-weixin:before{content:\"\\f1d7\"}.fa-send:before,.fa-paper-plane:before{content:\"\\f1d8\"}.fa-send-o:before,.fa-paper-plane-o:before{content:\"\\f1d9\"}.fa-history:before{content:\"\\f1da\"}.fa-circle-thin:before{content:\"\\f1db\"}.fa-header:before{content:\"\\f1dc\"}.fa-paragraph:before{content:\"\\f1dd\"}.fa-sliders:before{content:\"\\f1de\"}.fa-share-alt:before{content:\"\\f1e0\"}.fa-share-alt-square:before{content:\"\\f1e1\"}.fa-bomb:before{content:\"\\f1e2\"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:\"\\f1e3\"}.fa-tty:before{content:\"\\f1e4\"}.fa-binoculars:before{content:\"\\f1e5\"}.fa-plug:before{content:\"\\f1e6\"}.fa-slideshare:before{content:\"\\f1e7\"}.fa-twitch:before{content:\"\\f1e8\"}.fa-yelp:before{content:\"\\f1e9\"}.fa-newspaper-o:before{content:\"\\f1ea\"}.fa-wifi:before{content:\"\\f1eb\"}.fa-calculator:before{content:\"\\f1ec\"}.fa-paypal:before{content:\"\\f1ed\"}.fa-google-wallet:before{content:\"\\f1ee\"}.fa-cc-visa:before{content:\"\\f1f0\"}.fa-cc-mastercard:before{content:\"\\f1f1\"}.fa-cc-discover:before{content:\"\\f1f2\"}.fa-cc-amex:before{content:\"\\f1f3\"}.fa-cc-paypal:before{content:\"\\f1f4\"}.fa-cc-stripe:before{content:\"\\f1f5\"}.fa-bell-slash:before{content:\"\\f1f6\"}.fa-bell-slash-o:before{content:\"\\f1f7\"}.fa-trash:before{content:\"\\f1f8\"}.fa-copyright:before{content:\"\\f1f9\"}.fa-at:before{content:\"\\f1fa\"}.fa-eyedropper:before{content:\"\\f1fb\"}.fa-paint-brush:before{content:\"\\f1fc\"}.fa-birthday-cake:before{content:\"\\f1fd\"}.fa-area-chart:before{content:\"\\f1fe\"}.fa-pie-chart:before{content:\"\\f200\"}.fa-line-chart:before{content:\"\\f201\"}.fa-lastfm:before{content:\"\\f202\"}.fa-lastfm-square:before{content:\"\\f203\"}.fa-toggle-off:before{content:\"\\f204\"}.fa-toggle-on:before{content:\"\\f205\"}.fa-bicycle:before{content:\"\\f206\"}.fa-bus:before{content:\"\\f207\"}.fa-ioxhost:before{content:\"\\f208\"}.fa-angellist:before{content:\"\\f209\"}.fa-cc:before{content:\"\\f20a\"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:\"\\f20b\"}.fa-meanpath:before{content:\"\\f20c\"}\n/*!\nWebicons by Adam Fairhead at Fairhead Creative http://fairheadcreative.com\nWebicons by http://fairheadcreative.com is licensed under the Creative Commons\nAttribution 4.0 International License. To view a copy of this license, visit\nhttp://creativecommons.org/licenses/by/4.0/.\n*/.webicon{display:inline-block;background-size:100%;width:30px;height:30px;text-indent:-999em;text-align:left;-moz-box-shadow:0 1px 0 rgba(0,0,0,.35);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.35);box-shadow:0 1px 0 rgba(0,0,0,.35);-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;margin-bottom:5px}.webicon:hover{margin:-1px 0 1px;-moz-box-shadow:0 1px 0 rgba(0,0,0,.18);-webkit-box-shadow:0 1px 0 rgba(0,0,0,.18);box-shadow:0 1px 0 rgba(0,0,0,.18)}.webicon.mini{width:15px;height:15px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px}.webicon.tiny{width:20px;height:20px;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px}.webicon.small{width:25px;height:25px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px}.webicon.large{width:35px;height:35px;-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px}.webicon.big{width:40px;height:40px;-moz-border-radius:7px;-webkit-border-radius:7px;border-radius:7px}.webicon.huge{width:45px;height:45px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.webicon.massive{width:48px;height:48px;-moz-border-radius:9px;-webkit-border-radius:9px;border-radius:9px}@media print{*{background:0 0!important;color:#000!important;-moz-box-shadow:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important}.webicon{text-indent:0;width:auto!important;height:auto!important;-moz-border-radius:0!important;-webkit-border-radius:0!important;border-radius:0!important}}.no-svg .webicon.f500px{background:url(../image/webicons/webicon-f500px.png)}.svg .webicon.f500px{background:url(../image/webicons/webicon-f500px.svg)}.no-svg .webicon.aboutme{background:url(../image/webicons/webicon-aboutme.png)}.svg .webicon.aboutme{background:url(../image/webicons/webicon-aboutme.svg)}.no-svg .webicon.adn{background:url(../image/webicons/webicon-adn.png)}.svg .webicon.adn{background:url(../image/webicons/webicon-adn.svg)}.no-svg .webicon.android{background:url(../image/webicons/webicon-android.png)}.svg .webicon.android{background:url(../image/webicons/webicon-android.svg)}.no-svg .webicon.apple{background:url(../image/webicons/webicon-apple.png)}.svg .webicon.apple{background:url(../image/webicons/webicon-apple.svg)}.no-svg .webicon.behance{background:url(../image/webicons/webicon-behance.png)}.svg .webicon.behance{background:url(../image/webicons/webicon-behance.svg)}.no-svg .webicon.bitbucket{background:url(../image/webicons/webicon-bitbucket.png)}.svg .webicon.bitbucket{background:url(../image/webicons/webicon-bitbucket.svg)}.no-svg .webicon.blogger{background:url(../image/webicons/webicon-blogger.png)}.svg .webicon.blogger{background:url(../image/webicons/webicon-blogger.svg)}.no-svg .webicon.branch{background:url(../image/webicons/webicon-branch.png)}.svg .webicon.branch{background:url(../image/webicons/webicon-branch.svg)}.no-svg .webicon.coderwall{background:url(../image/webicons/webicon-coderwall.png)}.svg .webicon.coderwall{background:url(../image/webicons/webicon-coderwall.svg)}.no-svg .webicon.creativecloud{background:url(../image/webicons/webicon-creativecloud.png)}.svg .webicon.creativecloud{background:url(../image/webicons/webicon-creativecloud.svg)}.no-svg .webicon.deviantart{background:url(../image/webicons/webicon-deviantart.png)}.svg .webicon.deviantart{background:url(../image/webicons/webicon-deviantart.svg)}.no-svg .webicon.dribbble{background:url(../image/webicons/webicon-dribbble.png)}.svg .webicon.dribbble{background:url(../image/webicons/webicon-dribbble.svg)}.no-svg .webicon.dropbox{background:url(../image/webicons/webicon-dropbox.png)}.svg .webicon.dropbox{background:url(../image/webicons/webicon-dropbox.svg)}.no-svg .webicon.evernote{background:url(../image/webicons/webicon-evernote.png)}.svg .webicon.evernote{background:url(../image/webicons/webicon-evernote.svg)}.no-svg .webicon.fairheadcreative{background:url(../image/webicons/webicon-fairheadcreative.png)}.svg .webicon.fairheadcreative{background:url(../image/webicons/webicon-fairheadcreative.svg)}.no-svg .webicon.facebook{background:url(../image/webicons/webicon-facebook.png)}.svg .webicon.facebook{background:url(../image/webicons/webicon-facebook.svg)}.no-svg .webicon.flickr{background:url(../image/webicons/webicon-flickr.png)}.svg .webicon.flickr{background:url(../image/webicons/webicon-flickr.svg)}.no-svg .webicon.foursquare{background:url(../image/webicons/webicon-foursquare.png)}.svg .webicon.foursquare{background:url(../image/webicons/webicon-foursquare.svg)}.no-svg .webicon.git{background:url(../image/webicons/webicon-git.png)}.svg .webicon.git{background:url(../image/webicons/webicon-git.svg)}.no-svg .webicon.github{background:url(../image/webicons/webicon-github.png)}.svg .webicon.github{background:url(../image/webicons/webicon-github.svg)}.no-svg .webicon.goodreads{background:url(../image/webicons/webicon-goodreads.png)}.svg .webicon.goodreads{background:url(../image/webicons/webicon-goodreads.svg)}.no-svg .webicon.google{background:url(../image/webicons/webicon-google.png)}.svg .webicon.google{background:url(../image/webicons/webicon-google.svg)}.no-svg .webicon.googleplay{background:url(../image/webicons/webicon-googleplay.png)}.svg .webicon.googleplay{background:url(../image/webicons/webicon-googleplay.svg)}.no-svg .webicon.googleplus{background:url(../image/webicons/webicon-googleplus.png)}.svg .webicon.googleplus{background:url(../image/webicons/webicon-googleplus.svg)}.no-svg .webicon.hangouts{background:url(../image/webicons/webicon-hangouts.png)}.svg .webicon.hangouts{background:url(../image/webicons/webicon-hangouts.svg)}.no-svg .webicon.html5{background:url(../image/webicons/webicon-html5.png)}.svg .webicon.html5{background:url(../image/webicons/webicon-html5.svg)}.no-svg .webicon.icloud{background:url(../image/webicons/webicon-icloud.png)}.svg .webicon.icloud{background:url(../image/webicons/webicon-icloud.svg)}.no-svg .webicon.indiegogo{background:url(../image/webicons/webicon-indiegogo.png)}.svg .webicon.indiegogo{background:url(../image/webicons/webicon-indiegogo.svg)}.no-svg .webicon.instagram{background:url(../image/webicons/webicon-instagram.png)}.svg .webicon.instagram{background:url(../image/webicons/webicon-instagram.svg)}.no-svg .webicon.instapaper{background:url(../image/webicons/webicon-instapaper.png)}.svg .webicon.instapaper{background:url(../image/webicons/webicon-instapaper.svg)}.no-svg .webicon.kickstarter{background:url(../image/webicons/webicon-kickstarter.png)}.svg .webicon.kickstarter{background:url(../image/webicons/webicon-kickstarter.svg)}.no-svg .webicon.klout{background:url(../image/webicons/webicon-klout.png)}.svg .webicon.klout{background:url(../image/webicons/webicon-klout.svg)}.no-svg .webicon.lastfm{background:url(../image/webicons/webicon-lastfm.png)}.svg .webicon.lastfm{background:url(../image/webicons/webicon-lastfm.svg)}.no-svg .webicon.linkedin{background:url(../image/webicons/webicon-linkedin.png)}.svg .webicon.linkedin{background:url(../image/webicons/webicon-linkedin.svg)}.no-svg .webicon.mail{background:url(../image/webicons/webicon-mail.png)}.svg .webicon.mail{background:url(../image/webicons/webicon-mail.svg)}.no-svg .webicon.medium{background:url(../image/webicons/webicon-medium.png)}.svg .webicon.medium{background:url(../image/webicons/webicon-medium.svg)}.no-svg .webicon.mixi{background:url(../image/webicons/webicon-mixi.png)}.svg .webicon.mixi{background:url(../image/webicons/webicon-mixi.svg)}.no-svg .webicon.msn{background:url(../image/webicons/webicon-msn.png)}.svg .webicon.msn{background:url(../image/webicons/webicon-msn.svg)}.no-svg .webicon.openid{background:url(../image/webicons/webicon-openid.png)}.svg .webicon.openid{background:url(../image/webicons/webicon-openid.svg)}.no-svg .webicon.picasa{background:url(../image/webicons/webicon-picasa.png)}.svg .webicon.picasa{background:url(../image/webicons/webicon-picasa.svg)}.no-svg .webicon.pinterest{background:url(../image/webicons/webicon-pinterest.png)}.svg .webicon.pinterest{background:url(../image/webicons/webicon-pinterest.svg)}.no-svg .webicon.pocketapp{background:url(../image/webicons/webicon-pocketapp.png)}.svg .webicon.pocketapp{background:url(../image/webicons/webicon-pocketapp.svg)}.no-svg .webicon.potluck{background:url(../image/webicons/webicon-potluck.png)}.svg .webicon.potluck{background:url(../image/webicons/webicon-potluck.svg)}.no-svg .webicon.quora{background:url(../image/webicons/webicon-quora.png)}.svg .webicon.quora{background:url(../image/webicons/webicon-quora.svg)}.no-svg .webicon.orkut{background:url(../image/webicons/webicon-orkut.png)}.svg .webicon.orkut{background:url(../image/webicons/webicon-orkut.svg)}.no-svg .webicon.mercurial{background:url(../image/webicons/webicon-mercurial.png)}.svg .webicon.mercurial{background:url(../image/webicons/webicon-mercurial.svg)}.no-svg .webicon.rdio{background:url(../image/webicons/webicon-rdio.png)}.svg .webicon.rdio{background:url(../image/webicons/webicon-rdio.svg)}.no-svg .webicon.reddit{background:url(../image/webicons/webicon-reddit.png)}.svg .webicon.reddit{background:url(../image/webicons/webicon-reddit.svg)}.no-svg .webicon.renren{background:url(../image/webicons/webicon-renren.png)}.svg .webicon.renren{background:url(../image/webicons/webicon-renren.svg)}.no-svg .webicon.rss{background:url(../image/webicons/webicon-rss.png)}.svg .webicon.rss{background:url(../image/webicons/webicon-rss.svg)}.no-svg .webicon.skitch{background:url(../image/webicons/webicon-skitch.png)}.svg .webicon.skitch{background:url(../image/webicons/webicon-skitch.svg)}.no-svg .webicon.skype{background:url(../image/webicons/webicon-skype.png)}.svg .webicon.skype{background:url(../image/webicons/webicon-skype.svg)}.no-svg .webicon.soundcloud{background:url(../image/webicons/webicon-soundcloud.png)}.svg .webicon.soundcloud{background:url(../image/webicons/webicon-soundcloud.svg)}.no-svg .webicon.spotify{background:url(../image/webicons/webicon-spotify.png)}.svg .webicon.spotify{background:url(../image/webicons/webicon-spotify.svg)}.no-svg .webicon.stackoverflow{background:url(../image/webicons/webicon-stackoverflow.png)}.svg .webicon.stackoverflow{background:url(../image/webicons/webicon-stackoverflow.svg)}.no-svg .webicon.stumbleupon{background:url(../image/webicons/webicon-stumbleupon.png)}.svg .webicon.stumbleupon{background:url(../image/webicons/webicon-stumbleupon.svg)}.no-svg .webicon.svtle{background:url(../image/webicons/webicon-svtle.png)}.svg .webicon.svtle{background:url(../image/webicons/webicon-svtle.svg)}.no-svg .webicon.svn{background:url(../image/webicons/webicon-svn.png)}.svg .webicon.svn{background:url(../image/webicons/webicon-svn.svg)}.no-svg .webicon.tent{background:url(../image/webicons/webicon-tent.png)}.svg .webicon.tent{background:url(../image/webicons/webicon-tent.svg)}.no-svg .webicon.tripadvisor{background:url(../image/webicons/webicon-tripadvisor.png)}.svg .webicon.tripadvisor{background:url(../image/webicons/webicon-tripadvisor.svg)}.no-svg .webicon.tumblr{background:url(../image/webicons/webicon-tumblr.png)}.svg .webicon.tumblr{background:url(../image/webicons/webicon-tumblr.svg)}.no-svg .webicon.twitter{background:url(../image/webicons/webicon-twitter.png)}.svg .webicon.twitter{background:url(../image/webicons/webicon-twitter.svg)}.no-svg .webicon.viadeo{background:url(../image/webicons/webicon-viadeo.png)}.svg .webicon.viadeo{background:url(../image/webicons/webicon-viadeo.svg)}.no-svg .webicon.vine{background:url(../image/webicons/webicon-vine.png)}.svg .webicon.vine{background:url(../image/webicons/webicon-vine.svg)}.no-svg .webicon.vimeo{background:url(../image/webicons/webicon-vimeo.png)}.svg .webicon.vimeo{background:url(../image/webicons/webicon-vimeo.svg)}.no-svg .webicon.weibo{background:url(../image/webicons/webicon-weibo.png)}.svg .webicon.weibo{background:url(../image/webicons/webicon-weibo.svg)}.no-svg .webicon.windows{background:url(../image/webicons/webicon-windows.png)}.svg .webicon.windows{background:url(../image/webicons/webicon-windows.svg)}.no-svg .webicon.wordpress{background:url(../image/webicons/webicon-wordpress.png)}.svg .webicon.wordpress{background:url(../image/webicons/webicon-wordpress.svg)}.no-svg .webicon.xing{background:url(../image/webicons/webicon-xing.png)}.svg .webicon.xing{background:url(../image/webicons/webicon-xing.svg)}.no-svg .webicon.yahoo{background:url(../image/webicons/webicon-yahoo.png)}.svg .webicon.yahoo{background:url(../image/webicons/webicon-yahoo.svg)}.no-svg .webicon.yelp{background:url(../image/webicons/webicon-yelp.png)}.svg .webicon.yelp{background:url(../image/webicons/webicon-yelp.svg)}.no-svg .webicon.youtube{background:url(../image/webicons/webicon-youtube.png)}.svg .webicon.youtube{background:url(../image/webicons/webicon-youtube.svg)}.no-svg .webicon.youversion{background:url(../image/webicons/webicon-youversion.png)}.svg .webicon.youversion{background:url(../image/webicons/webicon-youversion.svg)}.no-svg .webicon.zerply{background:url(../image/webicons/webicon-zerply.png)}.svg .webicon.zerply{background:url(../image/webicons/webicon-zerply.svg)}\n.hljs{display:block;padding:.5em;color:#333;background:#f8f8f8}.diff .hljs-header,.hljs-comment,.hljs-javadoc,.hljs-template_comment{color:#998;font-style:italic}.css .rule .hljs-keyword,.hljs-keyword,.hljs-request,.hljs-status,.hljs-subst,.hljs-winutils,.javascript .hljs-title,.nginx .hljs-title{color:#333;font-weight:700}.hljs-hexcolor,.hljs-number,.ruby .hljs-constant{color:#099}.hljs-phpdoc,.hljs-string,.hljs-tag .hljs-value,.tex .hljs-formula{color:#d14}.coffeescript .hljs-params,.hljs-id,.hljs-title,.scss .hljs-preprocessor{color:#900;font-weight:700}.clojure .hljs-title,.hljs-subst,.javascript .hljs-title,.lisp .hljs-title{font-weight:400}.haskell .hljs-type,.hljs-class .hljs-title,.tex .hljs-command,.vhdl .hljs-literal{color:#458;font-weight:700}.django .hljs-tag .hljs-keyword,.hljs-rules .hljs-property,.hljs-tag,.hljs-tag .hljs-title{color:navy;font-weight:400}.hljs-attribute,.hljs-variable,.lisp .hljs-body{color:teal}.hljs-regexp{color:#009926}.hljs-prompt,.hljs-symbol,.lisp .hljs-keyword,.ruby .hljs-symbol .hljs-string,.tex .hljs-special{color:#990073}.clojure .hljs-built_in,.hljs-built_in,.lisp .hljs-title{color:#0086b3}.hljs-cdata,.hljs-doctype,.hljs-pi,.hljs-pragma,.hljs-preprocessor,.hljs-shebang{color:#999;font-weight:700}.hljs-deletion{background:#fdd}.hljs-addition{background:#dfd}.diff .hljs-change{background:#0086b3}.hljs-chunk{color:#aaa}\n</style><style type=\"text/css\">img,legend{border:0}legend,td,th{padding:0}audio,canvas,code,kbd,progress,samp,tt,video{vertical-align:baseline;display:inline-block}code,code *,kbd,kbd *,samp,samp *,tt,tt *{white-space:pre-line}pre,textarea{overflow:auto}code,kbd,pre,samp,tt{background-color:#eee}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,pre,section,summary{display:block}#calendar_wrap,.centered:not(ui):not(ui *),.tagcloud,.wp-caption{text-align:center}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0}:not(#wpadminbar *){box-sizing:border-box;max-width:100%;word-wrap:break-word}body{margin:0;font-family:'Open Sans',sans-serif;font-size:16px;line-height:1.7em}code,kbd,pre,samp,tt{font-family:\"Droid Sans Mono\",\"Courier New\",monospace;tab-size:4;-moz-tab-size:4;-o-tab-size:4;-webkit-tab-size:4}code,kbd,samp,tt{border-radius:2px;border:1px solid #ddd;border-bottom-color:#bbb;border-right-color:#ccc;padding:1px 4px;line-height:1.35em}h1,h1:not(.ui) *,h2,h2:not(.ui) *,h3,h3:not(.ui) *,h4,h4:not(.ui) *,h5,h5:not(.ui) *,h6,h6:not(.ui) *{font-family:Roboto,'Open Sans',sans-serif;font-weight:300;margin-top:.4rem;margin-bottom:.9rem;color:#333;padding:2px 0;line-height:normal;clear:both}h1{font-size:2.5rem}h2{font-size:2.1rem}h3{font-size:1.6rem}h4{font-size:1.4rem}h5{font-size:1rem;font-weight:400}h6{font-size:.92rem;font-weight:700}a,a.inverted{font-weight:600;text-decoration:none}kbd{background-image:-moz-linear-gradient(#f1f1f1,#ddd);background-image:-webkit-linear-gradient(#f1f1f1,#ddd);background-image:linear-gradient(#f1f1f1,#ddd);background-repeat:repeat-x}ins,mark{background-color:rgba(250,250,0,.45);text-decoration:none;padding-left:.2em;padding-right:.2em}pre{padding:.4em 1em;border-radius:4px;border:1px solid #ddd;border-bottom-color:#bbb;border-right-color:#ccc;font-size:14px;margin:0 0 0 auto;white-space:pre-wrap;line-height:1.6em}pre code{white-space:pre-wrap;background:0 0;line-height:inherit;padding:0;border:none;display:inline}a{background:0 0;color:#006758}a:active,a:focus,a:hover{color:#333}a.inverted{color:#FFF}a.inverted:active,a.inverted:focus,a.inverted:hover{color:#878787}body.mce-content-body,html{height:inherit!important}.entry-media>img,img{height:auto;max-width:100%}blockquote{background-color:rgba(230,230,250,.25);border-left:4px solid rgba(0,0,0,.15);padding:.5em 10px .5em 2.2em;quotes:\"\\201C\"\"\\201D\"\"\\201C\"\"\\201D\";z-index:10}blockquote:before{font-family:Roboto,'Open Sans',sans-serif;color:rgba(0,0,0,.15);content:open-quote;vertical-align:middle;position:absolute;margin:.45em 0 0 -.45em;font-size:64px;line-height:0;z-index:5}blockquote cite{display:block;margin-top:.8em;text-align:right}blockquote p{display:inline}figure.gallery-item{display:inline-block}img{padding:.3rem}.aligncenter{display:block;margin:0 auto}.alignleft{float:left}.alignright{float:right}.entry,.wp-widget{overflow:hidden}.entry-media{position:relative!important;display:block;width:100%;padding:.5em 1em!important;margin:0 0 0 -1em!important;border:none;box-sizing:content-box!important;z-index:1}.entry-media::before{content:\"\";background-image:url(../image/subtle-patterns/diagonal-noise.png);background-position:top center;opacity:.45;top:0;left:0;bottom:0;right:0;position:absolute;z-index:5}.entry-media>img{z-index:10;display:block;margin:0 auto;width:auto;position:relative;max-height:400px}.entry-title{overflow:hidden;text-overflow:ellipsis}.entry-content,.entry-content p,.entry-summery,.entry-summery p,.widget *{overflow:hidden;text-overflow:ellipsis;word-wrap:break-word}.pad,td#next,td#prev{border-left:none;border-right:none}.screen-reader-text{clip:rect(1px,1px,1px,1px);position:absolute!important;height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{background-color:#f1f1f1;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;color:#21759b;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.ui *{font-family:'Open Sans',sans-serif}.wp-caption{max-width:100%;width:auto!important}.wp-caption-text{margin:0 auto;padding:.25em 1em .25em 1.8em;max-width:90%;font-size:.9em;border-radius:.3em;border:1px solid #ccc;background:#fff}.empty:not(ui):not(ui *){display:block;width:100%}.empty.size-5:not(ui):not(ui *){height:5px}.empty.size-10:not(ui):not(ui *){height:10px}.empty.size-15:not(ui):not(ui *){height:15px}.empty.size-20:not(ui):not(ui *){height:20px}.empty.size-25:not(ui):not(ui *){height:25px}.empty.size-30:not(ui):not(ui *){height:30px}.empty.size-35:not(ui):not(ui *){height:35px}.empty.size-40:not(ui):not(ui *){height:40px}.empty.size-45:not(ui):not(ui *){height:45px}.empty.size-50:not(ui):not(ui *){height:50px}.empty.size-60:not(ui):not(ui *){height:60px}.empty.size-70:not(ui):not(ui *){height:70px}.empty.size-80:not(ui):not(ui *){height:80px}.empty.size-90:not(ui):not(ui *){height:90px}.empty.size-100:not(ui):not(ui *){height:100px}.hidden:not(ui):not(ui *){display:none}#calendar_wrap{margin:0;padding:0}#main-content-grid{background-color:#fff}#main-header-grid{padding-top:1.5rem}#main-footer-grid{background-position:bottom center}#suiwp-usage-tracker{display:block;z-index:-100;position:relative;margin:-1px 0 0;padding:0;height:1px;width:1px}#wp-calendar{display:inline-block;font-size:1.05em}#wp-calendar,.tagcloud{margin-top:1em}\n</style><style type=\"text/css\"> /*\n * # Semantic UI - 2.1.6\n * https://github.com/Semantic-Org/Semantic-UI\n * http://www.semantic-ui.com/\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n@import url(https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin);*,:after,:before{box-sizing:inherit}html{box-sizing:border-box;font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}input[type=text],input[type=email],input[type=search],input[type=password]{-webkit-appearance:none;-moz-appearance:none}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0;color:#4183C4;text-decoration:none}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}body,html{height:100%}html{font-size:14px}body{margin:0;padding:0;overflow-x:hidden;min-width:320px;background:#FFF;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:14px;line-height:1.4285em;color:rgba(0,0,0,.87);font-smoothing:antialiased}h1,h2,h3,h4,h5{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;line-height:1.2857em;margin:calc(2rem - .14285em) 0 1rem;font-weight:700;padding:0}h1{min-height:1rem;font-size:2rem}h2{font-size:1.714rem}h3{font-size:1.28rem}h4{font-size:1.071rem}h5{font-size:1rem}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,p:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,p:last-child{margin-bottom:0}p{margin:0 0 1em;line-height:1.4285em}a:hover{color:#1e70bf;text-decoration:none}::-webkit-selection{background-color:#CCE2FF;color:rgba(0,0,0,.87)}::-moz-selection{background-color:#CCE2FF;color:rgba(0,0,0,.87)}::selection{background-color:#CCE2FF;color:rgba(0,0,0,.87)}input::-webkit-selection,textarea::-webkit-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::-moz-selection,textarea::-moz-selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}input::selection,textarea::selection{background-color:rgba(100,100,100,.4);color:rgba(0,0,0,.87)}.ui.button{cursor:pointer;display:inline-block;min-height:1em;outline:0;border:none;vertical-align:baseline;background:#E0E1E2;color:rgba(0,0,0,.6);font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0 .25em 0 0;padding:.78571429em 1.5em;text-transform:none;text-shadow:none;font-weight:700;line-height:1em;font-style:normal;text-align:center;text-decoration:none;border-radius:.28571429rem;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;transition:opacity .1s ease,background-color .1s ease,color .1s ease,box-shadow .1s ease,background .1s ease;will-change:'';-webkit-tap-highlight-color:transparent}.ui.button:hover{background-color:#CACBCD;background-image:none;box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset;color:rgba(0,0,0,.8)}.ui.button:hover .icon{opacity:.85}.ui.button:focus{background-color:#CACBCD;color:rgba(0,0,0,.8);background-image:''!important;box-shadow:''!important}.ui.button:focus .icon{opacity:.85}.ui.active.button:active,.ui.button:active{background-color:#BABBBC;background-image:'';color:rgba(0,0,0,.9);box-shadow:0 0 0 1px transparent inset,none}.ui.active.button{background-color:#C0C1C2;background-image:none;box-shadow:0 0 0 1px transparent inset;color:rgba(0,0,0,.95)}.ui.active.button:hover{background-color:#C0C1C2;background-image:none;color:rgba(0,0,0,.95)}.ui.active.button:active{background-color:#C0C1C2;background-image:none}.ui.loading.loading.loading.loading.loading.loading.button{position:relative;cursor:default;text-shadow:none!important;color:transparent!important;opacity:1;pointer-events:auto;-webkit-transition:all 0s linear,opacity .1s ease;transition:all 0s linear,opacity .1s ease}.ui.loading.button:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.15)}.ui.loading.button:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#FFF transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.labeled.icon.loading.button .icon{background-color:transparent;box-shadow:none}@-webkit-keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes button-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.loading.button:not(.inverted):before{border-color:rgba(0,0,0,.1)}.ui.basic.loading.button:not(.inverted):after{border-top-color:#767676}.ui.button:disabled,.ui.buttons .disabled.button,.ui.disabled.active.button,.ui.disabled.button,.ui.disabled.button:hover{cursor:default;opacity:.45!important;background-image:none!important;box-shadow:none!important;pointer-events:none}.ui.basic.buttons .ui.disabled.button{border-color:rgba(34,36,38,.5)}.ui.animated.button{position:relative;overflow:hidden;padding-right:0!important;vertical-align:middle;z-index:1}.ui.animated.button .content{will-change:transform,opacity}.ui.animated.button .visible.content{position:relative;margin-right:1.5em;left:auto;right:0}.ui.animated.button .hidden.content{position:absolute;width:100%;top:50%;left:auto;right:-100%;margin-top:-.5em}.ui.animated.button .hidden.content,.ui.animated.button .visible.content{-webkit-transition:right .3s ease 0s;transition:right .3s ease 0s}.ui.animated.button:focus .visible.content,.ui.animated.button:hover .visible.content{left:auto;right:200%}.ui.animated.button:focus .hidden.content,.ui.animated.button:hover .hidden.content{left:auto;right:0}.ui.vertical.animated.button .hidden.content,.ui.vertical.animated.button .visible.content{-webkit-transition:top .3s ease,-webkit-transform .3s ease;transition:top .3s ease,transform .3s ease}.ui.vertical.animated.button .visible.content{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0);right:auto}.ui.vertical.animated.button .hidden.content{top:-50%;left:0;right:auto}.ui.vertical.animated.button:focus .visible.content,.ui.vertical.animated.button:hover .visible.content{-webkit-transform:translateY(200%);-ms-transform:translateY(200%);transform:translateY(200%);right:auto}.ui.vertical.animated.button:focus .hidden.content,.ui.vertical.animated.button:hover .hidden.content{top:50%;right:auto}.ui.fade.animated.button .hidden.content,.ui.fade.animated.button .visible.content{-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:opacity .3s ease,transform .3s ease}.ui.fade.animated.button .visible.content{left:auto;right:auto;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.ui.fade.animated.button .hidden.content{opacity:0;left:0;right:auto;-webkit-transform:scale(1.5);-ms-transform:scale(1.5);transform:scale(1.5)}.ui.fade.animated.button:focus .visible.content,.ui.fade.animated.button:hover .visible.content{left:auto;right:auto;opacity:0;-webkit-transform:scale(.75);-ms-transform:scale(.75);transform:scale(.75)}.ui.fade.animated.button:focus .hidden.content,.ui.fade.animated.button:hover .hidden.content{left:0;right:auto;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}.ui.inverted.button{box-shadow:0 0 0 2px #FFF inset!important;background:0 0;color:#FFF;text-shadow:none!important}.ui.inverted.buttons .button{margin:0 0 0 -2px}.ui.inverted.buttons .button:first-child{margin-left:0}.ui.inverted.vertical.buttons .button{margin:0 0 -2px}.ui.inverted.vertical.buttons .button:first-child{margin-top:0}.ui.inverted.button.active,.ui.inverted.button:focus,.ui.inverted.button:hover{background:#FFF;box-shadow:0 0 0 2px #FFF inset!important;color:rgba(0,0,0,.8)}.ui.inverted.button.active:focus{background:#DCDDDE;box-shadow:0 0 0 2px #DCDDDE inset!important;color:rgba(0,0,0,.8)}.ui.labeled.button:not(.icon){display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;background:0 0!important;padding:0!important;border:none!important;box-shadow:none!important}.ui.labeled.button>.button{margin:0}.ui.labeled.button>.label{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:0 0 0 -1px!important;padding:'';font-size:1em;border-color:rgba(34,36,38,.15)}.ui.labeled.button>.tag.label:before{width:1.85em;height:1.85em}.ui.labeled.button:not([class*=\"left labeled\"])>.button{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.button:not([class*=\"left labeled\"])>.label,.ui[class*=\"left labeled\"].button>.button{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*=\"left labeled\"].button>.label{border-top-right-radius:0;border-bottom-right-radius:0}.ui.facebook.button{background-color:#3B5998;color:#FFF;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.facebook.button:hover{background-color:#304d8a;color:#FFF;text-shadow:none}.ui.facebook.button:active{background-color:#2d4373;color:#FFF;text-shadow:none}.ui.twitter.button{background-color:#0084B4;color:#FFF;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.twitter.button:hover{background-color:#00719b;color:#FFF;text-shadow:none}.ui.twitter.button:active{background-color:#005f81;color:#FFF;text-shadow:none}.ui.google.plus.button{background-color:#DC4A38;color:#FFF;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.google.plus.button:hover{background-color:#de321d;color:#FFF;text-shadow:none}.ui.google.plus.button:active{background-color:#bf3322;color:#FFF;text-shadow:none}.ui.linkedin.button{background-color:#1F88BE;color:#FFF;text-shadow:none}.ui.linkedin.button:hover{background-color:#147baf;color:#FFF;text-shadow:none}.ui.linkedin.button:active{background-color:#186992;color:#FFF;text-shadow:none}.ui.youtube.button{background-color:#CC181E;color:#FFF;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.youtube.button:hover{background-color:#bd0d13;color:#FFF;text-shadow:none}.ui.youtube.button:active{background-color:#9e1317;color:#FFF;text-shadow:none}.ui.instagram.button{background-color:#49769C;color:#FFF;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.instagram.button:hover{background-color:#3d698e;color:#FFF;text-shadow:none}.ui.instagram.button:active{background-color:#395c79;color:#FFF;text-shadow:none}.ui.pinterest.button{background-color:#00ACED;color:#FFF;text-shadow:none;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pinterest.button:hover{background-color:#0099d4;color:#FFF;text-shadow:none}.ui.pinterest.button:active{background-color:#0087ba;color:#FFF;text-shadow:none}.ui.vk.button{background-color:#4D7198;color:#FFF;background-image:none;box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.vk.button:hover{background-color:#41648a;color:#FFF}.ui.vk.button:active{background-color:#3c5876;color:#FFF}.ui.button>.icon:not(.button){height:.85714286em;opacity:.8;margin:0 .42857143em 0 -.21428571em;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;vertical-align:'';color:''}.ui.button>.right.icon:not(.button){margin:0 -.21428571em 0 .42857143em}.ui[class*=\"left floated\"].button,.ui[class*=\"left floated\"].buttons{float:left;margin-left:0;margin-right:.25em}.ui[class*=\"right floated\"].button,.ui[class*=\"right floated\"].buttons{float:right;margin-right:0;margin-left:.25em}.ui.compact.button,.ui.compact.buttons .button{padding:.58928571em 1.125em}.ui.compact.icon.button,.ui.compact.icon.buttons .button{padding:.58928571em}.ui.compact.labeled.icon.button,.ui.compact.labeled.icon.buttons .button{padding:.58928571em 3.69642857em}.ui.mini.button,.ui.mini.buttons .button,.ui.mini.buttons .or{font-size:.71428571rem}.ui.tiny.button,.ui.tiny.buttons .button,.ui.tiny.buttons .or{font-size:.85714286rem}.ui.small.button,.ui.small.buttons .button,.ui.small.buttons .or{font-size:.92857143rem}.ui.button,.ui.buttons .button,.ui.buttons .or{font-size:1rem}.ui.large.button,.ui.large.buttons .button,.ui.large.buttons .or{font-size:1.14285714rem}.ui.big.button,.ui.big.buttons .button,.ui.big.buttons .or{font-size:1.28571429rem}.ui.huge.button,.ui.huge.buttons .button,.ui.huge.buttons .or{font-size:1.42857143rem}.ui.massive.button,.ui.massive.buttons .button,.ui.massive.buttons .or{font-size:1.71428571rem}.ui.icon.button,.ui.icon.buttons .button{padding:.78571429em}.ui.icon.button>.icon,.ui.icon.buttons .button>.icon{opacity:.9;margin:0;vertical-align:top}.ui.basic.button,.ui.basic.buttons .button{background:0 0!important;color:rgba(0,0,0,.6)!important;font-weight:400;border-radius:.28571429rem;text-transform:none;text-shadow:none!important;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.basic.buttons{box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem}.ui.basic.button:focus,.ui.basic.button:hover,.ui.basic.buttons .button:focus,.ui.basic.buttons .button:hover{background:#FFF!important;color:rgba(0,0,0,.8)!important;box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.basic.button:active,.ui.basic.buttons .button:active{background:#F8F8F8!important;color:rgba(0,0,0,.9)!important;box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset}.ui.basic.active.button,.ui.basic.buttons .active.button{background:rgba(0,0,0,.05)!important;box-shadow:''!important;color:rgba(0,0,0,.95)}.ui.basic.active.button:hover,.ui.basic.buttons .active.button:hover{background-color:rgba(0,0,0,.05)}.ui.basic.buttons .button:hover{box-shadow:0 0 0 1px rgba(34,36,38,.35) inset,0 0 0 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .button:active{box-shadow:0 0 0 1px rgba(0,0,0,.15) inset,0 1px 4px 0 rgba(34,36,38,.15) inset inset}.ui.basic.buttons .active.button{box-shadow:rgba(34,36,38,.35) inset}.ui.basic.inverted.button,.ui.basic.inverted.buttons .button{background-color:transparent!important;color:#F9FAFB!important;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important}.ui.basic.inverted.button:focus,.ui.basic.inverted.button:hover,.ui.basic.inverted.buttons .button:focus,.ui.basic.inverted.buttons .button:hover{color:#FFF!important;box-shadow:0 0 0 2px #fff inset!important}.ui.basic.inverted.button:active,.ui.basic.inverted.buttons .button:active{background-color:rgba(255,255,255,.08)!important;color:#FFF!important;box-shadow:0 0 0 2px rgba(255,255,255,.9) inset!important}.ui.basic.inverted.active.button,.ui.basic.inverted.buttons .active.button{background-color:rgba(255,255,255,.08);color:#FFF;text-shadow:none;box-shadow:0 0 0 2px rgba(255,255,255,.7) inset}.ui.basic.inverted.active.button:hover,.ui.basic.inverted.buttons .active.button:hover{background-color:rgba(255,255,255,.15);box-shadow:0 0 0 2px #fff inset!important}.ui.basic.buttons .button{border-radius:0;border-left:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.vertical.buttons .button{border-left:none;border-left-width:0;border-top:1px solid rgba(34,36,38,.15)}.ui.basic.vertical.buttons .button:first-child{border-top-width:0}.ui.labeled.icon.button,.ui.labeled.icon.buttons .button{position:relative;padding-left:4.07142857em!important;padding-right:1.5em!important}.ui.labeled.icon.button>.icon,.ui.labeled.icon.buttons>.button>.icon{position:absolute;height:100%;line-height:1;border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit;text-align:center;margin:0;width:2.57142857em;background-color:rgba(0,0,0,.05);color:'';box-shadow:-1px 0 0 0 transparent inset;top:0;left:0}.ui[class*=\"right labeled\"].icon.button{padding-right:4.07142857em!important;padding-left:1.5em!important}.ui[class*=\"right labeled\"].icon.button>.icon{left:auto;right:0;border-radius:0;border-top-right-radius:inherit;border-bottom-right-radius:inherit;box-shadow:1px 0 0 0 transparent inset}.ui.labeled.icon.button>.icon:after,.ui.labeled.icon.button>.icon:before,.ui.labeled.icon.buttons>.button>.icon:after,.ui.labeled.icon.buttons>.button>.icon:before{display:block;position:absolute;width:100%;top:50%;text-align:center;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%)}.ui.labeled.icon.buttons .button>.icon{border-radius:0}.ui.labeled.icon.buttons .button:first-child>.icon{border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.labeled.icon.buttons .button:last-child>.icon{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.labeled.icon.buttons .button:first-child>.icon{border-radius:.28571429rem 0 0}.ui.vertical.labeled.icon.buttons .button:last-child>.icon{border-radius:0 0 0 .28571429rem}.ui.fluid[class*=\"left labeled\"].icon.button,.ui.fluid[class*=\"right labeled\"].icon.button{padding-left:1.5em!important;padding-right:1.5em!important}.ui.button.toggle.active,.ui.buttons .button.toggle.active,.ui.toggle.buttons .active.button{background-color:#21BA45!important;box-shadow:none!important;text-shadow:none;color:#FFF!important}.ui.button.toggle.active:hover{background-color:#16ab39!important;text-shadow:none;color:#FFF!important}.ui.circular.button{border-radius:10em}.ui.circular.button>.icon{width:1em;vertical-align:baseline}.ui.buttons .or{position:relative;width:.3em;height:2.57142857em;z-index:3}.ui.buttons .or:before{position:absolute;text-align:center;border-radius:500rem;content:'or';top:50%;left:50%;background-color:#FFF;text-shadow:none;margin-top:-.89285714em;margin-left:-.89285714em;width:1.78571429em;height:1.78571429em;line-height:1.78571429em;color:rgba(0,0,0,.4);font-style:normal;font-weight:700;box-shadow:0 0 0 1px transparent inset}.ui.buttons .or[data-text]:before{content:attr(data-text)}.ui.fluid.buttons .or{width:0!important}.ui.fluid.buttons .or:after{display:none}.ui.attached.button{position:relative;display:block;margin:0;border-radius:0;box-shadow:0 0 0 1px rgba(34,36,38,.15)!important}.ui.attached.top.button{border-radius:.28571429rem .28571429rem 0 0}.ui.attached.bottom.button{border-radius:0 0 .28571429rem .28571429rem}.ui.left.attached.button{display:inline-block;border-left:none;text-align:right;padding-right:.75em;border-radius:.28571429rem 0 0 .28571429rem}.ui.right.attached.button{display:inline-block;text-align:left;padding-left:.75em;border-radius:0 .28571429rem .28571429rem 0}.ui.attached.buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-radius:0;width:auto!important;z-index:2;margin-left:-1px;margin-right:-1px}.ui.attached.buttons .button{margin:0}.ui.attached.buttons .button:first-child,.ui.attached.buttons .button:last-child{border-radius:0}.ui[class*=\"top attached\"].buttons{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0}.ui[class*=\"top attached\"].buttons .button:first-child{border-radius:.28571429rem 0 0}.ui[class*=\"top attached\"].buttons .button:last-child{border-radius:0 .28571429rem 0 0}.ui[class*=\"bottom attached\"].buttons{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem}.ui[class*=\"bottom attached\"].buttons .button:first-child{border-radius:0 0 0 .28571429rem}.ui[class*=\"bottom attached\"].buttons .button:last-child{border-radius:0 0 .28571429rem}.ui[class*=\"left attached\"].buttons{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-right:0;margin-left:-1px;border-radius:0 .28571429rem .28571429rem 0}.ui[class*=\"left attached\"].buttons .button:first-child{margin-left:-1px;border-radius:0 .28571429rem 0 0}.ui[class*=\"left attached\"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 .28571429rem}.ui[class*=\"right attached\"].buttons{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin-left:0;margin-right:-1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*=\"right attached\"].buttons .button:first-child{margin-left:-1px;border-radius:.28571429rem 0 0}.ui[class*=\"right attached\"].buttons .button:last-child{margin-left:-1px;border-radius:0 0 0 .28571429rem}.ui.fluid.button,.ui.fluid.buttons{width:100%}.ui.fluid.button{display:block}.ui.two.buttons{width:100%}.ui.two.buttons>.button{width:50%}.ui.three.buttons{width:100%}.ui.three.buttons>.button{width:33.333%}.ui.four.buttons{width:100%}.ui.four.buttons>.button{width:25%}.ui.five.buttons{width:100%}.ui.five.buttons>.button{width:20%}.ui.six.buttons{width:100%}.ui.six.buttons>.button{width:16.666%}.ui.seven.buttons{width:100%}.ui.seven.buttons>.button{width:14.285%}.ui.eight.buttons{width:100%}.ui.eight.buttons>.button{width:12.5%}.ui.nine.buttons{width:100%}.ui.nine.buttons>.button{width:11.11%}.ui.ten.buttons{width:100%}.ui.ten.buttons>.button{width:10%}.ui.eleven.buttons{width:100%}.ui.eleven.buttons>.button{width:9.09%}.ui.twelve.buttons{width:100%}.ui.twelve.buttons>.button{width:8.3333%}.ui.fluid.vertical.buttons,.ui.fluid.vertical.buttons>.button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:auto}.ui.two.vertical.buttons>.button{height:50%}.ui.three.vertical.buttons>.button{height:33.333%}.ui.four.vertical.buttons>.button{height:25%}.ui.five.vertical.buttons>.button{height:20%}.ui.six.vertical.buttons>.button{height:16.666%}.ui.seven.vertical.buttons>.button{height:14.285%}.ui.eight.vertical.buttons>.button{height:12.5%}.ui.nine.vertical.buttons>.button{height:11.11%}.ui.ten.vertical.buttons>.button{height:10%}.ui.eleven.vertical.buttons>.button{height:9.09%}.ui.twelve.vertical.buttons>.button{height:8.3333%}.ui.black.button,.ui.black.buttons .button{background-color:#1B1C1D;color:#FFF;text-shadow:none;background-image:none}.ui.black.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.black.button:hover,.ui.black.buttons .button:hover{background-color:#27292a;color:#FFF;text-shadow:none}.ui.black.button:focus,.ui.black.buttons .button:focus{background-color:#2f3032;color:#FFF;text-shadow:none}.ui.black.button:active,.ui.black.buttons .button:active{background-color:#343637;color:#FFF;text-shadow:none}.ui.black.active.button,.ui.black.button .active.button:active,.ui.black.buttons .active.button,.ui.black.buttons .active.button:active{background-color:#0f0f10;color:#FFF;text-shadow:none}.ui.basic.black.button,.ui.basic.black.buttons .button{box-shadow:0 0 0 1px #1B1C1D inset!important;color:#1B1C1D!important}.ui.basic.black.button:hover,.ui.basic.black.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #27292a inset!important;color:#27292a!important}.ui.basic.black.button:focus,.ui.basic.black.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #2f3032 inset!important;color:#27292a!important}.ui.basic.black.active.button,.ui.basic.black.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #0f0f10 inset!important;color:#343637!important}.ui.basic.black.button:active,.ui.basic.black.buttons .button:active{box-shadow:0 0 0 1px #343637 inset!important;color:#343637!important}.ui.buttons:not(.vertical)>.basic.black.button:not(:first-child){margin-left:-1px}.ui.inverted.black.button,.ui.inverted.black.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #D4D4D5 inset!important;color:#FFF}.ui.inverted.black.button.active,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .button.active,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.black.active.button,.ui.inverted.black.button:active,.ui.inverted.black.button:focus,.ui.inverted.black.button:hover,.ui.inverted.black.buttons .active.button,.ui.inverted.black.buttons .button:active,.ui.inverted.black.buttons .button:focus,.ui.inverted.black.buttons .button:hover{background-color:#000}.ui.inverted.black.basic.button,.ui.inverted.black.basic.buttons .button,.ui.inverted.black.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.black.basic.button:hover,.ui.inverted.black.basic.buttons .button:hover,.ui.inverted.black.buttons .basic.button:hover{box-shadow:0 0 0 2px #000 inset!important;color:#FFF!important}.ui.inverted.black.basic.button:focus,.ui.inverted.black.basic.buttons .button:focus{box-shadow:0 0 0 2px #000 inset!important;color:#545454!important}.ui.inverted.black.basic.active.button,.ui.inverted.black.basic.button:active,.ui.inverted.black.basic.buttons .active.button,.ui.inverted.black.basic.buttons .button:active,.ui.inverted.black.buttons .basic.active.button,.ui.inverted.black.buttons .basic.button:active{box-shadow:0 0 0 2px #000 inset!important;color:#FFF!important}.ui.grey.button,.ui.grey.buttons .button{background-color:#767676;color:#FFF;text-shadow:none;background-image:none}.ui.grey.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.grey.button:hover,.ui.grey.buttons .button:hover{background-color:#838383;color:#FFF;text-shadow:none}.ui.grey.button:focus,.ui.grey.buttons .button:focus{background-color:#8a8a8a;color:#FFF;text-shadow:none}.ui.grey.button:active,.ui.grey.buttons .button:active{background-color:#909090;color:#FFF;text-shadow:none}.ui.grey.active.button,.ui.grey.button .active.button:active,.ui.grey.buttons .active.button,.ui.grey.buttons .active.button:active{background-color:#696969;color:#FFF;text-shadow:none}.ui.basic.grey.button,.ui.basic.grey.buttons .button{box-shadow:0 0 0 1px #767676 inset!important;color:#767676!important}.ui.basic.grey.button:hover,.ui.basic.grey.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #838383 inset!important;color:#838383!important}.ui.basic.grey.button:focus,.ui.basic.grey.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #8a8a8a inset!important;color:#838383!important}.ui.basic.grey.active.button,.ui.basic.grey.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #696969 inset!important;color:#909090!important}.ui.basic.grey.button:active,.ui.basic.grey.buttons .button:active{box-shadow:0 0 0 1px #909090 inset!important;color:#909090!important}.ui.buttons:not(.vertical)>.basic.grey.button:not(:first-child){margin-left:-1px}.ui.inverted.grey.button,.ui.inverted.grey.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #D4D4D5 inset!important;color:#FFF}.ui.inverted.grey.button.active,.ui.inverted.grey.button:active,.ui.inverted.grey.button:focus,.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button.active,.ui.inverted.grey.buttons .button:active,.ui.inverted.grey.buttons .button:focus,.ui.inverted.grey.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.grey.button:hover,.ui.inverted.grey.buttons .button:hover{background-color:#cfd0d2}.ui.inverted.grey.button:focus,.ui.inverted.grey.buttons .button:focus{background-color:#c7c9cb}.ui.inverted.grey.active.button,.ui.inverted.grey.buttons .active.button{background-color:#cfd0d2}.ui.inverted.grey.button:active,.ui.inverted.grey.buttons .button:active{background-color:#c2c4c5}.ui.inverted.grey.basic.button,.ui.inverted.grey.basic.buttons .button,.ui.inverted.grey.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.grey.basic.button:hover,.ui.inverted.grey.basic.buttons .button:hover,.ui.inverted.grey.buttons .basic.button:hover{box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#FFF!important}.ui.inverted.grey.basic.button:focus,.ui.inverted.grey.basic.buttons .button:focus{box-shadow:0 0 0 2px #c7c9cb inset!important;color:#DCDDDE!important}.ui.inverted.grey.basic.active.button,.ui.inverted.grey.basic.buttons .active.button,.ui.inverted.grey.buttons .basic.active.button{box-shadow:0 0 0 2px #cfd0d2 inset!important;color:#FFF!important}.ui.inverted.grey.basic.button:active,.ui.inverted.grey.basic.buttons .button:active,.ui.inverted.grey.buttons .basic.button:active{box-shadow:0 0 0 2px #c2c4c5 inset!important;color:#FFF!important}.ui.brown.button,.ui.brown.buttons .button{background-color:#A5673F;color:#FFF;text-shadow:none;background-image:none}.ui.brown.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.brown.button:hover,.ui.brown.buttons .button:hover{background-color:#975b33;color:#FFF;text-shadow:none}.ui.brown.button:focus,.ui.brown.buttons .button:focus{background-color:#90532b;color:#FFF;text-shadow:none}.ui.brown.button:active,.ui.brown.buttons .button:active{background-color:#805031;color:#FFF;text-shadow:none}.ui.brown.active.button,.ui.brown.button .active.button:active,.ui.brown.buttons .active.button,.ui.brown.buttons .active.button:active{background-color:#995a31;color:#FFF;text-shadow:none}.ui.basic.brown.button,.ui.basic.brown.buttons .button{box-shadow:0 0 0 1px #A5673F inset!important;color:#A5673F!important}.ui.basic.brown.button:hover,.ui.basic.brown.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #975b33 inset!important;color:#975b33!important}.ui.basic.brown.button:focus,.ui.basic.brown.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #90532b inset!important;color:#975b33!important}.ui.basic.brown.active.button,.ui.basic.brown.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #995a31 inset!important;color:#805031!important}.ui.basic.brown.button:active,.ui.basic.brown.buttons .button:active{box-shadow:0 0 0 1px #805031 inset!important;color:#805031!important}.ui.buttons:not(.vertical)>.basic.brown.button:not(:first-child){margin-left:-1px}.ui.inverted.brown.button,.ui.inverted.brown.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #D67C1C inset!important;color:#D67C1C}.ui.inverted.brown.button.active,.ui.inverted.brown.button:active,.ui.inverted.brown.button:focus,.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button.active,.ui.inverted.brown.buttons .button:active,.ui.inverted.brown.buttons .button:focus,.ui.inverted.brown.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.brown.button:hover,.ui.inverted.brown.buttons .button:hover{background-color:#c86f11}.ui.inverted.brown.button:focus,.ui.inverted.brown.buttons .button:focus{background-color:#c16808}.ui.inverted.brown.active.button,.ui.inverted.brown.buttons .active.button{background-color:#cc6f0d}.ui.inverted.brown.button:active,.ui.inverted.brown.buttons .button:active{background-color:#a96216}.ui.inverted.brown.basic.button,.ui.inverted.brown.basic.buttons .button,.ui.inverted.brown.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.brown.basic.button:hover,.ui.inverted.brown.basic.buttons .button:hover,.ui.inverted.brown.buttons .basic.button:hover{box-shadow:0 0 0 2px #c86f11 inset!important;color:#D67C1C!important}.ui.inverted.brown.basic.button:focus,.ui.inverted.brown.basic.buttons .button:focus{box-shadow:0 0 0 2px #c16808 inset!important;color:#D67C1C!important}.ui.inverted.brown.basic.active.button,.ui.inverted.brown.basic.buttons .active.button,.ui.inverted.brown.buttons .basic.active.button{box-shadow:0 0 0 2px #cc6f0d inset!important;color:#D67C1C!important}.ui.inverted.brown.basic.button:active,.ui.inverted.brown.basic.buttons .button:active,.ui.inverted.brown.buttons .basic.button:active{box-shadow:0 0 0 2px #a96216 inset!important;color:#D67C1C!important}.ui.blue.button,.ui.blue.buttons .button{background-color:#2185D0;color:#FFF;text-shadow:none;background-image:none}.ui.blue.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.blue.button:hover,.ui.blue.buttons .button:hover{background-color:#1678c2;color:#FFF;text-shadow:none}.ui.blue.button:focus,.ui.blue.buttons .button:focus{background-color:#0d71bb;color:#FFF;text-shadow:none}.ui.blue.button:active,.ui.blue.buttons .button:active{background-color:#1a69a4;color:#FFF;text-shadow:none}.ui.blue.active.button,.ui.blue.button .active.button:active,.ui.blue.buttons .active.button,.ui.blue.buttons .active.button:active{background-color:#1279c6;color:#FFF;text-shadow:none}.ui.basic.blue.button,.ui.basic.blue.buttons .button{box-shadow:0 0 0 1px #2185D0 inset!important;color:#2185D0!important}.ui.basic.blue.button:hover,.ui.basic.blue.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #1678c2 inset!important;color:#1678c2!important}.ui.basic.blue.button:focus,.ui.basic.blue.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0d71bb inset!important;color:#1678c2!important}.ui.basic.blue.active.button,.ui.basic.blue.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #1279c6 inset!important;color:#1a69a4!important}.ui.basic.blue.button:active,.ui.basic.blue.buttons .button:active{box-shadow:0 0 0 1px #1a69a4 inset!important;color:#1a69a4!important}.ui.buttons:not(.vertical)>.basic.blue.button:not(:first-child){margin-left:-1px}.ui.inverted.blue.button,.ui.inverted.blue.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #54C8FF inset!important;color:#54C8FF}.ui.inverted.blue.button.active,.ui.inverted.blue.button:active,.ui.inverted.blue.button:focus,.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button.active,.ui.inverted.blue.buttons .button:active,.ui.inverted.blue.buttons .button:focus,.ui.inverted.blue.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.blue.button:hover,.ui.inverted.blue.buttons .button:hover{background-color:#3ac0ff}.ui.inverted.blue.button:focus,.ui.inverted.blue.buttons .button:focus{background-color:#2bbbff}.ui.inverted.blue.active.button,.ui.inverted.blue.buttons .active.button{background-color:#3ac0ff}.ui.inverted.blue.button:active,.ui.inverted.blue.buttons .button:active{background-color:#21b8ff}.ui.inverted.blue.basic.button,.ui.inverted.blue.basic.buttons .button,.ui.inverted.blue.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.blue.basic.button:hover,.ui.inverted.blue.basic.buttons .button:hover,.ui.inverted.blue.buttons .basic.button:hover{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54C8FF!important}.ui.inverted.blue.basic.button:focus,.ui.inverted.blue.basic.buttons .button:focus{box-shadow:0 0 0 2px #2bbbff inset!important;color:#54C8FF!important}.ui.inverted.blue.basic.active.button,.ui.inverted.blue.basic.buttons .active.button,.ui.inverted.blue.buttons .basic.active.button{box-shadow:0 0 0 2px #3ac0ff inset!important;color:#54C8FF!important}.ui.inverted.blue.basic.button:active,.ui.inverted.blue.basic.buttons .button:active,.ui.inverted.blue.buttons .basic.button:active{box-shadow:0 0 0 2px #21b8ff inset!important;color:#54C8FF!important}.ui.green.button,.ui.green.buttons .button{background-color:#21BA45;color:#FFF;text-shadow:none;background-image:none}.ui.green.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.green.button:hover,.ui.green.buttons .button:hover{background-color:#16ab39;color:#FFF;text-shadow:none}.ui.green.button:focus,.ui.green.buttons .button:focus{background-color:#0ea432;color:#FFF;text-shadow:none}.ui.green.button:active,.ui.green.buttons .button:active{background-color:#198f35;color:#FFF;text-shadow:none}.ui.green.active.button,.ui.green.button .active.button:active,.ui.green.buttons .active.button,.ui.green.buttons .active.button:active{background-color:#13ae38;color:#FFF;text-shadow:none}.ui.basic.green.button,.ui.basic.green.buttons .button{box-shadow:0 0 0 1px #21BA45 inset!important;color:#21BA45!important}.ui.basic.green.button:hover,.ui.basic.green.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #16ab39 inset!important;color:#16ab39!important}.ui.basic.green.button:focus,.ui.basic.green.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #0ea432 inset!important;color:#16ab39!important}.ui.basic.green.active.button,.ui.basic.green.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #13ae38 inset!important;color:#198f35!important}.ui.basic.green.button:active,.ui.basic.green.buttons .button:active{box-shadow:0 0 0 1px #198f35 inset!important;color:#198f35!important}.ui.buttons:not(.vertical)>.basic.green.button:not(:first-child){margin-left:-1px}.ui.inverted.green.button,.ui.inverted.green.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #2ECC40 inset!important;color:#2ECC40}.ui.inverted.green.button.active,.ui.inverted.green.button:active,.ui.inverted.green.button:focus,.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button.active,.ui.inverted.green.buttons .button:active,.ui.inverted.green.buttons .button:focus,.ui.inverted.green.buttons .button:hover{box-shadlightOw:none!important;color:#FFF}.ui.inverted.green.button:hover,.ui.inverted.green.buttons .button:hover{background-color:#22be34}.ui.inverted.green.button:focus,.ui.inverted.green.buttons .button:focus{background-color:#19b82b}.ui.inverted.green.active.button,.ui.inverted.green.buttons .active.button{background-color:#1fc231}.ui.inverted.green.button:active,.ui.inverted.green.buttons .button:active{background-color:#25a233}.ui.inverted.green.basic.button,.ui.inverted.green.basic.buttons .button,.ui.inverted.green.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.green.basic.button:hover,.ui.inverted.green.basic.buttons .button:hover,.ui.inverted.green.buttons .basic.button:hover{box-shadow:0 0 0 2px #22be34 inset!important;color:#2ECC40!important}.ui.inverted.green.basic.button:focus,.ui.inverted.green.basic.buttons .button:focus{box-shadow:0 0 0 2px #19b82b inset!important;color:#2ECC40!important}.ui.inverted.green.basic.active.button,.ui.inverted.green.basic.buttons .active.button,.ui.inverted.green.buttons .basic.active.button{box-shadow:0 0 0 2px #1fc231 inset!important;color:#2ECC40!important}.ui.inverted.green.basic.button:active,.ui.inverted.green.basic.buttons .button:active,.ui.inverted.green.buttons .basic.button:active{box-shadow:0 0 0 2px #25a233 inset!important;color:#2ECC40!important}.ui.orange.button,.ui.orange.buttons .button{background-color:#F2711C;color:#FFF;text-shadow:none;background-image:none}.ui.orange.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.orange.button:hover,.ui.orange.buttons .button:hover{background-color:#f26202;color:#FFF;text-shadow:none}.ui.orange.button:focus,.ui.orange.buttons .button:focus{background-color:#e55b00;color:#FFF;text-shadow:none}.ui.orange.button:active,.ui.orange.buttons .button:active{background-color:#cf590c;color:#FFF;text-shadow:none}.ui.orange.active.button,.ui.orange.button .active.button:active,.ui.orange.buttons .active.button,.ui.orange.buttons .active.button:active{background-color:#f56100;color:#FFF;text-shadow:none}.ui.basic.orange.button,.ui.basic.orange.buttons .button{box-shadow:0 0 0 1px #F2711C inset!important;color:#F2711C!important}.ui.basic.orange.button:hover,.ui.basic.orange.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #f26202 inset!important;color:#f26202!important}.ui.basic.orange.button:focus,.ui.basic.orange.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #e55b00 inset!important;color:#f26202!important}.ui.basic.orange.active.button,.ui.basic.orange.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #f56100 inset!important;color:#cf590c!important}.ui.basic.orange.button:active,.ui.basic.orange.buttons .button:active{box-shadow:0 0 0 1px #cf590c inset!important;color:#cf590c!important}.ui.buttons:not(.vertical)>.basic.orange.button:not(:first-child){margin-left:-1px}.ui.inverted.orange.button,.ui.inverted.orange.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #FF851B inset!important;color:#FF851B}.ui.inverted.orange.button.active,.ui.inverted.orange.button:active,.ui.inverted.orange.button:focus,.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button.active,.ui.inverted.orange.buttons .button:active,.ui.inverted.orange.buttons .button:focus,.ui.inverted.orange.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.orange.button:hover,.ui.inverted.orange.buttons .button:hover{background-color:#ff7701}.ui.inverted.orange.button:focus,.ui.inverted.orange.buttons .button:focus{background-color:#f17000}.ui.inverted.orange.active.button,.ui.inverted.orange.buttons .active.button{background-color:#ff7701}.ui.inverted.orange.button:active,.ui.inverted.orange.buttons .button:active{background-color:#e76b00}.ui.inverted.orange.basic.button,.ui.inverted.orange.basic.buttons .button,.ui.inverted.orange.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.orange.basic.button:hover,.ui.inverted.orange.basic.buttons .button:hover,.ui.inverted.orange.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff7701 inset!important;color:#FF851B!important}.ui.inverted.orange.basic.button:focus,.ui.inverted.orange.basic.buttons .button:focus{box-shadow:0 0 0 2px #f17000 inset!important;color:#FF851B!important}.ui.inverted.orange.basic.active.button,.ui.inverted.orange.basic.buttons .active.button,.ui.inverted.orange.buttons .basic.active.button{box-shadow:0 0 0 2px #ff7701 inset!important;color:#FF851B!important}.ui.inverted.orange.basic.button:active,.ui.inverted.orange.basic.buttons .button:active,.ui.inverted.orange.buttons .basic.button:active{box-shadow:0 0 0 2px #e76b00 inset!important;color:#FF851B!important}.ui.pink.button,.ui.pink.buttons .button{background-color:#E03997;color:#FFF;text-shadow:none;background-image:none}.ui.pink.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.pink.button:hover,.ui.pink.buttons .button:hover{background-color:#e61a8d;color:#FFF;text-shadow:none}.ui.pink.button:focus,.ui.pink.buttons .button:focus{background-color:#e10f85;color:#FFF;text-shadow:none}.ui.pink.button:active,.ui.pink.buttons .button:active{background-color:#c71f7e;color:#FFF;text-shadow:none}.ui.pink.active.button,.ui.pink.button .active.button:active,.ui.pink.buttons .active.button,.ui.pink.buttons .active.button:active{background-color:#ea158d;color:#FFF;text-shadow:none}.ui.basic.pink.button,.ui.basic.pink.buttons .button{box-shadow:0 0 0 1px #E03997 inset!important;color:#E03997!important}.ui.basic.pink.button:hover,.ui.basic.pink.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #e61a8d inset!important;color:#e61a8d!important}.ui.basic.pink.button:focus,.ui.basic.pink.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #e10f85 inset!important;color:#e61a8d!important}.ui.basic.pink.active.button,.ui.basic.pink.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #ea158d inset!important;color:#c71f7e!important}.ui.basic.pink.button:active,.ui.basic.pink.buttons .button:active{box-shadow:0 0 0 1px #c71f7e inset!important;color:#c71f7e!important}.ui.buttons:not(.vertical)>.basic.pink.button:not(:first-child){margin-left:-1px}.ui.inverted.pink.button,.ui.inverted.pink.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #FF8EDF inset!important;color:#FF8EDF}.ui.inverted.pink.button.active,.ui.inverted.pink.button:active,.ui.inverted.pink.button:focus,.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button.active,.ui.inverted.pink.buttons .button:active,.ui.inverted.pink.buttons .button:focus,.ui.inverted.pink.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.pink.button:hover,.ui.inverted.pink.buttons .button:hover{background-color:#ff74d8}.ui.inverted.pink.button:focus,.ui.inverted.pink.buttons .button:focus{background-color:#ff65d3}.ui.inverted.pink.active.button,.ui.inverted.pink.buttons .active.button{background-color:#ff74d8}.ui.inverted.pink.button:active,.ui.inverted.pink.buttons .button:active{background-color:#ff5bd1}.ui.inverted.pink.basic.button,.ui.inverted.pink.basic.buttons .button,.ui.inverted.pink.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.pink.basic.button:hover,.ui.inverted.pink.basic.buttons .button:hover,.ui.inverted.pink.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff74d8 inset!important;color:#FF8EDF!important}.ui.inverted.pink.basic.button:focus,.ui.inverted.pink.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff65d3 inset!important;color:#FF8EDF!important}.ui.inverted.pink.basic.active.button,.ui.inverted.pink.basic.buttons .active.button,.ui.inverted.pink.buttons .basic.active.button{box-shadow:0 0 0 2px #ff74d8 inset!important;color:#FF8EDF!important}.ui.inverted.pink.basic.button:active,.ui.inverted.pink.basic.buttons .button:active,.ui.inverted.pink.buttons .basic.button:active{box-shadow:0 0 0 2px #ff5bd1 inset!important;color:#FF8EDF!important}.ui.violet.button,.ui.violet.buttons .button{background-color:#6435C9;color:#FFF;text-shadow:none;background-image:none}.ui.violet.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.violet.button:hover,.ui.violet.buttons .button:hover{background-color:#5829bb;color:#FFF;text-shadow:none}.ui.violet.button:focus,.ui.violet.buttons .button:focus{background-color:#4f20b5;color:#FFF;text-shadow:none}.ui.violet.button:active,.ui.violet.buttons .button:active{background-color:#502aa1;color:#FFF;text-shadow:none}.ui.violet.active.button,.ui.violet.button .active.button:active,.ui.violet.buttons .active.button,.ui.violet.buttons .active.button:active{background-color:#5626bf;color:#FFF;text-shadow:none}.ui.basic.violet.button,.ui.basic.violet.buttons .button{box-shadow:0 0 0 1px #6435C9 inset!important;color:#6435C9!important}.ui.basic.violet.button:hover,.ui.basic.violet.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #5829bb inset!important;color:#5829bb!important}.ui.basic.violet.button:focus,.ui.basic.violet.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #4f20b5 inset!important;color:#5829bb!important}.ui.basic.violet.active.button,.ui.basic.violet.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #5626bf inset!important;color:#502aa1!important}.ui.basic.violet.button:active,.ui.basic.violet.buttons .button:active{box-shadow:0 0 0 1px #502aa1 inset!important;color:#502aa1!important}.ui.buttons:not(.vertical)>.basic.violet.button:not(:first-child){margin-left:-1px}.ui.inverted.violet.button,.ui.inverted.violet.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #A291FB inset!important;color:#A291FB}.ui.inverted.violet.button.active,.ui.inverted.violet.button:active,.ui.inverted.violet.button:focus,.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button.active,.ui.inverted.violet.buttons .button:active,.ui.inverted.violet.buttons .button:focus,.ui.inverted.violet.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.violet.button:hover,.ui.inverted.violet.buttons .button:hover{background-color:#8a73ff}.ui.inverted.violet.button:focus,.ui.inverted.violet.buttons .button:focus{background-color:#7d64ff}.ui.inverted.violet.active.button,.ui.inverted.violet.buttons .active.button{background-color:#8a73ff}.ui.inverted.violet.button:active,.ui.inverted.violet.buttons .button:active{background-color:#7860f9}.ui.inverted.violet.basic.button,.ui.inverted.violet.basic.buttons .button,.ui.inverted.violet.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.violet.basic.button:hover,.ui.inverted.violet.basic.buttons .button:hover,.ui.inverted.violet.buttons .basic.button:hover{box-shadow:0 0 0 2px #8a73ff inset!important;color:#A291FB!important}.ui.inverted.violet.basic.button:focus,.ui.inverted.violet.basic.buttons .button:focus{box-shadow:0 0 0 2px #7d64ff inset!important;color:#A291FB!important}.ui.inverted.violet.basic.active.button,.ui.inverted.violet.basic.buttons .active.button,.ui.inverted.violet.buttons .basic.active.button{box-shadow:0 0 0 2px #8a73ff inset!important;color:#A291FB!important}.ui.inverted.violet.basic.button:active,.ui.inverted.violet.basic.buttons .button:active,.ui.inverted.violet.buttons .basic.button:active{box-shadow:0 0 0 2px #7860f9 inset!important;color:#A291FB!important}.ui.purple.button,.ui.purple.buttons .button{background-color:#A333C8;color:#FFF;text-shadow:none;background-image:none}.ui.purple.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.purple.button:hover,.ui.purple.buttons .button:hover{background-color:#9627ba;color:#FFF;text-shadow:none}.ui.purple.button:focus,.ui.purple.buttons .button:focus{background-color:#8f1eb4;color:#FFF;text-shadow:none}.ui.purple.button:active,.ui.purple.buttons .button:active{background-color:#82299f;color:#FFF;text-shadow:none}.ui.purple.active.button,.ui.purple.button .active.button:active,.ui.purple.buttons .active.button,.ui.purple.buttons .active.button:active{background-color:#9724be;color:#FFF;text-shadow:none}.ui.basic.purple.button,.ui.basic.purple.buttons .button{box-shadow:0 0 0 1px #A333C8 inset!important;color:#A333C8!important}.ui.basic.purple.button:hover,.ui.basic.purple.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #9627ba inset!important;color:#9627ba!important}.ui.basic.purple.button:focus,.ui.basic.purple.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #8f1eb4 inset!important;color:#9627ba!important}.ui.basic.purple.active.button,.ui.basic.purple.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #9724be inset!important;color:#82299f!important}.ui.basic.purple.button:active,.ui.basic.purple.buttons .button:active{box-shadow:0 0 0 1px #82299f inset!important;color:#82299f!important}.ui.buttons:not(.vertical)>.basic.purple.button:not(:first-child){margin-left:-1px}.ui.inverted.purple.button,.ui.inverted.purple.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #DC73FF inset!important;color:#DC73FF}.ui.inverted.purple.button.active,.ui.inverted.purple.button:active,.ui.inverted.purple.button:focus,.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button.active,.ui.inverted.purple.buttons .button:active,.ui.inverted.purple.buttons .button:focus,.ui.inverted.purple.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.purple.button:hover,.ui.inverted.purple.buttons .button:hover{background-color:#d65aff}.ui.inverted.purple.button:focus,.ui.inverted.purple.buttons .button:focus{background-color:#d24aff}.ui.inverted.purple.active.button,.ui.inverted.purple.buttons .active.button{background-color:#d65aff}.ui.inverted.purple.button:active,.ui.inverted.purple.buttons .button:active{background-color:#cf40ff}.ui.inverted.purple.basic.button,.ui.inverted.purple.basic.buttons .button,.ui.inverted.purple.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.purple.basic.button:hover,.ui.inverted.purple.basic.buttons .button:hover,.ui.inverted.purple.buttons .basic.button:hover{box-shadow:0 0 0 2px #d65aff inset!important;color:#DC73FF!important}.ui.inverted.purple.basic.button:focus,.ui.inverted.purple.basic.buttons .button:focus{box-shadow:0 0 0 2px #d24aff inset!important;color:#DC73FF!important}.ui.inverted.purple.basic.active.button,.ui.inverted.purple.basic.buttons .active.button,.ui.inverted.purple.buttons .basic.active.button{box-shadow:0 0 0 2px #d65aff inset!important;color:#DC73FF!important}.ui.inverted.purple.basic.button:active,.ui.inverted.purple.basic.buttons .button:active,.ui.inverted.purple.buttons .basic.button:active{box-shadow:0 0 0 2px #cf40ff inset!important;color:#DC73FF!important}.ui.red.button,.ui.red.buttons .button{background-color:#DB2828;color:#FFF;text-shadow:none;background-image:none}.ui.red.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.red.button:hover,.ui.red.buttons .button:hover{background-color:#d01919;color:#FFF;text-shadow:none}.ui.red.button:focus,.ui.red.buttons .button:focus{background-color:#ca1010;color:#FFF;text-shadow:none}.ui.red.button:active,.ui.red.buttons .button:active{background-color:#b21e1e;color:#FFF;text-shadow:none}.ui.red.active.button,.ui.red.button .active.button:active,.ui.red.buttons .active.button,.ui.red.buttons .active.button:active{background-color:#d41515;color:#FFF;text-shadow:none}.ui.basic.red.button,.ui.basic.red.buttons .button{box-shadow:0 0 0 1px #DB2828 inset!important;color:#DB2828!important}.ui.basic.red.button:hover,.ui.basic.red.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #d01919 inset!important;color:#d01919!important}.ui.basic.red.button:focus,.ui.basic.red.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #ca1010 inset!important;color:#d01919!important}.ui.basic.red.active.button,.ui.basic.red.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #d41515 inset!important;color:#b21e1e!important}.ui.basic.red.button:active,.ui.basic.red.buttons .button:active{box-shadow:0 0 0 1px #b21e1e inset!important;color:#b21e1e!important}.ui.buttons:not(.vertical)>.basic.red.button:not(:first-child){margin-left:-1px}.ui.inverted.red.button,.ui.inverted.red.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #FF695E inset!important;color:#FF695E}.ui.inverted.red.button.active,.ui.inverted.red.button:active,.ui.inverted.red.button:focus,.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button.active,.ui.inverted.red.buttons .button:active,.ui.inverted.red.buttons .button:focus,.ui.inverted.red.buttons .button:hover{box-shadow:none!important;color:#FFF}.ui.inverted.red.button:hover,.ui.inverted.red.buttons .button:hover{background-color:#ff5144}.ui.inverted.red.button:focus,.ui.inverted.red.buttons .button:focus{background-color:#ff4335}.ui.inverted.red.active.button,.ui.inverted.red.buttons .active.button{background-color:#ff5144}.ui.inverted.red.button:active,.ui.inverted.red.buttons .button:active{background-color:#ff392b}.ui.inverted.red.basic.button,.ui.inverted.red.basic.buttons .button,.ui.inverted.red.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.red.basic.button:hover,.ui.inverted.red.basic.buttons .button:hover,.ui.inverted.red.buttons .basic.button:hover{box-shadow:0 0 0 2px #ff5144 inset!important;color:#FF695E!important}.ui.inverted.red.basic.button:focus,.ui.inverted.red.basic.buttons .button:focus{box-shadow:0 0 0 2px #ff4335 inset!important;color:#FF695E!important}.ui.inverted.red.basic.active.button,.ui.inverted.red.basic.buttons .active.button,.ui.inverted.red.buttons .basic.active.button{box-shadow:0 0 0 2px #ff5144 inset!important;color:#FF695E!important}.ui.inverted.red.basic.button:active,.ui.inverted.red.basic.buttons .button:active,.ui.inverted.red.buttons .basic.button:active{box-shadow:0 0 0 2px #ff392b inset!important;color:#FF695E!important}.ui.teal.button,.ui.teal.buttons .button{background-color:#00B5AD;color:#FFF;text-shadow:none;background-image:none}.ui.teal.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.teal.button:hover,.ui.teal.buttons .button:hover{background-color:#009c95;color:#FFF;text-shadow:none}.ui.teal.button:focus,.ui.teal.buttons .button:focus{background-color:#008c86;color:#FFF;text-shadow:none}.ui.teal.button:active,.ui.teal.buttons .button:active{background-color:#00827c;color:#FFF;text-shadow:none}.ui.teal.active.button,.ui.teal.button .active.button:active,.ui.teal.buttons .active.button,.ui.teal.buttons .active.button:active{background-color:#009c95;color:#FFF;text-shadow:none}.ui.basic.teal.button,.ui.basic.teal.buttons .button{box-shadow:0 0 0 1px #00B5AD inset!important;color:#00B5AD!important}.ui.basic.teal.button:hover,.ui.basic.teal.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#009c95!important}.ui.basic.teal.button:focus,.ui.basic.teal.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #008c86 inset!important;color:#009c95!important}.ui.basic.teal.active.button,.ui.basic.teal.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #009c95 inset!important;color:#00827c!important}.ui.basic.teal.button:active,.ui.basic.teal.buttons .button:active{box-shadow:0 0 0 1px #00827c inset!important;color:#00827c!important}.ui.buttons:not(.vertical)>.basic.teal.button:not(:first-child){margin-left:-1px}.ui.inverted.teal.button,.ui.inverted.teal.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #6DFFFF inset!important;color:#6DFFFF}.ui.inverted.teal.button.active,.ui.inverted.teal.button:active,.ui.inverted.teal.button:focus,.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button.active,.ui.inverted.teal.buttons .button:active,.ui.inverted.teal.buttons .button:focus,.ui.inverted.teal.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.teal.button:hover,.ui.inverted.teal.buttons .button:hover{background-color:#54ffff}.ui.inverted.teal.button:focus,.ui.inverted.teal.buttons .button:focus{background-color:#4ff}.ui.inverted.teal.active.button,.ui.inverted.teal.buttons .active.button{background-color:#54ffff}.ui.inverted.teal.button:active,.ui.inverted.teal.buttons .button:active{background-color:#3affff}.ui.inverted.teal.basic.button,.ui.inverted.teal.basic.buttons .button,.ui.inverted.teal.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.teal.basic.button:hover,.ui.inverted.teal.basic.buttons .button:hover,.ui.inverted.teal.buttons .basic.button:hover{box-shadow:0 0 0 2px #54ffff inset!important;color:#6DFFFF!important}.ui.inverted.teal.basic.button:focus,.ui.inverted.teal.basic.buttons .button:focus{box-shadow:0 0 0 2px #4ff inset!important;color:#6DFFFF!important}.ui.inverted.teal.basic.active.button,.ui.inverted.teal.basic.buttons .active.button,.ui.inverted.teal.buttons .basic.active.button{box-shadow:0 0 0 2px #54ffff inset!important;color:#6DFFFF!important}.ui.inverted.teal.basic.button:active,.ui.inverted.teal.basic.buttons .button:active,.ui.inverted.teal.buttons .basic.button:active{box-shadow:0 0 0 2px #3affff inset!important;color:#6DFFFF!important}.ui.olive.button,.ui.olive.buttons .button{background-color:#B5CC18;color:#FFF;text-shadow:none;background-image:none}.ui.olive.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.olive.button:hover,.ui.olive.buttons .button:hover{background-color:#a7bd0d;color:#FFF;text-shadow:none}.ui.olive.button:focus,.ui.olive.buttons .button:focus{background-color:#a0b605;color:#FFF;text-shadow:none}.ui.olive.button:active,.ui.olive.buttons .button:active{background-color:#8d9e13;color:#FFF;text-shadow:none}.ui.olive.active.button,.ui.olive.button .active.button:active,.ui.olive.buttons .active.button,.ui.olive.buttons .active.button:active{background-color:#aac109;color:#FFF;text-shadow:none}.ui.basic.olive.button,.ui.basic.olive.buttons .button{box-shadow:0 0 0 1px #B5CC18 inset!important;color:#B5CC18!important}.ui.basic.olive.button:hover,.ui.basic.olive.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #a7bd0d inset!important;color:#a7bd0d!important}.ui.basic.olive.button:focus,.ui.basic.olive.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #a0b605 inset!important;color:#a7bd0d!important}.ui.basic.olive.active.button,.ui.basic.olive.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #aac109 inset!important;color:#8d9e13!important}.ui.basic.olive.button:active,.ui.basic.olive.buttons .button:active{box-shadow:0 0 0 1px #8d9e13 inset!important;color:#8d9e13!important}.ui.buttons:not(.vertical)>.basic.olive.button:not(:first-child){margin-left:-1px}.ui.inverted.olive.button,.ui.inverted.olive.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #D9E778 inset!important;color:#D9E778}.ui.inverted.olive.button.active,.ui.inverted.olive.button:active,.ui.inverted.olive.button:focus,.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button.active,.ui.inverted.olive.buttons .button:active,.ui.inverted.olive.buttons .button:focus,.ui.inverted.olive.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.olive.button:hover,.ui.inverted.olive.buttons .button:hover{background-color:#d8ea5c}.ui.inverted.olive.button:focus,.ui.inverted.olive.buttons .button:focus{background-color:#daef47}.ui.inverted.olive.active.button,.ui.inverted.olive.buttons .active.button{background-color:#daed59}.ui.inverted.olive.button:active,.ui.inverted.olive.buttons .button:active{background-color:#cddf4d}.ui.inverted.olive.basic.button,.ui.inverted.olive.basic.buttons .button,.ui.inverted.olive.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.olive.basic.button:hover,.ui.inverted.olive.basic.buttons .button:hover,.ui.inverted.olive.buttons .basic.button:hover{box-shadow:0 0 0 2px #d8ea5c inset!important;color:#D9E778!important}.ui.inverted.olive.basic.button:focus,.ui.inverted.olive.basic.buttons .button:focus{box-shadow:0 0 0 2px #daef47 inset!important;color:#D9E778!important}.ui.inverted.olive.basic.active.button,.ui.inverted.olive.basic.buttons .active.button,.ui.inverted.olive.buttons .basic.active.button{box-shadow:0 0 0 2px #daed59 inset!important;color:#D9E778!important}.ui.inverted.olive.basic.button:active,.ui.inverted.olive.basic.buttons .button:active,.ui.inverted.olive.buttons .basic.button:active{box-shadow:0 0 0 2px #cddf4d inset!important;color:#D9E778!important}.ui.yellow.button,.ui.yellow.buttons .button{background-color:#FBBD08;color:#FFF;text-shadow:none;background-image:none}.ui.yellow.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.yellow.button:hover,.ui.yellow.buttons .button:hover{background-color:#eaae00;color:#FFF;text-shadow:none}.ui.yellow.button:focus,.ui.yellow.buttons .button:focus{background-color:#daa300;color:#FFF;text-shadow:none}.ui.yellow.button:active,.ui.yellow.buttons .button:active{background-color:#cd9903;color:#FFF;text-shadow:none}.ui.yellow.active.button,.ui.yellow.button .active.button:active,.ui.yellow.buttons .active.button,.ui.yellow.buttons .active.button:active{background-color:#eaae00;color:#FFF;text-shadow:none}.ui.basic.yellow.button,.ui.basic.yellow.buttons .button{box-shadow:0 0 0 1px #FBBD08 inset!important;color:#FBBD08!important}.ui.basic.yellow.button:hover,.ui.basic.yellow.buttons .button:hover{background:0 0!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#eaae00!important}.ui.basic.yellow.button:focus,.ui.basic.yellow.buttons .button:focus{background:0 0!important;box-shadow:0 0 0 1px #daa300 inset!important;color:#eaae00!important}.ui.basic.yellow.active.button,.ui.basic.yellow.buttons .active.button{background:0 0!important;box-shadow:0 0 0 1px #eaae00 inset!important;color:#cd9903!important}.ui.basic.yellow.button:active,.ui.basic.yellow.buttons .button:active{box-shadow:0 0 0 1px #cd9903 inset!important;color:#cd9903!important}.ui.buttons:not(.vertical)>.basic.yellow.button:not(:first-child){margin-left:-1px}.ui.inverted.yellow.button,.ui.inverted.yellow.buttons .button{background-color:transparent;box-shadow:0 0 0 2px #FFE21F inset!important;color:#FFE21F}.ui.inverted.yellow.button.active,.ui.inverted.yellow.button:active,.ui.inverted.yellow.button:focus,.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button.active,.ui.inverted.yellow.buttons .button:active,.ui.inverted.yellow.buttons .button:focus,.ui.inverted.yellow.buttons .button:hover{box-shadow:none!important;color:rgba(0,0,0,.6)}.ui.inverted.yellow.button:hover,.ui.inverted.yellow.buttons .button:hover{background-color:#ffdf05}.ui.inverted.yellow.button:focus,.ui.inverted.yellow.buttons .button:focus{background-color:#f5d500}.ui.inverted.yellow.active.button,.ui.inverted.yellow.buttons .active.button{background-color:#ffdf05}.ui.inverted.yellow.button:active,.ui.inverted.yellow.buttons .button:active{background-color:#ebcd00}.ui.inverted.yellow.basic.button,.ui.inverted.yellow.basic.buttons .button,.ui.inverted.yellow.buttons .basic.button{background-color:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.5) inset!important;color:#FFF!important}.ui.inverted.yellow.basic.button:hover,.ui.inverted.yellow.basic.buttons .button:hover,.ui.inverted.yellow.buttons .basic.button:hover{box-shadow:0 0 0 2px #ffdf05 inset!important;color:#FFE21F!important}.ui.inverted.yellow.basic.button:focus,.ui.inverted.yellow.basic.buttons .button:focus{box-shadow:0 0 0 2px #f5d500 inset!important;color:#FFE21F!important}.ui.inverted.yellow.basic.active.button,.ui.inverted.yellow.basic.buttons .active.button,.ui.inverted.yellow.buttons .basic.active.button{box-shadow:0 0 0 2px #ffdf05 inset!important;color:#FFE21F!important}.ui.inverted.yellow.basic.button:active,.ui.inverted.yellow.basic.buttons .button:active,.ui.inverted.yellow.buttons .basic.button:active{box-shadow:0 0 0 2px #ebcd00 inset!important;color:#FFE21F!important}.ui.primary.button,.ui.primary.buttons .button{background-color:#2185D0;color:#FFF;text-shadow:none;background-image:none}.ui.primary.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.primary.button:hover,.ui.primary.buttons .button:hover{background-color:#1678c2;color:#FFF;text-shadow:none}.ui.primary.button:focus,.ui.primary.buttons .button:focus{background-color:#0d71bb;color:#FFF;text-shadow:none}.ui.primary.button:active,.ui.primary.buttons .button:active{background-color:#1a69a4;color:#FFF;text-shadow:none}.ui.primary.active.button,.ui.primary.buttons .active.button{background-color:#1279c6;color:#FFF;text-shadow:none}.ui.secondary.button,.ui.secondary.buttons .button{background-color:#1B1C1D;color:#FFF;text-shadow:none;background-image:none}.ui.secondary.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.secondary.button:hover,.ui.secondary.buttons .button:hover{background-color:#27292a;color:#FFF;text-shadow:none}.ui.secondary.button:focus,.ui.secondary.buttons .button:focus{background-color:#2e3032;color:#FFF;text-shadow:none}.ui.secondary.button:active,.ui.secondary.buttons .button:active{background-color:#343637;color:#FFF;text-shadow:none}.ui.secondary.active.button,.ui.secondary.buttons .active.button{background-color:#27292a;color:#FFF;text-shadow:none}.ui.positive.button,.ui.positive.buttons .button{background-color:#21BA45!important;color:#FFF;text-shadow:none;background-image:none}.ui.positive.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.positive.button:hover,.ui.positive.buttons .button:hover{background-color:#16ab39!important;color:#FFF;text-shadow:none}.ui.positive.button:focus,.ui.positive.buttons .button:focus{background-color:#0ea432!important;color:#FFF;text-shadow:none}.ui.positive.button:active,.ui.positive.buttons .button:active{background-color:#198f35!important;color:#FFF;text-shadow:none}.ui.positive.active.button,.ui.positive.buttons .active.button,.ui.positive.buttons .active.button:active{background-color:#13ae38;color:#FFF;text-shadow:none}.ui.negative.button,.ui.negative.buttons .button{background-color:#DB2828!important;color:#FFF;text-shadow:none;background-image:none}.ui.negative.button{box-shadow:0 0 0 0 rgba(34,36,38,.15) inset}.ui.negative.button:hover,.ui.negative.buttons .button:hover{background-color:#d01919!important;color:#FFF;text-shadow:none}.ui.negative.button:focus,.ui.negative.buttons .button:focus{background-color:#ca1010!important;color:#FFF;text-shadow:none}.ui.negative.button:active,.ui.negative.buttons .button:active{background-color:#b21e1e!important;color:#FFF;text-shadow:none}.ui.negative.active.button,.ui.negative.buttons .active.button,.ui.negative.buttons .active.button:active{background-color:#d41515;color:#FFF;text-shadow:none}.ui.buttons{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;font-size:0;vertical-align:baseline;margin:0 .25em 0 0}.ui.buttons:not(.basic):not(.inverted){box-shadow:none}.ui.buttons:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.ui.buttons .button{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;border-radius:0;margin:0}.ui.buttons:not(.basic):not(.inverted)>.button,.ui.buttons>.ui.button:not(.basic):not(.inverted){box-shadow:0 0 0 1px transparent inset,0 0 0 0 rgba(34,36,38,.15) inset}.ui.buttons .button:first-child{border-left:none;margin-left:0;border-top-left-radius:.28571429rem;border-bottom-left-radius:.28571429rem}.ui.buttons .button:last-child{border-top-right-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.vertical.buttons{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui.vertical.buttons .button{display:block;float:none;width:100%;margin:0;box-shadow:none}.ui.vertical.buttons .button:first-child,.ui.vertical.buttons .huge.button:first-child,.ui.vertical.buttons .massive.button:first-child,.ui.vertical.buttons .mini.button:first-child,.ui.vertical.buttons .small.button:first-child,.ui.vertical.buttons .tiny.button:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.buttons .button:last-child,.ui.vertical.buttons .gigantic.button:last-child,.ui.vertical.buttons .huge.button:last-child,.ui.vertical.buttons .massive.button:last-child,.ui.vertical.buttons .mini.button:last-child,.ui.vertical.buttons .small.button:last-child,.ui.vertical.buttons .tiny.button:last-child{margin-bottom:0;border-radius:0 0 .28571429rem .28571429rem}.ui.container{display:block;max-width:100%!important}@media only screen and (max-width:767px){.ui.container{width:auto!important;margin-left:1em!important;margin-right:1em!important}.ui.grid.container,.ui.relaxed.grid.container,.ui.very.relaxed.grid.container{width:auto!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.container{width:723px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(723px + 2rem)!important}.ui.relaxed.grid.container{width:calc(723px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(723px + 5rem)!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.container{width:933px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(933px + 2rem)!important}.ui.relaxed.grid.container{width:calc(933px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(933px + 5rem)!important}}@media only screen and (min-width:1200px){.ui.container{width:1127px;margin-left:auto!important;margin-right:auto!important}.ui.grid.container{width:calc(1127px + 2rem)!important}.ui.relaxed.grid.container{width:calc(1127px + 3rem)!important}.ui.very.relaxed.grid.container{width:calc(1127px + 5rem)!important}}.ui.text.container{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;max-width:700px!important;line-height:1.5;font-size:1.14285714rem}.ui.fluid.container{width:100%}.ui[class*=\"left aligned\"].container{text-align:left}.ui[class*=\"center aligned\"].container{text-align:center}.ui[class*=\"right aligned\"].container{text-align:right}.ui.justified.container{text-align:justify;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.divider{margin:1rem 0;line-height:1;height:0;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:rgba(0,0,0,.85);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;font-size:1rem}.ui.divider:not(.vertical):not(.horizontal){border-top:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(255,255,255,.1)}.ui.grid>.column+.divider,.ui.grid>.row>.column+.divider{left:auto}.ui.horizontal.divider{display:table;white-space:nowrap;height:auto;margin:'';overflow:hidden;line-height:1;text-align:center}.ui.horizontal.divider:after,.ui.horizontal.divider:before{content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}.ui.horizontal.divider:before{background-position:right 1em top 50%}.ui.horizontal.divider:after{background-position:left 1em top 50%}.ui.vertical.divider{position:absolute;z-index:2;top:50%;left:50%;margin:0;padding:0;width:auto;height:50%;line-height:0;text-align:center;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%)}.ui.vertical.divider:after,.ui.vertical.divider:before{position:absolute;left:50%;content:'';z-index:3;border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(255,255,255,.1);width:0;height:calc(100% - 1rem)}.ui.vertical.divider:before{top:-100%}.ui.vertical.divider:after{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.grid .stackable.row .ui.vertical.divider,.ui.stackable.grid .ui.vertical.divider{display:table;white-space:nowrap;height:auto;margin:'';overflow:hidden;line-height:1;text-align:center;position:static;top:0;left:0;-webkit-transform:none;-ms-transform:none;transform:none}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:before{left:0;border-left:none;border-right:none;content:'';display:table-cell;position:relative;top:50%;width:50%;background-repeat:no-repeat;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC)}.ui.grid .stackable.row .ui.vertical.divider:before,.ui.stackable.grid .ui.vertical.divider:before{background-position:right 1em top 50%}.ui.grid .stackable.row .ui.vertical.divider:after,.ui.stackable.grid .ui.vertical.divider:after{background-position:left 1em top 50%}}.ui.divider>.icon{margin:0;font-size:1rem;height:1em;vertical-align:middle}.ui.hidden.divider{border-color:transparent!important}.ui.hidden.divider:after,.ui.hidden.divider:before{display:none}.ui.divider.inverted,.ui.horizontal.inverted.divider,.ui.vertical.inverted.divider{color:#FFF}.ui.divider.inverted,.ui.divider.inverted:after,.ui.divider.inverted:before{border-top-color:rgba(34,36,38,.15)!important;border-left-color:rgba(34,36,38,.15)!important;border-bottom-color:rgba(255,255,255,.15)!important;border-right-color:rgba(255,255,255,.15)!important}.ui.fitted.divider{margin:0}.ui.clearing.divider{clear:both}.ui.section.divider{margin-top:2rem;margin-bottom:2rem}i.flag:not(.icon){display:inline-block;width:16px;height:11px;line-height:11px;vertical-align:baseline;margin:0 .5em 0 0;text-decoration:inherit;speak:none;font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.flag:not(.icon):before{display:inline-block;content:'';background:url(themes/default/assets/images/flags.png) no-repeat;width:16px;height:11px}i.flag.ad:before,i.flag.andorra:before{background-position:0 0}i.flag.ae:before,i.flag.uae:before,i.flag.united.arab.emirates:before{background-position:0 -26px}i.flag.af:before,i.flag.afghanistan:before{background-position:0 -52px}i.flag.ag:before,i.flag.antigua:before{background-position:0 -78px}i.flag.ai:before,i.flag.anguilla:before{background-position:0 -104px}i.flag.al:before,i.flag.albania:before{background-position:0 -130px}i.flag.am:before,i.flag.armenia:before{background-position:0 -156px}i.flag.an:before,i.flag.netherlands.antilles:before{background-position:0 -182px}i.flag.angola:before,i.flag.ao:before{background-position:0 -208px}i.flag.ar:before,i.flag.argentina:before{background-position:0 -234px}i.flag.american.samoa:before,i.flag.as:before{background-position:0 -260px}i.flag.at:before,i.flag.austria:before{background-position:0 -286px}i.flag.au:before,i.flag.australia:before{background-position:0 -312px}i.flag.aruba:before,i.flag.aw:before{background-position:0 -338px}i.flag.aland.islands:before,i.flag.ax:before{background-position:0 -364px}i.flag.az:before,i.flag.azerbaijan:before{background-position:0 -390px}i.flag.ba:before,i.flag.bosnia:before{background-position:0 -416px}i.flag.barbados:before,i.flag.bb:before{background-position:0 -442px}i.flag.bangladesh:before,i.flag.bd:before{background-position:0 -468px}i.flag.be:before,i.flag.belgium:before{background-position:0 -494px}i.flag.bf:before,i.flag.burkina.faso:before{background-position:0 -520px}i.flag.bg:before,i.flag.bulgaria:before{background-position:0 -546px}i.flag.bahrain:before,i.flag.bh:before{background-position:0 -572px}i.flag.bi:before,i.flag.burundi:before{background-position:0 -598px}i.flag.benin:before,i.flag.bj:before{background-position:0 -624px}i.flag.bermuda:before,i.flag.bm:before{background-position:0 -650px}i.flag.bn:before,i.flag.brunei:before{background-position:0 -676px}i.flag.bo:before,i.flag.bolivia:before{background-position:0 -702px}i.flag.br:before,i.flag.brazil:before{background-position:0 -728px}i.flag.bahamas:before,i.flag.bs:before{background-position:0 -754px}i.flag.bhutan:before,i.flag.bt:before{background-position:0 -780px}i.flag.bouvet.island:before,i.flag.bv:before{background-position:0 -806px}i.flag.botswana:before,i.flag.bw:before{background-position:0 -832px}i.flag.belarus:before,i.flag.by:before{background-position:0 -858px}i.flag.belize:before,i.flag.bz:before{background-position:0 -884px}i.flag.ca:before,i.flag.canada:before{background-position:0 -910px}i.flag.cc:before,i.flag.cocos.islands:before{background-position:0 -962px}i.flag.cd:before,i.flag.congo:before{background-position:0 -988px}i.flag.central.african.republic:before,i.flag.cf:before{background-position:0 -1014px}i.flag.cg:before,i.flag.congo.brazzaville:before{background-position:0 -1040px}i.flag.ch:before,i.flag.switzerland:before{background-position:0 -1066px}i.flag.ci:before,i.flag.cote.divoire:before{background-position:0 -1092px}i.flag.ck:before,i.flag.cook.islands:before{background-position:0 -1118px}i.flag.chile:before,i.flag.cl:before{background-position:0 -1144px}i.flag.cameroon:before,i.flag.cm:before{background-position:0 -1170px}i.flag.china:before,i.flag.cn:before{background-position:0 -1196px}i.flag.co:before,i.flag.colombia:before{background-position:0 -1222px}i.flag.costa.rica:before,i.flag.cr:before{background-position:0 -1248px}i.flag.cs:before,i.flag.serbia:before{background-position:0 -1274px}i.flag.cu:before,i.flag.cuba:before{background-position:0 -1300px}i.flag.cape.verde:before,i.flag.cv:before{background-position:0 -1326px}i.flag.christmas.island:before,i.flag.cx:before{background-position:0 -1352px}i.flag.cy:before,i.flag.cyprus:before{background-position:0 -1378px}i.flag.cz:before,i.flag.czech.republic:before{background-position:0 -1404px}i.flag.de:before,i.flag.germany:before{background-position:0 -1430px}i.flag.dj:before,i.flag.djibouti:before{background-position:0 -1456px}i.flag.denmark:before,i.flag.dk:before{background-position:0 -1482px}i.flag.dm:before,i.flag.dominica:before{background-position:0 -1508px}i.flag.do:before,i.flag.dominican.republic:before{background-position:0 -1534px}i.flag.algeria:before,i.flag.dz:before{background-position:0 -1560px}i.flag.ec:before,i.flag.ecuador:before{background-position:0 -1586px}i.flag.ee:before,i.flag.estonia:before{background-position:0 -1612px}i.flag.eg:before,i.flag.egypt:before{background-position:0 -1638px}i.flag.eh:before,i.flag.western.sahara:before{background-position:0 -1664px}i.flag.er:before,i.flag.eritrea:before{background-position:0 -1716px}i.flag.es:before,i.flag.spain:before{background-position:0 -1742px}i.flag.et:before,i.flag.ethiopia:before{background-position:0 -1768px}i.flag.eu:before,i.flag.european.union:before{background-position:0 -1794px}i.flag.fi:before,i.flag.finland:before{background-position:0 -1846px}i.flag.fiji:before,i.flag.fj:before{background-position:0 -1872px}i.flag.falkland.islands:before,i.flag.fk:before{background-position:0 -1898px}i.flag.fm:before,i.flag.micronesia:before{background-position:0 -1924px}i.flag.faroe.islands:before,i.flag.fo:before{background-position:0 -1950px}i.flag.fr:before,i.flag.france:before{background-position:0 -1976px}i.flag.ga:before,i.flag.gabon:before{background-position:-36px 0}i.flag.gb:before,i.flag.united.kingdom:before{background-position:-36px -26px}i.flag.gd:before,i.flag.grenada:before{background-position:-36px -52px}i.flag.ge:before,i.flag.georgia:before{background-position:-36px -78px}i.flag.french.guiana:before,i.flag.gf:before{background-position:-36px -104px}i.flag.gh:before,i.flag.ghana:before{background-position:-36px -130px}i.flag.gi:before,i.flag.gibraltar:before{background-position:-36px -156px}i.flag.gl:before,i.flag.greenland:before{background-position:-36px -182px}i.flag.gambia:before,i.flag.gm:before{background-position:-36px -208px}i.flag.gn:before,i.flag.guinea:before{background-position:-36px -234px}i.flag.gp:before,i.flag.guadeloupe:before{background-position:-36px -260px}i.flag.equatorial.guinea:before,i.flag.gq:before{background-position:-36px -286px}i.flag.gr:before,i.flag.greece:before{background-position:-36px -312px}i.flag.gs:before,i.flag.sandwich.islands:before{background-position:-36px -338px}i.flag.gt:before,i.flag.guatemala:before{background-position:-36px -364px}i.flag.gu:before,i.flag.guam:before{background-position:-36px -390px}i.flag.guinea-bissau:before,i.flag.gw:before{background-position:-36px -416px}i.flag.guyana:before,i.flag.gy:before{background-position:-36px -442px}i.flag.hk:before,i.flag.hong.kong:before{background-position:-36px -468px}i.flag.heard.island:before,i.flag.hm:before{background-position:-36px -494px}i.flag.hn:before,i.flag.honduras:before{background-position:-36px -520px}i.flag.croatia:before,i.flag.hr:before{background-position:-36px -546px}i.flag.haiti:before,i.flag.ht:before{background-position:-36px -572px}i.flag.hu:before,i.flag.hungary:before{background-position:-36px -598px}i.flag.id:before,i.flag.indonesia:before{background-position:-36px -624px}i.flag.ie:before,i.flag.ireland:before{background-position:-36px -650px}i.flag.il:before,i.flag.israel:before{background-position:-36px -676px}i.flag.in:before,i.flag.india:before{background-position:-36px -702px}i.flag.indian.ocean.territory:before,i.flag.io:before{background-position:-36px -728px}i.flag.iq:before,i.flag.iraq:before{background-position:-36px -754px}i.flag.ir:before,i.flag.iran:before{background-position:-36px -780px}i.flag.iceland:before,i.flag.is:before{background-position:-36px -806px}i.flag.it:before,i.flag.italy:before{background-position:-36px -832px}i.flag.jamaica:before,i.flag.jm:before{background-position:-36px -858px}i.flag.jo:before,i.flag.jordan:before{background-position:-36px -884px}i.flag.japan:before,i.flag.jp:before{background-position:-36px -910px}i.flag.ke:before,i.flag.kenya:before{background-position:-36px -936px}i.flag.kg:before,i.flag.kyrgyzstan:before{background-position:-36px -962px}i.flag.cambodia:before,i.flag.kh:before{background-position:-36px -988px}i.flag.ki:before,i.flag.kiribati:before{background-position:-36px -1014px}i.flag.comoros:before,i.flag.km:before{background-position:-36px -1040px}i.flag.kn:before,i.flag.saint.kitts.and.nevis:before{background-position:-36px -1066px}i.flag.kp:before,i.flag.north.korea:before{background-position:-36px -1092px}i.flag.kr:before,i.flag.south.korea:before{background-position:-36px -1118px}i.flag.kuwait:before,i.flag.kw:before{background-position:-36px -1144px}i.flag.cayman.islands:before,i.flag.ky:before{background-position:-36px -1170px}i.flag.kazakhstan:before,i.flag.kz:before{background-position:-36px -1196px}i.flag.la:before,i.flag.laos:before{background-position:-36px -1222px}i.flag.lb:before,i.flag.lebanon:before{background-position:-36px -1248px}i.flag.lc:before,i.flag.saint.lucia:before{background-position:-36px -1274px}i.flag.li:before,i.flag.liechtenstein:before{background-position:-36px -1300px}i.flag.lk:before,i.flag.sri.lanka:before{background-position:-36px -1326px}i.flag.liberia:before,i.flag.lr:before{background-position:-36px -1352px}i.flag.lesotho:before,i.flag.ls:before{background-position:-36px -1378px}i.flag.lithuania:before,i.flag.lt:before{background-position:-36px -1404px}i.flag.lu:before,i.flag.luxembourg:before{background-position:-36px -1430px}i.flag.latvia:before,i.flag.lv:before{background-position:-36px -1456px}i.flag.libya:before,i.flag.ly:before{background-position:-36px -1482px}i.flag.ma:before,i.flag.morocco:before{background-position:-36px -1508px}i.flag.mc:before,i.flag.monaco:before{background-position:-36px -1534px}i.flag.md:before,i.flag.moldova:before{background-position:-36px -1560px}i.flag.me:before,i.flag.montenegro:before{background-position:-36px -1586px}i.flag.madagascar:before,i.flag.mg:before{background-position:-36px -1613px}i.flag.marshall.islands:before,i.flag.mh:before{background-position:-36px -1639px}i.flag.macedonia:before,i.flag.mk:before{background-position:-36px -1665px}i.flag.mali:before,i.flag.ml:before{background-position:-36px -1691px}i.flag.burma:before,i.flag.mm:before,i.flag.myanmar:before{background-position:-36px -1717px}i.flag.mn:before,i.flag.mongolia:before{background-position:-36px -1743px}i.flag.macau:before,i.flag.mo:before{background-position:-36px -1769px}i.flag.mp:before,i.flag.northern.mariana.islands:before{background-position:-36px -1795px}i.flag.martinique:before,i.flag.mq:before{background-position:-36px -1821px}i.flag.mauritania:before,i.flag.mr:before{background-position:-36px -1847px}i.flag.montserrat:before,i.flag.ms:before{background-position:-36px -1873px}i.flag.malta:before,i.flag.mt:before{background-position:-36px -1899px}i.flag.mauritius:before,i.flag.mu:before{background-position:-36px -1925px}i.flag.maldives:before,i.flag.mv:before{background-position:-36px -1951px}i.flag.malawi:before,i.flag.mw:before{background-position:-36px -1977px}i.flag.mexico:before,i.flag.mx:before{background-position:-72px 0}i.flag.malaysia:before,i.flag.my:before{background-position:-72px -26px}i.flag.mozambique:before,i.flag.mz:before{background-position:-72px -52px}i.flag.na:before,i.flag.namibia:before{background-position:-72px -78px}i.flag.nc:before,i.flag.new.caledonia:before{background-position:-72px -104px}i.flag.ne:before,i.flag.niger:before{background-position:-72px -130px}i.flag.nf:before,i.flag.norfolk.island:before{background-position:-72px -156px}i.flag.ng:before,i.flag.nigeria:before{background-position:-72px -182px}i.flag.ni:before,i.flag.nicaragua:before{background-position:-72px -208px}i.flag.netherlands:before,i.flag.nl:before{background-position:-72px -234px}i.flag.no:before,i.flag.norway:before{background-position:-72px -260px}i.flag.nepal:before,i.flag.np:before{background-position:-72px -286px}i.flag.nauru:before,i.flag.nr:before{background-position:-72px -312px}i.flag.niue:before,i.flag.nu:before{background-position:-72px -338px}i.flag.new.zealand:before,i.flag.nz:before{background-position:-72px -364px}i.flag.om:before,i.flag.oman:before{background-position:-72px -390px}i.flag.pa:before,i.flag.panama:before{background-position:-72px -416px}i.flag.pe:before,i.flag.peru:before{background-position:-72px -442px}i.flag.french.polynesia:before,i.flag.pf:before{background-position:-72px -468px}i.flag.new.guinea:before,i.flag.pg:before{background-position:-72px -494px}i.flag.ph:before,i.flag.philippines:before{background-position:-72px -520px}i.flag.pakistan:before,i.flag.pk:before{background-position:-72px -546px}i.flag.pl:before,i.flag.poland:before{background-position:-72px -572px}i.flag.pm:before,i.flag.saint.pierre:before{background-position:-72px -598px}i.flag.pitcairn.islands:before,i.flag.pn:before{background-position:-72px -624px}i.flag.pr:before,i.flag.puerto.rico:before{background-position:-72px -650px}i.flag.palestine:before,i.flag.ps:before{background-position:-72px -676px}i.flag.portugal:before,i.flag.pt:before{background-position:-72px -702px}i.flag.palau:before,i.flag.pw:before{background-position:-72px -728px}i.flag.paraguay:before,i.flag.py:before{background-position:-72px -754px}i.flag.qa:before,i.flag.qatar:before{background-position:-72px -780px}i.flag.re:before,i.flag.reunion:before{background-position:-72px -806px}i.flag.ro:before,i.flag.romania:before{background-position:-72px -832px}i.flag.rs:before,i.flag.serbia:before{background-position:-72px -858px}i.flag.ru:before,i.flag.russia:before{background-position:-72px -884px}i.flag.rw:before,i.flag.rwanda:before{background-position:-72px -910px}i.flag.sa:before,i.flag.saudi.arabia:before{background-position:-72px -936px}i.flag.sb:before,i.flag.solomon.islands:before{background-position:-72px -962px}i.flag.sc:before,i.flag.seychelles:before{background-position:-72px -988px}i.flag.sd:before,i.flag.sudan:before{background-position:-72px -1040px}i.flag.se:before,i.flag.sweden:before{background-position:-72px -1066px}i.flag.sg:before,i.flag.singapore:before{background-position:-72px -1092px}i.flag.saint.helena:before,i.flag.sh:before{background-position:-72px -1118px}i.flag.si:before,i.flag.slovenia:before{background-position:-72px -1144px}i.flag.jan.mayen:before,i.flag.sj:before,i.flag.svalbard:before{background-position:-72px -1170px}i.flag.sk:before,i.flag.slovakia:before{background-position:-72px -1196px}i.flag.sierra.leone:before,i.flag.sl:before{background-position:-72px -1222px}i.flag.san.marino:before,i.flag.sm:before{background-position:-72px -1248px}i.flag.senegal:before,i.flag.sn:before{background-position:-72px -1274px}i.flag.so:before,i.flag.somalia:before{background-position:-72px -1300px}i.flag.sr:before,i.flag.suriname:before{background-position:-72px -1326px}i.flag.sao.tome:before,i.flag.st:before{background-position:-72px -1352px}i.flag.el.salvador:before,i.flag.sv:before{background-position:-72px -1378px}i.flag.sy:before,i.flag.syria:before{background-position:-72px -1404px}i.flag.swaziland:before,i.flag.sz:before{background-position:-72px -1430px}i.flag.caicos.islands:before,i.flag.tc:before{background-position:-72px -1456px}i.flag.chad:before,i.flag.td:before{background-position:-72px -1482px}i.flag.french.territories:before,i.flag.tf:before{background-position:-72px -1508px}i.flag.tg:before,i.flag.togo:before{background-position:-72px -1534px}i.flag.th:before,i.flag.thailand:before{background-position:-72px -1560px}i.flag.tajikistan:before,i.flag.tj:before{background-position:-72px -1586px}i.flag.tk:before,i.flag.tokelau:before{background-position:-72px -1612px}i.flag.timorleste:before,i.flag.tl:before{background-position:-72px -1638px}i.flag.tm:before,i.flag.turkmenistan:before{background-position:-72px -1664px}i.flag.tn:before,i.flag.tunisia:before{background-position:-72px -1690px}i.flag.to:before,i.flag.tonga:before{background-position:-72px -1716px}i.flag.tr:before,i.flag.turkey:before{background-position:-72px -1742px}i.flag.trinidad:before,i.flag.tt:before{background-position:-72px -1768px}i.flag.tuvalu:before,i.flag.tv:before{background-position:-72px -1794px}i.flag.taiwan:before,i.flag.tw:before{background-position:-72px -1820px}i.flag.tanzania:before,i.flag.tz:before{background-position:-72px -1846px}i.flag.ua:before,i.flag.ukraine:before{background-position:-72px -1872px}i.flag.ug:before,i.flag.uganda:before{background-position:-72px -1898px}i.flag.um:before,i.flag.us.minor.islands:before{background-position:-72px -1924px}i.flag.america:before,i.flag.united.states:before,i.flag.us:before{background-position:-72px -1950px}i.flag.uruguay:before,i.flag.uy:before{background-position:-72px -1976px}i.flag.uz:before,i.flag.uzbekistan:before{background-position:-108px 0}i.flag.va:before,i.flag.vatican.city:before{background-position:-108px -26px}i.flag.saint.vincent:before,i.flag.vc:before{background-position:-108px -52px}i.flag.ve:before,i.flag.venezuela:before{background-position:-108px -78px}i.flag.british.virgin.islands:before,i.flag.vg:before{background-position:-108px -104px}i.flag.us.virgin.islands:before,i.flag.vi:before{background-position:-108px -130px}i.flag.vietnam:before,i.flag.vn:before{background-position:-108px -156px}i.flag.vanuatu:before,i.flag.vu:before{background-position:-108px -182px}i.flag.wallis.and.futuna:before,i.flag.wf:before{background-position:-108px -234px}i.flag.samoa:before,i.flag.ws:before{background-position:-108px -260px}i.flag.ye:before,i.flag.yemen:before{background-position:-108px -286px}i.flag.mayotte:before,i.flag.yt:before{background-position:-108px -312px}i.flag.south.africa:before,i.flag.za:before{background-position:-108px -338px}i.flag.zambia:before,i.flag.zm:before{background-position:-108px -364px}i.flag.zimbabwe:before,i.flag.zw:before{background-position:-108px -390px}.ui.header{border:none;margin:calc(2rem - .14285em) 0 1rem;padding:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;line-height:1.2857em;text-transform:none;color:rgba(0,0,0,.87)}.ui.header:first-child{margin-top:-.14285em}.ui.header:last-child{margin-bottom:0}.ui.header .sub.header{display:block;font-weight:400;padding:0;margin:0;line-height:1.2em;color:rgba(0,0,0,.6)}.ui.header>.icon{display:table-cell;opacity:1;font-size:1.5em;padding-top:.14285em;vertical-align:middle}.ui.header .icon:only-child{display:inline-block;padding:0;margin-right:.75rem}.ui.header>.image,.ui.header>img{display:inline-block;margin-top:.14285em;width:2.5em;height:auto;vertical-align:middle}.ui.header>.image:only-child,.ui.header>img:only-child{margin-right:.75rem}.ui.header .content{display:inline-block;vertical-align:top}.ui.header>.image+.content,.ui.header>img+.content{padding-left:.75rem;vertical-align:middle}.ui.header>.icon+.content{padding-left:.75rem;display:table-cell;vertical-align:middle}.ui.header .ui.label{font-size:'';margin-left:.5rem;vertical-align:middle}.ui.header+p{margin-top:0}h1.ui.header{font-size:2rem}h2.ui.header{font-size:1.714rem}h3.ui.header{font-size:1.28rem}h4.ui.header{font-size:1.071rem}h5.ui.header{font-size:1rem}h1.ui.header .sub.header,h2.ui.header .sub.header{font-size:1.14285714rem}h3.ui.header .sub.header,h4.ui.header .sub.header{font-size:1rem}h5.ui.header .sub.header{font-size:.92857143rem}.ui.huge.header{min-height:1em;font-size:2em}.ui.large.header{font-size:1.714em}.ui.medium.header{font-size:1.28em}.ui.small.header{font-size:1.071em}.ui.tiny.header{font-size:1em}.ui.huge.header .sub.header,.ui.large.header .sub.header{font-size:1.14285714rem}.ui.header .sub.header,.ui.small.header .sub.header{font-size:1rem}.ui.tiny.header .sub.header{font-size:.92857143rem}.ui.small.sub.header{font-size:.71428571em}.ui.sub.header{padding:0;margin-bottom:.14285714rem;font-weight:700;text-transform:uppercase;color:'';font-size:.85714286em}.ui.large.sub.header{font-size:.92857143em}.ui.huge.sub.header{font-size:1em}.ui.icon.header{display:inline-block;text-align:center;margin:2rem 0 1rem}.ui.icon.header:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.icon.header:first-child{margin-top:0}.ui.icon.header .icon{float:none;display:block;width:auto;height:auto;line-height:1;padding:0;font-size:3em;margin:0 auto .5rem;opacity:1}.ui.icon.header .content{display:block}.ui.icon.header .circular.icon,.ui.icon.header .square.icon{font-size:2em}.ui.block.icon.header .icon{margin-bottom:0}.ui.icon.header.aligned{margin-left:auto;margin-right:auto;display:block}.ui.disabled.header{opacity:.45}.ui.inverted.header{color:#FFF}.ui.inverted.header .sub.header{color:rgba(255,255,255,.8)}.ui.inverted.attached.header{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)) #545454;background:linear-gradient(transparent,rgba(0,0,0,.05)) #545454;box-shadow:none;border-color:transparent}.ui.inverted.block.header{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)) #545454;background:linear-gradient(transparent,rgba(0,0,0,.05)) #545454;box-shadow:none;border-bottom:none}.ui.red.header{color:#DB2828!important}a.ui.red.header:hover{color:#d01919!important}.ui.red.dividing.header{border-bottom:2px solid #DB2828}.ui.inverted.red.header{color:#FF695E!important}a.ui.inverted.red.header:hover{color:#ff5144!important}.ui.orange.header{color:#F2711C!important}a.ui.orange.header:hover{color:#f26202!important}.ui.orange.dividing.header{border-bottom:2px solid #F2711C}.ui.inverted.orange.header{color:#FF851B!important}a.ui.inverted.orange.header:hover{color:#ff7701!important}.ui.olive.header{color:#B5CC18!important}a.ui.olive.header:hover{color:#a7bd0d!important}.ui.olive.dividing.header{border-bottom:2px solid #B5CC18}.ui.inverted.olive.header{color:#D9E778!important}a.ui.inverted.olive.header:hover{color:#d8ea5c!important}.ui.yellow.header{color:#FBBD08!important}a.ui.yellow.header:hover{color:#eaae00!important}.ui.yellow.dividing.header{border-bottom:2px solid #FBBD08}.ui.inverted.yellow.header{color:#FFE21F!important}a.ui.inverted.yellow.header:hover{color:#ffdf05!important}.ui.green.header{color:#21BA45!important}a.ui.green.header:hover{color:#16ab39!important}.ui.green.dividing.header{border-bottom:2px solid #21BA45}.ui.inverted.green.header{color:#2ECC40!important}a.ui.inverted.green.header:hover{color:#22be34!important}.ui.teal.header{color:#00B5AD!important}a.ui.teal.header:hover{color:#009c95!important}.ui.teal.dividing.header{border-bottom:2px solid #00B5AD}.ui.inverted.teal.header{color:#6DFFFF!important}a.ui.inverted.teal.header:hover{color:#54ffff!important}.ui.blue.header{color:#2185D0!important}a.ui.blue.header:hover{color:#1678c2!important}.ui.blue.dividing.header{border-bottom:2px solid #2185D0}.ui.inverted.blue.header{color:#54C8FF!important}a.ui.inverted.blue.header:hover{color:#3ac0ff!important}.ui.violet.header{color:#6435C9!important}a.ui.violet.header:hover{color:#5829bb!important}.ui.violet.dividing.header{border-bottom:2px solid #6435C9}.ui.inverted.violet.header{color:#A291FB!important}a.ui.inverted.violet.header:hover{color:#8a73ff!important}.ui.purple.header{color:#A333C8!important}a.ui.purple.header:hover{color:#9627ba!important}.ui.purple.dividing.header{border-bottom:2px solid #A333C8}.ui.inverted.purple.header{color:#DC73FF!important}a.ui.inverted.purple.header:hover{color:#d65aff!important}.ui.pink.header{color:#E03997!important}a.ui.pink.header:hover{color:#e61a8d!important}.ui.pink.dividing.header{border-bottom:2px solid #E03997}.ui.inverted.pink.header{color:#FF8EDF!important}a.ui.inverted.pink.header:hover{color:#ff74d8!important}.ui.brown.header{color:#A5673F!important}a.ui.brown.header:hover{color:#975b33!important}.ui.brown.dividing.header{border-bottom:2px solid #A5673F}.ui.inverted.brown.header{color:#D67C1C!important}a.ui.inverted.brown.header:hover{color:#c86f11!important}.ui.grey.header{color:#767676!important}a.ui.grey.header:hover{color:#838383!important}.ui.grey.dividing.header{border-bottom:2px solid #767676}.ui.inverted.grey.header{color:#DCDDDE!important}a.ui.inverted.grey.header:hover{color:#cfd0d2!important}.ui.left.aligned.header{text-align:left}.ui.right.aligned.header{text-align:right}.ui.center.aligned.header,.ui.centered.header{text-align:center}.ui.justified.header{text-align:justify}.ui.justified.header:after{display:inline-block;content:'';width:100%}.ui.floated.header,.ui[class*=\"left floated\"].header{float:left;margin-top:0;margin-right:.5em}.ui[class*=\"right floated\"].header{float:right;margin-top:0;margin-left:.5em}.ui.fitted.header{padding:0}.ui.dividing.header{padding-bottom:.21428571rem;border-bottom:1px solid rgba(34,36,38,.15)}.ui.dividing.header .sub.header{padding-bottom:.21428571rem}.ui.dividing.header .icon{margin-bottom:0}.ui.inverted.dividing.header{border-bottom-color:rgba(255,255,255,.1)}.ui.block.header{background:#F3F4F5;padding:.71428571rem 1rem;box-shadow:none;border:1px solid #D4D4D5;border-radius:.28571429rem}.ui.tiny.block.header{font-size:.85714286rem}.ui.small.block.header{font-size:.92857143rem}.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1rem}.ui.large.block.header{font-size:1.14285714rem}.ui.huge.block.header{font-size:1.42857143rem}.ui.attached.header{background:#FFF;padding:.71428571rem 1rem;margin-left:-1px;margin-right:-1px;box-shadow:none;border:1px solid #D4D4D5}.ui.attached.block.header{background:#F3F4F5}.ui.attached:not(.top):not(.bottom).header{margin-top:0;margin-bottom:0;border-top:none;border-radius:0}.ui.top.attached.header{margin-bottom:0;border-radius:.28571429rem .28571429rem 0 0}.ui.bottom.attached.header{margin-top:0;border-top:none;border-radius:0 0 .28571429rem .28571429rem}.ui.tiny.attached.header{font-size:.85714286em}.ui.small.attached.header{font-size:.92857143em}.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1em}.ui.large.attached.header{font-size:1.14285714em}.ui.huge.attached.header{font-size:1.42857143em}.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6){font-size:1.28em}@font-face{font-family:Icons;src:url(themes/default/assets/fonts/icons.eot);src:url(themes/default/assets/fonts/icons.eot?#iefix) format('embedded-opentype'),url(themes/default/assets/fonts/icons.woff2) format('woff2'),url(themes/default/assets/fonts/icons.woff) format('woff'),url(themes/default/assets/fonts/icons.ttf) format('truetype'),url(themes/default/assets/fonts/icons.svg#icons) format('svg');font-style:normal;font-weight:400;font-variant:normal;text-decoration:inherit;text-transform:none}i.icon{display:inline-block;opacity:1;margin:0 .25rem 0 0;width:1.18em;height:1em;font-family:Icons;font-style:normal;font-weight:400;text-decoration:inherit;text-align:center;speak:none;font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;-webkit-backface-visibility:hidden;backface-visibility:hidden}i.icon:before{background:0 0!important}i.icon.loading{height:1em;line-height:1;-webkit-animation:icon-loading 2s linear infinite;animation:icon-loading 2s linear infinite}@-webkit-keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-loading{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}i.emphasized.icon,i.icon.active,i.icon.hover{opacity:1!important}i.disabled.icon{opacity:.45!important}i.fitted.icon{width:auto;margin:0}i.link.icon{cursor:pointer;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}i.link.icon:hover{opacity:1!important}i.circular.icon{border-radius:500em!important;line-height:1!important;padding:.5em!important;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset;width:2em!important;height:2em!important}i.circular.inverted.icon{border:none;box-shadow:none}i.flipped.icon,i.horizontally.flipped.icon{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}i.vertically.flipped.icon{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}i.clockwise.rotated.icon,i.right.rotated.icon,i.rotated.icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}i.counterclockwise.rotated.icon,i.left.rotated.icon{-webkit-transform:rotate(-90deg);-ms-transform:rotate(-90deg);transform:rotate(-90deg)}i.bordered.icon{line-height:1;vertical-align:baseline;width:2em;height:2em;padding:.5em .41em!important;box-shadow:0 0 0 .1em rgba(0,0,0,.1) inset}i.bordered.inverted.icon{border:none;box-shadow:none}i.inverted.bordered.icon,i.inverted.circular.icon{background-color:#1B1C1D!important;color:#FFF!important}i.inverted.icon{color:#FFF}i.red.icon{color:#DB2828!important}i.inverted.red.icon{color:#FF695E!important}i.inverted.bordered.red.icon,i.inverted.circular.red.icon{background-color:#DB2828!important;color:#FFF!important}i.orange.icon{color:#F2711C!important}i.inverted.orange.icon{color:#FF851B!important}i.inverted.bordered.orange.icon,i.inverted.circular.orange.icon{background-color:#F2711C!important;color:#FFF!important}i.yellow.icon{color:#FBBD08!important}i.inverted.yellow.icon{color:#FFE21F!important}i.inverted.bordered.yellow.icon,i.inverted.circular.yellow.icon{background-color:#FBBD08!important;color:#FFF!important}i.olive.icon{color:#B5CC18!important}i.inverted.olive.icon{color:#D9E778!important}i.inverted.bordered.olive.icon,i.inverted.circular.olive.icon{background-color:#B5CC18!important;color:#FFF!important}i.green.icon{color:#21BA45!important}i.inverted.green.icon{color:#2ECC40!important}i.inverted.bordered.green.icon,i.inverted.circular.green.icon{background-color:#21BA45!important;color:#FFF!important}i.teal.icon{color:#00B5AD!important}i.inverted.teal.icon{color:#6DFFFF!important}i.inverted.bordered.teal.icon,i.inverted.circular.teal.icon{background-color:#00B5AD!important;color:#FFF!important}i.blue.icon{color:#2185D0!important}i.inverted.blue.icon{color:#54C8FF!important}i.inverted.bordered.blue.icon,i.inverted.circular.blue.icon{background-color:#2185D0!important;color:#FFF!important}i.violet.icon{color:#6435C9!important}i.inverted.violet.icon{color:#A291FB!important}i.inverted.bordered.violet.icon,i.inverted.circular.violet.icon{background-color:#6435C9!important;color:#FFF!important}i.purple.icon{color:#A333C8!important}i.inverted.purple.icon{color:#DC73FF!important}i.inverted.bordered.purple.icon,i.inverted.circular.purple.icon{background-color:#A333C8!important;color:#FFF!important}i.pink.icon{color:#E03997!important}i.inverted.pink.icon{color:#FF8EDF!important}i.inverted.bordered.pink.icon,i.inverted.circular.pink.icon{background-color:#E03997!important;color:#FFF!important}i.brown.icon{color:#A5673F!important}i.inverted.brown.icon{color:#D67C1C!important}i.inverted.bordered.brown.icon,i.inverted.circular.brown.icon{background-color:#A5673F!important;color:#FFF!important}i.grey.icon{color:#767676!important}i.inverted.grey.icon{color:#DCDDDE!important}i.inverted.bordered.grey.icon,i.inverted.circular.grey.icon{background-color:#767676!important;color:#FFF!important}i.black.icon{color:#1B1C1D!important}i.inverted.black.icon{color:#545454!important}i.inverted.bordeblack.black.icon,i.inverted.circular.black.icon{background-color:#1B1C1D!important;color:#FFF!important}i.mini.icon,i.mini.icons{line-height:1;font-size:.71428571rem}i.tiny.icon,i.tiny.icons{line-height:1;font-size:.85714286rem}i.small.icon,i.small.icons{line-height:1;font-size:.92857143em}i.icon,i.icons{font-size:1em}i.large.icon,i.large.icons{line-height:1;vertical-align:middle;font-size:1.5em}i.big.icon,i.big.icons{line-height:1;vertical-align:middle;font-size:2em}i.huge.icon,i.huge.icons{line-height:1;vertical-align:middle;font-size:4em}i.massive.icon,i.massive.icons{line-height:1;vertical-align:middle;font-size:8em}i.icons{display:inline-block;position:relative;line-height:1}i.icons .icon{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);margin:0}i.icons .icon:first-child{position:static;width:auto;height:auto;vertical-align:top;-webkit-transform:none;-ms-transform:none;transform:none;margin-right:.25rem}i.icons .corner.icon{top:auto;left:auto;right:0;bottom:0;-webkit-transform:none;-ms-transform:none;transform:none;font-size:.45em;text-shadow:-1px -1px 0 #FFF,1px -1px 0 #FFF,-1px 1px 0 #FFF,1px 1px 0 #FFF}i.icons .inverted.corner.icon{text-shadow:-1px -1px 0 #1B1C1D,1px -1px 0 #1B1C1D,-1px 1px 0 #1B1C1D,1px 1px 0 #1B1C1D}i.icon.search:before{content:\"\\f002\"}i.icon.mail.outline:before{content:\"\\f003\"}i.icon.external:before{content:\"\\f08e\"}i.icon.signal:before{content:\"\\f012\"}i.icon.setting:before{content:\"\\f013\"}i.icon.home:before{content:\"\\f015\"}i.icon.inbox:before{content:\"\\f01c\"}i.icon.browser:before{content:\"\\f022\"}i.icon.tag:before{content:\"\\f02b\"}i.icon.tags:before{content:\"\\f02c\"}i.icon.calendar:before{content:\"\\f073\"}i.icon.comment:before{content:\"\\f075\"}i.icon.comments:before{content:\"\\f086\"}i.icon.shop:before{content:\"\\f07a\"}i.icon.privacy:before{content:\"\\f084\"}i.icon.settings:before{content:\"\\f085\"}i.icon.trophy:before{content:\"\\f091\"}i.icon.payment:before{content:\"\\f09d\"}i.icon.feed:before{content:\"\\f09e\"}i.icon.alarm.outline:before{content:\"\\f0a2\"}i.icon.tasks:before{content:\"\\f0ae\"}i.icon.cloud:before{content:\"\\f0c2\"}i.icon.lab:before{content:\"\\f0c3\"}i.icon.mail:before{content:\"\\f0e0\"}i.icon.idea:before{content:\"\\f0eb\"}i.icon.dashboard:before{content:\"\\f0e4\"}i.icon.sitemap:before{content:\"\\f0e8\"}i.icon.alarm:before{content:\"\\f0f3\"}i.icon.terminal:before{content:\"\\f120\"}i.icon.code:before{content:\"\\f121\"}i.icon.protect:before{content:\"\\f132\"}i.icon.calendar.outline:before{content:\"\\f133\"}i.icon.ticket:before{content:\"\\f145\"}i.icon.external.square:before{content:\"\\f14c\"}i.icon.map:before{content:\"\\f14e\"}i.icon.bug:before{content:\"\\f188\"}i.icon.mail.square:before{content:\"\\f199\"}i.icon.history:before{content:\"\\f1da\"}i.icon.options:before{content:\"\\f1de\"}i.icon.comment.outline:before{content:\"\\f0e5\"}i.icon.comments.outline:before{content:\"\\f0e6\"}i.icon.text.telephone:before{content:\"\\f1e4\"}i.icon.find:before{content:\"\\f1e5\"}i.icon.wifi:before{content:\"\\f1eb\"}i.icon.alarm.slash:before{content:\"\\f1f6\"}i.icon.alarm.slash.outline:before{content:\"\\f1f7\"}i.icon.copyright:before{content:\"\\f1f9\"}i.icon.at:before{content:\"\\f1fa\"}i.icon.eyedropper:before{content:\"\\f1fb\"}i.icon.paint.brush:before{content:\"\\f1fc\"}i.icon.heartbeat:before{content:\"\\f21e\"}i.icon.download:before{content:\"\\f019\"}i.icon.repeat:before{content:\"\\f01e\"}i.icon.refresh:before{content:\"\\f021\"}i.icon.lock:before{content:\"\\f023\"}i.icon.bookmark:before{content:\"\\f02e\"}i.icon.print:before{content:\"\\f02f\"}i.icon.write:before{content:\"\\f040\"}i.icon.theme:before{content:\"\\f043\"}i.icon.adjust:before{content:\"\\f042\"}i.icon.edit:before{content:\"\\f044\"}i.icon.external.share:before{content:\"\\f045\"}i.icon.ban:before{content:\"\\f05e\"}i.icon.mail.forward:before,i.icon.share:before{content:\"\\f064\"}i.icon.expand:before{content:\"\\f065\"}i.icon.compress:before{content:\"\\f066\"}i.icon.unhide:before{content:\"\\f06e\"}i.icon.hide:before{content:\"\\f070\"}i.icon.random:before{content:\"\\f074\"}i.icon.retweet:before{content:\"\\f079\"}i.icon.sign.out:before{content:\"\\f08b\"}i.icon.pin:before{content:\"\\f08d\"}i.icon.sign.in:before{content:\"\\f090\"}i.icon.upload:before{content:\"\\f093\"}i.icon.call:before{content:\"\\f095\"}i.icon.call.square:before{content:\"\\f098\"}i.icon.remove.bookmark:before{content:\"\\f097\"}i.icon.unlock:before{content:\"\\f09c\"}i.icon.configure:before{content:\"\\f0ad\"}i.icon.filter:before{content:\"\\f0b0\"}i.icon.wizard:before{content:\"\\f0d0\"}i.icon.undo:before{content:\"\\f0e2\"}i.icon.exchange:before{content:\"\\f0ec\"}i.icon.cloud.download:before{content:\"\\f0ed\"}i.icon.cloud.upload:before{content:\"\\f0ee\"}i.icon.reply:before{content:\"\\f112\"}i.icon.reply.all:before{content:\"\\f122\"}i.icon.erase:before{content:\"\\f12d\"}i.icon.unlock.alternate:before{content:\"\\f13e\"}i.icon.archive:before{content:\"\\f187\"}i.icon.translate:before{content:\"\\f1ab\"}i.icon.recycle:before{content:\"\\f1b8\"}i.icon.send:before{content:\"\\f1d8\"}i.icon.send.outline:before{content:\"\\f1d9\"}i.icon.share.alternate:before{content:\"\\f1e0\"}i.icon.share.alternate.square:before{content:\"\\f1e1\"}i.icon.wait:before{content:\"\\f017\"}i.icon.write.square:before{content:\"\\f14b\"}i.icon.share.square:before{content:\"\\f14d\"}i.icon.add.to.cart:before{content:\"\\f217\"}i.icon.in.cart:before{content:\"\\f218\"}i.icon.add.user:before{content:\"\\f234\"}i.icon.remove.user:before{content:\"\\f235\"}i.icon.help.circle:before{content:\"\\f059\"}i.icon.info.circle:before{content:\"\\f05a\"}i.icon.warning:before{content:\"\\f12a\"}i.icon.warning.circle:before{content:\"\\f06a\"}i.icon.warning.sign:before{content:\"\\f071\"}i.icon.help:before{content:\"\\f128\"}i.icon.info:before{content:\"\\f129\"}i.icon.announcement:before{content:\"\\f0a1\"}i.icon.birthday:before{content:\"\\f1fd\"}i.icon.users:before{content:\"\\f0c0\"}i.icon.doctor:before{content:\"\\f0f0\"}i.icon.child:before{content:\"\\f1ae\"}i.icon.user:before{content:\"\\f007\"}i.icon.handicap:before{content:\"\\f193\"}i.icon.student:before{content:\"\\f19d\"}i.icon.spy:before{content:\"\\f21b\"}i.icon.female:before{content:\"\\f182\"}i.icon.male:before{content:\"\\f183\"}i.icon.woman:before{content:\"\\f221\"}i.icon.man:before{content:\"\\f222\"}i.icon.non.binary.transgender:before{content:\"\\f223\"}i.icon.intergender:before{content:\"\\f224\"}i.icon.transgender:before{content:\"\\f225\"}i.icon.lesbian:before{content:\"\\f226\"}i.icon.gay:before{content:\"\\f227\"}i.icon.heterosexual:before{content:\"\\f228\"}i.icon.other.gender:before{content:\"\\f229\"}i.icon.other.gender.vertical:before{content:\"\\f22a\"}i.icon.other.gender.horizontal:before{content:\"\\f22b\"}i.icon.neuter:before{content:\"\\f22c\"}i.icon.grid.layout:before{content:\"\\f00a\"}i.icon.list.layout:before{content:\"\\f00b\"}i.icon.block.layout:before{content:\"\\f009\"}i.icon.zoom:before{content:\"\\f00e\"}i.icon.zoom.out:before{content:\"\\f010\"}i.icon.resize.vertical:before{content:\"\\f07d\"}i.icon.resize.horizontal:before{content:\"\\f07e\"}i.icon.maximize:before{content:\"\\f0b2\"}i.icon.crop:before{content:\"\\f125\"}i.icon.cocktail:before{content:\"\\f000\"}i.icon.road:before{content:\"\\f018\"}i.icon.flag:before{content:\"\\f024\"}i.icon.book:before{content:\"\\f02d\"}i.icon.gift:before{content:\"\\f06b\"}i.icon.leaf:before{content:\"\\f06c\"}i.icon.fire:before{content:\"\\f06d\"}i.icon.plane:before{content:\"\\f072\"}i.icon.magnet:before{content:\"\\f076\"}i.icon.legal:before{content:\"\\f0e3\"}i.icon.lemon:before{content:\"\\f094\"}i.icon.world:before{content:\"\\f0ac\"}i.icon.travel:before{content:\"\\f0b1\"}i.icon.shipping:before{content:\"\\f0d1\"}i.icon.money:before{content:\"\\f0d6\"}i.icon.lightning:before{content:\"\\f0e7\"}i.icon.rain:before{content:\"\\f0e9\"}i.icon.treatment:before{content:\"\\f0f1\"}i.icon.suitcase:before{content:\"\\f0f2\"}i.icon.bar:before{content:\"\\f0fc\"}i.icon.flag.outline:before{content:\"\\f11d\"}i.icon.flag.checkered:before{content:\"\\f11e\"}i.icon.puzzle:before{content:\"\\f12e\"}i.icon.fire.extinguisher:before{content:\"\\f134\"}i.icon.rocket:before{content:\"\\f135\"}i.icon.anchor:before{content:\"\\f13d\"}i.icon.bullseye:before{content:\"\\f140\"}i.icon.sun:before{content:\"\\f185\"}i.icon.moon:before{content:\"\\f186\"}i.icon.fax:before{content:\"\\f1ac\"}i.icon.life.ring:before{content:\"\\f1cd\"}i.icon.bomb:before{content:\"\\f1e2\"}i.icon.soccer:before{content:\"\\f1e3\"}i.icon.calculator:before{content:\"\\f1ec\"}i.icon.diamond:before{content:\"\\f219\"}i.icon.crosshairs:before{content:\"\\f05b\"}i.icon.asterisk:before{content:\"\\f069\"}i.icon.certificate:before{content:\"\\f0a3\"}i.icon.circle:before{content:\"\\f111\"}i.icon.quote.left:before{content:\"\\f10d\"}i.icon.quote.right:before{content:\"\\f10e\"}i.icon.ellipsis.horizontal:before{content:\"\\f141\"}i.icon.ellipsis.vertical:before{content:\"\\f142\"}i.icon.cube:before{content:\"\\f1b2\"}i.icon.cubes:before{content:\"\\f1b3\"}i.icon.circle.notched:before{content:\"\\f1ce\"}i.icon.circle.thin:before{content:\"\\f1db\"}i.icon.square.outline:before{content:\"\\f096\"}i.icon.square:before{content:\"\\f0c8\"}i.icon.checkmark:before{content:\"\\f00c\"}i.icon.remove:before{content:\"\\f00d\"}i.icon.checkmark.box:before{content:\"\\f046\"}i.icon.move:before{content:\"\\f047\"}i.icon.add.circle:before{content:\"\\f055\"}i.icon.minus.circle:before{content:\"\\f056\"}i.icon.remove.circle:before{content:\"\\f057\"}i.icon.check.circle:before{content:\"\\f058\"}i.icon.remove.circle.outline:before{content:\"\\f05c\"}i.icon.check.circle.outline:before{content:\"\\f05d\"}i.icon.plus:before{content:\"\\f067\"}i.icon.minus:before{content:\"\\f068\"}i.icon.add.square:before{content:\"\\f0fe\"}i.icon.radio:before{content:\"\\f10c\"}i.icon.selected.radio:before{content:\"\\f192\"}i.icon.minus.square:before{content:\"\\f146\"}i.icon.minus.square.outline:before{content:\"\\f147\"}i.icon.check.square:before{content:\"\\f14a\"}i.icon.plus.square.outline:before{content:\"\\f196\"}i.icon.toggle.off:before{content:\"\\f204\"}i.icon.toggle.on:before{content:\"\\f205\"}i.icon.film:before{content:\"\\f008\"}i.icon.sound:before{content:\"\\f025\"}i.icon.photo:before{content:\"\\f030\"}i.icon.bar.chart:before{content:\"\\f080\"}i.icon.camera.retro:before{content:\"\\f083\"}i.icon.newspaper:before{content:\"\\f1ea\"}i.icon.area.chart:before{content:\"\\f1fe\"}i.icon.pie.chart:before{content:\"\\f200\"}i.icon.line.chart:before{content:\"\\f201\"}i.icon.arrow.circle.outline.down:before{content:\"\\f01a\"}i.icon.arrow.circle.outline.up:before{content:\"\\f01b\"}i.icon.chevron.left:before{content:\"\\f053\"}i.icon.chevron.right:before{content:\"\\f054\"}i.icon.arrow.left:before{content:\"\\f060\"}i.icon.arrow.right:before{content:\"\\f061\"}i.icon.arrow.up:before{content:\"\\f062\"}i.icon.arrow.down:before{content:\"\\f063\"}i.icon.chevron.up:before{content:\"\\f077\"}i.icon.chevron.down:before{content:\"\\f078\"}i.icon.pointing.right:before{content:\"\\f0a4\"}i.icon.pointing.left:before{content:\"\\f0a5\"}i.icon.pointing.up:before{content:\"\\f0a6\"}i.icon.pointing.down:before{content:\"\\f0a7\"}i.icon.arrow.circle.left:before{content:\"\\f0a8\"}i.icon.arrow.circle.right:before{content:\"\\f0a9\"}i.icon.arrow.circle.up:before{content:\"\\f0aa\"}i.icon.arrow.circle.down:before{content:\"\\f0ab\"}i.icon.caret.down:before{content:\"\\f0d7\"}i.icon.caret.up:before{content:\"\\f0d8\"}i.icon.caret.left:before{content:\"\\f0d9\"}i.icon.caret.right:before{content:\"\\f0da\"}i.icon.angle.double.left:before{content:\"\\f100\"}i.icon.angle.double.right:before{content:\"\\f101\"}i.icon.angle.double.up:before{content:\"\\f102\"}i.icon.angle.double.down:before{content:\"\\f103\"}i.icon.angle.left:before{content:\"\\f104\"}i.icon.angle.right:before{content:\"\\f105\"}i.icon.angle.up:before{content:\"\\f106\"}i.icon.angle.down:before{content:\"\\f107\"}i.icon.chevron.circle.left:before{content:\"\\f137\"}i.icon.chevron.circle.right:before{content:\"\\f138\"}i.icon.chevron.circle.up:before{content:\"\\f139\"}i.icon.chevron.circle.down:before{content:\"\\f13a\"}i.icon.toggle.down:before{content:\"\\f150\"}i.icon.toggle.up:before{content:\"\\f151\"}i.icon.toggle.right:before{content:\"\\f152\"}i.icon.long.arrow.down:before{content:\"\\f175\"}i.icon.long.arrow.up:before{content:\"\\f176\"}i.icon.long.arrow.left:before{content:\"\\f177\"}i.icon.long.arrow.right:before{content:\"\\f178\"}i.icon.arrow.circle.outline.right:before{content:\"\\f18e\"}i.icon.arrow.circle.outline.left:before{content:\"\\f190\"}i.icon.toggle.left:before{content:\"\\f191\"}i.icon.power:before{content:\"\\f011\"}i.icon.trash:before{content:\"\\f1f8\"}i.icon.trash.outline:before{content:\"\\f014\"}i.icon.disk.outline:before{content:\"\\f0a0\"}i.icon.desktop:before{content:\"\\f108\"}i.icon.laptop:before{content:\"\\f109\"}i.icon.tablet:before{content:\"\\f10a\"}i.icon.mobile:before{content:\"\\f10b\"}i.icon.game:before{content:\"\\f11b\"}i.icon.keyboard:before{content:\"\\f11c\"}i.icon.plug:before{content:\"\\f1e6\"}i.icon.folder:before{content:\"\\f07b\"}i.icon.folder.open:before{content:\"\\f07c\"}i.icon.level.up:before{content:\"\\f148\"}i.icon.level.down:before{content:\"\\f149\"}i.icon.file:before{content:\"\\f15b\"}i.icon.file.outline:before{content:\"\\f016\"}i.icon.file.text:before{content:\"\\f15c\"}i.icon.file.text.outline:before{content:\"\\f0f6\"}i.icon.folder.outline:before{content:\"\\f114\"}i.icon.folder.open.outline:before{content:\"\\f115\"}i.icon.file.pdf.outline:before{content:\"\\f1c1\"}i.icon.file.word.outline:before{content:\"\\f1c2\"}i.icon.file.excel.outline:before{content:\"\\f1c3\"}i.icon.file.powerpoint.outline:before{content:\"\\f1c4\"}i.icon.file.image.outline:before{content:\"\\f1c5\"}i.icon.file.archive.outline:before{content:\"\\f1c6\"}i.icon.file.audio.outline:before{content:\"\\f1c7\"}i.icon.file.video.outline:before{content:\"\\f1c8\"}i.icon.file.code.outline:before{content:\"\\f1c9\"}i.icon.barcode:before{content:\"\\f02a\"}i.icon.qrcode:before{content:\"\\f029\"}i.icon.fork:before{content:\"\\f126\"}i.icon.html5:before{content:\"\\f13b\"}i.icon.css3:before{content:\"\\f13c\"}i.icon.rss:before{content:\"\\f09e\"}i.icon.rss.square:before{content:\"\\f143\"}i.icon.openid:before{content:\"\\f19b\"}i.icon.database:before{content:\"\\f1c0\"}i.icon.server:before{content:\"\\f233\"}i.icon.heart:before{content:\"\\f004\"}i.icon.star:before{content:\"\\f005\"}i.icon.empty.star:before{content:\"\\f006\"}i.icon.thumbs.outline.up:before{content:\"\\f087\"}i.icon.thumbs.outline.down:before{content:\"\\f088\"}i.icon.star.half:before{content:\"\\f089\"}i.icon.empty.heart:before{content:\"\\f08a\"}i.icon.smile:before{content:\"\\f118\"}i.icon.frown:before{content:\"\\f119\"}i.icon.meh:before{content:\"\\f11a\"}i.icon.star.half.empty:before{content:\"\\f123\"}i.icon.thumbs.up:before{content:\"\\f164\"}i.icon.thumbs.down:before{content:\"\\f165\"}i.icon.music:before{content:\"\\f001\"}i.icon.video.play.outline:before{content:\"\\f01d\"}i.icon.volume.off:before{content:\"\\f026\"}i.icon.volume.down:before{content:\"\\f027\"}i.icon.volume.up:before{content:\"\\f028\"}i.icon.record:before{content:\"\\f03d\"}i.icon.step.backward:before{content:\"\\f048\"}i.icon.fast.backward:before{content:\"\\f049\"}i.icon.backward:before{content:\"\\f04a\"}i.icon.play:before{content:\"\\f04b\"}i.icon.pause:before{content:\"\\f04c\"}i.icon.stop:before{content:\"\\f04d\"}i.icon.forward:before{content:\"\\f04e\"}i.icon.fast.forward:before{content:\"\\f050\"}i.icon.step.forward:before{content:\"\\f051\"}i.icon.eject:before{content:\"\\f052\"}i.icon.unmute:before{content:\"\\f130\"}i.icon.mute:before{content:\"\\f131\"}i.icon.video.play:before{content:\"\\f144\"}i.icon.closed.captioning:before{content:\"\\f20a\"}i.icon.marker:before{content:\"\\f041\"}i.icon.coffee:before{content:\"\\f0f4\"}i.icon.food:before{content:\"\\f0f5\"}i.icon.building.outline:before{content:\"\\f0f7\"}i.icon.hospital:before{content:\"\\f0f8\"}i.icon.emergency:before{content:\"\\f0f9\"}i.icon.first.aid:before{content:\"\\f0fa\"}i.icon.military:before{content:\"\\f0fb\"}i.icon.h:before{content:\"\\f0fd\"}i.icon.location.arrow:before{content:\"\\f124\"}i.icon.space.shuttle:before{content:\"\\f197\"}i.icon.university:before{content:\"\\f19c\"}i.icon.building:before{content:\"\\f1ad\"}i.icon.paw:before{content:\"\\f1b0\"}i.icon.spoon:before{content:\"\\f1b1\"}i.icon.car:before{content:\"\\f1b9\"}i.icon.taxi:before{content:\"\\f1ba\"}i.icon.tree:before{content:\"\\f1bb\"}i.icon.bicycle:before{content:\"\\f206\"}i.icon.bus:before{content:\"\\f207\"}i.icon.ship:before{content:\"\\f21a\"}i.icon.motorcycle:before{content:\"\\f21c\"}i.icon.street.view:before{content:\"\\f21d\"}i.icon.hotel:before{content:\"\\f236\"}i.icon.train:before{content:\"\\f238\"}i.icon.subway:before{content:\"\\f239\"}i.icon.table:before{content:\"\\f0ce\"}i.icon.columns:before{content:\"\\f0db\"}i.icon.sort:before{content:\"\\f0dc\"}i.icon.sort.ascending:before{content:\"\\f0de\"}i.icon.sort.descending:before{content:\"\\f0dd\"}i.icon.sort.alphabet.ascending:before{content:\"\\f15d\"}i.icon.sort.alphabet.descending:before{content:\"\\f15e\"}i.icon.sort.content.ascending:before{content:\"\\f160\"}i.icon.sort.content.descending:before{content:\"\\f161\"}i.icon.sort.numeric.ascending:before{content:\"\\f162\"}i.icon.sort.numeric.descending:before{content:\"\\f163\"}i.icon.font:before{content:\"\\f031\"}i.icon.bold:before{content:\"\\f032\"}i.icon.italic:before{content:\"\\f033\"}i.icon.text.height:before{content:\"\\f034\"}i.icon.text.width:before{content:\"\\f035\"}i.icon.align.left:before{content:\"\\f036\"}i.icon.align.center:before{content:\"\\f037\"}i.icon.align.right:before{content:\"\\f038\"}i.icon.align.justify:before{content:\"\\f039\"}i.icon.list:before{content:\"\\f03a\"}i.icon.outdent:before{content:\"\\f03b\"}i.icon.indent:before{content:\"\\f03c\"}i.icon.linkify:before{content:\"\\f0c1\"}i.icon.cut:before{content:\"\\f0c4\"}i.icon.copy:before{content:\"\\f0c5\"}i.icon.attach:before{content:\"\\f0c6\"}i.icon.save:before{content:\"\\f0c7\"}i.icon.content:before{content:\"\\f0c9\"}i.icon.unordered.list:before{content:\"\\f0ca\"}i.icon.ordered.list:before{content:\"\\f0cb\"}i.icon.strikethrough:before{content:\"\\f0cc\"}i.icon.underline:before{content:\"\\f0cd\"}i.icon.paste:before{content:\"\\f0ea\"}i.icon.unlink:before{content:\"\\f127\"}i.icon.superscript:before{content:\"\\f12b\"}i.icon.subscript:before{content:\"\\f12c\"}i.icon.header:before{content:\"\\f1dc\"}i.icon.paragraph:before{content:\"\\f1dd\"}i.icon.euro:before{content:\"\\f153\"}i.icon.pound:before{content:\"\\f154\"}i.icon.dollar:before{content:\"\\f155\"}i.icon.rupee:before{content:\"\\f156\"}i.icon.yen:before{content:\"\\f157\"}i.icon.ruble:before{content:\"\\f158\"}i.icon.won:before{content:\"\\f159\"}i.icon.lira:before{content:\"\\f195\"}i.icon.shekel:before{content:\"\\f20b\"}i.icon.paypal:before{content:\"\\f1ed\"}i.icon.paypal.card:before{content:\"\\f1f4\"}i.icon.google.wallet:before{content:\"\\f1ee\"}i.icon.visa:before{content:\"\\f1f0\"}i.icon.mastercard:before{content:\"\\f1f1\"}i.icon.discover:before{content:\"\\f1f2\"}i.icon.american.express:before{content:\"\\f1f3\"}i.icon.stripe:before{content:\"\\f1f5\"}i.icon.twitter.square:before{content:\"\\f081\"}i.icon.facebook.square:before{content:\"\\f082\"}i.icon.linkedin.square:before{content:\"\\f08c\"}i.icon.github.square:before{content:\"\\f092\"}i.icon.twitter:before{content:\"\\f099\"}i.icon.facebook:before{content:\"\\f09a\"}i.icon.github:before{content:\"\\f09b\"}i.icon.pinterest:before{content:\"\\f0d2\"}i.icon.pinterest.square:before{content:\"\\f0d3\"}i.icon.google.plus.square:before{content:\"\\f0d4\"}i.icon.google.plus:before{content:\"\\f0d5\"}i.icon.linkedin:before{content:\"\\f0e1\"}i.icon.github.alternate:before{content:\"\\f113\"}i.icon.maxcdn:before{content:\"\\f136\"}i.icon.bitcoin:before{content:\"\\f15a\"}i.icon.youtube.square:before{content:\"\\f166\"}i.icon.youtube:before{content:\"\\f167\"}i.icon.xing:before{content:\"\\f168\"}i.icon.xing.square:before{content:\"\\f169\"}i.icon.youtube.play:before{content:\"\\f16a\"}i.icon.dropbox:before{content:\"\\f16b\"}i.icon.stack.overflow:before{content:\"\\f16c\"}i.icon.instagram:before{content:\"\\f16d\"}i.icon.flickr:before{content:\"\\f16e\"}i.icon.adn:before{content:\"\\f170\"}i.icon.bitbucket:before{content:\"\\f171\"}i.icon.bitbucket.square:before{content:\"\\f172\"}i.icon.tumblr:before{content:\"\\f173\"}i.icon.tumblr.square:before{content:\"\\f174\"}i.icon.apple:before{content:\"\\f179\"}i.icon.windows:before{content:\"\\f17a\"}i.icon.android:before{content:\"\\f17b\"}i.icon.linux:before{content:\"\\f17c\"}i.icon.dribbble:before{content:\"\\f17d\"}i.icon.skype:before{content:\"\\f17e\"}i.icon.foursquare:before{content:\"\\f180\"}i.icon.trello:before{content:\"\\f181\"}i.icon.gittip:before{content:\"\\f184\"}i.icon.vk:before{content:\"\\f189\"}i.icon.weibo:before{content:\"\\f18a\"}i.icon.renren:before{content:\"\\f18b\"}i.icon.pagelines:before{content:\"\\f18c\"}i.icon.stack.exchange:before{content:\"\\f18d\"}i.icon.vimeo:before{content:\"\\f194\"}i.icon.slack:before{content:\"\\f198\"}i.icon.wordpress:before{content:\"\\f19a\"}i.icon.yahoo:before{content:\"\\f19e\"}i.icon.google:before{content:\"\\f1a0\"}i.icon.reddit:before{content:\"\\f1a1\"}i.icon.reddit.square:before{content:\"\\f1a2\"}i.icon.stumbleupon.circle:before{content:\"\\f1a3\"}i.icon.stumbleupon:before{content:\"\\f1a4\"}i.icon.delicious:before{content:\"\\f1a5\"}i.icon.digg:before{content:\"\\f1a6\"}i.icon.pied.piper:before{content:\"\\f1a7\"}i.icon.pied.piper.alternate:before{content:\"\\f1a8\"}i.icon.drupal:before{content:\"\\f1a9\"}i.icon.joomla:before{content:\"\\f1aa\"}i.icon.behance:before{content:\"\\f1b4\"}i.icon.behance.square:before{content:\"\\f1b5\"}i.icon.steam:before{content:\"\\f1b6\"}i.icon.steam.square:before{content:\"\\f1b7\"}i.icon.spotify:before{content:\"\\f1bc\"}i.icon.deviantart:before{content:\"\\f1bd\"}i.icon.soundcloud:before{content:\"\\f1be\"}i.icon.vine:before{content:\"\\f1ca\"}i.icon.codepen:before{content:\"\\f1cb\"}i.icon.jsfiddle:before{content:\"\\f1cc\"}i.icon.rebel:before{content:\"\\f1d0\"}i.icon.empire:before{content:\"\\f1d1\"}i.icon.git.square:before{content:\"\\f1d2\"}i.icon.git:before{content:\"\\f1d3\"}i.icon.hacker.news:before{content:\"\\f1d4\"}i.icon.tencent.weibo:before{content:\"\\f1d5\"}i.icon.qq:before{content:\"\\f1d6\"}i.icon.wechat:before{content:\"\\f1d7\"}i.icon.slideshare:before{content:\"\\f1e7\"}i.icon.twitch:before{content:\"\\f1e8\"}i.icon.yelp:before{content:\"\\f1e9\"}i.icon.lastfm:before{content:\"\\f202\"}i.icon.lastfm.square:before{content:\"\\f203\"}i.icon.ioxhost:before{content:\"\\f208\"}i.icon.angellist:before{content:\"\\f209\"}i.icon.meanpath:before{content:\"\\f20c\"}i.icon.buysellads:before{content:\"\\f20d\"}i.icon.connectdevelop:before{content:\"\\f20e\"}i.icon.dashcube:before{content:\"\\f210\"}i.icon.forumbee:before{content:\"\\f211\"}i.icon.leanpub:before{content:\"\\f212\"}i.icon.sellsy:before{content:\"\\f213\"}i.icon.shirtsinbulk:before{content:\"\\f214\"}i.icon.simplybuilt:before{content:\"\\f215\"}i.icon.skyatlas:before{content:\"\\f216\"}i.icon.whatsapp:before{content:\"\\f232\"}i.icon.viacoin:before{content:\"\\f237\"}i.icon.medium:before{content:\"\\f23a\"}i.icon.like:before{content:\"\\f004\"}i.icon.favorite:before{content:\"\\f005\"}i.icon.video:before{content:\"\\f008\"}i.icon.check:before{content:\"\\f00c\"}i.icon.cancel:before,i.icon.close:before,i.icon.delete:before,i.icon.x:before{content:\"\\f00d\"}i.icon.user.cancel:before,i.icon.user.close:before,i.icon.user.delete:before,i.icon.user.times:before,i.icon.user.x:before{content:\"\\f235\"}i.icon.magnify:before,i.icon.zoom.in:before{content:\"\\f00e\"}i.icon.shutdown:before{content:\"\\f011\"}i.icon.clock:before,i.icon.time:before{content:\"\\f017\"}i.icon.play.circle.outline:before{content:\"\\f01d\"}i.icon.headphone:before{content:\"\\f025\"}i.icon.camera:before{content:\"\\f030\"}i.icon.video.camera:before{content:\"\\f03d\"}i.icon.picture:before{content:\"\\f03e\"}i.icon.compose:before,i.icon.pencil:before{content:\"\\f040\"}i.icon.point:before{content:\"\\f041\"}i.icon.tint:before{content:\"\\f043\"}i.icon.signup:before{content:\"\\f044\"}i.icon.plus.circle:before{content:\"\\f055\"}i.icon.dont:before{content:\"\\f05e\"}i.icon.minimize:before{content:\"\\f066\"}i.icon.add:before{content:\"\\f067\"}i.icon.eye:before{content:\"\\f06e\"}i.icon.attention:before{content:\"\\f06a\"}i.icon.cart:before{content:\"\\f07a\"}i.icon.shuffle:before{content:\"\\f074\"}i.icon.chat:before,i.icon.talk:before{content:\"\\f075\"}i.icon.shopping.cart:before{content:\"\\f07a\"}i.icon.bar.graph:before{content:\"\\f080\"}i.icon.area.graph:before{content:\"\\f1fe\"}i.icon.pie.graph:before{content:\"\\f200\"}i.icon.line.graph:before{content:\"\\f201\"}i.icon.key:before{content:\"\\f084\"}i.icon.cogs:before{content:\"\\f085\"}i.icon.discussions:before{content:\"\\f086\"}i.icon.like.outline:before{content:\"\\f087\"}i.icon.dislike.outline:before{content:\"\\f088\"}i.icon.heart.outline:before{content:\"\\f08a\"}i.icon.log.out:before{content:\"\\f08b\"}i.icon.thumb.tack:before{content:\"\\f08d\"}i.icon.winner:before{content:\"\\f091\"}i.icon.bookmark.outline:before{content:\"\\f097\"}i.icon.phone:before{content:\"\\f095\"}i.icon.phone.square:before{content:\"\\f098\"}i.icon.credit.card:before{content:\"\\f09d\"}i.icon.hdd.outline:before{content:\"\\f0a0\"}i.icon.bullhorn:before{content:\"\\f0a1\"}i.icon.bell:before{content:\"\\f0f3\"}i.icon.bell.outline:before{content:\"\\f0a2\"}i.icon.bell.slash:before{content:\"\\f1f6\"}i.icon.bell.slash.outline:before{content:\"\\f1f7\"}i.icon.hand.outline.right:before{content:\"\\f0a4\"}i.icon.hand.outline.left:before{content:\"\\f0a5\"}i.icon.hand.outline.up:before{content:\"\\f0a6\"}i.icon.hand.outline.down:before{content:\"\\f0a7\"}i.icon.globe:before{content:\"\\f0ac\"}i.icon.wrench:before{content:\"\\f0ad\"}i.icon.briefcase:before{content:\"\\f0b1\"}i.icon.group:before{content:\"\\f0c0\"}i.icon.flask:before{content:\"\\f0c3\"}i.icon.bars:before,i.icon.sidebar:before{content:\"\\f0c9\"}i.icon.list.ul:before{content:\"\\f0ca\"}i.icon.list.ol:before,i.icon.numbered.list:before{content:\"\\f0cb\"}i.icon.magic:before{content:\"\\f0d0\"}i.icon.truck:before{content:\"\\f0d1\"}i.icon.currency:before{content:\"\\f0d6\"}i.icon.dropdown:before,i.icon.triangle.down:before{content:\"\\f0d7\"}i.icon.triangle.up:before{content:\"\\f0d8\"}i.icon.triangle.left:before{content:\"\\f0d9\"}i.icon.triangle.right:before{content:\"\\f0da\"}i.icon.envelope:before{content:\"\\f0e0\"}i.icon.conversation:before{content:\"\\f0e6\"}i.icon.umbrella:before{content:\"\\f0e9\"}i.icon.clipboard:before{content:\"\\f0ea\"}i.icon.lightbulb:before{content:\"\\f0eb\"}i.icon.ambulance:before{content:\"\\f0f9\"}i.icon.medkit:before{content:\"\\f0fa\"}i.icon.fighter.jet:before{content:\"\\f0fb\"}i.icon.beer:before{content:\"\\f0fc\"}i.icon.plus.square:before{content:\"\\f0fe\"}i.icon.computer:before{content:\"\\f108\"}i.icon.asexual:before,i.icon.circle.outline:before,i.icon.intersex:before{content:\"\\f10c\"}i.icon.spinner:before{content:\"\\f110\"}i.icon.gamepad:before{content:\"\\f11b\"}i.icon.star.half.full:before{content:\"\\f123\"}i.icon.question:before{content:\"\\f128\"}i.icon.eraser:before{content:\"\\f12d\"}i.icon.microphone:before{content:\"\\f130\"}i.icon.microphone.slash:before{content:\"\\f131\"}i.icon.shield:before{content:\"\\f132\"}i.icon.target:before{content:\"\\f140\"}i.icon.play.circle:before{content:\"\\f144\"}i.icon.pencil.square:before{content:\"\\f14b\"}i.icon.compass:before{content:\"\\f14e\"}i.icon.amex:before{content:\"\\f1f3\"}i.icon.eur:before{content:\"\\f153\"}i.icon.gbp:before{content:\"\\f154\"}i.icon.usd:before{content:\"\\f155\"}i.icon.inr:before{content:\"\\f156\"}i.icon.cny:before,i.icon.jpy:before,i.icon.rmb:before{content:\"\\f157\"}i.icon.rouble:before,i.icon.rub:before{content:\"\\f158\"}i.icon.krw:before{content:\"\\f159\"}i.icon.btc:before{content:\"\\f15a\"}i.icon.ils:before,i.icon.sheqel:before{content:\"\\f20b\"}i.icon.try:before{content:\"\\f195\"}i.icon.zip:before{content:\"\\f187\"}i.icon.dot.circle.outline:before{content:\"\\f192\"}i.icon.sliders:before{content:\"\\f1de\"}i.icon.wi-fi:before{content:\"\\f1eb\"}i.icon.graduation:before{content:\"\\f19d\"}i.icon.weixin:before{content:\"\\f1d7\"}i.icon.binoculars:before{content:\"\\f1e5\"}i.icon.gratipay:before{content:\"\\f184\"}i.icon.genderless:before{content:\"\\f1db\"}i.icon.teletype:before{content:\"\\f1e4\"}i.icon.power.cord:before{content:\"\\f1e6\"}i.icon.tty:before{content:\"\\f1e4\"}i.icon.cc:before{content:\"\\f20a\"}i.icon.plus.cart:before{content:\"\\f217\"}i.icon.arrow.down.cart:before{content:\"\\f218\"}i.icon.detective:before{content:\"\\f21b\"}i.icon.venus:before{content:\"\\f221\"}i.icon.mars:before{content:\"\\f222\"}i.icon.mercury:before{content:\"\\f223\"}i.icon.female.homosexual:before,i.icon.venus.double:before{content:\"\\f226\"}i.icon.male.homosexual:before,i.icon.mars.double:before{content:\"\\f227\"}i.icon.venus.mars:before{content:\"\\f228\"}i.icon.mars.alternate:before,i.icon.mars.stroke:before{content:\"\\f229\"}i.icon.mars.vertical:before{content:\"\\f22a\"}i.icon.mars.horizontal:before{content:\"\\f22b\"}i.icon.mars.stroke.vertical:before{content:\"\\f22a\"}i.icon.mars.stroke.horizontal:before{content:\"\\f22b\"}i.icon.facebook.official{content:\"\\f230\"}i.icon.pinterest.official{content:\"\\f231\"}i.icon.bed:before{content:\"\\f236\"}.ui.image{position:relative;display:inline-block;vertical-align:middle;max-width:100%;background-color:transparent}img.ui.image{display:block}.ui.image img,.ui.image svg{display:block;max-width:100%;height:auto}.ui.hidden.image,.ui.hidden.images{display:none}.ui.disabled.image,.ui.disabled.images{cursor:default;opacity:.45}.ui.inline.image,.ui.inline.image img,.ui.inline.image svg{display:inline-block}.ui.top.aligned.image,.ui.top.aligned.image img,.ui.top.aligned.image svg,.ui.top.aligned.images .image{display:inline-block;vertical-align:top}.ui.middle.aligned.image,.ui.middle.aligned.image img,.ui.middle.aligned.image svg,.ui.middle.aligned.images .image{display:inline-block;vertical-align:middle}.ui.bottom.aligned.image,.ui.bottom.aligned.image img,.ui.bottom.aligned.image svg,.ui.bottom.aligned.images .image{display:inline-block;vertical-align:bottom}.ui.rounded.image,.ui.rounded.image>*,.ui.rounded.images .image,.ui.rounded.images .image>*{border-radius:.3125em}.ui.bordered.image img,.ui.bordered.image svg,.ui.bordered.images .image,.ui.bordered.images img,.ui.bordered.images svg,img.ui.bordered.image{border:1px solid rgba(0,0,0,.1)}.ui.circular.image,.ui.circular.images{overflow:hidden}.ui.circular.image,.ui.circular.image>*,.ui.circular.images .image,.ui.circular.images .image>*{border-radius:500rem}.ui.fluid.image,.ui.fluid.image img,.ui.fluid.image svg,.ui.fluid.images,.ui.fluid.images img,.ui.fluid.images svg{display:block;width:100%;height:auto}.ui.avatar.image,.ui.avatar.image img,.ui.avatar.image svg,.ui.avatar.images .image,.ui.avatar.images img,.ui.avatar.images svg{margin-right:.25em;display:inline-block;width:2em;height:2em;border-radius:500rem}.ui.spaced.image{display:inline-block!important;margin-left:.5em;margin-right:.5em}.ui[class*=\"left spaced\"].image{margin-left:.5em;margin-right:0}.ui[class*=\"right spaced\"].image{margin-left:0;margin-right:.5em}.ui.floated.image,.ui.floated.images{float:left;margin-right:1em;margin-bottom:1em}.ui.right.floated.image,.ui.right.floated.images{float:right;margin-right:0;margin-bottom:1em;margin-left:1em}.ui.floated.image:last-child,.ui.floated.images:last-child{margin-bottom:0}.ui.centered.image,.ui.centered.images{margin-left:auto;margin-right:auto}.ui.mini.image,.ui.mini.images .image,.ui.mini.images img,.ui.mini.images svg{width:35px;height:auto;font-size:.71428571rem}.ui.tiny.image,.ui.tiny.images .image,.ui.tiny.images img,.ui.tiny.images svg{width:80px;height:auto;font-size:.85714286rem}.ui.small.image,.ui.small.images .image,.ui.small.images img,.ui.small.images svg{width:150px;height:auto;font-size:.92857143rem}.ui.medium.image,.ui.medium.images .image,.ui.medium.images img,.ui.medium.images svg{width:300px;height:auto;font-size:1rem}.ui.large.image,.ui.large.images .image,.ui.large.images img,.ui.large.images svg{width:450px;height:auto;font-size:1.14285714rem}.ui.big.image,.ui.big.images .image,.ui.big.images img,.ui.big.images svg{width:600px;height:auto;font-size:1.28571429rem}.ui.huge.image,.ui.huge.images .image,.ui.huge.images img,.ui.huge.images svg{width:800px;height:auto;font-size:1.42857143rem}.ui.massive.image,.ui.massive.images .image,.ui.massive.images img,.ui.massive.images svg{width:960px;height:auto;font-size:1.71428571rem}.ui.images{font-size:0;margin:0 -.25rem}.ui.images .image,.ui.images img,.ui.images svg{display:inline-block;margin:0 .25rem .5rem}.ui.input{position:relative;font-weight:400;font-style:normal;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;color:rgba(0,0,0,.87)}.ui.input input{margin:0;max-width:100%;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);text-align:left;line-height:1.2142em;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;padding:.67861429em 1em;background:#FFF;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;-webkit-transition:box-shadow .1s ease,border-color .1s ease;transition:box-shadow .1s ease,border-color .1s ease;box-shadow:none}.ui.input input::-webkit-input-placeholder{color:rgba(0,0,0,.4)}.ui.input input::-moz-placeholder{color:rgba(0,0,0,.4)}.ui.input input::-ms-input-placeholder{color:rgba(0,0,0,.4)}.ui.disabled.input,.ui.input input[disabled]{opacity:.45}.ui.disabled.input input{pointer-events:none}.ui.input input:active,.ui.input.down input{border-color:rgba(0,0,0,.3);background:#FAFAFA;color:rgba(0,0,0,.87);box-shadow:none}.ui.loading.loading.input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.loading.input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.input input:focus,.ui.input.focus input{border-color:#85B7D9;background:#FFF;color:rgba(0,0,0,.8);box-shadow:none}.ui.input input:focus::-webkit-input-placeholder,.ui.input.focus input::-webkit-input-placeholder{color:rgba(0,0,0,.87)}.ui.input input:focus::-moz-placeholder,.ui.input.focus input::-moz-placeholder{color:rgba(0,0,0,.87)}.ui.input input:focus::-ms-input-placeholder,.ui.input.focus input::-ms-input-placeholder{color:rgba(0,0,0,.87)}.ui.input.error input{background-color:#FFF6F6;border-color:#E0B4B4;color:#9F3A38;box-shadow:none}.ui.input.error input::-webkit-input-placeholder{color:#e7bdbc}.ui.input.error input::-moz-placeholder{color:#e7bdbc}.ui.input.error input::-ms-input-placeholder{color:#e7bdbc}.ui.input.error input:focus::-webkit-input-placeholder{color:#da9796}.ui.input.error input:focus::-moz-placeholder{color:#da9796}.ui.input.error input:focus::-ms-input-placeholder{color:#da9796}.ui.transparent.input input{border-color:transparent!important;background-color:transparent!important;padding:0!important;box-shadow:none!important}.ui.transparent.icon.input>i.icon{width:1.1em}.ui.transparent.icon.input>input{padding-left:0!important;padding-right:2em!important}.ui.transparent[class*=\"left icon\"].input>input{padding-left:2em!important;padding-right:0!important}.ui.transparent.inverted.input{color:#FFF}.ui.transparent.inverted.input input{color:inherit}.ui.transparent.inverted.input input::-webkit-input-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input input::-moz-placeholder{color:rgba(255,255,255,.5)}.ui.transparent.inverted.input input::-ms-input-placeholder{color:rgba(255,255,255,.5)}.ui.icon.input>i.icon{cursor:default;position:absolute;line-height:1;text-align:center;top:0;right:0;margin:0;height:100%;width:2.67142857em;opacity:.5;border-radius:0 .28571429rem .28571429rem 0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}.ui.icon.input>i.icon:not(.link){pointer-events:none}.ui.icon.input input{padding-right:2.67142857em!important}.ui.icon.input>i.icon:after,.ui.icon.input>i.icon:before{left:0;position:absolute;text-align:center;top:50%;width:100%;margin-top:-.5em}.ui.icon.input>i.link.icon{cursor:pointer}.ui.icon.input>i.circular.icon{top:.35em;right:.5em}.ui[class*=\"left icon\"].input>i.icon{right:auto;left:1px;border-radius:.28571429rem 0 0 .28571429rem}.ui[class*=\"left icon\"].input>i.circular.icon{right:auto;left:.5em}.ui[class*=\"left icon\"].input>input{padding-left:2.67142857em!important;padding-right:1em!important}.ui.icon.input>input:focus~i.icon{opacity:1}.ui.labeled.input>.label{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;margin:0;font-size:1em}.ui.labeled.input>.label:not(.corner){padding-top:.78571429em;padding-bottom:.78571429em}.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child+input{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child+input:focus{border-left-color:#85B7D9}.ui[class*=\"right labeled\"].input input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui[class*=\"right labeled\"].input input+.label{border-top-left-radius:0;border-bottom-left-radius:0}.ui[class*=\"right labeled\"].input input:focus{border-right-color:#85B7D9!important}.ui.labeled.input .corner.label{top:1px;right:1px;font-size:.64285714em;border-radius:0 .28571429rem 0 0}.ui[class*=\"corner labeled\"]:not([class*=\"left corner labeled\"]).labeled.input input{padding-right:2.5em!important}.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"])>input{padding-right:3.25em!important}.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"])>.icon{margin-right:1.25em}.ui[class*=\"left corner labeled\"].labeled.input input{padding-left:2.5em!important}.ui[class*=\"left corner labeled\"].icon.input>input{padding-left:3.25em!important}.ui[class*=\"left corner labeled\"].icon.input>.icon{margin-left:1.25em}.ui.input>.ui.corner.label{top:1px;right:1px}.ui.input>.ui.left.corner.label{right:auto;left:1px}.ui.action.input>.button,.ui.action.input>.buttons{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.ui.action.input>.button,.ui.action.input>.buttons>.button{padding-top:.78571429em;padding-bottom:.78571429em;margin:0}.ui.action.input:not([class*=\"left action\"])>input{border-top-right-radius:0!important;border-bottom-right-radius:0!important;border-right-color:transparent!important}.ui.action.input:not([class*=\"left action\"])>.button,.ui.action.input:not([class*=\"left action\"])>.buttons>.button,.ui.action.input:not([class*=\"left action\"])>.dropdown{border-radius:0}.ui.action.input:not([class*=\"left action\"])>.button:last-child,.ui.action.input:not([class*=\"left action\"])>.buttons:last-child>.button,.ui.action.input:not([class*=\"left action\"])>.dropdown:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.action.input:not([class*=\"left action\"]) input:focus{border-right-color:#85B7D9!important}.ui[class*=\"left action\"].input>input{border-top-left-radius:0!important;border-bottom-left-radius:0!important;border-left-color:transparent!important}.ui[class*=\"left action\"].input>.button,.ui[class*=\"left action\"].input>.buttons>.button,.ui[class*=\"left action\"].input>.dropdown{border-radius:0}.ui[class*=\"left action\"].input>.button:first-child,.ui[class*=\"left action\"].input>.buttons:first-child>.button,.ui[class*=\"left action\"].input>.dropdown:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui[class*=\"left action\"].input>input:focus{border-left-color:#85B7D9!important}.ui.inverted.input input{border:none}.ui.fluid.input{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ui.fluid.input>input{width:0!important}.ui.mini.input{font-size:.71428571em}.ui.small.input{font-size:.92857143em}.ui.input{font-size:1em}.ui.large.input{font-size:1.14285714em}.ui.big.input{font-size:1.28571429em}.ui.huge.input{font-size:1.42857143em}.ui.massive.input{font-size:1.71428571em}.ui.label{display:inline-block;line-height:1;vertical-align:baseline;margin:0 .14285714em;background-color:#E8E8E8;background-image:none;padding:.5833em .833em;color:rgba(0,0,0,.6);text-transform:none;font-weight:700;border:0 solid transparent;border-radius:.28571429rem;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.label:first-child{margin-left:0}.ui.label:last-child{margin-right:0}a.ui.label{cursor:pointer}.ui.label>a{cursor:pointer;color:inherit;opacity:.5;-webkit-transition:.1s opacity ease;transition:.1s opacity ease}.ui.label>a:hover{opacity:1}.ui.label>img{width:auto!important;vertical-align:middle;height:2.1666em!important}.ui.label>.icon{width:auto;margin:0 .75em 0 0}.ui.label>.detail{display:inline-block;vertical-align:top;font-weight:700;margin-left:1em;opacity:.8}.ui.label>.detail .icon{margin:0 .25em 0 0}.ui.label>.close.icon,.ui.label>.delete.icon{cursor:pointer;margin-right:0;margin-left:.5em;font-size:.92857143em;opacity:.5;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.label>.delete.icon:hover{opacity:1}.ui.labels>.label{margin:0 .5em .5em 0}.ui.header>.ui.label{margin-top:-.29165em}.ui.attached.segment>.ui.top.left.attached.label,.ui.bottom.attached.segment>.ui.top.left.attached.label{border-top-left-radius:0}.ui.attached.segment>.ui.top.right.attached.label,.ui.bottom.attached.segment>.ui.top.right.attached.label{border-top-right-radius:0}.ui.top.attached.segment>.ui.bottom.left.attached.label{border-bottom-left-radius:0}.ui.top.attached.segment>.ui.bottom.right.attached.label{border-bottom-right-radius:0}.ui.top.attached.label:first-child+:not(.attached){margin-top:2rem!important}.ui.bottom.attached.label:first-child~:last-child:not(.attached){margin-top:0;margin-bottom:2rem!important}.ui.image.label{width:auto!important;margin-top:0;margin-bottom:0;max-width:9999px;vertical-align:baseline;text-transform:none;background:#E8E8E8;padding:.5833em .833em .5833em .5em;border-radius:.28571429rem;box-shadow:none}.ui.image.label img{display:inline-block;vertical-align:top;height:2.1666em;margin:-.5833em .5em -.5833em -.5em;border-radius:.28571429rem 0 0 .28571429rem}.ui.image.label .detail{background:rgba(0,0,0,.1);margin:-.5833em -.833em -.5833em .5em;padding:.5833em .833em;border-radius:0 .28571429rem .28571429rem 0}.ui.tag.label,.ui.tag.labels .label{margin-left:1em;position:relative;padding-left:1.5em;padding-right:1.5em;border-radius:0 .28571429rem .28571429rem 0;-webkit-transition:none;transition:none}.ui.tag.label:before,.ui.tag.labels .label:before{position:absolute;-webkit-transform:translateY(-50%) translateX(50%) rotate(-45deg);-ms-transform:translateY(-50%) translateX(50%) rotate(-45deg);transform:translateY(-50%) translateX(50%) rotate(-45deg);top:50%;right:100%;content:'';background-color:inherit;background-image:none;width:1.56em;height:1.56em;-webkit-transition:none;transition:none}.ui.tag.label:after,.ui.tag.labels .label:after{position:absolute;content:'';top:50%;left:-.25em;margin-top:-.25em;background-color:#FFF!important;width:.5em;height:.5em;box-shadow:0 -1px 1px 0 rgba(0,0,0,.3);border-radius:500rem}.ui.corner.label{position:absolute;top:0;right:0;margin:0;padding:0;text-align:center;border-color:#E8E8E8;width:4em;height:4em;z-index:1;-webkit-transition:border-color .1s ease;transition:border-color .1s ease;background-color:transparent!important}.ui.corner.label:after{position:absolute;content:\"\";right:0;top:0;z-index:-1;width:0;height:0;background-color:transparent!important;border-top:0 solid transparent;border-right:4em solid transparent;border-bottom:4em solid transparent;border-left:0 solid transparent;border-right-color:inherit;-webkit-transition:border-color .1s ease;transition:border-color .1s ease}.ui.corner.label .icon{cursor:default;position:relative;top:.64285714em;left:.78571429em;font-size:1.14285714em;margin:0}.ui.left.corner.label,.ui.left.corner.label:after{right:auto;left:0}.ui.left.corner.label:after{border-top:4em solid transparent;border-right:4em solid transparent;border-bottom:0 solid transparent;border-left:0 solid transparent;border-top-color:inherit}.ui.left.corner.label .icon{left:-.78571429em}.ui.segment>.ui.corner.label{top:-1px;right:-1px}.ui.segment>.ui.left.corner.label{right:auto;left:-1px}.ui.ribbon.label{position:relative;margin:0;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;border-radius:0 .28571429rem .28571429rem 0;border-color:rgba(0,0,0,.15)}.ui.ribbon.label:after{position:absolute;content:'';top:100%;left:0;background-color:transparent!important;border-style:solid;border-width:0 1.2em 1.2em 0;border-color:transparent;border-right-color:inherit;width:0;height:0}.ui.ribbon.label{left:calc(-1rem - 1.2em);margin-right:-1.2em;padding-left:calc(1rem + 1.2em);padding-right:1.2em}.ui[class*=\"right ribbon\"].label{left:calc(100% + 1rem + 1.2em);padding-left:1.2em;padding-right:calc(1rem + 1.2em);text-align:left;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);border-radius:.28571429rem 0 0 .28571429rem}.ui[class*=\"right ribbon\"].label:after{left:auto;right:0;border-style:solid;border-width:1.2em 1.2em 0 0;border-color:transparent;border-top-color:inherit}.ui.card .image>.ribbon.label,.ui.image>.ribbon.label{position:absolute;top:1rem}.ui.card .image>.ui.ribbon.label,.ui.image>.ui.ribbon.label{left:calc(.05rem - 1.2em)}.ui.card .image>.ui[class*=\"right ribbon\"].label,.ui.image>.ui[class*=\"right ribbon\"].label{left:calc(100% + -.05rem + 1.2em);padding-left:.833em}.ui.table td>.ui.ribbon.label{left:calc(-.71428571em - 1.2em)}.ui.table td>.ui[class*=\"right ribbon\"].label{left:calc(100% + .71428571em + 1.2em);padding-left:.833em}.ui.attached.label,.ui[class*=\"top attached\"].label{width:100%;position:absolute;margin:0;top:0;left:0;padding:.75em 1em;border-radius:.21428571rem .21428571rem 0 0}.ui[class*=\"bottom attached\"].label{top:auto;bottom:0;border-radius:0 0 .21428571rem .21428571rem}.ui[class*=\"top left attached\"].label{width:auto;margin-top:0!important;border-radius:.21428571rem 0 .28571429rem}.ui[class*=\"top right attached\"].label{width:auto;left:auto;right:0;border-radius:0 .21428571rem 0 .28571429rem}.ui[class*=\"bottom left attached\"].label{width:auto;top:auto;bottom:0;border-radius:0 .28571429rem 0 .21428571rem}.ui[class*=\"bottom right attached\"].label{top:auto;bottom:0;left:auto;right:0;width:auto;border-radius:.28571429rem 0 .21428571rem}.ui.label.disabled{opacity:.5}a.ui.label:hover,a.ui.labels .label:hover{background-color:#E0E0E0;border-color:#E0E0E0;background-image:none;color:rgba(0,0,0,.8)}.ui.labels a.label:hover:before,a.ui.label:hover:before{color:rgba(0,0,0,.8)}.ui.active.label{background-color:#D0D0D0;border-color:#D0D0D0;background-image:none;color:rgba(0,0,0,.95)}.ui.active.label:before{background-color:#D0D0D0;background-image:none;color:rgba(0,0,0,.95)}a.ui.active.label:hover,a.ui.labels .active.label:hover{background-color:#C8C8C8;border-color:#C8C8C8;background-image:none;color:rgba(0,0,0,.95)}.ui.labels a.active.label:ActiveHover:before,a.ui.active.label:ActiveHover:before{background-color:#C8C8C8;background-image:none;color:rgba(0,0,0,.95)}.ui.label.visible,.ui.labels.visible .label{display:inline-block!important}.ui.label.hidden,.ui.labels.hidden .label{display:none!important}.ui.red.label,.ui.red.labels .label{background-color:#DB2828!important;border-color:#DB2828!important;color:#FFF!important}.ui.red.labels .label:hover,a.ui.red.label:hover{background-color:#d01919!important;border-color:#d01919!important;color:#FFF!important}.ui.red.corner.label,.ui.red.corner.label:hover{background-color:transparent!important}.ui.red.ribbon.label{border-color:#b21e1e!important}.ui.basic.red.label{background-color:#FFF!important;color:#DB2828!important;border-color:#DB2828!important}.ui.basic.red.labels a.label:hover,a.ui.basic.red.label:hover{background-color:#FFF!important;color:#d01919!important;border-color:#d01919!important}.ui.orange.label,.ui.orange.labels .label{background-color:#F2711C!important;border-color:#F2711C!important;color:#FFF!important}.ui.orange.labels .label:hover,a.ui.orange.label:hover{background-color:#f26202!important;border-color:#f26202!important;color:#FFF!important}.ui.orange.corner.label,.ui.orange.corner.label:hover{background-color:transparent!important}.ui.orange.ribbon.label{border-color:#cf590c!important}.ui.basic.orange.label{background-color:#FFF!important;color:#F2711C!important;border-color:#F2711C!important}.ui.basic.orange.labels a.label:hover,a.ui.basic.orange.label:hover{background-color:#FFF!important;color:#f26202!important;border-color:#f26202!important}.ui.yellow.label,.ui.yellow.labels .label{background-color:#FBBD08!important;border-color:#FBBD08!important;color:#FFF!important}.ui.yellow.labels .label:hover,a.ui.yellow.label:hover{background-color:#eaae00!important;border-color:#eaae00!important;color:#FFF!important}.ui.yellow.corner.label,.ui.yellow.corner.label:hover{background-color:transparent!important}.ui.yellow.ribbon.label{border-color:#cd9903!important}.ui.basic.yellow.label{background-color:#FFF!important;color:#FBBD08!important;border-color:#FBBD08!important}.ui.basic.yellow.labels a.label:hover,a.ui.basic.yellow.label:hover{background-color:#FFF!important;color:#eaae00!important;border-color:#eaae00!important}.ui.olive.label,.ui.olive.labels .label{background-color:#B5CC18!important;border-color:#B5CC18!important;color:#FFF!important}.ui.olive.labels .label:hover,a.ui.olive.label:hover{background-color:#a7bd0d!important;border-color:#a7bd0d!important;color:#FFF!important}.ui.olive.corner.label,.ui.olive.corner.label:hover{background-color:transparent!important}.ui.olive.ribbon.label{border-color:#198f35!important}.ui.basic.olive.label{background-color:#FFF!important;color:#B5CC18!important;border-color:#B5CC18!important}.ui.basic.olive.labels a.label:hover,a.ui.basic.olive.label:hover{background-color:#FFF!important;color:#a7bd0d!important;border-color:#a7bd0d!important}.ui.green.label,.ui.green.labels .label{background-color:#21BA45!important;border-color:#21BA45!important;color:#FFF!important}.ui.green.labels .label:hover,a.ui.green.label:hover{background-color:#16ab39!important;border-color:#16ab39!important;color:#FFF!important}.ui.green.corner.label,.ui.green.corner.label:hover{background-color:transparent!important}.ui.green.ribbon.label{border-color:#198f35!important}.ui.basic.green.label{background-color:#FFF!important;color:#21BA45!important;border-color:#21BA45!important}.ui.basic.green.labels a.label:hover,a.ui.basic.green.label:hover{background-color:#FFF!important;color:#16ab39!important;border-color:#16ab39!important}.ui.teal.label,.ui.teal.labels .label{background-color:#00B5AD!important;border-color:#00B5AD!important;color:#FFF!important}.ui.teal.labels .label:hover,a.ui.teal.label:hover{background-color:#009c95!important;border-color:#009c95!important;color:#FFF!important}.ui.teal.corner.label,.ui.teal.corner.label:hover{background-color:transparent!important}.ui.teal.ribbon.label{border-color:#00827c!important}.ui.basic.teal.label{background-color:#FFF!important;color:#00B5AD!important;border-color:#00B5AD!important}.ui.basic.teal.labels a.label:hover,a.ui.basic.teal.label:hover{background-color:#FFF!important;color:#009c95!important;border-color:#009c95!important}.ui.blue.label,.ui.blue.labels .label{background-color:#2185D0!important;border-color:#2185D0!important;color:#FFF!important}.ui.blue.labels .label:hover,a.ui.blue.label:hover{background-color:#1678c2!important;border-color:#1678c2!important;color:#FFF!important}.ui.blue.corner.label,.ui.blue.corner.label:hover{background-color:transparent!important}.ui.blue.ribbon.label{border-color:#1a69a4!important}.ui.basic.blue.label{background-color:#FFF!important;color:#2185D0!important;border-color:#2185D0!important}.ui.basic.blue.labels a.label:hover,a.ui.basic.blue.label:hover{background-color:#FFF!important;color:#1678c2!important;border-color:#1678c2!important}.ui.violet.label,.ui.violet.labels .label{background-color:#6435C9!important;border-color:#6435C9!important;color:#FFF!important}.ui.violet.labels .label:hover,a.ui.violet.label:hover{background-color:#5829bb!important;border-color:#5829bb!important;color:#FFF!important}.ui.violet.corner.label,.ui.violet.corner.label:hover{background-color:transparent!important}.ui.violet.ribbon.label{border-color:#502aa1!important}.ui.basic.violet.label{background-color:#FFF!important;color:#6435C9!important;border-color:#6435C9!important}.ui.basic.violet.labels a.label:hover,a.ui.basic.violet.label:hover{background-color:#FFF!important;color:#5829bb!important;border-color:#5829bb!important}.ui.purple.label,.ui.purple.labels .label{background-color:#A333C8!important;border-color:#A333C8!important;color:#FFF!important}.ui.purple.labels .label:hover,a.ui.purple.label:hover{background-color:#9627ba!important;border-color:#9627ba!important;color:#FFF!important}.ui.purple.corner.label,.ui.purple.corner.label:hover{background-color:transparent!important}.ui.purple.ribbon.label{border-color:#82299f!important}.ui.basic.purple.label{background-color:#FFF!important;color:#A333C8!important;border-color:#A333C8!important}.ui.basic.purple.labels a.label:hover,a.ui.basic.purple.label:hover{background-color:#FFF!important;color:#9627ba!important;border-color:#9627ba!important}.ui.pink.label,.ui.pink.labels .label{background-color:#E03997!important;border-color:#E03997!important;color:#FFF!important}.ui.pink.labels .label:hover,a.ui.pink.label:hover{background-color:#e61a8d!important;border-color:#e61a8d!important;color:#FFF!important}.ui.pink.corner.label,.ui.pink.corner.label:hover{background-color:transparent!important}.ui.pink.ribbon.label{border-color:#c71f7e!important}.ui.basic.pink.label{background-color:#FFF!important;color:#E03997!important;border-color:#E03997!important}.ui.basic.pink.labels a.label:hover,a.ui.basic.pink.label:hover{background-color:#FFF!important;color:#e61a8d!important;border-color:#e61a8d!important}.ui.brown.label,.ui.brown.labels .label{background-color:#A5673F!important;border-color:#A5673F!important;color:#FFF!important}.ui.brown.labels .label:hover,a.ui.brown.label:hover{background-color:#975b33!important;border-color:#975b33!important;color:#FFF!important}.ui.brown.corner.label,.ui.brown.corner.label:hover{background-color:transparent!important}.ui.brown.ribbon.label{border-color:#805031!important}.ui.basic.brown.label{background-color:#FFF!important;color:#A5673F!important;border-color:#A5673F!important}.ui.basic.brown.labels a.label:hover,a.ui.basic.brown.label:hover{background-color:#FFF!important;color:#975b33!important;border-color:#975b33!important}.ui.grey.label,.ui.grey.labels .label{background-color:#767676!important;border-color:#767676!important;color:#FFF!important}.ui.grey.labels .label:hover,a.ui.grey.label:hover{background-color:#838383!important;border-color:#838383!important;color:#FFF!important}.ui.grey.corner.label,.ui.grey.corner.label:hover{background-color:transparent!important}.ui.grey.ribbon.label{border-color:#805031!important}.ui.basic.grey.label{background-color:#FFF!important;color:#767676!important;border-color:#767676!important}.ui.basic.grey.labels a.label:hover,a.ui.basic.grey.label:hover{background-color:#FFF!important;color:#838383!important;border-color:#838383!important}.ui.black.label,.ui.black.labels .label{background-color:#1B1C1D!important;border-color:#1B1C1D!important;color:#FFF!important}.ui.black.labels .label:hover,a.ui.black.label:hover{background-color:#27292a!important;border-color:#27292a!important;color:#FFF!important}.ui.black.corner.label,.ui.black.corner.label:hover{background-color:transparent!important}.ui.black.ribbon.label{border-color:#805031!important}.ui.basic.black.label{background-color:#FFF!important;color:#1B1C1D!important;border-color:#1B1C1D!important}.ui.basic.black.labels a.label:hover,a.ui.basic.black.label:hover{background-color:#FFF!important;color:#27292a!important;border-color:#27292a!important}.ui.basic.label{background:#FFF;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);box-shadow:none}a.ui.basic.label:hover{text-decoration:none;background:#FFF;color:#1e70bf;box-shadow:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.pointing.label:before{border-color:inherit}.ui.fluid.labels>.label,.ui.label.fluid{width:100%;box-sizing:border-box}.ui.inverted.label,.ui.inverted.labels .label{color:rgba(255,255,255,.9)!important}.ui.horizontal.label,.ui.horizontal.labels .label{margin:0 .5em 0 0;padding:.4em .833em;min-width:3em;text-align:center}.ui.circular.label,.ui.circular.labels .label{min-width:2em;min-height:2em;padding:.5em!important;line-height:1em;text-align:center;border-radius:500rem}.ui.empty.circular.label,.ui.empty.circular.labels .label{min-width:0;min-height:0;overflow:hidden;width:.5em;height:.5em;vertical-align:baseline}.ui.pointing.label{position:relative}.ui.attached.pointing.label{position:absolute}.ui.pointing.label:before{background-color:inherit;border-style:solid;border-color:inherit;position:absolute;content:'';-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);background-image:none;z-index:2;width:.6666em;height:.6666em;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.pointing.label,.ui[class*=\"pointing above\"].label{margin-top:1em}.ui.pointing.label:before,.ui[class*=\"pointing above\"].label:before{border-width:1px 0 0 1px;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);top:0;left:50%}.ui[class*=\"bottom pointing\"].label,.ui[class*=\"pointing below\"].label{margin-top:0;margin-bottom:1em}.ui[class*=\"bottom pointing\"].label:before,.ui[class*=\"pointing below\"].label:before{border-width:0 1px 1px 0;right:auto;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);top:100%;left:50%}.ui[class*=\"left pointing\"].label{margin-top:0;margin-left:.6666em}.ui[class*=\"left pointing\"].label:before{border-width:0 0 1px 1px;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);bottom:auto;right:auto;top:50%;left:0}.ui[class*=\"right pointing\"].label{margin-top:0;margin-right:.6666em}.ui[class*=\"right pointing\"].label:before{border-width:1px 1px 0 0;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);top:50%;right:0;bottom:auto;left:auto}.ui.basic.pointing.label:before,.ui.basic[class*=\"pointing above\"].label:before{margin-top:-1px}.ui.basic[class*=\"bottom pointing\"].label:before,.ui.basic[class*=\"pointing below\"].label:before{bottom:auto;top:100%;margin-top:1px}.ui.basic[class*=\"left pointing\"].label:before{top:50%;left:-1px}.ui.basic[class*=\"right pointing\"].label:before{top:50%;right:-1px}.ui.floating.label{position:absolute;z-index:100;top:-1em;left:100%;margin:0 0 0 -1.5em!important}.ui.mini.label,.ui.mini.labels .label{font-size:.64285714rem}.ui.tiny.label,.ui.tiny.labels .label{font-size:.71428571rem}.ui.small.label,.ui.small.labels .label{font-size:.78571429rem}.ui.label,.ui.labels .label{font-size:.85714286rem}.ui.large.label,.ui.large.labels .label{font-size:1rem}.ui.big.label,.ui.big.labels .label{font-size:1.28571429rem}.ui.huge.label,.ui.huge.labels .label{font-size:1.42857143rem}.ui.massive.label,.ui.massive.labels .label{font-size:1.71428571rem}.ui.list,ol.ui.list,ul.ui.list{list-style-type:none;margin:1em 0;padding:0}.ui.list:first-child,ol.ui.list:first-child,ul.ui.list:first-child{margin-top:0;padding-top:0}.ui.list:last-child,ol.ui.list:last-child,ul.ui.list:last-child{margin-bottom:0;padding-bottom:0}.ui.list .list>.item,.ui.list>.item,ol.ui.list li,ul.ui.list li{display:list-item;table-layout:fixed;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.list>.item:after,.ui.list>.list>.item,ol.ui.list>li:first-child:after,ul.ui.list>li:first-child:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.list .list>.item:first-child,.ui.list>.item:first-child,ol.ui.list li:first-child,ul.ui.list li:first-child{padding-top:0}.ui.list .list>.item:last-child,.ui.list>.item:last-child,ol.ui.list li:last-child,ul.ui.list li:last-child{padding-bottom:0}.ui.list .list,ol.ui.list ol,ul.ui.list ul{clear:both;margin:0;padding:.75em 0 .25em .5em}.ui.list .list>.item,ol.ui.list ol li,ul.ui.list ul li{padding:.14285714em 0;line-height:inherit}.ui.list .list>.item>i.icon,.ui.list>.item>i.icon{display:table-cell;margin:0;padding-top:.07142857em;padding-right:.28571429em;vertical-align:top;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.list .list>.item>i.icon:only-child,.ui.list>.item>i.icon:only-child{display:inline-block;vertical-align:top}.ui.list .list>.item>.image,.ui.list>.item>.image{display:table-cell;background-color:transparent;margin:0;vertical-align:top}.ui.list .list>.item>.image:not(:only-child):not(img),.ui.list>.item>.image:not(:only-child):not(img){padding-right:.5em}.ui.list .list>.item>.image img,.ui.list>.item>.image img{vertical-align:top}.ui.list .list>.item>.image:only-child,.ui.list .list>.item>img.image,.ui.list>.item>.image:only-child,.ui.list>.item>img.image{display:inline-block}.ui.list .list>.item>.content,.ui.list>.item>.content{line-height:1.14285714em}.ui.list .list>.item>.icon+.content,.ui.list .list>.item>.image+.content,.ui.list>.item>.icon+.content,.ui.list>.item>.image+.content{display:table-cell;padding:0 0 0 .5em;vertical-align:top}.ui.list .list>.item>img.image+.content,.ui.list>.item>img.image+.content{display:inline-block}.ui.list .list>.item>.content>.list,.ui.list>.item>.content>.list{margin-left:0;padding-left:0}.ui.list .list>.item .header,.ui.list>.item .header{display:block;margin:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.87)}.ui.list .list>.item .description,.ui.list>.item .description{display:block;color:rgba(0,0,0,.7)}.ui.list .list>.item a,.ui.list>.item a{cursor:pointer}.ui.list .list>a.item,.ui.list>a.item{cursor:pointer;color:#4183C4}.ui.list .list>a.item:hover,.ui.list>a.item:hover{color:#1e70bf}.ui.list .list>a.item i.icon,.ui.list>a.item i.icon{color:rgba(0,0,0,.4)}.ui.list .list>.item a.header,.ui.list>.item a.header{cursor:pointer;color:#4183C4!important}.ui.list .list>.item a.header:hover,.ui.list>.item a.header:hover{color:#1e70bf!important}.ui[class*=\"left floated\"].list{float:left}.ui[class*=\"right floated\"].list{float:right}.ui.list .list>.item [class*=\"left floated\"],.ui.list>.item [class*=\"left floated\"]{float:left;margin:0 1em 0 0}.ui.list .list>.item [class*=\"right floated\"],.ui.list>.item [class*=\"right floated\"]{float:right;margin:0 0 0 1em}.ui.menu .ui.list .list>.item,.ui.menu .ui.list>.item{display:list-item;table-layout:fixed;background-color:transparent;list-style-type:none;list-style-position:outside;padding:.21428571em 0;line-height:1.14285714em}.ui.menu .ui.list .list>.item:before,.ui.menu .ui.list>.item:before{border:none;background:0 0}.ui.menu .ui.list .list>.item:first-child,.ui.menu .ui.list>.item:first-child{padding-top:0}.ui.menu .ui.list .list>.item:last-child,.ui.menu .ui.list>.item:last-child{padding-bottom:0}.ui.horizontal.list{display:inline-block;font-size:0}.ui.horizontal.list>.item{display:inline-block;margin-left:1em;font-size:1rem}.ui.horizontal.list:not(.celled)>.item:first-child{margin-left:0!important;padding-left:0!important}.ui.horizontal.list .list{padding-left:0;padding-bottom:0}.ui.horizontal.list .list>.item>.content,.ui.horizontal.list .list>.item>.icon,.ui.horizontal.list .list>.item>.image,.ui.horizontal.list>.item>.content,.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.image{vertical-align:middle}.ui.horizontal.list>.item:first-child,.ui.horizontal.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.horizontal.list>.item>i.icon{margin:0;padding:0 .25em 0 0}.ui.horizontal.list>.item>.icon,.ui.horizontal.list>.item>.icon+.content{float:none;display:inline-block}.ui.list .list>.disabled.item,.ui.list>.disabled.item{pointer-events:none;color:rgba(40,40,40,.3)!important}.ui.inverted.list .list>.disabled.item,.ui.inverted.list>.disabled.item{color:rgba(225,225,225,.3)!important}.ui.list .list>a.item:hover .icon,.ui.list>a.item:hover .icon{color:rgba(0,0,0,.87)}.ui.inverted.list .list>a.item>.icon,.ui.inverted.list>a.item>.icon{color:rgba(255,255,255,.7)}.ui.inverted.list .list>.item .header,.ui.inverted.list>.item .header{color:rgba(255,255,255,.9)}.ui.inverted.list .list>.item .description,.ui.inverted.list>.item .description{color:rgba(255,255,255,.7)}.ui.inverted.list .list>a.item,.ui.inverted.list>a.item{cursor:pointer;color:rgba(255,255,255,.9)}.ui.inverted.list .list>a.item:hover,.ui.inverted.list>a.item:hover{color:#1e70bf}.ui.inverted.list .item a:not(.ui){color:rgba(255,255,255,.9)!important}.ui.inverted.list .item a:not(.ui):hover{color:#1e70bf!important}.ui.list [class*=\"top aligned\"],.ui.list[class*=\"top aligned\"] .content,.ui.list[class*=\"top aligned\"] .image{vertical-align:top!important}.ui.list [class*=\"middle aligned\"],.ui.list[class*=\"middle aligned\"] .content,.ui.list[class*=\"middle aligned\"] .image{vertical-align:middle!important}.ui.list [class*=\"bottom aligned\"],.ui.list[class*=\"bottom aligned\"] .content,.ui.list[class*=\"bottom aligned\"] .image{vertical-align:bottom!important}.ui.link.list .item,.ui.link.list .item a:not(.ui),.ui.link.list a.item{color:rgba(0,0,0,.4);-webkit-transition:.1s color ease;transition:.1s color ease}.ui.link.list .item a:not(.ui):hover,.ui.link.list a.item:hover{color:rgba(0,0,0,.8)}.ui.link.list .item a:not(.ui):active,.ui.link.list a.item:active{color:rgba(0,0,0,.9)}.ui.link.list .active.item,.ui.link.list .active.item a:not(.ui){color:rgba(0,0,0,.95)}.ui.inverted.link.list .item,.ui.inverted.link.list .item a:not(.ui),.ui.inverted.link.list a.item{color:rgba(255,255,255,.5)}.ui.inverted.link.list .active.item a:not(.ui),.ui.inverted.link.list .item a:not(.ui):active,.ui.inverted.link.list .item a:not(.ui):hover,.ui.inverted.link.list a.active.item,.ui.inverted.link.list a.item:active,.ui.inverted.link.list a.item:hover{color:#fff}.ui.selection.list .list>.item,.ui.selection.list>.item{cursor:pointer;background:0 0;padding:.5em;margin:0;color:rgba(0,0,0,.4);border-radius:.5em;-webkit-transition:.1s color ease,.1s padding-left ease,.1s background-color ease;transition:.1s color ease,.1s padding-left ease,.1s background-color ease}.ui.selection.list .list>.item:last-child,.ui.selection.list>.item:last-child{margin-bottom:0}.ui.selection.list.list>.item:hover,.ui.selection.list>.item:hover{background:rgba(0,0,0,.03);color:rgba(0,0,0,.8)}.ui.selection.list .list>.item:active,.ui.selection.list>.item:active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.9)}.ui.selection.list .list>.item.active,.ui.selection.list>.item.active{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.selection.list>.item{background:0 0;color:rgba(255,255,255,.5)}.ui.inverted.selection.list>.item:hover{background:rgba(255,255,255,.02);color:#fff}.ui.inverted.selection.list>.item.active,.ui.inverted.selection.list>.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.celled.selection.list .list>.item,.ui.celled.selection.list>.item,.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{border-radius:0}.ui.animated.list>.item{-webkit-transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s;transition:.25s color ease .1s,.25s padding-left ease .1s,.25s background-color ease .1s}.ui.animated.list:not(.horizontal)>.item:hover{padding-left:1em}.ui.fitted.list:not(.selection) .list>.item,.ui.fitted.list:not(.selection)>.item{padding-left:0;padding-right:0}.ui.fitted.selection.list .list>.item,.ui.fitted.selection.list>.item{margin-left:-.5em;margin-right:-.5em}.ui.bulleted.list,ul.ui.list{margin-left:1.25rem}.ui.bulleted.list .list>.item,.ui.bulleted.list>.item,ul.ui.list li{position:relative}.ui.bulleted.list .list>.item:before,.ui.bulleted.list>.item:before,ul.ui.list li:before{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;position:absolute;top:auto;left:auto;margin-left:-1.25rem;content:'•';opacity:1;color:inherit;vertical-align:top}.ui.bulleted.list .list,ul.ui.list ul{padding-left:1.25rem}.ui.horizontal.bulleted.list,ul.ui.horizontal.bulleted.list{margin-left:0}.ui.horizontal.bulleted.list>.item,ul.ui.horizontal.bulleted.list li{margin-left:1.75rem}.ui.horizontal.bulleted.list>.item:first-child,ul.ui.horizontal.bulleted.list li:first-child{margin-left:0}.ui.horizontal.bulleted.list>.item::before,ul.ui.horizontal.bulleted.list li::before{color:rgba(0,0,0,.87)}.ui.horizontal.bulleted.list>.item:first-child::before,ul.ui.horizontal.bulleted.list li:first-child::before{display:none}.ui.ordered.list,.ui.ordered.list .list,ol.ui.list,ol.ui.list ol{counter-reset:ordered;margin-left:1.25rem;list-style-type:none}.ui.ordered.list .list>.item,.ui.ordered.list>.item,ol.ui.list li{list-style-type:none;position:relative}.ui.ordered.list .list>.item:before,.ui.ordered.list>.item:before,ol.ui.list li:before{position:absolute;top:auto;left:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;pointer-events:none;margin-left:-1.25rem;counter-increment:ordered;content:counters(ordered,\".\") \" \";text-align:right;color:rgba(0,0,0,.87);vertical-align:middle;opacity:.8}.ui.ordered.inverted.list .list>.item:before,.ui.ordered.inverted.list>.item:before,ol.ui.inverted.list li:before{color:rgba(255,255,255,.7)}.ui.ordered.list>.item[data-value],.ui.ordered.list>.list>.item[data-value]{content:attr(data-value)}ol.ui.list li[value]:before{content:attr(value)}.ui.ordered.list .list,ol.ui.list ol{margin-left:1em}.ui.ordered.list .list>.item:before,ol.ui.list ol li:before{margin-left:-2em}.ui.ordered.horizontal.list,ol.ui.horizontal.list{margin-left:0}.ui.ordered.horizontal.list .list>.item:before,.ui.ordered.horizontal.list>.item:before,ol.ui.horizontal.list li:before{position:static;margin:0 .5em 0 0}.ui.divided.list>.item{border-top:1px solid rgba(34,36,38,.15)}.ui.divided.list .item .list>.item,.ui.divided.list .list>.item,.ui.divided.list .list>.item:first-child,.ui.divided.list>.item:first-child{border-top:none}.ui.divided.list:not(.horizontal) .list>.item:first-child{border-top-width:1px}.ui.divided.bulleted.list .list,.ui.divided.bulleted.list:not(.horizontal){margin-left:0;padding-left:0}.ui.divided.bulleted.list>.item:not(.horizontal){padding-left:1.25rem}.ui.divided.ordered.list{margin-left:0}.ui.divided.ordered.list .list>.item,.ui.divided.ordered.list>.item{padding-left:1.25rem}.ui.divided.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.divided.ordered.list .item .list>.item{padding-left:1em}.ui.divided.selection.list .list>.item,.ui.divided.selection.list>.item{margin:0;border-radius:0}.ui.divided.horizontal.list{margin-left:0}.ui.divided.horizontal.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;padding-left:.5em;padding-right:.5em;line-height:.6}.ui.horizontal.divided.list>.item:first-child{border-left:none}.ui.divided.inverted.horizontal.list>.item,.ui.divided.inverted.list>.item,.ui.divided.inverted.list>.list{border-color:rgba(255,255,255,.1)}.ui.celled.list>.item,.ui.celled.list>.list{border-top:1px solid rgba(34,36,38,.15);padding-left:.5em;padding-right:.5em}.ui.celled.list>.item:last-child{border-bottom:1px solid rgba(34,36,38,.15)}.ui.celled.list>.item:first-child,.ui.celled.list>.item:last-child{padding-top:.21428571em;padding-bottom:.21428571em}.ui.celled.list .item .list>.item{border-width:0}.ui.celled.list .list>.item:first-child{border-top-width:0}.ui.celled.bulleted.list{margin-left:0}.ui.celled.bulleted.list .list>.item,.ui.celled.bulleted.list>.item{padding-left:1.25rem}.ui.celled.bulleted.list .item .list{margin-left:-1.25rem;margin-right:-1.25rem;padding-bottom:.21428571em}.ui.celled.ordered.list{margin-left:0}.ui.celled.ordered.list .list>.item,.ui.celled.ordered.list>.item{padding-left:1.25rem}.ui.celled.ordered.list .item .list{margin-left:0;margin-right:0;padding-bottom:.21428571em}.ui.celled.ordered.list .list>.item{padding-left:1em}.ui.horizontal.celled.list{margin-left:0}.ui.horizontal.celled.list .list>.item,.ui.horizontal.celled.list>.item{border-top:none;border-left:1px solid rgba(34,36,38,.15);margin:0;padding-left:.5em;padding-right:.5em;line-height:.6}.ui.horizontal.celled.list .list>.item:last-child,.ui.horizontal.celled.list>.item:last-child{border-bottom:none;border-right:1px solid rgba(34,36,38,.15)}.ui.celled.inverted.horizontal.list .list>.item,.ui.celled.inverted.horizontal.list>.item,.ui.celled.inverted.list>.item,.ui.celled.inverted.list>.list{border-color:1px solid rgba(255,255,255,.1)}.ui.relaxed.list:not(.horizontal)>.item{padding-top:.42857143em;padding-bottom:.42857143em}.ui.relaxed.list:not(.horizontal) .list>.item{padding-top:.21428571em;padding-bottom:.21428571em}.ui.horizontal.relaxed.list>.item{padding-left:1rem;padding-right:1rem}.ui[class*=\"very relaxed\"].list:not(.horizontal)>.item{padding-top:.85714286em;padding-bottom:.85714286em}.ui[class*=\"very relaxed\"].list:not(.horizontal) .list>.item{padding-top:.28571429em;padding-bottom:.28571429em}.ui.horizontal[class*=\"very relaxed\"].list .list>.item,.ui.horizontal[class*=\"very relaxed\"].list>.item{padding-left:1.5rem;padding-right:1.5rem}.ui.mini.list{font-size:.71428571em}.ui.tiny.list{font-size:.85714286em}.ui.small.list{font-size:.92857143em}.ui.list{font-size:1em}.ui.large.list{font-size:1.14285714em}.ui.big.list{font-size:1.28571429em}.ui.huge.list{font-size:1.42857143em}.ui.massive.list{font-size:1.71428571em}.ui.mini.horizontal.list .list>.item,.ui.mini.horizontal.list>.item{font-size:.71428571rem}.ui.tiny.horizontal.list .list>.item,.ui.tiny.horizontal.list>.item{font-size:.85714286rem}.ui.small.horizontal.list .list>.item,.ui.small.horizontal.list>.item{font-size:.92857143rem}.ui.horizontal.list .list>.item,.ui.horizontal.list>.item{font-size:1rem}.ui.large.horizontal.list .list>.item,.ui.large.horizontal.list>.item{font-size:1.14285714rem}.ui.big.horizontal.list .list>.item,.ui.big.horizontal.list>.item{font-size:1.28571429rem}.ui.huge.horizontal.list .list>.item,.ui.huge.horizontal.list>.item{font-size:1.42857143rem}.ui.massive.horizontal.list .list>.item,.ui.massive.horizontal.list>.item{font-size:1.71428571rem}.ui.loader{display:none;position:absolute;top:50%;left:50%;margin:0;text-align:center;z-index:1000;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.ui.loader:before{position:absolute;content:'';top:0;left:50%;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loader:after{position:absolute;content:'';top:0;left:50%;-webkit-animation:loader .6s linear;animation:loader .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}@-webkit-keyframes loader{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loader{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.loader:after,.ui.loader:before{width:2.2585em;height:2.2585em;margin:0 0 0 -1.12925em}.ui.mini.loader:after,.ui.mini.loader:before{width:1.2857em;height:1.2857em;margin:0 0 0 -.64285em}.ui.small.loader:after,.ui.small.loader:before{width:1.7142em;height:1.7142em;margin:0 0 0 -.8571em}.ui.large.loader:after,.ui.large.loader:before{width:4.5714em;height:4.5714em;margin:0 0 0 -2.2857em}.ui.dimmer .loader{display:block}.ui.dimmer .ui.loader{color:rgba(255,255,255,.9)}.ui.dimmer .ui.loader:before{border-color:rgba(255,255,255,.15)}.ui.dimmer .ui.loader:after{border-color:#FFF transparent transparent}.ui.inverted.dimmer .ui.loader{color:rgba(0,0,0,.87)}.ui.inverted.dimmer .ui.loader:before{border-color:rgba(0,0,0,.1)}.ui.inverted.dimmer .ui.loader:after{border-color:#767676 transparent transparent}.ui.text.loader{width:auto!important;height:auto!important;text-align:center;font-style:normal}.ui.indeterminate.loader:after{-webkit-animation-direction:reverse;animation-direction:reverse;-webkit-animation-duration:1.2s;animation-duration:1.2s}.ui.loader.active,.ui.loader.visible{display:block}.ui.loader.disabled,.ui.loader.hidden{display:none}.ui.inverted.dimmer .ui.mini.loader,.ui.mini.loader{width:1.2857em;height:1.2857em;font-size:.71428571em}.ui.inverted.dimmer .ui.small.loader,.ui.small.loader{width:1.7142em;height:1.7142em;font-size:.92857143em}.ui.inverted.dimmer .ui.loader,.ui.loader{width:2.2585em;height:2.2585em;font-size:1em}.ui.inverted.dimmer .ui.loader.large,.ui.loader.large{width:4.5714em;height:4.5714em;font-size:1.14285714em}.ui.mini.text.loader{min-width:1.2857em;padding-top:1.99998571em}.ui.small.text.loader{min-width:1.7142em;padding-top:2.42848571em}.ui.text.loader{min-width:2.2585em;padding-top:2.97278571em}.ui.large.text.loader{min-width:4.5714em;padding-top:5.28568571em}.ui.inverted.loader{color:rgba(255,255,255,.9)}.ui.inverted.loader:before{border-color:rgba(255,255,255,.15)}.ui.inverted.loader:after{border-top-color:#FFF}.ui.inline.loader{position:relative;vertical-align:middle;margin:0;left:0;top:0;-webkit-transform:none;-ms-transform:none;transform:none}.ui.inline.loader.active,.ui.inline.loader.visible{display:inline-block}.ui.centered.inline.loader.active,.ui.centered.inline.loader.visible{display:block;margin-left:auto;margin-right:auto}.ui.rail{position:absolute;top:0;width:300px;height:100%;font-size:1rem}.ui.left.rail{left:auto;right:100%;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.right.rail{left:100%;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.left.internal.rail{left:0;right:auto;padding:0 0 0 2rem;margin:0 0 0 2rem}.ui.right.internal.rail{left:auto;right:0;padding:0 2rem 0 0;margin:0 2rem 0 0}.ui.dividing.rail{width:302.5px}.ui.left.dividing.rail{padding:0 2.5rem 0 0;margin:0 2.5rem 0 0;border-right:1px solid rgba(34,36,38,.15)}.ui.right.dividing.rail{border-left:1px solid rgba(34,36,38,.15);padding:0 0 0 2.5rem;margin:0 0 0 2.5rem}.ui.close.rail{width:301px}.ui.close.left.rail{padding:0 1em 0 0;margin:0 1em 0 0}.ui.close.right.rail{padding:0 0 0 1em;margin:0 0 0 1em}.ui.very.close.rail{width:300.5px}.ui.very.close.left.rail{padding:0 .5em 0 0;margin:0 .5em 0 0}.ui.very.close.right.rail{padding:0 0 0 .5em;margin:0 0 0 .5em}.ui.attached.left.rail,.ui.attached.right.rail{padding:0;margin:0}.ui.reveal{display:inherit;position:relative!important;font-size:0!important}.ui.reveal>.visible.content{position:absolute!important;top:0!important;left:0!important;z-index:3!important;-webkit-transition:all .5s ease .1s;transition:all .5s ease .1s}.ui.reveal>.hidden.content{position:relative!important;z-index:2!important}.ui.active.reveal .visible.content,.ui.reveal:hover .visible.content{z-index:4!important}.ui.slide.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.slide.reveal>.content{display:block;width:100%;float:left;margin:0;-webkit-transition:-webkit-transform .5s ease .1s;transition:transform .5s ease .1s}.ui.slide.reveal>.visible.content{position:relative!important}.ui.slide.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important;-webkit-transform:translateX(100%)!important;-ms-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.slide.active.reveal>.visible.content,.ui.slide.reveal:hover>.visible.content{-webkit-transform:translateX(-100%)!important;-ms-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.slide.active.reveal>.hidden.content,.ui.slide.reveal:hover>.hidden.content,.ui.slide.right.reveal>.visible.content{-webkit-transform:translateX(0)!important;-ms-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.right.reveal>.hidden.content{-webkit-transform:translateX(-100%)!important;-ms-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.slide.right.active.reveal>.visible.content,.ui.slide.right.reveal:hover>.visible.content{-webkit-transform:translateX(100%)!important;-ms-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.slide.right.active.reveal>.hidden.content,.ui.slide.right.reveal:hover>.hidden.content{-webkit-transform:translateX(0)!important;-ms-transform:translateX(0)!important;transform:translateX(0)!important}.ui.slide.up.reveal>.hidden.content{-webkit-transform:translateY(100%)!important;-ms-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.slide.up.active.reveal>.visible.content,.ui.slide.up.reveal:hover>.visible.content{-webkit-transform:translateY(-100%)!important;-ms-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.slide.up.active.reveal>.hidden.content,.ui.slide.up.reveal:hover>.hidden.content{-webkit-transform:translateY(0)!important;-ms-transform:translateY(0)!important;transform:translateY(0)!important}.ui.slide.down.reveal>.hidden.content{-webkit-transform:translateY(-100%)!important;-ms-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.slide.down.active.reveal>.visible.content,.ui.slide.down.reveal:hover>.visible.content{-webkit-transform:translateY(100%)!important;-ms-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.slide.down.active.reveal>.hidden.content,.ui.slide.down.reveal:hover>.hidden.content{-webkit-transform:translateY(0)!important;-ms-transform:translateY(0)!important;transform:translateY(0)!important}.ui.fade.reveal>.visible.content{opacity:1}.ui.fade.active.reveal>.visible.content,.ui.fade.reveal:hover>.visible.content{opacity:0}.ui.move.reveal{position:relative!important;overflow:hidden!important;white-space:nowrap}.ui.move.reveal>.content{display:block;float:left;margin:0;-webkit-transition:-webkit-transform .5s cubic-bezier(.175,.885,.32,1) .1s;transition:transform .5s cubic-bezier(.175,.885,.32,1) .1s}.ui.move.reveal>.visible.content{position:relative!important}.ui.move.reveal>.hidden.content{position:absolute!important;left:0!important;width:100%!important}.ui.move.active.reveal>.visible.content,.ui.move.reveal:hover>.visible.content{-webkit-transform:translateX(-100%)!important;-ms-transform:translateX(-100%)!important;transform:translateX(-100%)!important}.ui.move.right.active.reveal>.visible.content,.ui.move.right.reveal:hover>.visible.content{-webkit-transform:translateX(100%)!important;-ms-transform:translateX(100%)!important;transform:translateX(100%)!important}.ui.move.up.active.reveal>.visible.content,.ui.move.up.reveal:hover>.visible.content{-webkit-transform:translateY(-100%)!important;-ms-transform:translateY(-100%)!important;transform:translateY(-100%)!important}.ui.move.down.active.reveal>.visible.content,.ui.move.down.reveal:hover>.visible.content{-webkit-transform:translateY(100%)!important;-ms-transform:translateY(100%)!important;transform:translateY(100%)!important}.ui.rotate.reveal>.visible.content{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transform:rotate(0);-ms-transform:rotate(0);transform:rotate(0)}.ui.rotate.reveal>.visible.content,.ui.rotate.right.reveal>.visible.content{-webkit-transform-origin:bottom right;-ms-transform-origin:bottom right;transform-origin:bottom right}.ui.rotate.active.reveal>.visible.conten,.ui.rotate.reveal:hover>.visible.content,.ui.rotate.right.active.reveal>.visible.content,.ui.rotate.right.reveal:hover>.visible.content{-webkit-transform:rotate(110deg);-ms-transform:rotate(110deg);transform:rotate(110deg)}.ui.rotate.left.reveal>.visible.content{-webkit-transform-origin:bottom left;-ms-transform-origin:bottom left;transform-origin:bottom left}.ui.rotate.left.active.reveal>.visible.content,.ui.rotate.left.reveal:hover>.visible.content{-webkit-transform:rotate(-110deg);-ms-transform:rotate(-110deg);transform:rotate(-110deg)}.ui.disabled.reveal:hover>.visible.visible.content{position:static!important;display:block!important;opacity:1!important;top:0!important;left:0!important;right:auto!important;bottom:auto!important;-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.ui.disabled.reveal:hover>.hidden.hidden.content{display:none!important}.ui.visible.reveal{overflow:visible}.ui.instant.reveal>.content{-webkit-transition-delay:0s!important;transition-delay:0s!important}.ui.reveal>.content{font-size:1rem!important}.ui.segment{position:relative;background:#FFF;box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;padding:1em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segment:first-child{margin-top:0}.ui.segment:last-child{margin-bottom:0}.ui.vertical.segment{margin:0;padding-left:0;padding-right:0;background:none;border-radius:0;box-shadow:none;border:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.segment:last-child{border-bottom:none}.ui.inverted.segment>.ui.header{color:#FFF}.ui[class*=\"bottom attached\"].segment>[class*=\"top attached\"].label{border-top-left-radius:0;border-top-right-radius:0}.ui[class*=\"top attached\"].segment>[class*=\"bottom attached\"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*=\"top attached\"].label{border-top-left-radius:0;border-top-right-radius:0}.ui.attached.segment:not(.top):not(.bottom)>[class*=\"bottom attached\"].label{border-bottom-left-radius:0;border-bottom-right-radius:0}.ui.grid>.row>.ui.segment.column,.ui.grid>.ui.segment.column,.ui.page.grid.segment{padding-top:2em;padding-bottom:2em}.ui.grid.segment{margin:1rem 0;border-radius:.28571429rem}.ui.basic.table.segment{background:#FFF;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui[class*=\"very basic\"].table.segment{padding:1em}.ui.piled.segment,.ui.piled.segments{margin:3em 0;box-shadow:'';z-index:auto}.ui.piled.segment:first-child{margin-top:0}.ui.piled.segment:last-child{margin-bottom:0}.ui.piled.segment:after,.ui.piled.segment:before,.ui.piled.segments:after,.ui.piled.segments:before{background-color:#FFF;visibility:visible;content:'';display:block;height:100%;left:0;position:absolute;width:100%;border:1px solid rgba(34,36,38,.15);box-shadow:''}.ui.piled.segment:before,.ui.piled.segments:before{-webkit-transform:rotate(-1.2deg);-ms-transform:rotate(-1.2deg);transform:rotate(-1.2deg);top:0;z-index:-2}.ui.piled.segment:after,.ui.piled.segments:after{-webkit-transform:rotate(1.2deg);-ms-transform:rotate(1.2deg);transform:rotate(1.2deg);top:0;z-index:-1}.ui[class*=\"top attached\"].piled.segment{margin-top:3em;margin-bottom:0}.ui.piled.segment[class*=\"top attached\"]:first-child{margin-top:0}.ui.piled.segment[class*=\"bottom attached\"]{margin-top:0;margin-bottom:3em}.ui.piled.segment[class*=\"bottom attached\"]:last-child{margin-bottom:0}.ui.stacked.segment{padding-bottom:1.4em}.ui.stacked.segment:after,.ui.stacked.segment:before,.ui.stacked.segments:after,.ui.stacked.segments:before{content:'';position:absolute;bottom:-3px;left:0;border-top:1px solid rgba(34,36,38,.15);background:rgba(0,0,0,.03);width:100%;height:6px;visibility:visible}.ui.stacked.segment:before,.ui.stacked.segments:before{display:none}.ui.tall.stacked.segment:before,.ui.tall.stacked.segments:before{display:block;bottom:0}.ui.stacked.inverted.segment:after,.ui.stacked.inverted.segment:before,.ui.stacked.inverted.segments:after,.ui.stacked.inverted.segments:before{background-color:rgba(0,0,0,.03);border-top:1px solid rgba(34,36,38,.35)}.ui.padded.segment{padding:1.5em}.ui[class*=\"very padded\"].segment{padding:3em}.ui.compact.segment{display:table}.ui.compact.segments{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex}.ui.compact.segments .segment,.ui.segments .compact.segment{display:block;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto}.ui.circular.segment{display:table-cell;padding:2em;text-align:center;vertical-align:middle;border-radius:500em}.ui.raised.segment,.ui.raised.segments{box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08)}.ui.segments{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;position:relative;margin:1rem 0;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem}.ui.segments:first-child{margin-top:0}.ui.segments:last-child{margin-bottom:0}.ui.segments>.segment{top:0;bottom:0;border-radius:0;margin:0;width:auto;box-shadow:none;border:none;border-top:1px solid rgba(34,36,38,.15)}.ui.segments:not(.horizontal)>.segment:first-child{border-top:none;margin-top:0;bottom:0;margin-bottom:0;top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.segments:not(.horizontal)>.segment:last-child{top:0;bottom:0;margin-top:0;margin-bottom:0;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segments>.ui.segments{border-top:1px solid rgba(34,36,38,.15);margin:1rem}.ui.segments>.segments:first-child{border-top:none}.ui.segments>.segment+.segments:not(.horizontal){margin-top:0}.ui.horizontal.segments{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;padding:0;background-color:#FFF;box-shadow:0 1px 2px 0 rgba(34,36,38,.15);margin:1rem 0;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments{margin:0;background-color:transparent;border-radius:0;border:none;box-shadow:none;border-top:1px solid rgba(34,36,38,.15)}.ui.horizontal.segments>.segment{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;-ms-flex:1 1 0px;margin:0;min-width:0;background-color:transparent;border-radius:0;border:none;box-shadow:none;border-left:1px solid rgba(34,36,38,.15)}.ui.segments>.horizontal.segments:first-child{border-top:none}.ui.horizontal.segments>.segment:first-child{border-left:none}.ui.disabled.segment{opacity:.45;color:rgba(40,40,40,.3)}.ui.loading.segment{position:relative;cursor:default;point-events:none;text-shadow:none!important;color:transparent!important;-webkit-transition:all 0s linear;transition:all 0s linear}.ui.loading.segment:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;border-radius:.28571429rem;z-index:100}.ui.loading.segment:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:segment-spin .6s linear;animation:segment-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes segment-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes segment-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.basic.segment{background:none;box-shadow:none;border:none;border-radius:0}.ui.clearing.segment:after{content:\".\";display:block;height:0;clear:both;visibility:hidden}.ui.red.segment:not(.inverted){border-top:2px solid #DB2828}.ui.inverted.red.segment{background-color:#DB2828!important;color:#FFF!important}.ui.orange.segment:not(.inverted){border-top:2px solid #F2711C}.ui.inverted.orange.segment{background-color:#F2711C!important;color:#FFF!important}.ui.yellow.segment:not(.inverted){border-top:2px solid #FBBD08}.ui.inverted.yellow.segment{background-color:#FBBD08!important;color:#FFF!important}.ui.olive.segment:not(.inverted){border-top:2px solid #B5CC18}.ui.inverted.olive.segment{background-color:#B5CC18!important;color:#FFF!important}.ui.green.segment:not(.inverted){border-top:2px solid #21BA45}.ui.inverted.green.segment{background-color:#21BA45!important;color:#FFF!important}.ui.teal.segment:not(.inverted){border-top:2px solid #00B5AD}.ui.inverted.teal.segment{background-color:#00B5AD!important;color:#FFF!important}.ui.blue.segment:not(.inverted){border-top:2px solid #2185D0}.ui.inverted.blue.segment{background-color:#2185D0!important;color:#FFF!important}.ui.violet.segment:not(.inverted){border-top:2px solid #6435C9}.ui.inverted.violet.segment{background-color:#6435C9!important;color:#FFF!important}.ui.purple.segment:not(.inverted){border-top:2px solid #A333C8}.ui.inverted.purple.segment{background-color:#A333C8!important;color:#FFF!important}.ui.pink.segment:not(.inverted){border-top:2px solid #E03997}.ui.inverted.pink.segment{background-color:#E03997!important;color:#FFF!important}.ui.brown.segment:not(.inverted){border-top:2px solid #A5673F}.ui.inverted.brown.segment{background-color:#A5673F!important;color:#FFF!important}.ui.grey.segment:not(.inverted){border-top:2px solid #767676}.ui.inverted.grey.segment{background-color:#767676!important;color:#FFF!important}.ui.black.segment:not(.inverted){border-top:2px solid #1B1C1D}.ui.inverted.black.segment{background-color:#1B1C1D!important;color:#FFF!important}.ui[class*=\"left aligned\"].segment{text-align:left}.ui[class*=\"right aligned\"].segment{text-align:right}.ui[class*=\"center aligned\"].segment{text-align:center}.ui.floated.segment,.ui[class*=\"left floated\"].segment{float:left;margin-right:1em}.ui[class*=\"right floated\"].segment{float:right;margin-left:1em}.ui.inverted.segment{border:none;box-shadow:none}.ui.inverted.segment,.ui.primary.inverted.segment{background:#1B1C1D;color:rgba(255,255,255,.9)}.ui.inverted.segment .segment{color:rgba(0,0,0,.87)}.ui.inverted.segment .inverted.segment{color:rgba(255,255,255,.9)}.ui.inverted.attached.segment{border-color:#555}.ui.secondary.segment{background:#F3F4F5;color:rgba(0,0,0,.6)}.ui.secondary.inverted.segment{background:-webkit-linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%) #4c4f52;background:linear-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.2) 100%) #4c4f52;color:rgba(255,255,255,.8)}.ui.tertiary.segment{background:#DCDDDE;color:rgba(0,0,0,.6)}.ui.tertiary.inverted.segment{background:-webkit-linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%) #717579;background:linear-gradient(rgba(255,255,255,.35) 0,rgba(255,255,255,.35) 100%) #717579;color:rgba(255,255,255,.8)}.ui.attached.segment{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);box-shadow:none;border:1px solid #D4D4D5}.ui.attached+.ui.attached.segment:not(.top){border-top:none}.ui[class*=\"top attached\"].segment{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.segment[class*=\"top attached\"]:first-child{margin-top:0}.ui.segment[class*=\"bottom attached\"]{bottom:0;margin-top:0;top:0;margin-bottom:1rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui.segment[class*=\"bottom attached\"]:last-child{margin-bottom:0}.ui.steps{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;margin:1em 0;background:0 0;box-shadow:none;line-height:1.14285714em;border-radius:.28571429rem;border:1px solid rgba(34,36,38,.15)}.ui.steps:first-child{margin-top:0}.ui.steps:last-child{margin-bottom:0}.ui.steps .step{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;vertical-align:middle;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:0;padding:1.14285714em 2em;background:#FFF;color:rgba(0,0,0,.87);box-shadow:none;border-radius:0;border:none;border-right:1px solid rgba(34,36,38,.15);-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease}.ui.steps .step:after{position:absolute;z-index:2;content:'';top:50%;right:0;border:solid;background-color:#FFF;width:1.14285714em;height:1.14285714em;border-color:rgba(34,36,38,.15);border-width:0 1px 1px 0;-webkit-transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;transition:background-color .1s ease,opacity .1s ease,color .1s ease,box-shadow .1s ease;-webkit-transform:translateY(-50%) translateX(50%) rotate(-45deg);-ms-transform:translateY(-50%) translateX(50%) rotate(-45deg);transform:translateY(-50%) translateX(50%) rotate(-45deg)}.ui.steps .step:first-child{padding-left:2em;border-radius:.28571429rem 0 0 .28571429rem}.ui.steps .step:last-child{border-radius:0 .28571429rem .28571429rem 0;border-right:none;margin-right:0}.ui.steps .step:only-child{border-radius:.28571429rem}.ui.steps .step .title{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.14285714em;font-weight:700}.ui.steps .step>.title{width:100%}.ui.steps .step .description{font-weight:400;font-size:.92857143em;color:rgba(0,0,0,.87)}.ui.steps .step>.description{width:100%}.ui.steps .step .title~.description{margin-top:.25em}.ui.steps .step>.icon{line-height:1;font-size:2.5em;margin:0 1rem 0 0}.ui.steps .step>.icon,.ui.steps .step>.icon~.content{display:block;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-align-self:middle;-ms-flex-item-align:middle;align-self:middle}.ui.steps .step>.icon~.content{-webkit-box-flex:1 0 auto;-webkit-flex-grow:1 0 auto;-ms-flex-positive:1 0 auto;flex-grow:1 0 auto}.ui.steps:not(.vertical) .step>.icon{width:auto}.ui.steps .link.step,.ui.steps a.step{cursor:pointer}.ui.ordered.steps{counter-reset:ordered}.ui.ordered.steps .step:before{display:block;position:static;text-align:center;content:counters(ordered,\".\");-webkit-align-self:middle;-ms-flex-item-align:middle;align-self:middle;margin-right:1rem;font-size:2.5em;counter-increment:ordered;font-family:inherit;font-weight:700}.ui.ordered.steps .step>*{display:block;-webkit-align-self:middle;-ms-flex-item-align:middle;align-self:middle}.ui.vertical.steps{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;overflow:visible}.ui.vertical.steps .step{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-flex-pack:start;justify-content:flex-start;border-radius:0;padding:1.14285714em 2em;border-right:none;border-bottom:1px solid rgba(34,36,38,.15)}.ui.vertical.steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.steps .step:last-child{border-bottom:none;border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.steps .step:only-child{border-radius:.28571429rem}.ui.vertical.steps .step:after{top:50%;right:0;border-width:0 1px 1px 0;display:none}.ui.vertical.steps .active.step:after{display:block}.ui.vertical.steps .step:last-child:after{display:none}.ui.vertical.steps .active.step:last-child:after{display:block}@media only screen and (max-width:767px){.ui.steps{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui.steps .step{width:100%!important;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui.steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui.steps .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.steps .step:after{display:none!important}.ui.steps .step .content{text-align:center}.ui.ordered.steps .step:before,.ui.steps .step>.icon{margin:0 0 1rem}}.ui.steps .link.step:hover,.ui.steps .link.step:hover::after,.ui.steps a.step:hover,.ui.steps a.step:hover::after{background:#F9FAFB;color:rgba(0,0,0,.8)}.ui.steps .link.step:active,.ui.steps .link.step:active::after,.ui.steps a.step:active,.ui.steps a.step:active::after{background:#F3F4F5;color:rgba(0,0,0,.9)}.ui.steps .step.active{cursor:auto;background:#F3F4F5}.ui.steps .step.active:after{background:#F3F4F5}.ui.steps .step.active .title{color:#4183C4}.ui.ordered.steps .step.active:before,.ui.steps .active.step .icon{color:rgba(0,0,0,.85)}.ui.steps .active.step:after,.ui.steps .step:after{display:block}.ui.steps .active.step:last-child:after,.ui.steps .step:last-child:after{display:none}.ui.steps .link.active.step:hover,.ui.steps .link.active.step:hover::after,.ui.steps a.active.step:hover,.ui.steps a.active.step:hover::after{cursor:pointer;background:#DCDDDE;color:rgba(0,0,0,.87)}.ui.ordered.steps .step.completed:before,.ui.steps .step.completed>.icon:before{color:#21BA45;font-family:Step;content:'\\e800'}.ui.steps .disabled.step{cursor:auto;background:#FFF;pointer-events:none}.ui.steps .disabled.step,.ui.steps .disabled.step .description,.ui.steps .disabled.step .title{color:rgba(40,40,40,.3)}.ui.steps .disabled.step:after{background:#FFF}@media only screen and (max-width:991px){.ui[class*=\"tablet stackable\"].steps{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;overflow:visible;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui[class*=\"tablet stackable\"].steps .step{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;border-radius:0;padding:1.14285714em 2em}.ui[class*=\"tablet stackable\"].steps .step:first-child{padding:1.14285714em 2em;border-radius:.28571429rem .28571429rem 0 0}.ui[class*=\"tablet stackable\"].steps .step:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui[class*=\"tablet stackable\"].steps .step:after{display:none!important}.ui[class*=\"tablet stackable\"].steps .step .content{text-align:center}.ui[class*=\"tablet stackable\"].ordered.steps .step:before,.ui[class*=\"tablet stackable\"].steps .step>.icon{margin:0 0 1rem}}.ui.fluid.steps{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%}.ui.attached.steps{width:calc(100% + 2px)!important;margin:0 -1px -1px;max-width:calc(100% + 2px);border-radius:.28571429rem .28571429rem 0 0}.ui.attached.steps .step:first-child{border-radius:.28571429rem 0 0}.ui.attached.steps .step:last-child{border-radius:0 .28571429rem 0 0}.ui.bottom.attached.steps{margin:-1px -1px 0;border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.attached.steps .step:first-child{border-radius:0 0 0 .28571429rem}.ui.bottom.attached.steps .step:last-child{border-radius:0 0 .28571429rem}.ui.eight.steps,.ui.five.steps,.ui.four.steps,.ui.one.steps,.ui.seven.steps,.ui.six.steps,.ui.three.steps,.ui.two.steps{width:100%}.ui.eight.steps>.step,.ui.five.steps>.step,.ui.four.steps>.step,.ui.one.steps>.step,.ui.seven.steps>.step,.ui.six.steps>.step,.ui.three.steps>.step,.ui.two.steps>.step{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.ui.one.steps>.step{width:100%}.ui.two.steps>.step{width:50%}.ui.three.steps>.step{width:33.333%}.ui.four.steps>.step{width:25%}.ui.five.steps>.step{width:20%}.ui.six.steps>.step{width:16.666%}.ui.seven.steps>.step{width:14.285%}.ui.eight.steps>.step{width:12.5%}.ui.small.step,.ui.small.steps .step{font-size:.92857143rem}.ui.step,.ui.steps .step{font-size:1rem}.ui.large.step,.ui.large.steps .step{font-size:1.14285714rem}@font-face{font-family:Step;src:url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff')}.ui.breadcrumb{line-height:1;display:inline-block;margin:0;vertical-align:middle}.ui.breadcrumb:first-child{margin-top:0}.ui.breadcrumb:last-child{margin-bottom:0}.ui.breadcrumb .divider{display:inline-block;opacity:.7;margin:0 .21428571rem;font-size:.92857143em;color:rgba(0,0,0,.4);vertical-align:baseline}.ui.breadcrumb a{color:#4183C4}.ui.breadcrumb a:hover{color:#1e70bf}.ui.breadcrumb .icon.divider{font-size:.85714286em;vertical-align:baseline}.ui.breadcrumb a.section{cursor:pointer}.ui.breadcrumb .section{display:inline-block;margin:0;padding:0}.ui.breadcrumb.segment{display:inline-block;padding:.71428571em 1em}.ui.breadcrumb .active.section{font-weight:700}.ui.mini.breadcrumb{font-size:.71428571rem}.ui.tiny.breadcrumb{font-size:.85714286rem}.ui.small.breadcrumb{font-size:.92857143rem}.ui.breadcrumb{font-size:1rem}.ui.large.breadcrumb{font-size:1.14285714rem}.ui.big.breadcrumb{font-size:1.28571429rem}.ui.huge.breadcrumb{font-size:1.42857143rem}.ui.massive.breadcrumb{font-size:1.71428571rem}.ui.form{position:relative;max-width:100%}.ui.form>p{margin:1em 0}.ui.form .field{clear:both;margin:0 0 1em}.ui.form .field:last-child,.ui.form .fields:last-child .field{margin-bottom:0}.ui.form .fields .field{clear:both;margin:0 0 1em}.ui.form .field>label{display:block;margin:0 0 .28571429rem;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form input:not([type]),.ui.form input[type=text],.ui.form input[type=email],.ui.form input[type=search],.ui.form input[type=password],.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=tel],.ui.form input[type=time],.ui.form input[type=url],.ui.form input[type=number],.ui.form textarea{width:100%;vertical-align:top}.ui.form ::-webkit-datetime-edit,.ui.form ::-webkit-inner-spin-button{height:1.2142em}.ui.form input:not([type]),.ui.form input[type=text],.ui.form input[type=email],.ui.form input[type=search],.ui.form input[type=password],.ui.form input[type=date],.ui.form input[type=datetime-local],.ui.form input[type=tel],.ui.form input[type=time],.ui.form input[type=url],.ui.form input[type=number]{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;margin:0;outline:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);line-height:1.2142em;padding:.67861429em 1em;font-size:1em;background:#FFF;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease}.ui.form textarea{margin:0;-webkit-appearance:none;tap-highlight-color:rgba(255,255,255,0);padding:.78571429em 1em;background:#FFF;border:1px solid rgba(34,36,38,.15);outline:0;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease;font-size:1em;line-height:1.2857;resize:vertical}.ui.form textarea:not([rows]){height:12em;min-height:8em;max-height:24em}.ui.form input[type=checkbox],.ui.form textarea{vertical-align:top}.ui.form input.attached{width:auto}.ui.form select{display:block;height:auto;width:100%;background:#FFF;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;box-shadow:0 0 0 0 transparent inset;padding:.62em 1em;color:rgba(0,0,0,.87);-webkit-transition:color .1s ease,border-color .1s ease;transition:color .1s ease,border-color .1s ease}.ui.form .field>.selection.dropdown{width:100%}.ui.form .field>.selection.dropdown>.dropdown.icon{float:right}.ui.form .inline.field>.selection.dropdown,.ui.form .inline.fields .field>.selection.dropdown{width:auto}.ui.form .inline.field>.selection.dropdown>.dropdown.icon,.ui.form .inline.fields .field>.selection.dropdown>.dropdown.icon{float:none}.ui.form .field .ui.input,.ui.form .fields .field .ui.input,.ui.form .wide.field .ui.input{width:100%}.ui.form .inline.field:not(.wide) .ui.input,.ui.form .inline.fields .field:not(.wide) .ui.input{width:auto;vertical-align:middle}.ui.form .field .ui.input input,.ui.form .fields .field .ui.input input{width:auto}.ui.form .eight.fields .ui.input input,.ui.form .five.fields .ui.input input,.ui.form .four.fields .ui.input input,.ui.form .nine.fields .ui.input input,.ui.form .seven.fields .ui.input input,.ui.form .six.fields .ui.input input,.ui.form .ten.fields .ui.input input,.ui.form .three.fields .ui.input input,.ui.form .two.fields .ui.input input,.ui.form .wide.field .ui.input input{-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;width:0}.ui.form .error.message,.ui.form .success.message,.ui.form .warning.message{display:none}.ui.form .message:first-child{margin-top:0}.ui.form .field .prompt.label{white-space:normal;background:#FFF!important;border:1px solid #E0B4B4!important;color:#9F3A38!important}.ui.form .inline.field .prompt,.ui.form .inline.fields .field .prompt{vertical-align:top;margin:-.25em 0 -.5em .5em}.ui.form .inline.field .prompt:before,.ui.form .inline.fields .field .prompt:before{border-width:0 0 1px 1px;bottom:auto;right:auto;top:50%;left:0}.ui.form .field.field input:-webkit-autofill{box-shadow:0 0 0 100px ivory inset!important;border-color:#E5DFA1!important}.ui.form .field.field input:-webkit-autofill:focus{box-shadow:0 0 0 100px ivory inset!important;border-color:#D5C315!important}.ui.form .error.error input:-webkit-autofill{box-shadow:0 0 0 100px #FFFAF0 inset!important;border-color:#E0B4B4!important}.ui.form ::-webkit-input-placeholder{color:rgba(140,140,140,.87)}.ui.form ::-ms-input-placeholder{color:rgba(140,140,140,.87)}.ui.form ::-moz-placeholder{color:rgba(140,140,140,.87)}.ui.form :focus::-webkit-input-placeholder{color:rgba(89,89,89,.87)}.ui.form :focus::-ms-input-placeholder{color:rgba(89,89,89,.87)}.ui.form :focus::-moz-placeholder{color:rgba(89,89,89,.87)}.ui.form .error ::-webkit-input-placeholder{color:#e7bdbc}.ui.form .error ::-ms-input-placeholder{color:#e7bdbc}.ui.form .error ::-moz-placeholder{color:#e7bdbc}.ui.form .error :focus::-webkit-input-placeholder{color:#da9796}.ui.form .error :focus::-ms-input-placeholder{color:#da9796}.ui.form .error :focus::-moz-placeholder{color:#da9796}.ui.form input:not([type]):focus,.ui.form input[type=text]:focus,.ui.form input[type=email]:focus,.ui.form input[type=search]:focus,.ui.form input[type=password]:focus,.ui.form input[type=date]:focus,.ui.form input[type=datetime-local]:focus,.ui.form input[type=tel]:focus,.ui.form input[type=time]:focus,.ui.form input[type=url]:focus,.ui.form input[type=number]:focus{color:rgba(0,0,0,.95);border-color:#85B7D9;border-radius:.28571429rem;background:#FFF;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset}.ui.form textarea:focus{color:rgba(0,0,0,.95);border-color:#85B7D9;border-radius:.28571429rem;background:#FFF;box-shadow:0 0 0 0 rgba(34,36,38,.35) inset;-webkit-appearance:none}.ui.form.success .success.message:not(:empty){display:block}.ui.form.success .icon.success.message:not(:empty){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ui.form.warning .warning.message:not(:empty){display:block}.ui.form.warning .icon.warning.message:not(:empty){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ui.form.error .error.message:not(:empty){display:block}.ui.form.error .icon.error.message:not(:empty){display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ui.form .field.error .input,.ui.form .field.error label,.ui.form .fields.error .field .input,.ui.form .fields.error .field label{color:#9F3A38}.ui.form .field.error .corner.label,.ui.form .fields.error .field .corner.label{border-color:#9F3A38;color:#FFF}.ui.form .field.error input:not([type]),.ui.form .field.error input[type=text],.ui.form .field.error input[type=email],.ui.form .field.error input[type=search],.ui.form .field.error input[type=password],.ui.form .field.error input[type=date],.ui.form .field.error input[type=datetime-local],.ui.form .field.error input[type=tel],.ui.form .field.error input[type=time],.ui.form .field.error input[type=url],.ui.form .field.error input[type=number],.ui.form .field.error select,.ui.form .field.error textarea,.ui.form .fields.error .field input:not([type]),.ui.form .fields.error .field input[type=text],.ui.form .fields.error .field input[type=email],.ui.form .fields.error .field input[type=search],.ui.form .fields.error .field input[type=password],.ui.form .fields.error .field input[type=date],.ui.form .fields.error .field input[type=datetime-local],.ui.form .fields.error .field input[type=tel],.ui.form .fields.error .field input[type=time],.ui.form .fields.error .field input[type=url],.ui.form .fields.error .field input[type=number],.ui.form .fields.error .field select,.ui.form .fields.error .field textarea{background:#FFF6F6;border-color:#E0B4B4;color:#9F3A38;border-radius:'';box-shadow:none}.ui.form .field.error input:not([type]):focus,.ui.form .field.error input[type=text]:focus,.ui.form .field.error input[type=email]:focus,.ui.form .field.error input[type=search]:focus,.ui.form .field.error input[type=password]:focus,.ui.form .field.error input[type=date]:focus,.ui.form .field.error input[type=datetime-local]:focus,.ui.form .field.error input[type=tel]:focus,.ui.form .field.error input[type=time]:focus,.ui.form .field.error input[type=url]:focus,.ui.form .field.error input[type=number]:focus,.ui.form .field.error select:focus,.ui.form .field.error textarea:focus{background:#FFF6F6;border-color:#E0B4B4;color:#9F3A38;-webkit-appearance:none;box-shadow:none}.ui.form .field.error select{-webkit-appearance:menulist-button}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown .item,.ui.form .field.error .ui.dropdown .text,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown .item{background:#FFF6F6;color:#9F3A38}.ui.form .field.error .ui.dropdown,.ui.form .field.error .ui.dropdown:hover,.ui.form .fields.error .field .ui.dropdown,.ui.form .fields.error .field .ui.dropdown:hover{border-color:#E0B4B4!important}.ui.form .field.error .ui.dropdown:hover .menu,.ui.form .fields.error .field .ui.dropdown:hover .menu{border-color:#E0B4B4}.ui.form .field.error .ui.multiple.selection.dropdown>.label,.ui.form .fields.error .field .ui.multiple.selection.dropdown>.label{background-color:#EACBCB;color:#9F3A38}.ui.form .field.error .ui.dropdown .menu .item:hover,.ui.form .field.error .ui.dropdown .menu .selected.item,.ui.form .fields.error .field .ui.dropdown .menu .item:hover,.ui.form .fields.error .field .ui.dropdown .menu .selected.item{background-color:#FBE7E7}.ui.form .field.error .ui.dropdown .menu .active.item,.ui.form .fields.error .field .ui.dropdown .menu .active.item{background-color:#FDCFCF!important}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label{color:#9F3A38}.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before{background:#FFF6F6;border-color:#E0B4B4}.ui.form .field.error .checkbox .box:after,.ui.form .field.error .checkbox label:after,.ui.form .fields.error .field .checkbox .box:after,.ui.form .fields.error .field .checkbox label:after{color:#9F3A38}.ui.form .disabled.field,.ui.form .disabled.fields .field,.ui.form .field :disabled{pointer-events:none;opacity:.45}.ui.form .field.disabled label{opacity:.45}.ui.form .field.disabled :disabled{opacity:1}.ui.loading.form{position:relative;cursor:default;point-events:none;text-shadow:none!important;color:transparent!important;-webkit-transition:all 0s linear;transition:all 0s linear;z-index:100}.ui.loading.form:before{position:absolute;content:'';top:0;left:0;background:rgba(255,255,255,.8);width:100%;height:100%;z-index:100}.ui.loading.form:after{position:absolute;content:'';top:50%;left:50%;margin:-1.5em 0 0 -1.5em;width:3em;height:3em;-webkit-animation:form-spin .6s linear;animation:form-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 rgba(0,0,0,.1) rgba(0,0,0,.1);border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent;visibility:visible;z-index:101}@-webkit-keyframes form-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes form-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.form .required.field>.checkbox:after,.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>label:after{margin:-.2em 0 0 .2em;content:'*';color:#DB2828}.ui.form .required.field>label:after,.ui.form .required.fields.grouped>label:after,.ui.form .required.fields:not(.grouped)>.field>label:after{display:inline-block;vertical-align:top}.ui.form .required.field>.checkbox:after,.ui.form .required.fields:not(.grouped)>.field>.checkbox:after{position:absolute;top:0;left:100%}.ui.form .inverted.segment .ui.checkbox .box,.ui.form .inverted.segment .ui.checkbox label,.ui.form .inverted.segment label,.ui.inverted.form .ui.checkbox .box,.ui.inverted.form .ui.checkbox label,.ui.inverted.form label{color:rgba(255,255,255,.9)}.ui.inverted.form input:not([type]),.ui.inverted.form input[type=text],.ui.inverted.form input[type=email],.ui.inverted.form input[type=search],.ui.inverted.form input[type=password],.ui.inverted.form input[type=date],.ui.inverted.form input[type=datetime-local],.ui.inverted.form input[type=tel],.ui.inverted.form input[type=time],.ui.inverted.form input[type=url],.ui.inverted.form input[type=number]{background:#FFF;border-color:rgba(255,255,255,.1);color:rgba(0,0,0,.87);box-shadow:none}.ui.form .grouped.fields{display:block;margin:0 0 1em}.ui.form .grouped.fields:last-child{margin-bottom:0}.ui.form .grouped.fields>label{margin:0 0 .28571429rem;color:rgba(0,0,0,.87);font-size:.92857143em;font-weight:700;text-transform:none}.ui.form .grouped.fields .field,.ui.form .grouped.inline.fields .field{display:block;margin:.5em 0;padding:0}.ui.form .fields{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ui.form .fields>.field{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;padding-left:.5em;padding-right:.5em}.ui.form .fields>.field:first-child{border-left:none;box-shadow:none}.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:50%}.ui.form .three.fields>.field,.ui.form .three.fields>.fields{width:33.33333333%}.ui.form .four.fields>.field,.ui.form .four.fields>.fields{width:25%}.ui.form .five.fields>.field,.ui.form .five.fields>.fields{width:20%}.ui.form .six.fields>.field,.ui.form .six.fields>.fields{width:16.66666667%}.ui.form .seven.fields>.field,.ui.form .seven.fields>.fields{width:14.28571429%}.ui.form .eight.fields>.field,.ui.form .eight.fields>.fields{width:12.5%}.ui.form .nine.fields>.field,.ui.form .nine.fields>.fields{width:11.11111111%}.ui.form .ten.fields>.field,.ui.form .ten.fields>.fields{width:10%}@media only screen and (max-width:767px){.ui.form .fields{-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.form .eight.fields>.field,.ui.form .eight.fields>.fields,.ui.form .five.fields>.field,.ui.form .five.fields>.fields,.ui.form .four.fields>.field,.ui.form .four.fields>.fields,.ui.form .nine.fields>.field,.ui.form .nine.fields>.fields,.ui.form .seven.fields>.field,.ui.form .seven.fields>.fields,.ui.form .six.fields>.field,.ui.form .six.fields>.fields,.ui.form .ten.fields>.field,.ui.form .ten.fields>.fields,.ui.form .three.fields>.field,.ui.form .three.fields>.fields,.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:100%!important;margin:0 0 1em;padding-left:0;padding-right:0}}.ui.form .fields .field:first-child{padding-left:0}.ui.form .fields .field:last-child{padding-right:0}.ui.form .fields .wide.field{width:6.25%;padding-left:.5em;padding-right:.5em}.ui.form .fields .wide.field:first-child{padding-left:0}.ui.form .fields .wide.field:last-child{padding-right:0}.ui.form .one.wide.field{width:6.25%!important}.ui.form .two.wide.field{width:12.5%!important}.ui.form .three.wide.field{width:18.75%!important}.ui.form .four.wide.field{width:25%!important}.ui.form .five.wide.field{width:31.25%!important}.ui.form .six.wide.field{width:37.5%!important}.ui.form .seven.wide.field{width:43.75%!important}.ui.form .eight.wide.field{width:50%!important}.ui.form .nine.wide.field{width:56.25%!important}.ui.form .ten.wide.field{width:62.5%!important}.ui.form .eleven.wide.field{width:68.75%!important}.ui.form .twelve.wide.field{width:75%!important}.ui.form .thirteen.wide.field{width:81.25%!important}.ui.form .fourteen.wide.field{width:87.5%!important}.ui.form .fifteen.wide.field{width:93.75%!important}.ui.form .sixteen.wide.field{width:100%!important}@media only screen and (max-width:767px){.ui.form .fields>.eight.wide.field,.ui.form .fields>.eleven.wide.field,.ui.form .fields>.fifteen.wide.field,.ui.form .fields>.five.wide.field,.ui.form .fields>.four.wide.field,.ui.form .fields>.fourteen.wide.field,.ui.form .fields>.nine.wide.field,.ui.form .fields>.seven.wide.field,.ui.form .fields>.six.wide.field,.ui.form .fields>.sixteen.wide.field,.ui.form .fields>.ten.wide.field,.ui.form .fields>.thirteen.wide.field,.ui.form .fields>.three.wide.field,.ui.form .fields>.twelve.wide.field,.ui.form .fields>.two.wide.field,.ui.form .five.fields>.field,.ui.form .five.fields>.fields,.ui.form .four.fields>.field,.ui.form .four.fields>.fields,.ui.form .three.fields>.field,.ui.form .three.fields>.fields,.ui.form .two.fields>.field,.ui.form .two.fields>.fields{width:100%!important;margin:0 0 1em;padding-left:0;padding-right:0}}.ui.form [class*=\"equal width\"].fields>.field,.ui[class*=\"equal width\"].form .fields>.field{width:100%;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto}.ui.form .inline.fields{margin:0 0 1em;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui.form .inline.fields .field{margin:0;padding:0 1em 0 0}.ui.form .inline.field>label,.ui.form .inline.field>p,.ui.form .inline.fields .field>label,.ui.form .inline.fields .field>p,.ui.form .inline.fields>label{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:baseline;font-size:.92857143em;font-weight:700;color:rgba(0,0,0,.87);text-transform:none}.ui.form .inline.fields>label{margin:.035714em 1em 0 0}.ui.form .inline.field>input,.ui.form .inline.field>select,.ui.form .inline.fields .field>input,.ui.form .inline.fields .field>select{display:inline-block;width:auto;margin-top:0;margin-bottom:0;vertical-align:middle;font-size:1em}.ui.form .inline.field>:first-child,.ui.form .inline.fields .field>:first-child{margin:0 .85714286em 0 0}.ui.form .inline.field>:only-child,.ui.form .inline.fields .field>:only-child{margin:0}.ui.form .inline.fields .wide.field{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui.form .inline.fields .wide.field>input,.ui.form .inline.fields .wide.field>select{width:100%}.ui.small.form{font-size:.92857143rem}.ui.form{font-size:1rem}.ui.large.form{font-size:1.14285714rem}.ui.huge.form{font-size:1.42857143rem}.ui.grid{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;padding:0;margin:-1rem}.ui.relaxed.grid{margin-left:-1.5rem;margin-right:-1.5rem}.ui[class*=\"very relaxed\"].grid{margin-left:-2.5rem;margin-right:-2.5rem}.ui.grid+.grid{margin-top:1rem}.ui.grid>.column:not(.row),.ui.grid>.row>.column{position:relative;display:inline-block;width:6.25%;padding-left:1rem;padding-right:1rem;vertical-align:top}.ui.grid>*{padding-left:1rem;padding-right:1rem}.ui.grid>.row{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:inherit;-webkit-justify-content:inherit;-ms-flex-pack:inherit;justify-content:inherit;-webkit-box-align:stretch;-webkit-align-items:stretch;-ms-flex-align:stretch;align-items:stretch;width:100%!important;padding:1rem 0}.ui.grid>.column:not(.row){padding-top:1rem;padding-bottom:1rem}.ui.grid>.row>.column{margin-top:0;margin-bottom:0}.ui.grid>.row>.column>img,.ui.grid>.row>img{max-width:100%}.ui.grid>.ui.grid:first-child{margin-top:0}.ui.grid>.ui.grid:last-child{margin-bottom:0}.ui.aligned.grid .column>.segment:not(.compact):not(.attached),.ui.grid .aligned.row>.column>.segment:not(.compact):not(.attached){width:100%}.ui.grid .row+.ui.divider{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;margin:1rem}.ui.grid .column+.ui.vertical.divider{height:calc(50% - 1rem)}.ui.grid>.column:last-child>.horizontal.segment,.ui.grid>.row>.column:last-child>.horizontal.segment{box-shadow:none}@media only screen and (max-width:767px){.ui.page.grid{width:auto;padding-left:0;padding-right:0;margin-left:0;margin-right:0}}@media only screen and (min-width:768px) and (max-width:991px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:2em;padding-right:2em}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:3%;padding-right:3%}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:15%;padding-right:15%}}@media only screen and (min-width:1920px){.ui.page.grid{width:auto;margin-left:0;margin-right:0;padding-left:23%;padding-right:23%}}.ui.grid>.column:only-child,.ui.grid>.row>.column:only-child,.ui[class*=\"one column\"].grid>.column:not(.row),.ui[class*=\"one column\"].grid>.row>.column{width:100%}.ui[class*=\"two column\"].grid>.column:not(.row),.ui[class*=\"two column\"].grid>.row>.column{width:50%}.ui[class*=\"three column\"].grid>.column:not(.row),.ui[class*=\"three column\"].grid>.row>.column{width:33.33333333%}.ui[class*=\"four column\"].grid>.column:not(.row),.ui[class*=\"four column\"].grid>.row>.column{width:25%}.ui[class*=\"five column\"].grid>.column:not(.row),.ui[class*=\"five column\"].grid>.row>.column{width:20%}.ui[class*=\"six column\"].grid>.column:not(.row),.ui[class*=\"six column\"].grid>.row>.column{width:16.66666667%}.ui[class*=\"seven column\"].grid>.column:not(.row),.ui[class*=\"seven column\"].grid>.row>.column{width:14.28571429%}.ui[class*=\"eight column\"].grid>.column:not(.row),.ui[class*=\"eight column\"].grid>.row>.column{width:12.5%}.ui[class*=\"nine column\"].grid>.column:not(.row),.ui[class*=\"nine column\"].grid>.row>.column{width:11.11111111%}.ui[class*=\"ten column\"].grid>.column:not(.row),.ui[class*=\"ten column\"].grid>.row>.column{width:10%}.ui[class*=\"eleven column\"].grid>.column:not(.row),.ui[class*=\"eleven column\"].grid>.row>.column{width:9.09090909%}.ui[class*=\"twelve column\"].grid>.column:not(.row),.ui[class*=\"twelve column\"].grid>.row>.column{width:8.33333333%}.ui[class*=\"thirteen column\"].grid>.column:not(.row),.ui[class*=\"thirteen column\"].grid>.row>.column{width:7.69230769%}.ui[class*=\"fourteen column\"].grid>.column:not(.row),.ui[class*=\"fourteen column\"].grid>.row>.column{width:7.14285714%}.ui[class*=\"fifteen column\"].grid>.column:not(.row),.ui[class*=\"fifteen column\"].grid>.row>.column{width:6.66666667%}.ui[class*=\"sixteen column\"].grid>.column:not(.row),.ui[class*=\"sixteen column\"].grid>.row>.column{width:6.25%}.ui.grid>[class*=\"one column\"].row>.column{width:100%!important}.ui.grid>[class*=\"two column\"].row>.column{width:50%!important}.ui.grid>[class*=\"three column\"].row>.column{width:33.33333333%!important}.ui.grid>[class*=\"four column\"].row>.column{width:25%!important}.ui.grid>[class*=\"five column\"].row>.column{width:20%!important}.ui.grid>[class*=\"six column\"].row>.column{width:16.66666667%!important}.ui.grid>[class*=\"seven column\"].row>.column{width:14.28571429%!important}.ui.grid>[class*=\"eight column\"].row>.column{width:12.5%!important}.ui.grid>[class*=\"nine column\"].row>.column{width:11.11111111%!important}.ui.grid>[class*=\"ten column\"].row>.column{width:10%!important}.ui.grid>[class*=\"eleven column\"].row>.column{width:9.09090909%!important}.ui.grid>[class*=\"twelve column\"].row>.column{width:8.33333333%!important}.ui.grid>[class*=\"thirteen column\"].row>.column{width:7.69230769%!important}.ui.grid>[class*=\"fourteen column\"].row>.column{width:7.14285714%!important}.ui.grid>[class*=\"fifteen column\"].row>.column{width:6.66666667%!important}.ui.grid>[class*=\"sixteen column\"].row>.column{width:6.25%!important}.ui.celled.page.grid{box-shadow:none}.ui.column.grid>[class*=\"one wide\"].column,.ui.grid>.column.row>[class*=\"one wide\"].column,.ui.grid>.row>[class*=\"one wide\"].column,.ui.grid>[class*=\"one wide\"].column{width:6.25%!important}.ui.column.grid>[class*=\"two wide\"].column,.ui.grid>.column.row>[class*=\"two wide\"].column,.ui.grid>.row>[class*=\"two wide\"].column,.ui.grid>[class*=\"two wide\"].column{width:12.5%!important}.ui.column.grid>[class*=\"three wide\"].column,.ui.grid>.column.row>[class*=\"three wide\"].column,.ui.grid>.row>[class*=\"three wide\"].column,.ui.grid>[class*=\"three wide\"].column{width:18.75%!important}.ui.column.grid>[class*=\"four wide\"].column,.ui.grid>.column.row>[class*=\"four wide\"].column,.ui.grid>.row>[class*=\"four wide\"].column,.ui.grid>[class*=\"four wide\"].column{width:25%!important}.ui.column.grid>[class*=\"five wide\"].column,.ui.grid>.column.row>[class*=\"five wide\"].column,.ui.grid>.row>[class*=\"five wide\"].column,.ui.grid>[class*=\"five wide\"].column{width:31.25%!important}.ui.column.grid>[class*=\"six wide\"].column,.ui.grid>.column.row>[class*=\"six wide\"].column,.ui.grid>.row>[class*=\"six wide\"].column,.ui.grid>[class*=\"six wide\"].column{width:37.5%!important}.ui.column.grid>[class*=\"seven wide\"].column,.ui.grid>.column.row>[class*=\"seven wide\"].column,.ui.grid>.row>[class*=\"seven wide\"].column,.ui.grid>[class*=\"seven wide\"].column{width:43.75%!important}.ui.column.grid>[class*=\"eight wide\"].column,.ui.grid>.column.row>[class*=\"eight wide\"].column,.ui.grid>.row>[class*=\"eight wide\"].column,.ui.grid>[class*=\"eight wide\"].column{width:50%!important}.ui.column.grid>[class*=\"nine wide\"].column,.ui.grid>.column.row>[class*=\"nine wide\"].column,.ui.grid>.row>[class*=\"nine wide\"].column,.ui.grid>[class*=\"nine wide\"].column{width:56.25%!important}.ui.column.grid>[class*=\"ten wide\"].column,.ui.grid>.column.row>[class*=\"ten wide\"].column,.ui.grid>.row>[class*=\"ten wide\"].column,.ui.grid>[class*=\"ten wide\"].column{width:62.5%!important}.ui.column.grid>[class*=\"eleven wide\"].column,.ui.grid>.column.row>[class*=\"eleven wide\"].column,.ui.grid>.row>[class*=\"eleven wide\"].column,.ui.grid>[class*=\"eleven wide\"].column{width:68.75%!important}.ui.column.grid>[class*=\"twelve wide\"].column,.ui.grid>.column.row>[class*=\"twelve wide\"].column,.ui.grid>.row>[class*=\"twelve wide\"].column,.ui.grid>[class*=\"twelve wide\"].column{width:75%!important}.ui.column.grid>[class*=\"thirteen wide\"].column,.ui.grid>.column.row>[class*=\"thirteen wide\"].column,.ui.grid>.row>[class*=\"thirteen wide\"].column,.ui.grid>[class*=\"thirteen wide\"].column{width:81.25%!important}.ui.column.grid>[class*=\"fourteen wide\"].column,.ui.grid>.column.row>[class*=\"fourteen wide\"].column,.ui.grid>.row>[class*=\"fourteen wide\"].column,.ui.grid>[class*=\"fourteen wide\"].column{width:87.5%!important}.ui.column.grid>[class*=\"fifteen wide\"].column,.ui.grid>.column.row>[class*=\"fifteen wide\"].column,.ui.grid>.row>[class*=\"fifteen wide\"].column,.ui.grid>[class*=\"fifteen wide\"].column{width:93.75%!important}.ui.column.grid>[class*=\"sixteen wide\"].column,.ui.grid>.column.row>[class*=\"sixteen wide\"].column,.ui.grid>.row>[class*=\"sixteen wide\"].column,.ui.grid>[class*=\"sixteen wide\"].column{width:100%!important}@media only screen and (min-width:320px) and (max-width:767px){.ui.column.grid>[class*=\"one wide mobile\"].column,.ui.grid>.column.row>[class*=\"one wide mobile\"].column,.ui.grid>.row>[class*=\"one wide mobile\"].column,.ui.grid>[class*=\"one wide mobile\"].column{width:6.25%!important}.ui.column.grid>[class*=\"two wide mobile\"].column,.ui.grid>.column.row>[class*=\"two wide mobile\"].column,.ui.grid>.row>[class*=\"two wide mobile\"].column,.ui.grid>[class*=\"two wide mobile\"].column{width:12.5%!important}.ui.column.grid>[class*=\"three wide mobile\"].column,.ui.grid>.column.row>[class*=\"three wide mobile\"].column,.ui.grid>.row>[class*=\"three wide mobile\"].column,.ui.grid>[class*=\"three wide mobile\"].column{width:18.75%!important}.ui.column.grid>[class*=\"four wide mobile\"].column,.ui.grid>.column.row>[class*=\"four wide mobile\"].column,.ui.grid>.row>[class*=\"four wide mobile\"].column,.ui.grid>[class*=\"four wide mobile\"].column{width:25%!important}.ui.column.grid>[class*=\"five wide mobile\"].column,.ui.grid>.column.row>[class*=\"five wide mobile\"].column,.ui.grid>.row>[class*=\"five wide mobile\"].column,.ui.grid>[class*=\"five wide mobile\"].column{width:31.25%!important}.ui.column.grid>[class*=\"six wide mobile\"].column,.ui.grid>.column.row>[class*=\"six wide mobile\"].column,.ui.grid>.row>[class*=\"six wide mobile\"].column,.ui.grid>[class*=\"six wide mobile\"].column{width:37.5%!important}.ui.column.grid>[class*=\"seven wide mobile\"].column,.ui.grid>.column.row>[class*=\"seven wide mobile\"].column,.ui.grid>.row>[class*=\"seven wide mobile\"].column,.ui.grid>[class*=\"seven wide mobile\"].column{width:43.75%!important}.ui.column.grid>[class*=\"eight wide mobile\"].column,.ui.grid>.column.row>[class*=\"eight wide mobile\"].column,.ui.grid>.row>[class*=\"eight wide mobile\"].column,.ui.grid>[class*=\"eight wide mobile\"].column{width:50%!important}.ui.column.grid>[class*=\"nine wide mobile\"].column,.ui.grid>.column.row>[class*=\"nine wide mobile\"].column,.ui.grid>.row>[class*=\"nine wide mobile\"].column,.ui.grid>[class*=\"nine wide mobile\"].column{width:56.25%!important}.ui.column.grid>[class*=\"ten wide mobile\"].column,.ui.grid>.column.row>[class*=\"ten wide mobile\"].column,.ui.grid>.row>[class*=\"ten wide mobile\"].column,.ui.grid>[class*=\"ten wide mobile\"].column{width:62.5%!important}.ui.column.grid>[class*=\"eleven wide mobile\"].column,.ui.grid>.column.row>[class*=\"eleven wide mobile\"].column,.ui.grid>.row>[class*=\"eleven wide mobile\"].column,.ui.grid>[class*=\"eleven wide mobile\"].column{width:68.75%!important}.ui.column.grid>[class*=\"twelve wide mobile\"].column,.ui.grid>.column.row>[class*=\"twelve wide mobile\"].column,.ui.grid>.row>[class*=\"twelve wide mobile\"].column,.ui.grid>[class*=\"twelve wide mobile\"].column{width:75%!important}.ui.column.grid>[class*=\"thirteen wide mobile\"].column,.ui.grid>.column.row>[class*=\"thirteen wide mobile\"].column,.ui.grid>.row>[class*=\"thirteen wide mobile\"].column,.ui.grid>[class*=\"thirteen wide mobile\"].column{width:81.25%!important}.ui.column.grid>[class*=\"fourteen wide mobile\"].column,.ui.grid>.column.row>[class*=\"fourteen wide mobile\"].column,.ui.grid>.row>[class*=\"fourteen wide mobile\"].column,.ui.grid>[class*=\"fourteen wide mobile\"].column{width:87.5%!important}.ui.column.grid>[class*=\"fifteen wide mobile\"].column,.ui.grid>.column.row>[class*=\"fifteen wide mobile\"].column,.ui.grid>.row>[class*=\"fifteen wide mobile\"].column,.ui.grid>[class*=\"fifteen wide mobile\"].column{width:93.75%!important}.ui.column.grid>[class*=\"sixteen wide mobile\"].column,.ui.grid>.column.row>[class*=\"sixteen wide mobile\"].column,.ui.grid>.row>[class*=\"sixteen wide mobile\"].column,.ui.grid>[class*=\"sixteen wide mobile\"].column{width:100%!important}}@media only screen and (min-width:768px) and (max-width:991px){.ui.column.grid>[class*=\"one wide tablet\"].column,.ui.grid>.column.row>[class*=\"one wide tablet\"].column,.ui.grid>.row>[class*=\"one wide tablet\"].column,.ui.grid>[class*=\"one wide tablet\"].column{width:6.25%!important}.ui.column.grid>[class*=\"two wide tablet\"].column,.ui.grid>.column.row>[class*=\"two wide tablet\"].column,.ui.grid>.row>[class*=\"two wide tablet\"].column,.ui.grid>[class*=\"two wide tablet\"].column{width:12.5%!important}.ui.column.grid>[class*=\"three wide tablet\"].column,.ui.grid>.column.row>[class*=\"three wide tablet\"].column,.ui.grid>.row>[class*=\"three wide tablet\"].column,.ui.grid>[class*=\"three wide tablet\"].column{width:18.75%!important}.ui.column.grid>[class*=\"four wide tablet\"].column,.ui.grid>.column.row>[class*=\"four wide tablet\"].column,.ui.grid>.row>[class*=\"four wide tablet\"].column,.ui.grid>[class*=\"four wide tablet\"].column{width:25%!important}.ui.column.grid>[class*=\"five wide tablet\"].column,.ui.grid>.column.row>[class*=\"five wide tablet\"].column,.ui.grid>.row>[class*=\"five wide tablet\"].column,.ui.grid>[class*=\"five wide tablet\"].column{width:31.25%!important}.ui.column.grid>[class*=\"six wide tablet\"].column,.ui.grid>.column.row>[class*=\"six wide tablet\"].column,.ui.grid>.row>[class*=\"six wide tablet\"].column,.ui.grid>[class*=\"six wide tablet\"].column{width:37.5%!important}.ui.column.grid>[class*=\"seven wide tablet\"].column,.ui.grid>.column.row>[class*=\"seven wide tablet\"].column,.ui.grid>.row>[class*=\"seven wide tablet\"].column,.ui.grid>[class*=\"seven wide tablet\"].column{width:43.75%!important}.ui.column.grid>[class*=\"eight wide tablet\"].column,.ui.grid>.column.row>[class*=\"eight wide tablet\"].column,.ui.grid>.row>[class*=\"eight wide tablet\"].column,.ui.grid>[class*=\"eight wide tablet\"].column{width:50%!important}.ui.column.grid>[class*=\"nine wide tablet\"].column,.ui.grid>.column.row>[class*=\"nine wide tablet\"].column,.ui.grid>.row>[class*=\"nine wide tablet\"].column,.ui.grid>[class*=\"nine wide tablet\"].column{width:56.25%!important}.ui.column.grid>[class*=\"ten wide tablet\"].column,.ui.grid>.column.row>[class*=\"ten wide tablet\"].column,.ui.grid>.row>[class*=\"ten wide tablet\"].column,.ui.grid>[class*=\"ten wide tablet\"].column{width:62.5%!important}.ui.column.grid>[class*=\"eleven wide tablet\"].column,.ui.grid>.column.row>[class*=\"eleven wide tablet\"].column,.ui.grid>.row>[class*=\"eleven wide tablet\"].column,.ui.grid>[class*=\"eleven wide tablet\"].column{width:68.75%!important}.ui.column.grid>[class*=\"twelve wide tablet\"].column,.ui.grid>.column.row>[class*=\"twelve wide tablet\"].column,.ui.grid>.row>[class*=\"twelve wide tablet\"].column,.ui.grid>[class*=\"twelve wide tablet\"].column{width:75%!important}.ui.column.grid>[class*=\"thirteen wide tablet\"].column,.ui.grid>.column.row>[class*=\"thirteen wide tablet\"].column,.ui.grid>.row>[class*=\"thirteen wide tablet\"].column,.ui.grid>[class*=\"thirteen wide tablet\"].column{width:81.25%!important}.ui.column.grid>[class*=\"fourteen wide tablet\"].column,.ui.grid>.column.row>[class*=\"fourteen wide tablet\"].column,.ui.grid>.row>[class*=\"fourteen wide tablet\"].column,.ui.grid>[class*=\"fourteen wide tablet\"].column{width:87.5%!important}.ui.column.grid>[class*=\"fifteen wide tablet\"].column,.ui.grid>.column.row>[class*=\"fifteen wide tablet\"].column,.ui.grid>.row>[class*=\"fifteen wide tablet\"].column,.ui.grid>[class*=\"fifteen wide tablet\"].column{width:93.75%!important}.ui.column.grid>[class*=\"sixteen wide tablet\"].column,.ui.grid>.column.row>[class*=\"sixteen wide tablet\"].column,.ui.grid>.row>[class*=\"sixteen wide tablet\"].column,.ui.grid>[class*=\"sixteen wide tablet\"].column{width:100%!important}}@media only screen and (min-width:992px){.ui.column.grid>[class*=\"one wide computer\"].column,.ui.grid>.column.row>[class*=\"one wide computer\"].column,.ui.grid>.row>[class*=\"one wide computer\"].column,.ui.grid>[class*=\"one wide computer\"].column{width:6.25%!important}.ui.column.grid>[class*=\"two wide computer\"].column,.ui.grid>.column.row>[class*=\"two wide computer\"].column,.ui.grid>.row>[class*=\"two wide computer\"].column,.ui.grid>[class*=\"two wide computer\"].column{width:12.5%!important}.ui.column.grid>[class*=\"three wide computer\"].column,.ui.grid>.column.row>[class*=\"three wide computer\"].column,.ui.grid>.row>[class*=\"three wide computer\"].column,.ui.grid>[class*=\"three wide computer\"].column{width:18.75%!important}.ui.column.grid>[class*=\"four wide computer\"].column,.ui.grid>.column.row>[class*=\"four wide computer\"].column,.ui.grid>.row>[class*=\"four wide computer\"].column,.ui.grid>[class*=\"four wide computer\"].column{width:25%!important}.ui.column.grid>[class*=\"five wide computer\"].column,.ui.grid>.column.row>[class*=\"five wide computer\"].column,.ui.grid>.row>[class*=\"five wide computer\"].column,.ui.grid>[class*=\"five wide computer\"].column{width:31.25%!important}.ui.column.grid>[class*=\"six wide computer\"].column,.ui.grid>.column.row>[class*=\"six wide computer\"].column,.ui.grid>.row>[class*=\"six wide computer\"].column,.ui.grid>[class*=\"six wide computer\"].column{width:37.5%!important}.ui.column.grid>[class*=\"seven wide computer\"].column,.ui.grid>.column.row>[class*=\"seven wide computer\"].column,.ui.grid>.row>[class*=\"seven wide computer\"].column,.ui.grid>[class*=\"seven wide computer\"].column{width:43.75%!important}.ui.column.grid>[class*=\"eight wide computer\"].column,.ui.grid>.column.row>[class*=\"eight wide computer\"].column,.ui.grid>.row>[class*=\"eight wide computer\"].column,.ui.grid>[class*=\"eight wide computer\"].column{width:50%!important}.ui.column.grid>[class*=\"nine wide computer\"].column,.ui.grid>.column.row>[class*=\"nine wide computer\"].column,.ui.grid>.row>[class*=\"nine wide computer\"].column,.ui.grid>[class*=\"nine wide computer\"].column{width:56.25%!important}.ui.column.grid>[class*=\"ten wide computer\"].column,.ui.grid>.column.row>[class*=\"ten wide computer\"].column,.ui.grid>.row>[class*=\"ten wide computer\"].column,.ui.grid>[class*=\"ten wide computer\"].column{width:62.5%!important}.ui.column.grid>[class*=\"eleven wide computer\"].column,.ui.grid>.column.row>[class*=\"eleven wide computer\"].column,.ui.grid>.row>[class*=\"eleven wide computer\"].column,.ui.grid>[class*=\"eleven wide computer\"].column{width:68.75%!important}.ui.column.grid>[class*=\"twelve wide computer\"].column,.ui.grid>.column.row>[class*=\"twelve wide computer\"].column,.ui.grid>.row>[class*=\"twelve wide computer\"].column,.ui.grid>[class*=\"twelve wide computer\"].column{width:75%!important}.ui.column.grid>[class*=\"thirteen wide computer\"].column,.ui.grid>.column.row>[class*=\"thirteen wide computer\"].column,.ui.grid>.row>[class*=\"thirteen wide computer\"].column,.ui.grid>[class*=\"thirteen wide computer\"].column{width:81.25%!important}.ui.column.grid>[class*=\"fourteen wide computer\"].column,.ui.grid>.column.row>[class*=\"fourteen wide computer\"].column,.ui.grid>.row>[class*=\"fourteen wide computer\"].column,.ui.grid>[class*=\"fourteen wide computer\"].column{width:87.5%!important}.ui.column.grid>[class*=\"fifteen wide computer\"].column,.ui.grid>.column.row>[class*=\"fifteen wide computer\"].column,.ui.grid>.row>[class*=\"fifteen wide computer\"].column,.ui.grid>[class*=\"fifteen wide computer\"].column{width:93.75%!important}.ui.column.grid>[class*=\"sixteen wide computer\"].column,.ui.grid>.column.row>[class*=\"sixteen wide computer\"].column,.ui.grid>.row>[class*=\"sixteen wide computer\"].column,.ui.grid>[class*=\"sixteen wide computer\"].column{width:100%!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.column.grid>[class*=\"one wide large screen\"].column,.ui.grid>.column.row>[class*=\"one wide large screen\"].column,.ui.grid>.row>[class*=\"one wide large screen\"].column,.ui.grid>[class*=\"one wide large screen\"].column{width:6.25%!important}.ui.column.grid>[class*=\"two wide large screen\"].column,.ui.grid>.column.row>[class*=\"two wide large screen\"].column,.ui.grid>.row>[class*=\"two wide large screen\"].column,.ui.grid>[class*=\"two wide large screen\"].column{width:12.5%!important}.ui.column.grid>[class*=\"three wide large screen\"].column,.ui.grid>.column.row>[class*=\"three wide large screen\"].column,.ui.grid>.row>[class*=\"three wide large screen\"].column,.ui.grid>[class*=\"three wide large screen\"].column{width:18.75%!important}.ui.column.grid>[class*=\"four wide large screen\"].column,.ui.grid>.column.row>[class*=\"four wide large screen\"].column,.ui.grid>.row>[class*=\"four wide large screen\"].column,.ui.grid>[class*=\"four wide large screen\"].column{width:25%!important}.ui.column.grid>[class*=\"five wide large screen\"].column,.ui.grid>.column.row>[class*=\"five wide large screen\"].column,.ui.grid>.row>[class*=\"five wide large screen\"].column,.ui.grid>[class*=\"five wide large screen\"].column{width:31.25%!important}.ui.column.grid>[class*=\"six wide large screen\"].column,.ui.grid>.column.row>[class*=\"six wide large screen\"].column,.ui.grid>.row>[class*=\"six wide large screen\"].column,.ui.grid>[class*=\"six wide large screen\"].column{width:37.5%!important}.ui.column.grid>[class*=\"seven wide large screen\"].column,.ui.grid>.column.row>[class*=\"seven wide large screen\"].column,.ui.grid>.row>[class*=\"seven wide large screen\"].column,.ui.grid>[class*=\"seven wide large screen\"].column{width:43.75%!important}.ui.column.grid>[class*=\"eight wide large screen\"].column,.ui.grid>.column.row>[class*=\"eight wide large screen\"].column,.ui.grid>.row>[class*=\"eight wide large screen\"].column,.ui.grid>[class*=\"eight wide large screen\"].column{width:50%!important}.ui.column.grid>[class*=\"nine wide large screen\"].column,.ui.grid>.column.row>[class*=\"nine wide large screen\"].column,.ui.grid>.row>[class*=\"nine wide large screen\"].column,.ui.grid>[class*=\"nine wide large screen\"].column{width:56.25%!important}.ui.column.grid>[class*=\"ten wide large screen\"].column,.ui.grid>.column.row>[class*=\"ten wide large screen\"].column,.ui.grid>.row>[class*=\"ten wide large screen\"].column,.ui.grid>[class*=\"ten wide large screen\"].column{width:62.5%!important}.ui.column.grid>[class*=\"eleven wide large screen\"].column,.ui.grid>.column.row>[class*=\"eleven wide large screen\"].column,.ui.grid>.row>[class*=\"eleven wide large screen\"].column,.ui.grid>[class*=\"eleven wide large screen\"].column{width:68.75%!important}.ui.column.grid>[class*=\"twelve wide large screen\"].column,.ui.grid>.column.row>[class*=\"twelve wide large screen\"].column,.ui.grid>.row>[class*=\"twelve wide large screen\"].column,.ui.grid>[class*=\"twelve wide large screen\"].column{width:75%!important}.ui.column.grid>[class*=\"thirteen wide large screen\"].column,.ui.grid>.column.row>[class*=\"thirteen wide large screen\"].column,.ui.grid>.row>[class*=\"thirteen wide large screen\"].column,.ui.grid>[class*=\"thirteen wide large screen\"].column{width:81.25%!important}.ui.column.grid>[class*=\"fourteen wide large screen\"].column,.ui.grid>.column.row>[class*=\"fourteen wide large screen\"].column,.ui.grid>.row>[class*=\"fourteen wide large screen\"].column,.ui.grid>[class*=\"fourteen wide large screen\"].column{width:87.5%!important}.ui.column.grid>[class*=\"fifteen wide large screen\"].column,.ui.grid>.column.row>[class*=\"fifteen wide large screen\"].column,.ui.grid>.row>[class*=\"fifteen wide large screen\"].column,.ui.grid>[class*=\"fifteen wide large screen\"].column{width:93.75%!important}.ui.column.grid>[class*=\"sixteen wide large screen\"].column,.ui.grid>.column.row>[class*=\"sixteen wide large screen\"].column,.ui.grid>.row>[class*=\"sixteen wide large screen\"].column,.ui.grid>[class*=\"sixteen wide large screen\"].column{width:100%!important}}@media only screen and (min-width:1920px){.ui.column.grid>[class*=\"one wide widescreen\"].column,.ui.grid>.column.row>[class*=\"one wide widescreen\"].column,.ui.grid>.row>[class*=\"one wide widescreen\"].column,.ui.grid>[class*=\"one wide widescreen\"].column{width:6.25%!important}.ui.column.grid>[class*=\"two wide widescreen\"].column,.ui.grid>.column.row>[class*=\"two wide widescreen\"].column,.ui.grid>.row>[class*=\"two wide widescreen\"].column,.ui.grid>[class*=\"two wide widescreen\"].column{width:12.5%!important}.ui.column.grid>[class*=\"three wide widescreen\"].column,.ui.grid>.column.row>[class*=\"three wide widescreen\"].column,.ui.grid>.row>[class*=\"three wide widescreen\"].column,.ui.grid>[class*=\"three wide widescreen\"].column{width:18.75%!important}.ui.column.grid>[class*=\"four wide widescreen\"].column,.ui.grid>.column.row>[class*=\"four wide widescreen\"].column,.ui.grid>.row>[class*=\"four wide widescreen\"].column,.ui.grid>[class*=\"four wide widescreen\"].column{width:25%!important}.ui.column.grid>[class*=\"five wide widescreen\"].column,.ui.grid>.column.row>[class*=\"five wide widescreen\"].column,.ui.grid>.row>[class*=\"five wide widescreen\"].column,.ui.grid>[class*=\"five wide widescreen\"].column{width:31.25%!important}.ui.column.grid>[class*=\"six wide widescreen\"].column,.ui.grid>.column.row>[class*=\"six wide widescreen\"].column,.ui.grid>.row>[class*=\"six wide widescreen\"].column,.ui.grid>[class*=\"six wide widescreen\"].column{width:37.5%!important}.ui.column.grid>[class*=\"seven wide widescreen\"].column,.ui.grid>.column.row>[class*=\"seven wide widescreen\"].column,.ui.grid>.row>[class*=\"seven wide widescreen\"].column,.ui.grid>[class*=\"seven wide widescreen\"].column{width:43.75%!important}.ui.column.grid>[class*=\"eight wide widescreen\"].column,.ui.grid>.column.row>[class*=\"eight wide widescreen\"].column,.ui.grid>.row>[class*=\"eight wide widescreen\"].column,.ui.grid>[class*=\"eight wide widescreen\"].column{width:50%!important}.ui.column.grid>[class*=\"nine wide widescreen\"].column,.ui.grid>.column.row>[class*=\"nine wide widescreen\"].column,.ui.grid>.row>[class*=\"nine wide widescreen\"].column,.ui.grid>[class*=\"nine wide widescreen\"].column{width:56.25%!important}.ui.column.grid>[class*=\"ten wide widescreen\"].column,.ui.grid>.column.row>[class*=\"ten wide widescreen\"].column,.ui.grid>.row>[class*=\"ten wide widescreen\"].column,.ui.grid>[class*=\"ten wide widescreen\"].column{width:62.5%!important}.ui.column.grid>[class*=\"eleven wide widescreen\"].column,.ui.grid>.column.row>[class*=\"eleven wide widescreen\"].column,.ui.grid>.row>[class*=\"eleven wide widescreen\"].column,.ui.grid>[class*=\"eleven wide widescreen\"].column{width:68.75%!important}.ui.column.grid>[class*=\"twelve wide widescreen\"].column,.ui.grid>.column.row>[class*=\"twelve wide widescreen\"].column,.ui.grid>.row>[class*=\"twelve wide widescreen\"].column,.ui.grid>[class*=\"twelve wide widescreen\"].column{width:75%!important}.ui.column.grid>[class*=\"thirteen wide widescreen\"].column,.ui.grid>.column.row>[class*=\"thirteen wide widescreen\"].column,.ui.grid>.row>[class*=\"thirteen wide widescreen\"].column,.ui.grid>[class*=\"thirteen wide widescreen\"].column{width:81.25%!important}.ui.column.grid>[class*=\"fourteen wide widescreen\"].column,.ui.grid>.column.row>[class*=\"fourteen wide widescreen\"].column,.ui.grid>.row>[class*=\"fourteen wide widescreen\"].column,.ui.grid>[class*=\"fourteen wide widescreen\"].column{width:87.5%!important}.ui.column.grid>[class*=\"fifteen wide widescreen\"].column,.ui.grid>.column.row>[class*=\"fifteen wide widescreen\"].column,.ui.grid>.row>[class*=\"fifteen wide widescreen\"].column,.ui.grid>[class*=\"fifteen wide widescreen\"].column{width:93.75%!important}.ui.column.grid>[class*=\"sixteen wide widescreen\"].column,.ui.grid>.column.row>[class*=\"sixteen wide widescreen\"].column,.ui.grid>.row>[class*=\"sixteen wide widescreen\"].column,.ui.grid>[class*=\"sixteen wide widescreen\"].column{width:100%!important}}.ui.centered.grid,.ui.centered.grid>.row,.ui.grid>.centered.row{text-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui.centered.grid>.column:not(.aligned):not(.row),.ui.centered.grid>.row>.column:not(.aligned),.ui.grid .centered.row>.column:not(.aligned){text-align:left}.ui.grid>.centered.column,.ui.grid>.row>.centered.column{display:block;margin-left:auto;margin-right:auto}.ui.grid>.relaxed.row>.column,.ui.relaxed.grid>.column:not(.row),.ui.relaxed.grid>.row>.column{padding-left:1.5rem;padding-right:1.5rem}.ui.grid>[class*=\"very relaxed\"].row>.column,.ui[class*=\"very relaxed\"].grid>.column:not(.row),.ui[class*=\"very relaxed\"].grid>.row>.column{padding-left:2.5rem;padding-right:2.5rem}.ui.grid .relaxed.row+.ui.divider,.ui.relaxed.grid .row+.ui.divider{margin-left:1.5rem;margin-right:1.5rem}.ui.grid [class*=\"very relaxed\"].row+.ui.divider,.ui[class*=\"very relaxed\"].grid .row+.ui.divider{margin-left:2.5rem;margin-right:2.5rem}.ui.padded.grid:not(.vertically):not(.horizontally){margin:0!important}[class*=\"horizontally padded\"].ui.grid{margin-left:0!important;margin-right:0!important}[class*=\"vertically padded\"].ui.grid{margin-top:0!important;margin-bottom:0!important}.ui.grid [class*=\"left floated\"].column{margin-right:auto}.ui.grid [class*=\"right floated\"].column{margin-left:auto}.ui.divided.grid:not([class*=\"vertically divided\"])>.column:not(.row),.ui.divided.grid:not([class*=\"vertically divided\"])>.row>.column{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*=\"vertically divided\"].grid>.column:not(.row),.ui[class*=\"vertically divided\"].grid>.row>.column{margin-top:1rem;margin-bottom:1rem;padding-top:0;padding-bottom:0}.ui[class*=\"vertically divided\"].grid>.row{margin-top:0;margin-bottom:0;position:relative}.ui.divided.grid:not([class*=\"vertically divided\"])>.column:first-child,.ui.divided.grid:not([class*=\"vertically divided\"])>.row>.column:first-child{box-shadow:none}.ui.grid>.divided.row>.column{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui.grid>.divided.row>.column:first-child{box-shadow:none}.ui[class*=\"vertically divided\"].grid>.row:before{position:absolute;content:\"\";top:0;left:0;width:calc(100% - 2rem);height:1px;margin:0 1rem;box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.padded.divided.grid:not(.vertically):not(.horizontally),[class*=\"horizontally padded\"].ui.divided.grid{width:100%}.ui[class*=\"vertically divided\"].grid>.row:first-child:before{box-shadow:none}.ui.inverted.divided.grid:not([class*=\"vertically divided\"])>.column:not(.row),.ui.inverted.divided.grid:not([class*=\"vertically divided\"])>.row>.column{box-shadow:-1px 0 0 0 rgba(255,255,255,.1)}.ui.inverted.divided.grid:not([class*=\"vertically divided\"])>.column:not(.row):first-child,.ui.inverted.divided.grid:not([class*=\"vertically divided\"])>.row>.column:first-child{box-shadow:none}.ui.inverted[class*=\"vertically divided\"].grid>.row:before{box-shadow:0 -1px 0 0 rgba(255,255,255,.1)}.ui.relaxed[class*=\"vertically divided\"].grid>.row:before{margin-left:1.5rem;margin-right:1.5rem;width:calc(100% - 3rem)}.ui[class*=\"very relaxed\"][class*=\"vertically divided\"].grid>.row:before{margin-left:5rem;margin-right:5rem;width:calc(100% - 5rem)}.ui.celled.grid{width:100%;margin:1em 0;box-shadow:0 0 0 1px #D4D4D5}.ui.celled.grid>.row{width:100%!important;margin:0;padding:0;box-shadow:0 -1px 0 0 #D4D4D5}.ui.celled.grid>.column:not(.row),.ui.celled.grid>.row>.column{box-shadow:-1px 0 0 0 #D4D4D5;padding:1em}.ui.celled.grid>.column:first-child,.ui.celled.grid>.row>.column:first-child{box-shadow:none}.ui.relaxed.celled.grid>.column:not(.row),.ui.relaxed.celled.grid>.row>.column{padding:1.5em}.ui[class*=\"very relaxed\"].celled.grid>.column:not(.row),.ui[class*=\"very relaxed\"].celled.grid>.row>.column{padding:2em}.ui[class*=\"internally celled\"].grid{box-shadow:none;margin:0}.ui[class*=\"internally celled\"].grid>.row:first-child,.ui[class*=\"internally celled\"].grid>.row>.column:first-child{box-shadow:none}.ui.grid>.row>[class*=\"top aligned\"].column,.ui.grid>[class*=\"top aligned\"].column:not(.row),.ui.grid>[class*=\"top aligned\"].row>.column,.ui[class*=\"top aligned\"].grid>.column:not(.row),.ui[class*=\"top aligned\"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;vertical-align:top;-webkit-align-self:flex-start!important;-ms-flex-item-align:start!important;align-self:flex-start!important}.ui.grid>.row>[class*=\"middle aligned\"].column,.ui.grid>[class*=\"middle aligned\"].column:not(.row),.ui.grid>[class*=\"middle aligned\"].row>.column,.ui[class*=\"middle aligned\"].grid>.column:not(.row),.ui[class*=\"middle aligned\"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;vertical-align:middle;-webkit-align-self:center!important;-ms-flex-item-align:center!important;align-self:center!important}.ui.grid>.row>[class*=\"bottom aligned\"].column,.ui.grid>[class*=\"bottom aligned\"].column:not(.row),.ui.grid>[class*=\"bottom aligned\"].row>.column,.ui[class*=\"bottom aligned\"].grid>.column:not(.row),.ui[class*=\"bottom aligned\"].grid>.row>.column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;vertical-align:bottom;-webkit-align-self:flex-end!important;-ms-flex-item-align:end!important;align-self:flex-end!important}.ui.grid>.row>.stretched.column,.ui.grid>.stretched.column:not(.row),.ui.grid>.stretched.row>.column,.ui.stretched.grid>.column,.ui.stretched.grid>.row>.column{display:-webkit-inline-box!important;display:-webkit-inline-flex!important;display:-ms-inline-flexbox!important;display:inline-flex!important;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui.grid>.row>.stretched.column>*,.ui.grid>.stretched.column:not(.row)>*,.ui.grid>.stretched.row>.column>*,.ui.stretched.grid>.column>*,.ui.stretched.grid>.row>.column>*{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui.grid>.row>[class*=\"left aligned\"].column,.ui.grid>[class*=\"left aligned\"].column.column,.ui.grid>[class*=\"left aligned\"].row>.column,.ui[class*=\"left aligned\"].grid>.column,.ui[class*=\"left aligned\"].grid>.row>.column{text-align:left;-webkit-align-self:inherit;-ms-flex-item-align:inherit;align-self:inherit}.ui.grid>.row>[class*=\"center aligned\"].column,.ui.grid>[class*=\"center aligned\"].column.column,.ui.grid>[class*=\"center aligned\"].row>.column,.ui[class*=\"center aligned\"].grid>.column,.ui[class*=\"center aligned\"].grid>.row>.column{text-align:center;-webkit-align-self:inherit;-ms-flex-item-align:inherit;align-self:inherit}.ui[class*=\"center aligned\"].grid{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui.grid>.row>[class*=\"right aligned\"].column,.ui.grid>[class*=\"right aligned\"].column.column,.ui.grid>[class*=\"right aligned\"].row>.column,.ui[class*=\"right aligned\"].grid>.column,.ui[class*=\"right aligned\"].grid>.row>.column{text-align:right;-webkit-align-self:inherit;-ms-flex-item-align:inherit;align-self:inherit}.ui.grid>.justified.column.column,.ui.grid>.justified.row>.column,.ui.grid>.row>.justified.column,.ui.justified.grid>.column,.ui.justified.grid>.row>.column{text-align:justify;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto}.ui.grid>.row>.black.column,.ui.grid>.row>.blue.column,.ui.grid>.row>.brown.column,.ui.grid>.row>.green.column,.ui.grid>.row>.grey.column,.ui.grid>.row>.olive.column,.ui.grid>.row>.orange.column,.ui.grid>.row>.pink.column,.ui.grid>.row>.purple.column,.ui.grid>.row>.red.column,.ui.grid>.row>.teal.column,.ui.grid>.row>.violet.column,.ui.grid>.row>.yellow.column{margin-top:-1rem;margin-bottom:-1rem;padding-top:1rem;padding-bottom:1rem}.ui.grid>.red.column,.ui.grid>.red.row,.ui.grid>.row>.red.column{background-color:#DB2828!important;color:#FFF}.ui.grid>.orange.column,.ui.grid>.orange.row,.ui.grid>.row>.orange.column{background-color:#F2711C!important;color:#FFF}.ui.grid>.row>.yellow.column,.ui.grid>.yellow.column,.ui.grid>.yellow.row{background-color:#FBBD08!important;color:#FFF}.ui.grid>.olive.column,.ui.grid>.olive.row,.ui.grid>.row>.olive.column{background-color:#B5CC18!important;color:#FFF}.ui.grid>.green.column,.ui.grid>.green.row,.ui.grid>.row>.green.column{background-color:#21BA45!important;color:#FFF}.ui.grid>.row>.teal.column,.ui.grid>.teal.column,.ui.grid>.teal.row{background-color:#00B5AD!important;color:#FFF}.ui.grid>.blue.column,.ui.grid>.blue.row,.ui.grid>.row>.blue.column{background-color:#2185D0!important;color:#FFF}.ui.grid>.row>.violet.column,.ui.grid>.violet.column,.ui.grid>.violet.row{background-color:#6435C9!important;color:#FFF}.ui.grid>.purple.column,.ui.grid>.purple.row,.ui.grid>.row>.purple.column{background-color:#A333C8!important;color:#FFF}.ui.grid>.pink.column,.ui.grid>.pink.row,.ui.grid>.row>.pink.column{background-color:#E03997!important;color:#FFF}.ui.grid>.brown.column,.ui.grid>.brown.row,.ui.grid>.row>.brown.column{background-color:#A5673F!important;color:#FFF}.ui.grid>.grey.column,.ui.grid>.grey.row,.ui.grid>.row>.grey.column{background-color:#767676!important;color:#FFF}.ui.grid>.black.column,.ui.grid>.black.row,.ui.grid>.row>.black.column{background-color:#1B1C1D!important;color:#FFF}.ui.grid>[class*=\"equal width\"].row>.column,.ui[class*=\"equal width\"].grid>.column:not(.row),.ui[class*=\"equal width\"].grid>.row>.column{display:inline-block;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.ui.grid>[class*=\"equal width\"].row>.wide.column,.ui[class*=\"equal width\"].grid>.row>.wide.column,.ui[class*=\"equal width\"].grid>.wide.column{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}@media only screen and (max-width:767px){.ui.grid>[class*=\"mobile reversed\"].row,.ui[class*=\"mobile reversed\"].grid,.ui[class*=\"mobile reversed\"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui.stackable[class*=\"mobile reversed\"],.ui[class*=\"mobile vertically reversed\"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"])>.column:first-child,.ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"])>.column:last-child,.ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"]>.row:last-child:before{box-shadow:none}.ui[class*=\"mobile reversed\"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #D4D4D5}.ui[class*=\"mobile reversed\"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.grid>[class*=\"tablet reversed\"].row,.ui[class*=\"tablet reversed\"].grid,.ui[class*=\"tablet reversed\"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui[class*=\"tablet vertically reversed\"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"])>.column:first-child,.ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"])>.column:last-child,.ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"]>.row:last-child:before{box-shadow:none}.ui[class*=\"tablet reversed\"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #D4D4D5}.ui[class*=\"tablet reversed\"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:992px){.ui.grid>[class*=\"computer reversed\"].row,.ui[class*=\"computer reversed\"].grid,.ui[class*=\"computer reversed\"].grid>.row{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.ui[class*=\"computer vertically reversed\"].grid{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse}.ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"])>.column:first-child,.ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"])>.row>.column:first-child{box-shadow:-1px 0 0 0 rgba(34,36,38,.15)}.ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"])>.column:last-child,.ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"])>.row>.column:last-child{box-shadow:none}.ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"]>.row:first-child:before{box-shadow:0 -1px 0 0 rgba(34,36,38,.15)}.ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"]>.row:last-child:before{box-shadow:none}.ui[class*=\"computer reversed\"].celled.grid>.row>.column:first-child{box-shadow:-1px 0 0 0 #D4D4D5}.ui[class*=\"computer reversed\"].celled.grid>.row>.column:last-child{box-shadow:none}}@media only screen and (min-width:768px) and (max-width:991px){.ui.doubling.grid{width:auto}.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{display:inline-block!important;padding-top:1rem!important;padding-bottom:1rem!important;box-shadow:none!important;margin:0}.ui.grid>[class*=\"two column\"].doubling.row.row>.column,.ui[class*=\"two column\"].doubling.grid>.column:not(.row),.ui[class*=\"two column\"].doubling.grid>.row>.column{width:100%!important}.ui.grid>[class*=\"three column\"].doubling.row.row>.column,.ui.grid>[class*=\"four column\"].doubling.row.row>.column,.ui[class*=\"three column\"].doubling.grid>.column:not(.row),.ui[class*=\"three column\"].doubling.grid>.row>.column,.ui[class*=\"four column\"].doubling.grid>.column:not(.row),.ui[class*=\"four column\"].doubling.grid>.row>.column{width:50%!important}.ui.grid>[class*=\"five column\"].doubling.row.row>.column,.ui.grid>[class*=\"six column\"].doubling.row.row>.column,.ui.grid>[class*=\"seven column\"].doubling.row.row>.column,.ui[class*=\"five column\"].doubling.grid>.column:not(.row),.ui[class*=\"five column\"].doubling.grid>.row>.column,.ui[class*=\"six column\"].doubling.grid>.column:not(.row),.ui[class*=\"six column\"].doubling.grid>.row>.column,.ui[class*=\"seven column\"].doubling.grid>.column:not(.row),.ui[class*=\"seven column\"].doubling.grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*=\"eight column\"].doubling.row.row>.column,.ui.grid>[class*=\"nine column\"].doubling.row.row>.column,.ui[class*=\"eight column\"].doubling.grid>.column:not(.row),.ui[class*=\"eight column\"].doubling.grid>.row>.column,.ui[class*=\"nine column\"].doubling.grid>.column:not(.row),.ui[class*=\"nine column\"].doubling.grid>.row>.column{width:25%!important}.ui.grid>[class*=\"ten column\"].doubling.row.row>.column,.ui.grid>[class*=\"eleven column\"].doubling.row.row>.column,.ui[class*=\"ten column\"].doubling.grid>.column:not(.row),.ui[class*=\"ten column\"].doubling.grid>.row>.column,.ui[class*=\"eleven column\"].doubling.grid>.column:not(.row),.ui[class*=\"eleven column\"].doubling.grid>.row>.column{width:20%!important}.ui.grid>[class*=\"twelve column\"].doubling.row.row>.column,.ui.grid>[class*=\"thirteen column\"].doubling.row.row>.column,.ui[class*=\"twelve column\"].doubling.grid>.column:not(.row),.ui[class*=\"twelve column\"].doubling.grid>.row>.column,.ui[class*=\"thirteen column\"].doubling.grid>.column:not(.row),.ui[class*=\"thirteen column\"].doubling.grid>.row>.column{width:16.66666667%!important}.ui.grid>[class*=\"fourteen column\"].doubling.row.row>.column,.ui.grid>[class*=\"fifteen column\"].doubling.row.row>.column,.ui[class*=\"fourteen column\"].doubling.grid>.column:not(.row),.ui[class*=\"fourteen column\"].doubling.grid>.row>.column,.ui[class*=\"fifteen column\"].doubling.grid>.column:not(.row),.ui[class*=\"fifteen column\"].doubling.grid>.row>.column{width:14.28571429%!important}.ui.grid>[class*=\"sixteen column\"].doubling.row.row>.column,.ui[class*=\"sixteen column\"].doubling.grid>.column:not(.row),.ui[class*=\"sixteen column\"].doubling.grid>.row>.column{width:12.5%!important}.ui.grid.grid.grid>.row>[class*=\"computer only\"].column:not(.tablet),.ui.grid.grid.grid>.row>[class*=\"large screen only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"mobile only\"].column:not(.tablet),.ui.grid.grid.grid>[class*=\"computer only\"].column:not(.tablet),.ui.grid.grid.grid>[class*=\"computer only\"].row:not(.tablet),.ui.grid.grid.grid>[class*=\"large screen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"large screen only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"mobile only\"].column:not(.tablet),.ui.grid.grid.grid>[class*=\"mobile only\"].row:not(.tablet),.ui[class*=\"computer only\"].grid.grid.grid:not(.tablet),.ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),.ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),.ui[class*=\"mobile only\"].grid.grid.grid:not(.tablet){display:none!important}}@media only screen and (max-width:767px){.ui.doubling.grid>.row,.ui.grid>.doubling.row{margin:0!important;padding:0!important}.ui.doubling.grid>.row>.column,.ui.grid>.doubling.row>.column{padding-top:1rem!important;padding-bottom:1rem!important;margin:0!important;box-shadow:none!important}.ui.grid>[class*=\"two column\"].doubling:not(.stackable).row.row>.column,.ui[class*=\"two column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"two column\"].doubling:not(.stackable).grid>.row>.column{width:100%!important}.ui.grid>[class*=\"three column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"four column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"five column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"six column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"seven column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"eight column\"].doubling:not(.stackable).row.row>.column,.ui[class*=\"three column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"three column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"four column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"four column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"five column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"five column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"six column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"six column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"seven column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"seven column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"eight column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"eight column\"].doubling:not(.stackable).grid>.row>.column{width:50%!important}.ui.grid>[class*=\"nine column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"ten column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"eleven column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"twelve column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"thirteen column\"].doubling:not(.stackable).row.row>.column,.ui[class*=\"nine column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"nine column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"ten column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"ten column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"eleven column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"eleven column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"twelve column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"twelve column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"thirteen column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"thirteen column\"].doubling:not(.stackable).grid>.row>.column{width:33.33333333%!important}.ui.grid>[class*=\"fourteen column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"fifteen column\"].doubling:not(.stackable).row.row>.column,.ui.grid>[class*=\"sixteen column\"].doubling:not(.stackable).row.row>.column,.ui[class*=\"fourteen column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"fourteen column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"fifteen column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"fifteen column\"].doubling:not(.stackable).grid>.row>.column,.ui[class*=\"sixteen column\"].doubling:not(.stackable).grid>.column:not(.row),.ui[class*=\"sixteen column\"].doubling:not(.stackable).grid>.row>.column{width:25%!important}.ui.stackable.grid{width:auto;margin-left:0!important;margin-right:0!important}.ui.grid>.stackable.stackable.row>.column,.ui.stackable.grid>.column.grid>.column,.ui.stackable.grid>.column.row>.column,.ui.stackable.grid>.column:not(.row),.ui.stackable.grid>.row>.column,.ui.stackable.grid>.row>.wide.column,.ui.stackable.grid>.wide.column{width:100%!important;margin:0!important;box-shadow:none!important;padding:1rem!important}.ui.stackable.grid:not(.vertically)>.row{margin:0;padding:0}.ui.container>.ui.stackable.grid>.column,.ui.container>.ui.stackable.grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid .ui.stackable.grid,.ui.segment:not(.vertical) .ui.stackable.page.grid{margin-left:-1rem!important;margin-right:-1rem!important}.ui.stackable.celled.grid>.column:not(.row):first-child,.ui.stackable.celled.grid>.row:first-child>.column:first-child,.ui.stackable.divided.grid>.column:not(.row):first-child,.ui.stackable.divided.grid>.row:first-child>.column:first-child{border-top:none!important}.ui.inverted.stackable.celled.grid>.column:not(.row),.ui.inverted.stackable.celled.grid>.row>.column,.ui.inverted.stackable.divided.grid>.column:not(.row),.ui.inverted.stackable.divided.grid>.row>.column{border-top:1px solid rgba(255,255,255,.1)}.ui.stackable.celled.grid>.column:not(.row),.ui.stackable.celled.grid>.row>.column,.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{border-top:1px solid rgba(34,36,38,.15);box-shadow:none!important;padding-top:2rem!important;padding-bottom:2rem!important}.ui.stackable.celled.grid>.row{box-shadow:none!important}.ui.stackable.divided:not(.vertically).grid>.column:not(.row),.ui.stackable.divided:not(.vertically).grid>.row>.column{padding-left:0!important;padding-right:0!important}.ui.grid.grid.grid>.row>[class*=\"tablet only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"computer only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"large screen only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"tablet only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"tablet only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"computer only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"computer only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"large screen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"large screen only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].row:not(.mobile),.ui[class*=\"tablet only\"].grid.grid.grid:not(.mobile),.ui[class*=\"computer only\"].grid.grid.grid:not(.mobile),.ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),.ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile){display:none!important}}@media only screen and (min-width:992px) and (max-width:1199px){.ui.grid.grid.grid>.row>[class*=\"tablet only\"].column:not(.computer),.ui.grid.grid.grid>.row>[class*=\"large screen only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"mobile only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"tablet only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"tablet only\"].row:not(.computer),.ui.grid.grid.grid>[class*=\"large screen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"large screen only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"mobile only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"mobile only\"].row:not(.computer),.ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),.ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),.ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),.ui[class*=\"mobile only\"].grid.grid.grid:not(.computer){display:none!important}}@media only screen and (min-width:1200px) and (max-width:1919px){.ui.grid.grid.grid>.row>[class*=\"tablet only\"].column:not(.computer),.ui.grid.grid.grid>.row>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>.row>[class*=\"mobile only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"tablet only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"tablet only\"].row:not(.computer),.ui.grid.grid.grid>[class*=\"widescreen only\"].column:not(.mobile),.ui.grid.grid.grid>[class*=\"widescreen only\"].row:not(.mobile),.ui.grid.grid.grid>[class*=\"mobile only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"mobile only\"].row:not(.computer),.ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),.ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),.ui[class*=\"mobile only\"].grid.grid.grid:not(.computer){display:none!important}}@media only screen and (min-width:1920px){.ui.grid.grid.grid>.row>[class*=\"tablet only\"].column:not(.computer),.ui.grid.grid.grid>.row>[class*=\"mobile only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"tablet only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"tablet only\"].row:not(.computer),.ui.grid.grid.grid>[class*=\"mobile only\"].column:not(.computer),.ui.grid.grid.grid>[class*=\"mobile only\"].row:not(.computer),.ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),.ui[class*=\"mobile only\"].grid.grid.grid:not(.computer){display:none!important}}.ui.menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:1rem 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#FFF;font-weight:400;border:1px solid rgba(34,36,38,.15);box-shadow:0 1px 2px 0 rgba(34,36,38,.15);border-radius:.28571429rem;min-height:2.85714286em}.ui.menu:after{content:'';display:block;height:0;clear:both;visibility:hidden}.ui.menu:first-child{margin-top:0}.ui.menu:last-child{margin-bottom:0}.ui.menu .menu{margin:0}.ui.menu:not(.vertical)>.menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ui.menu:not(.vertical) .item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui.menu .item{position:relative;vertical-align:middle;line-height:1;text-decoration:none;-webkit-tap-highlight-color:transparent;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background:0 0;padding:.92857143em 1.14285714em;text-transform:none;color:rgba(0,0,0,.87);font-weight:400;-webkit-transition:background .1s ease,box-shadow .1s ease,color .1s ease;transition:background .1s ease,box-shadow .1s ease,color .1s ease}.ui.menu>.item:first-child{border-radius:.28571429rem 0 0 .28571429rem}.ui.menu .item:before{position:absolute;content:'';top:0;right:0;height:100%;width:1px;background:rgba(34,36,38,.1)}.ui.menu .item>a:not(.ui),.ui.menu .item>p:only-child,.ui.menu .text.item>*{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;line-height:1.3}.ui.menu .item>p:first-child{margin-top:0}.ui.menu .item>p:last-child{margin-bottom:0}.ui.menu .item>i.icon{opacity:.9;float:none;margin:0 .35714286em 0 0}.ui.menu:not(.vertical) .item>.button{position:relative;top:0;margin:-.5em 0;padding-bottom:.71428571em;padding-top:.71428571em;font-size:1em}.ui.menu>.container,.ui.menu>.grid{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:inherit;-webkit-align-items:inherit;-ms-flex-align:inherit;align-items:inherit;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:inherit;-ms-flex-direction:inherit;flex-direction:inherit}.ui.menu .item>.input{width:100%}.ui.menu:not(.vertical) .item>.input{position:relative;top:0;margin:-.5em 0}.ui.menu .item>.input input{font-size:1em;padding-top:.57142857em;padding-bottom:.57142857em}.ui.menu .header.item,.ui.vertical.menu .header.item{margin:0;background:0 0;text-transform:normal;font-weight:700}.ui.vertical.menu .item>.header:not(.ui){margin:0 0 .5em;font-size:1em;font-weight:700}.ui.menu .ui.popup{display:none}.ui.menu .ui.visible.popup{display:block}.ui.menu .item>i.dropdown.icon{padding:0;float:right;margin:0 0 0 1em}.ui.menu .dropdown.item .menu{left:0;min-width:calc(100% - 1px);border-radius:0 0 .28571429rem .28571429rem;background:#FFF;margin:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.08);-webkit-box-orient:vertical!important;-webkit-box-direction:normal!important;-webkit-flex-direction:column!important;-ms-flex-direction:column!important;flex-direction:column!important}.ui.menu .ui.dropdown .menu>.item{margin:0;text-align:left;font-size:1em!important;padding:.71428571em 1.14285714em!important;background:0 0!important;color:rgba(0,0,0,.87)!important;text-transform:none!important;font-weight:400!important;box-shadow:none!important;-webkit-transition:none!important;transition:none!important}.ui.menu .ui.dropdown .menu>.item:hover,.ui.menu .ui.dropdown .menu>.selected.item{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown .menu>.active.item{background:rgba(0,0,0,.03)!important;font-weight:700!important;color:rgba(0,0,0,.95)!important}.ui.menu .ui.dropdown.item .menu .item:not(.filtered){display:block}.ui.menu .ui.dropdown .menu>.item .icon:not(.dropdown){display:inline-block;font-size:1em!important;float:none;margin:0 .75em 0 0}.ui.secondary.menu .dropdown.item>.menu,.ui.text.menu .dropdown.item>.menu{border-radius:.28571429rem;margin-top:.35714286em}.ui.menu .pointing.dropdown.item .menu{margin-top:.75em}.ui.inverted.menu .search.dropdown.item>.search,.ui.inverted.menu .search.dropdown.item>.text{color:rgba(255,255,255,.9)}.ui.vertical.menu .dropdown.item>.icon{float:right;content:\"\\f0da\";margin-left:1em}.ui.vertical.menu .dropdown.item .menu{top:0!important;left:100%;min-width:0;margin:0;box-shadow:0 1px 3px 0 rgba(0,0,0,.08);border-radius:0 .28571429rem .28571429rem}.ui.vertical.menu .active.dropdown.item{border-top-right-radius:0;border-bottom-right-radius:0}.ui.vertical.menu .dropdown.active.item{box-shadow:none}.ui.item.menu .dropdown .menu .item{width:100%}.ui.menu .item>.label{background:#999;color:#FFF;margin-left:1em;padding:.3em .71428571em}.ui.vertical.menu .item>.label{background:#999;color:#FFF;margin-top:-.15em;margin-bottom:-.15em;padding:.3em .71428571em;float:right;text-align:center}.ui.menu .item>.floating.label{padding:.3em .71428571em}.ui.menu .item>img:not(.ui){display:inline-block;vertical-align:middle;margin:-.3em 0;width:2.5em}.ui.vertical.menu .item>img:not(.ui):only-child{display:block;max-width:100%;width:auto}.ui.vertical.sidebar.menu>.item:first-child:before{display:block!important}.ui.vertical.sidebar.menu>.item::before{top:auto;bottom:0}@media only screen and (max-width:767px){.ui.menu>.ui.container{width:100%!important;margin-left:0!important;margin-right:0!important}}@media only screen and (min-width:768px){.ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless)>.container>.item:not(.right):not(.borderless):first-child{border-left:1px solid rgba(34,36,38,.1)}}.ui.link.menu .item:hover,.ui.menu .dropdown.item:hover,.ui.menu .link.item:hover,.ui.menu a.item:hover{cursor:pointer;background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.link.menu .item:active,.ui.menu .link.item:active,.ui.menu a.item:active{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.menu .active.item{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);font-weight:400;box-shadow:none}.ui.menu .active.item>i.icon{opacity:1}.ui.menu .active.item:hover,.ui.vertical.menu .active.item:hover{background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.menu .item.disabled,.ui.menu .item.disabled:hover{cursor:default;background-color:transparent!important;color:rgba(40,40,40,.3)}.ui.menu:not(.vertical) .left.item,.ui.menu:not(.vertical) .left.menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-right:auto!important}.ui.menu:not(.vertical) .right.item,.ui.menu:not(.vertical) .right.menu{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin-left:auto!important}.ui.menu .right.item::before,.ui.menu .right.menu>.item::before{right:auto;left:0}.ui.vertical.menu{display:block;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;background:#FFF;box-shadow:0 1px 2px 0 rgba(34,36,38,.15)}.ui.vertical.menu .item{display:block;background:0 0;border-top:none;border-right:none}.ui.vertical.menu>.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu .item>i.icon{width:1.18em;float:right;margin:0 0 0 .5em}.ui.vertical.menu .item>.label+i.icon{float:none;margin:0 .5em 0 0}.ui.vertical.menu .item:before{position:absolute;content:'';top:0;left:0;width:100%;background:rgba(34,36,38,.1);height:1px}.ui.vertical.menu .item:first-child:before{display:none!important}.ui.vertical.menu .item>.menu{margin:.5em -1.14285714em 0}.ui.vertical.menu .menu .item{background:0 0;padding:.5em 1.33333333em;font-size:.85714286em;color:rgba(0,0,0,.5)}.ui.vertical.menu .item .menu .link.item:hover,.ui.vertical.menu .item .menu a.item:hover{color:rgba(0,0,0,.85)}.ui.vertical.menu .menu .item:before{display:none}.ui.vertical.menu .active.item{background:rgba(0,0,0,.05);border-radius:0;box-shadow:none}.ui.vertical.menu>.active.item:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.vertical.menu>.active.item:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.vertical.menu>.active.item:only-child{border-radius:.28571429rem}.ui.vertical.menu .active.item .menu .active.item{border-left:none}.ui.vertical.menu .item .menu .active.item{background-color:transparent;font-weight:700;color:rgba(0,0,0,.95)}.ui.tabular.menu{border-radius:0;box-shadow:none!important;border:none;background:none;border-bottom:1px solid #D4D4D5}.ui.tabular.fluid.menu{width:calc(100% + 2px)!important}.ui.tabular.menu .item{background:0 0;border-bottom:none;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;padding:.92857143em 1.42857143em;color:rgba(0,0,0,.87)}.ui.tabular.menu .item:before{display:none}.ui.tabular.menu .item:hover{background-color:transparent;color:rgba(0,0,0,.8)}.ui.tabular.menu .active.item{background:#FFF;color:rgba(0,0,0,.95);border-top-width:1px;border-color:#D4D4D5;font-weight:700;margin-bottom:-1px;box-shadow:none;border-radius:.28571429rem .28571429rem 0 0!important}.ui.tabular.menu+.bottom.attached.segment{border-top:none;margin:0;width:100%}.top.attached.segment+.ui.bottom.tabular.menu{position:relative;width:calc(100% + 2px);left:-1px}.ui.bottom.tabular.menu{background:none;border-radius:0;box-shadow:none!important;border-bottom:none;border-top:1px solid #D4D4D5}.ui.bottom.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:none}.ui.bottom.tabular.menu .active.item{background:#FFF;color:rgba(0,0,0,.95);border-color:#D4D4D5;margin:-1px 0 0;border-radius:0 0 .28571429rem .28571429rem!important}.ui.vertical.tabular.menu{background:none;border-radius:0;box-shadow:none!important;border-bottom:none;border-right:1px solid #D4D4D5}.ui.vertical.tabular.menu .item{background:0 0;border-left:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-right:none}.ui.vertical.tabular.menu .active.item{background:#FFF;color:rgba(0,0,0,.95);border-color:#D4D4D5;margin:0 -1px 0 0;border-radius:.28571429rem 0 0 .28571429rem!important}.ui.vertical.right.tabular.menu{background:none;border-radius:0;box-shadow:none!important;border-bottom:none;border-right:none;border-left:1px solid #D4D4D5}.ui.vertical.right.tabular.menu .item{background:0 0;border-right:1px solid transparent;border-bottom:1px solid transparent;border-top:1px solid transparent;border-left:none}.ui.vertical.right.tabular.menu .active.item{background:#FFF;color:rgba(0,0,0,.95);border-color:#D4D4D5;margin:0 0 0 -1px;border-radius:0 .28571429rem .28571429rem 0!important}.ui.tabular.menu .active.dropdown.item{margin-bottom:0;border-left:1px solid transparent;border-right:1px solid transparent;border-top:2px solid transparent;border-bottom:none}.ui.pagination.menu{margin:0;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.ui.pagination.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.pagination.menu .item:last-child:before{display:none}.ui.pagination.menu .item{min-width:3em;text-align:center}.ui.pagination.menu .icon.item i.icon{vertical-align:top}.ui.pagination.menu .active.item{border-top:none;padding-top:.92857143em;background-color:rgba(0,0,0,.05);color:rgba(0,0,0,.95);box-shadow:none}.ui.secondary.menu{background:0 0;margin-left:-.35714286em;margin-right:-.35714286em;border-radius:0;border:none;box-shadow:none}.ui.secondary.menu .item{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;box-shadow:none;border:none;padding:.71428571em .92857143em;margin:0 .35714286em;background:0 0;-webkit-transition:color .1s ease;transition:color .1s ease;border-radius:.28571429rem}.ui.secondary.menu .item:before{display:none!important}.ui.secondary.menu .header.item{border-radius:0;border-right:none;background:none}.ui.secondary.menu .item>img:not(.ui){margin:0}.ui.secondary.menu .dropdown.item:hover,.ui.secondary.menu .link.item:hover,.ui.secondary.menu a.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.menu .active.item{box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);border-radius:.28571429rem}.ui.secondary.menu .active.item:hover{box-shadow:none;background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.secondary.inverted.menu .link.item,.ui.secondary.inverted.menu a.item{color:rgba(255,255,255,.7)!important}.ui.secondary.inverted.menu .dropdown.item:hover,.ui.secondary.inverted.menu .link.item:hover,.ui.secondary.inverted.menu a.item:hover{background:rgba(255,255,255,.08);color:#fff!important}.ui.secondary.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.secondary.item.menu{margin-left:0;margin-right:0}.ui.secondary.item.menu .item:last-child{margin-right:0}.ui.secondary.attached.menu{box-shadow:none}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu{margin:0 -.92857143em}.ui.vertical.secondary.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 1.33333333em}.ui.secondary.vertical.menu>.item{border:none;margin:0 0 .35714286em;border-radius:.28571429rem!important}.ui.secondary.vertical.menu>.header.item{border-radius:0}.ui.secondary.inverted.menu,.ui.vertical.secondary.menu .item>.menu .item{background-color:transparent}.ui.secondary.pointing.menu{margin-left:0;margin-right:0;border-bottom:2px solid rgba(34,36,38,.15)}.ui.secondary.pointing.menu .item{border-bottom-color:transparent;border-bottom-style:solid;border-radius:0;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;margin:0 0 -2px;padding:.85714286em 1.14285714em;border-bottom-width:2px;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.secondary.pointing.menu .header.item{color:rgba(0,0,0,.85)!important}.ui.secondary.pointing.menu .text.item{box-shadow:none!important}.ui.secondary.pointing.menu .item:after{display:none}.ui.secondary.pointing.menu .dropdown.item:hover,.ui.secondary.pointing.menu .link.item:hover,.ui.secondary.pointing.menu a.item:hover{background-color:transparent;color:rgba(0,0,0,.87)}.ui.secondary.pointing.menu .dropdown.item:active,.ui.secondary.pointing.menu .link.item:active,.ui.secondary.pointing.menu a.item:active{background-color:transparent;border-color:rgba(34,36,38,.15)}.ui.secondary.pointing.menu .active.item{background-color:transparent;box-shadow:none;border-color:#1B1C1D;font-weight:700;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.item:hover{border-color:#1B1C1D;color:rgba(0,0,0,.95)}.ui.secondary.pointing.menu .active.dropdown.item{border-color:transparent}.ui.secondary.vertical.pointing.menu{border-bottom-width:0;border-right-width:2px;border-right-style:solid;border-right-color:rgba(34,36,38,.15)}.ui.secondary.vertical.pointing.menu .item{border-bottom:none;border-right-style:solid;border-right-color:transparent;border-radius:0!important;margin:0 -2px 0 0;border-right-width:2px}.ui.secondary.vertical.pointing.menu .active.item{border-color:#1B1C1D}.ui.secondary.inverted.pointing.menu{border-width:2px;border-color:rgba(34,36,38,.15)}.ui.secondary.inverted.pointing.menu .item{color:rgba(255,255,255,.9)}.ui.secondary.inverted.pointing.menu .header.item{color:#FFF!important}.ui.secondary.inverted.pointing.menu .item:hover{color:rgba(0,0,0,.95)}.ui.secondary.inverted.pointing.menu .active.item{border-color:#FFF;color:#fff}.ui.text.menu{background:none;border-radius:0;box-shadow:none;border:none;margin:1em -.5em}.ui.text.menu .item{border-radius:0;box-shadow:none;-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;margin:0;padding:.35714286em .5em;font-weight:400;color:rgba(0,0,0,.6);-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.text.menu .item:before,.ui.text.menu .menu .item:before{display:none!important}.ui.text.menu .header.item{background-color:transparent;opacity:1;color:rgba(0,0,0,.85);font-size:.92857143em;text-transform:uppercase;font-weight:700}.ui.text.item.menu .item,.ui.text.menu .item>img:not(.ui){margin:0}.ui.vertical.text.menu{margin:1em 0}.ui.vertical.text.menu:first-child{margin-top:0}.ui.vertical.text.menu:last-child{margin-bottom:0}.ui.vertical.text.menu .item{margin:.57142857em 0}.ui.vertical.text.menu .item>i.icon{float:none;margin:0 .35714286em 0 0}.ui.vertical.text.menu .header.item{margin:.57142857em 0 .71428571em}.ui.vertical.text.menu .item:not(.dropdown)>.menu{margin:0}.ui.vertical.text.menu .item:not(.dropdown)>.menu>.item{margin:0;padding:.5em 0}.ui.text.menu .item:hover{opacity:1;background-color:transparent}.ui.text.menu .active.item{background-color:transparent;border:none;box-shadow:none;font-weight:400;color:rgba(0,0,0,.95)}.ui.text.menu .active.item:hover{background-color:transparent}.ui.text.attached.menu,.ui.text.pointing.menu .active.item:after{box-shadow:none}.ui.inverted.text.menu,.ui.inverted.text.menu .active.item,.ui.inverted.text.menu .item,.ui.inverted.text.menu .item:hover{background-color:transparent!important}.ui.fluid.text.menu{margin-left:0;margin-right:0}.ui.vertical.icon.menu{display:inline-block;width:auto}.ui.icon.menu .item{height:auto;text-align:center;color:#1B1C1D}.ui.icon.menu .item>.icon:not(.dropdown){margin:0;opacity:1}.ui.icon.menu .icon:before{opacity:1}.ui.menu .icon.item>.icon{width:auto;margin:0 auto}.ui.vertical.icon.menu .item>.icon:not(.dropdown){display:block;opacity:1;margin:0 auto;float:none}.ui.inverted.icon.menu .item{color:#FFF}.ui.labeled.icon.menu{text-align:center}.ui.labeled.icon.menu .item{min-width:6em;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui.labeled.icon.menu .item>.icon:not(.dropdown){height:1em;display:block;font-size:1.71428571em!important;margin:0 auto .5rem!important}.ui.fluid.labeled.icon.menu>.item{min-width:0}@media only screen and (max-width:767px){.ui.stackable.menu{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui.stackable.menu .item{width:100%!important}.ui.stackable.menu .item:before{position:absolute;content:'';top:auto;bottom:0;left:0;width:100%;background:rgba(34,36,38,.1);height:1px}}.ui.menu .red.active.item,.ui.red.menu .active.item{border-color:#DB2828!important;color:#DB2828!important}.ui.menu .orange.active.item,.ui.orange.menu .active.item{border-color:#F2711C!important;color:#F2711C!important}.ui.menu .yellow.active.item,.ui.yellow.menu .active.item{border-color:#FBBD08!important;color:#FBBD08!important}.ui.menu .olive.active.item,.ui.olive.menu .active.item{border-color:#B5CC18!important;color:#B5CC18!important}.ui.green.menu .active.item,.ui.menu .green.active.item{border-color:#21BA45!important;color:#21BA45!important}.ui.menu .teal.active.item,.ui.teal.menu .active.item{border-color:#00B5AD!important;color:#00B5AD!important}.ui.blue.menu .active.item,.ui.menu .blue.active.item{border-color:#2185D0!important;color:#2185D0!important}.ui.menu .violet.active.item,.ui.violet.menu .active.item{border-color:#6435C9!important;color:#6435C9!important}.ui.menu .purple.active.item,.ui.purple.menu .active.item{border-color:#A333C8!important;color:#A333C8!important}.ui.menu .pink.active.item,.ui.pink.menu .active.item{border-color:#E03997!important;color:#E03997!important}.ui.brown.menu .active.item,.ui.menu .brown.active.item{border-color:#A5673F!important;color:#A5673F!important}.ui.grey.menu .active.item,.ui.menu .grey.active.item{border-color:#767676!important;color:#767676!important}.ui.inverted.menu{border:0 solid transparent;background:#1B1C1D;box-shadow:none}.ui.inverted.menu .item,.ui.inverted.menu .item>a:not(.ui){background:0 0;color:rgba(255,255,255,.9)}.ui.inverted.menu .item.menu{background:0 0}.ui.inverted.menu .item:before,.ui.vertical.inverted.menu .item:before{background:rgba(255,255,255,.08)}.ui.vertical.inverted.menu .menu .item,.ui.vertical.inverted.menu .menu .item a:not(.ui){color:rgba(255,255,255,.5)}.ui.inverted.menu .header.item{margin:0;background:0 0;box-shadow:none}.ui.inverted.menu .item.disabled,.ui.inverted.menu .item.disabled:hover{color:rgba(225,225,225,.3)}.ui.inverted.menu .dropdown.item:hover,.ui.inverted.menu .link.item:hover,.ui.inverted.menu a.item:hover,.ui.link.inverted.menu .item:hover{background:rgba(255,255,255,.08);color:#fff}.ui.vertical.inverted.menu .item .menu .link.item:hover,.ui.vertical.inverted.menu .item .menu a.item:hover{background:0 0;color:#fff}.ui.inverted.menu .link.item:active,.ui.inverted.menu a.item:active{background:rgba(255,255,255,.08);color:#fff}.ui.inverted.menu .active.item{background:rgba(255,255,255,.15);color:#fff!important}.ui.inverted.vertical.menu .item .menu .active.item{background:0 0;color:#FFF}.ui.inverted.pointing.menu .active.item:after{background:#3D3E3F!important;margin:0!important;box-shadow:none!important;border:none!important}.ui.inverted.menu .active.item:hover{background:rgba(255,255,255,.15);color:#FFF!important}.ui.inverted.pointing.menu .active.item:hover:after{background:#3D3E3F!important}.ui.floated.menu{float:left;margin:0 .5rem 0 0}.ui.floated.menu .item:last-child:before{display:none}.ui.right.floated.menu{float:right;margin:0 0 0 .5rem}.ui.inverted.menu .red.active.item,.ui.inverted.red.menu{background-color:#DB2828}.ui.inverted.red.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.red.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .orange.active.item,.ui.inverted.orange.menu{background-color:#F2711C}.ui.inverted.orange.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.orange.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .yellow.active.item,.ui.inverted.yellow.menu{background-color:#FBBD08}.ui.inverted.yellow.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.yellow.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .olive.active.item,.ui.inverted.olive.menu{background-color:#B5CC18}.ui.inverted.olive.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.olive.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.green.menu,.ui.inverted.menu .green.active.item{background-color:#21BA45}.ui.inverted.green.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.green.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .teal.active.item,.ui.inverted.teal.menu{background-color:#00B5AD}.ui.inverted.teal.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.teal.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.blue.menu,.ui.inverted.menu .blue.active.item{background-color:#2185D0}.ui.inverted.blue.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.blue.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .violet.active.item,.ui.inverted.violet.menu{background-color:#6435C9}.ui.inverted.violet.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.violet.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .purple.active.item,.ui.inverted.purple.menu{background-color:#A333C8}.ui.inverted.purple.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.purple.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.menu .pink.active.item,.ui.inverted.pink.menu{background-color:#E03997}.ui.inverted.pink.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.pink.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.brown.menu,.ui.inverted.menu .brown.active.item{background-color:#A5673F}.ui.inverted.brown.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.brown.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.inverted.grey.menu,.ui.inverted.menu .grey.active.item{background-color:#767676}.ui.inverted.grey.menu .item:before{background-color:rgba(34,36,38,.1)}.ui.inverted.grey.menu .active.item{background-color:rgba(0,0,0,.1)!important}.ui.fitted.menu .item,.ui.fitted.menu .item .menu .item,.ui.menu .fitted.item{padding:0}.ui.horizontally.fitted.menu .item,.ui.horizontally.fitted.menu .item .menu .item,.ui.menu .horizontally.fitted.item{padding-top:.92857143em;padding-bottom:.92857143em}.ui.menu .vertically.fitted.item,.ui.vertically.fitted.menu .item,.ui.vertically.fitted.menu .item .menu .item{padding-left:1.14285714em;padding-right:1.14285714em}.ui.borderless.menu .item .menu .item:before,.ui.borderless.menu .item:before,.ui.menu .borderless.item:before{background:0 0!important}.ui.compact.menu{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;margin:0;vertical-align:middle}.ui.compact.vertical.menu{display:inline-block;width:auto!important}.ui.compact.menu .item:last-child{border-radius:0 .28571429rem .28571429rem 0}.ui.compact.menu .item:last-child:before{display:none}.ui.compact.vertical.menu .item:last-child::before{display:block}.ui.menu.fluid,.ui.vertical.menu.fluid{width:100%!important}.ui.item.menu,.ui.item.menu .item{width:100%;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important;text-align:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui.item.menu .item:last-child:before{display:none}.ui.menu.two.item .item{width:50%}.ui.menu.three.item .item{width:33.333%}.ui.menu.four.item .item{width:25%}.ui.menu.five.item .item{width:20%}.ui.menu.six.item .item{width:16.666%}.ui.menu.seven.item .item{width:14.285%}.ui.menu.eight.item .item{width:12.5%}.ui.menu.nine.item .item{width:11.11%}.ui.menu.ten.item .item{width:10%}.ui.menu.eleven.item .item{width:9.09%}.ui.menu.twelve.item .item{width:8.333%}.ui.menu.fixed{position:fixed;z-index:101;margin:0;width:100%}.ui.menu.fixed,.ui.menu.fixed .item:first-child,.ui.menu.fixed .item:last-child{border-radius:0!important}.ui.fixed.menu,.ui[class*=\"top fixed\"].menu{top:0;left:0;right:auto;bottom:auto}.ui[class*=\"top fixed\"].menu{border-top:none;border-left:none;border-right:none}.ui[class*=\"right fixed\"].menu{border-top:none;border-bottom:none;border-right:none;top:0;right:0;left:auto;bottom:auto;width:auto;height:100%}.ui[class*=\"bottom fixed\"].menu{border-bottom:none;border-left:none;border-right:none;bottom:0;left:0;top:auto;right:auto}.ui[class*=\"left fixed\"].menu{border-top:none;border-bottom:none;border-left:none;top:0;left:0;right:auto;bottom:auto;width:auto;height:100%}.ui.fixed.menu+.ui.grid{padding-top:2.75rem}.ui.pointing.menu .item:after{visibility:hidden;position:absolute;content:'';top:100%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg);background:0 0;margin:.5px 0 0;width:.57142857em;height:.57142857em;border:none;border-bottom:1px solid #D4D4D5;border-right:1px solid #D4D4D5;z-index:2;-webkit-transition:background .1s ease;transition:background .1s ease}.ui.vertical.pointing.menu .item:after{position:absolute;top:50%;right:0;bottom:auto;left:auto;-webkit-transform:translateX(50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(50%) translateY(-50%) rotate(45deg);transform:translateX(50%) translateY(-50%) rotate(45deg);margin:0 -.5px 0 0;border:none;border-top:1px solid #D4D4D5;border-right:1px solid #D4D4D5}.ui.pointing.menu .active.item:after{visibility:visible}.ui.pointing.menu .active.dropdown.item:after{visibility:hidden}.ui.pointing.menu .active.item .menu .active.item:after,.ui.pointing.menu .dropdown.active.item:after{display:none}.ui.pointing.menu .active.item:after,.ui.pointing.menu .active.item:hover:after,.ui.vertical.pointing.menu .active.item:after,.ui.vertical.pointing.menu .active.item:hover:after{background-color:#F2F2F2}.ui.vertical.pointing.menu .menu .active.item:after{background-color:#FFF}.ui.attached.menu{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);box-shadow:none}.ui.attached+.ui.attached.menu:not(.top){border-top:none}.ui[class*=\"top attached\"].menu{bottom:0;margin-bottom:0;top:0;margin-top:1rem;border-radius:.28571429rem .28571429rem 0 0}.ui.menu[class*=\"top attached\"]:first-child{margin-top:0}.ui[class*=\"bottom attached\"].menu{bottom:0;margin-top:0;top:0;margin-bottom:1rem;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*=\"bottom attached\"].menu:last-child{margin-bottom:0}.ui.top.attached.menu>.item:first-child{border-radius:.28571429rem 0 0}.ui.bottom.attached.menu>.item:first-child{border-radius:0 0 0 .28571429rem}.ui.attached.menu:not(.tabular){border:1px solid #D4D4D5}.ui.attached.inverted.menu{border:none}.ui.attached.tabular.menu{margin-left:0;margin-right:0;width:100%}.ui.small.menu{font-size:.92857143rem}.ui.small.vertical.menu{width:13rem}.ui.menu{font-size:1rem}.ui.vertical.menu{width:15rem}.ui.large.menu{font-size:1.14285714rem}.ui.large.vertical.menu{width:18rem}.ui.huge.menu{font-size:1.42857143rem}.ui.huge.vertical.menu{width:20rem}.ui.message{position:relative;min-height:1em;margin:1em 0;background:#F8F8F9;padding:1em 1.5em;line-height:1.4285em;color:rgba(0,0,0,.87);-webkit-transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;transition:opacity .1s ease,color .1s ease,background .1s ease,box-shadow .1s ease;border-radius:.28571429rem;box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 0 0 0 transparent}.ui.message:first-child{margin-top:0}.ui.message:last-child{margin-bottom:0}.ui.message .header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;margin:-.14285em 0 0}.ui.message .header:not(.ui){font-size:1.14285714em}.ui.message p{opacity:.85;margin:.75em 0}.ui.message p:first-child{margin-top:0}.ui.message p:last-child{margin-bottom:0}.ui.message .header+p{margin-top:.25em}.ui.message .list:not(.ui){text-align:left;padding:0;opacity:.85;list-style-position:inside;margin:.5em 0 0}.ui.message .list:not(.ui):first-child{margin-top:0}.ui.message .list:not(.ui):last-child{margin-bottom:0}.ui.message .list:not(.ui) li{position:relative;list-style-type:none;margin:0 0 .3em 1em;padding:0}.ui.message .list:not(.ui) li:before{position:absolute;content:'•';left:-1em;height:100%;vertical-align:baseline}.ui.message .list:not(.ui) li:last-child{margin-bottom:0}.ui.message>.icon{margin-right:.6em}.ui.message>.close.icon{cursor:pointer;position:absolute;margin:0;top:.78575em;right:.5em;opacity:.7;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.message>.close.icon:hover{opacity:1}.ui.message>:first-child{margin-top:0}.ui.message>:last-child{margin-bottom:0}.ui.dropdown .menu>.message{margin:0 -1px}.ui.visible.visible.visible.visible.message{display:block}.ui.icon.visible.visible.visible.visible.message{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.ui.hidden.hidden.hidden.hidden.message{display:none}.ui.compact.message{display:inline-block}.ui.attached.message{margin-bottom:-1px;border-radius:.28571429rem .28571429rem 0 0;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset;margin-left:-1px;margin-right:-1px}.ui.attached+.ui.attached.message:not(.top):not(.bottom){margin-top:-1px;border-radius:0}.ui.bottom.attached.message{margin-top:-1px;border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset,0 1px 2px 0 rgba(34,36,38,.15)}.ui.bottom.attached.message:not(:last-child){margin-bottom:1em}.ui.attached.icon.message{width:auto}.ui.icon.message{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui.icon.message>.icon:not(.close){display:block;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;line-height:1;vertical-align:middle;font-size:3em;opacity:.8}.ui.icon.message>.content{display:block;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;vertical-align:middle}.ui.icon.message .icon:not(.close)+.content{padding-left:0}.ui.icon.message .circular.icon{width:1em}.ui.floating.message{box-shadow:0 0 0 1px rgba(34,36,38,.22) inset,0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08)}.ui.positive.message{background-color:#FCFFF5;color:#2C662D}.ui.attached.positive.message,.ui.positive.message{box-shadow:0 0 0 1px #A3C293 inset,0 0 0 0 transparent}.ui.positive.message .header{color:#1A531B}.ui.negative.message{background-color:#FFF6F6;color:#9F3A38}.ui.attached.negative.message,.ui.negative.message{box-shadow:0 0 0 1px #E0B4B4 inset,0 0 0 0 transparent}.ui.negative.message .header{color:#912D2B}.ui.info.message{background-color:#F8FFFF;color:#276F86}.ui.attached.info.message,.ui.info.message{box-shadow:0 0 0 1px #A9D5DE inset,0 0 0 0 transparent}.ui.info.message .header{color:#0E566C}.ui.warning.message{background-color:#FFFAF3;color:#573A08}.ui.attached.warning.message,.ui.warning.message{box-shadow:0 0 0 1px #C9BA9B inset,0 0 0 0 transparent}.ui.warning.message .header{color:#794B02}.ui.error.message{background-color:#FFF6F6;color:#9F3A38}.ui.attached.error.message,.ui.error.message{box-shadow:0 0 0 1px #E0B4B4 inset,0 0 0 0 transparent}.ui.error.message .header{color:#912D2B}.ui.success.message{background-color:#FCFFF5;color:#2C662D}.ui.attached.success.message,.ui.success.message{box-shadow:0 0 0 1px #A3C293 inset,0 0 0 0 transparent}.ui.success.message .header{color:#1A531B}.ui.black.message,.ui.inverted.message{background-color:#1B1C1D;color:rgba(255,255,255,.9)}.ui.red.message{background-color:#FFE8E6;color:#DB2828}.ui.red.message .header{color:#c82121}.ui.orange.message{background-color:#FFEDDE;color:#F2711C}.ui.orange.message .header{color:#e7640d}.ui.yellow.message{background-color:#FFF8DB;color:#B58105}.ui.yellow.message .header{color:#9c6f04}.ui.olive.message{background-color:#FBFDEF;color:#8ABC1E}.ui.olive.message .header{color:#7aa61a}.ui.green.message{background-color:#E5F9E7;color:#1EBC30}.ui.green.message .header{color:#1aa62a}.ui.teal.message{background-color:#E1F7F7;color:#10A3A3}.ui.teal.message .header{color:#0e8c8c}.ui.blue.message{background-color:#DFF0FF;color:#2185D0}.ui.blue.message .header{color:#1e77ba}.ui.violet.message{background-color:#EAE7FF;color:#6435C9}.ui.violet.message .header{color:#5a30b5}.ui.purple.message{background-color:#F6E7FF;color:#A333C8}.ui.purple.message .header{color:#922eb4}.ui.pink.message{background-color:#FFE3FB;color:#E03997}.ui.pink.message .header{color:#dd238b}.ui.brown.message{background-color:#F1E2D3;color:#A5673F}.ui.brown.message .header{color:#935b38}.ui.small.message{font-size:.92857143em}.ui.message{font-size:1em}.ui.large.message{font-size:1.14285714em}.ui.huge.message{font-size:1.42857143em}.ui.massive.message{font-size:1.71428571em}.ui.table{width:100%;background:#FFF;margin:1em 0;border:1px solid rgba(34,36,38,.15);box-shadow:none;border-radius:.28571429rem;text-align:left;color:rgba(0,0,0,.87);border-collapse:separate;border-spacing:0}.ui.table:first-child{margin-top:0}.ui.table:last-child{margin-bottom:0}.ui.table td,.ui.table th{-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.table thead{box-shadow:none}.ui.table thead th{cursor:auto;background:#F9FAFB;text-align:inherit;color:rgba(0,0,0,.87);padding:.92857143em .71428571em;vertical-align:inherit;font-style:none;font-weight:700;text-transform:none;border-bottom:1px solid rgba(34,36,38,.1);border-left:none}.ui.table thead tr>th:first-child{border-left:none}.ui.table thead tr:first-child>th:first-child{border-radius:.28571429rem 0 0}.ui.table thead tr:first-child>th:last-child{border-radius:0 .28571429rem 0 0}.ui.table thead tr:first-child>th:only-child{border-radius:.28571429rem .28571429rem 0 0}.ui.table tfoot{box-shadow:none}.ui.table tfoot th{cursor:auto;border-top:1px solid rgba(34,36,38,.15);background:#F9FAFB;text-align:inherit;color:rgba(0,0,0,.87);padding:.71428571em;vertical-align:middle;font-style:normal;font-weight:400;text-transform:none}.ui.table tfoot tr>th:first-child{border-left:none}.ui.table tfoot tr:first-child>th:first-child{border-radius:0 0 0 .28571429rem}.ui.table tfoot tr:first-child>th:last-child{border-radius:0 0 .28571429rem}.ui.table tfoot tr:first-child>th:only-child{border-radius:0 0 .28571429rem .28571429rem}.ui.table tr td{border-top:1px solid rgba(34,36,38,.1)}.ui.table tr:first-child td{border-top:none}.ui.table td{padding:.71428571em;text-align:inherit}.ui.table>.icon{vertical-align:baseline}.ui.table>.icon:only-child{margin:0}.ui.table.segment{padding:0}.ui.table.segment:after{display:none}.ui.table.segment.stacked:after{display:block}@media only screen and (max-width:767px){.ui.table:not(.unstackable){width:100%;padding:0}.ui.table:not(.unstackable) tbody,.ui.table:not(.unstackable) tr,.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{width:auto!important;display:block!important}.ui.table:not(.unstackable) tfoot,.ui.table:not(.unstackable) thead{display:block}.ui.table:not(.unstackable) tr{padding-top:1em;padding-bottom:1em;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui.table:not(.unstackable) tr>td,.ui.table:not(.unstackable) tr>th{background:0 0;border:none!important;padding:.25em .75em!important;box-shadow:none!important}.ui.table:not(.unstackable) td:first-child,.ui.table:not(.unstackable) th:first-child{font-weight:700}.ui.definition.table:not(.unstackable) thead th:first-child{box-shadow:none!important}}.ui.table td .image,.ui.table td .image img,.ui.table th .image,.ui.table th .image img{max-width:none}.ui.structured.table{border-collapse:collapse}.ui.structured.table thead th{border-left:none;border-right:none}.ui.structured.sortable.table thead th{border-left:1px solid rgba(34,36,38,.15);border-right:1px solid rgba(34,36,38,.15)}.ui.structured.basic.table th{border-left:none;border-right:none}.ui.structured.celled.table tr td,.ui.structured.celled.table tr th{border-left:1px solid rgba(34,36,38,.1);border-right:1px solid rgba(34,36,38,.1)}.ui.definition.table thead:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:400;color:rgba(0,0,0,.4);box-shadow:-1px -1px 0 1px #FFF}.ui.definition.table tfoot:not(.full-width) th:first-child{pointer-events:none;background:0 0;font-weight:rgba(0,0,0,.4);color:normal;box-shadow:1px 1px 0 1px #FFF}.ui.celled.definition.table thead:not(.full-width) th:first-child{box-shadow:0 -1px 0 1px #FFF}.ui.celled.definition.table tfoot:not(.full-width) th:first-child{box-shadow:0 1px 0 1px #FFF}.ui.definition.table tr td:first-child{background:rgba(0,0,0,.03);font-weight:700;color:rgba(0,0,0,.95)}.ui.definition.table td:nth-child(2),.ui.definition.table tfoot:not(.full-width) th:nth-child(2),.ui.definition.table thead:not(.full-width) th:nth-child(2){border-left:1px solid rgba(34,36,38,.15)}.ui.table td.positive,.ui.table tr.positive{box-shadow:0 0 0 #A3C293 inset;background:#FCFFF5!important;color:#2C662D!important}.ui.table td.negative,.ui.table tr.negative{box-shadow:0 0 0 #E0B4B4 inset;background:#FFF6F6!important;color:#9F3A38!important}.ui.table td.error,.ui.table tr.error{box-shadow:0 0 0 #E0B4B4 inset;background:#FFF6F6!important;color:#9F3A38!important}.ui.table td.warning,.ui.table tr.warning{box-shadow:0 0 0 #C9BA9B inset;background:#FFFAF3!important;color:#573A08!important}.ui.table td.active,.ui.table tr.active{box-shadow:0 0 0 rgba(0,0,0,.87) inset;background:#E0E0E0!important;color:rgba(0,0,0,.87)!important}.ui.table tr td.disabled,.ui.table tr.disabled td,.ui.table tr.disabled:hover,.ui.table tr:hover td.disabled{pointer-events:none;color:rgba(40,40,40,.3)}@media only screen and (max-width:991px){.ui[class*=\"tablet stackable\"].table,.ui[class*=\"tablet stackable\"].table tbody,.ui[class*=\"tablet stackable\"].table tr,.ui[class*=\"tablet stackable\"].table tr>td,.ui[class*=\"tablet stackable\"].table tr>th{width:100%!important;display:block!important}.ui[class*=\"tablet stackable\"].table{padding:0}.ui[class*=\"tablet stackable\"].table tfoot,.ui[class*=\"tablet stackable\"].table thead{display:block}.ui[class*=\"tablet stackable\"].table tr{padding-top:1em;padding-bottom:1em;box-shadow:0 -1px 0 0 rgba(0,0,0,.1) inset!important}.ui[class*=\"tablet stackable\"].table tr>td,.ui[class*=\"tablet stackable\"].table tr>th{background:0 0;border:none!important;padding:.25em .75em;box-shadow:none!important}.ui.definition[class*=\"tablet stackable\"].table thead th:first-child{box-shadow:none!important}}.ui.table [class*=\"left aligned\"],.ui.table[class*=\"left aligned\"]{text-align:left}.ui.table [class*=\"center aligned\"],.ui.table[class*=\"center aligned\"]{text-align:center}.ui.table [class*=\"right aligned\"],.ui.table[class*=\"right aligned\"]{text-align:right}.ui.table [class*=\"top aligned\"],.ui.table[class*=\"top aligned\"]{vertical-align:top}.ui.table [class*=\"middle aligned\"],.ui.table[class*=\"middle aligned\"]{vertical-align:middle}.ui.table [class*=\"bottom aligned\"],.ui.table[class*=\"bottom aligned\"]{vertical-align:bottom}.ui.table td.collapsing,.ui.table th.collapsing{width:1px;white-space:nowrap}.ui.fixed.table{table-layout:fixed}.ui.fixed.table td,.ui.fixed.table th{overflow:hidden;text-overflow:ellipsis}.ui.selectable.table tbody tr:hover,.ui.table tbody tr td.selectable:hover{background:rgba(0,0,0,.05)!important;color:rgba(0,0,0,.95)!important}.ui.inverted.table tbody tr td.selectable:hover,.ui.selectable.inverted.table tbody tr:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.ui.table tbody tr td.selectable{padding:0}.ui.table tbody tr td.selectable>a:not(.ui){display:block;color:inherit;padding:.71428571em}.ui.selectable.table tr.error:hover,.ui.selectable.table tr:hover td.error,.ui.table tr td.selectable.error:hover{background:#ffe7e7!important;color:#943634!important}.ui.selectable.table tr.warning:hover,.ui.selectable.table tr:hover td.warning,.ui.table tr td.selectable.warning:hover{background:#fff4e4!important;color:#493107!important}.ui.selectable.table tr.active:hover,.ui.selectable.table tr:hover td.active,.ui.table tr td.selectable.active:hover{background:#E0E0E0!important;color:rgba(0,0,0,.87)!important}.ui.selectable.table tr.positive:hover,.ui.selectable.table tr:hover td.positive,.ui.table tr td.selectable.positive:hover{background:#f7ffe6!important;color:#275b28!important}.ui.selectable.table tr.negative:hover,.ui.selectable.table tr:hover td.negative,.ui.table tr td.selectable.negative:hover{background:#ffe7e7!important;color:#943634!important}.ui.attached.table{top:0;bottom:0;border-radius:0;margin:0 -1px;width:calc(100% + 2px);max-width:calc(100% + 2px);box-shadow:none;border:1px solid #D4D4D5}.ui.attached+.ui.attached.table:not(.top){border-top:none}.ui[class*=\"top attached\"].table{bottom:0;margin-bottom:0;top:0;margin-top:1em;border-radius:.28571429rem .28571429rem 0 0}.ui.table[class*=\"top attached\"]:first-child{margin-top:0}.ui[class*=\"bottom attached\"].table{bottom:0;margin-top:0;top:0;margin-bottom:1em;box-shadow:none,none;border-radius:0 0 .28571429rem .28571429rem}.ui[class*=\"bottom attached\"].table:last-child{margin-bottom:0}.ui.striped.table tbody tr:nth-child(2n),.ui.striped.table>tr:nth-child(2n){background-color:rgba(0,0,50,.02)}.ui.inverted.striped.table tbody tr:nth-child(2n),.ui.inverted.striped.table>tr:nth-child(2n){background-color:rgba(255,255,255,.05)}.ui.table [class*=\"single line\"],.ui.table[class*=\"single line\"]{white-space:nowrap}.ui.red.table{border-top:.2em solid #DB2828}.ui.inverted.red.table{background-color:#DB2828!important;color:#FFF!important}.ui.orange.table{border-top:.2em solid #F2711C}.ui.inverted.orange.table{background-color:#F2711C!important;color:#FFF!important}.ui.yellow.table{border-top:.2em solid #FBBD08}.ui.inverted.yellow.table{background-color:#FBBD08!important;color:#FFF!important}.ui.olive.table{border-top:.2em solid #B5CC18}.ui.inverted.olive.table{background-color:#B5CC18!important;color:#FFF!important}.ui.green.table{border-top:.2em solid #21BA45}.ui.inverted.green.table{background-color:#21BA45!important;color:#FFF!important}.ui.teal.table{border-top:.2em solid #00B5AD}.ui.inverted.teal.table{background-color:#00B5AD!important;color:#FFF!important}.ui.blue.table{border-top:.2em solid #2185D0}.ui.inverted.blue.table{background-color:#2185D0!important;color:#FFF!important}.ui.violet.table{border-top:.2em solid #6435C9}.ui.inverted.violet.table{background-color:#6435C9!important;color:#FFF!important}.ui.purple.table{border-top:.2em solid #A333C8}.ui.inverted.purple.table{background-color:#A333C8!important;color:#FFF!important}.ui.pink.table{border-top:.2em solid #E03997}.ui.inverted.pink.table{background-color:#E03997!important;color:#FFF!important}.ui.brown.table{border-top:.2em solid #A5673F}.ui.inverted.brown.table{background-color:#A5673F!important;color:#FFF!important}.ui.grey.table{border-top:.2em solid #767676}.ui.inverted.grey.table{background-color:#767676!important;color:#FFF!important}.ui.black.table{border-top:.2em solid #1B1C1D}.ui.inverted.black.table{background-color:#1B1C1D!important;color:#FFF!important}.ui.one.column.table td{width:100%}.ui.two.column.table td{width:50%}.ui.three.column.table td{width:33.33333333%}.ui.four.column.table td{width:25%}.ui.five.column.table td{width:20%}.ui.six.column.table td{width:16.66666667%}.ui.seven.column.table td{width:14.28571429%}.ui.eight.column.table td{width:12.5%}.ui.nine.column.table td{width:11.11111111%}.ui.ten.column.table td{width:10%}.ui.eleven.column.table td{width:9.09090909%}.ui.twelve.column.table td{width:8.33333333%}.ui.thirteen.column.table td{width:7.69230769%}.ui.fourteen.column.table td{width:7.14285714%}.ui.fifteen.column.table td{width:6.66666667%}.ui.sixteen.column.table td,.ui.table td.one.wide,.ui.table th.one.wide{width:6.25%}.ui.table td.two.wide,.ui.table th.two.wide{width:12.5%}.ui.table td.three.wide,.ui.table th.three.wide{width:18.75%}.ui.table td.four.wide,.ui.table th.four.wide{width:25%}.ui.table td.five.wide,.ui.table th.five.wide{width:31.25%}.ui.table td.six.wide,.ui.table th.six.wide{width:37.5%}.ui.table td.seven.wide,.ui.table th.seven.wide{width:43.75%}.ui.table td.eight.wide,.ui.table th.eight.wide{width:50%}.ui.table td.nine.wide,.ui.table th.nine.wide{width:56.25%}.ui.table td.ten.wide,.ui.table th.ten.wide{width:62.5%}.ui.table td.eleven.wide,.ui.table th.eleven.wide{width:68.75%}.ui.table td.twelve.wide,.ui.table th.twelve.wide{width:75%}.ui.table td.thirteen.wide,.ui.table th.thirteen.wide{width:81.25%}.ui.table td.fourteen.wide,.ui.table th.fourteen.wide{width:87.5%}.ui.table td.fifteen.wide,.ui.table th.fifteen.wide{width:93.75%}.ui.table td.sixteen.wide,.ui.table th.sixteen.wide{width:100%}.ui.sortable.table thead th{cursor:pointer;white-space:nowrap;border-left:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87)}.ui.sortable.table thead th:first-child{border-left:none}.ui.sortable.table thead th.sorted,.ui.sortable.table thead th.sorted:hover{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.sortable.table thead th:after{display:none;font-style:normal;font-weight:400;text-decoration:inherit;content:'';height:1em;width:auto;opacity:.8;margin:0 0 0 .5em;font-family:Icons}.ui.sortable.table thead th.ascending:after{content:'\\f0d8'}.ui.sortable.table thead th.descending:after{content:'\\f0d7'}.ui.sortable.table th.disabled:hover{cursor:auto;color:rgba(40,40,40,.3)}.ui.sortable.table thead th:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.8)}.ui.sortable.table thead th.sorted{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.sortable.table thead th.sorted:after{display:inline-block}.ui.sortable.table thead th.sorted:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95)}.ui.inverted.sortable.table thead th.sorted{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)) rgba(255,255,255,.15);background:linear-gradient(transparent,rgba(0,0,0,.05)) rgba(255,255,255,.15);color:#fff}.ui.inverted.sortable.table thead th:hover{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)) rgba(255,255,255,.08);background:linear-gradient(transparent,rgba(0,0,0,.05)) rgba(255,255,255,.08);color:#fff}.ui.inverted.sortable.table thead th{border-left-color:transparent;border-right-color:transparent}.ui.inverted.table{background:#333;color:rgba(255,255,255,.9);border:none}.ui.inverted.table th{background-color:rgba(0,0,0,.15);border-color:rgba(255,255,255,.1)!important;color:rgba(255,255,255,.9)}.ui.inverted.table tr td{border-color:rgba(255,255,255,.1)!important}.ui.inverted.table tr td.disabled,.ui.inverted.table tr.disabled td,.ui.inverted.table tr.disabled:hover td,.ui.inverted.table tr:hover td.disabled{pointer-events:none;color:rgba(225,225,225,.3)}.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,.ui.inverted.definition.table thead:not(.full-width) th:first-child{background:#FFF}.ui.inverted.definition.table tr td:first-child{background:rgba(255,255,255,.02);color:#fff}.ui.collapsing.table{width:auto}.ui.basic.table{background:0 0;border:1px solid rgba(34,36,38,.15);box-shadow:none}.ui.basic.table tfoot,.ui.basic.table thead{box-shadow:none}.ui.basic.table th{background:0 0;border-left:none}.ui.basic.table tbody tr{border-bottom:1px solid rgba(0,0,0,.1)}.ui.basic.table td{background:0 0}.ui.basic.striped.table tbody tr:nth-child(2n){background-color:rgba(0,0,0,.05)!important}.ui[class*=\"very basic\"].table{border:none}.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td,.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th{padding:''}.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:first-child,.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:first-child{padding-left:0}.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:last-child,.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:last-child{padding-right:0}.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) thead tr:first-child th{padding-top:0}.ui.celled.table tr td,.ui.celled.table tr th{border-left:1px solid rgba(34,36,38,.1)}.ui.celled.table tr td:first-child,.ui.celled.table tr th:first-child{border-left:none}.ui.padded.table th{padding-left:1em;padding-right:1em}.ui.padded.table td,.ui.padded.table th{padding:1em}.ui[class*=\"very padded\"].table th{padding-left:1.5em;padding-right:1.5em}.ui[class*=\"very padded\"].table td{padding:1.5em}.ui.compact.table th{padding-left:.7em;padding-right:.7em}.ui.compact.table td{padding:.5em .7em}.ui[class*=\"very compact\"].table th{padding-left:.6em;padding-right:.6em}.ui[class*=\"very compact\"].table td{padding:.4em .6em}.ui.small.table{font-size:.9em}.ui.table{font-size:1em}.ui.large.table{font-size:1.1em}.ui.ad{display:block;overflow:hidden;margin:1em 0}.ui.ad:first-child,.ui.ad:last-child{margin:0}.ui.ad iframe{margin:0;padding:0;border:none;overflow:hidden}.ui.leaderboard.ad{width:728px;height:90px}.ui[class*=\"medium rectangle\"].ad{width:300px;height:250px}.ui[class*=\"large rectangle\"].ad{width:336px;height:280px}.ui[class*=\"half page\"].ad{width:300px;height:600px}.ui.square.ad{width:250px;height:250px}.ui[class*=\"small square\"].ad{width:200px;height:200px}.ui[class*=\"small rectangle\"].ad{width:180px;height:150px}.ui[class*=\"vertical rectangle\"].ad{width:240px;height:400px}.ui.button.ad{width:120px;height:90px}.ui[class*=\"square button\"].ad{width:125px;height:125px}.ui[class*=\"small button\"].ad{width:120px;height:60px}.ui.skyscraper.ad{width:120px;height:600px}.ui[class*=\"wide skyscraper\"].ad{width:160px}.ui.banner.ad{width:468px;height:60px}.ui[class*=\"vertical banner\"].ad{width:120px;height:240px}.ui[class*=\"top banner\"].ad{width:930px;height:180px}.ui[class*=\"half banner\"].ad{width:234px;height:60px}.ui[class*=\"large leaderboard\"].ad{width:970px;height:90px}.ui.billboard.ad{width:970px;height:250px}.ui.panorama.ad{width:980px;height:120px}.ui.netboard.ad{width:580px;height:400px}.ui[class*=\"large mobile banner\"].ad{width:320px;height:100px}.ui[class*=\"mobile leaderboard\"].ad{width:320px;height:50px}.ui.mobile.ad{display:none}@media only screen and (max-width:767px){.ui.mobile.ad{display:block}}.ui.centered.ad{margin-left:auto;margin-right:auto}.ui.test.ad{position:relative;background:#545454}.ui.test.ad:after{position:absolute;top:50%;left:50%;width:100%;text-align:center;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);content:'Ad';color:#FFF;font-size:1em;font-weight:700}.ui.mobile.test.ad:after{font-size:.85714286em}.ui.test.ad[data-text]:after{content:attr(data-text)}.ui.card,.ui.cards>.card{max-width:100%;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:290px;min-height:0;background:#FFF;padding:0;border:none;border-radius:.28571429rem;box-shadow:0 1px 3px 0 #D4D4D5,0 0 0 1px #D4D4D5;-webkit-transition:box-shadow .1s ease,-webkit-transform .1s ease;transition:box-shadow .1s ease,transform .1s ease;z-index:''}.ui.card{margin:1em 0}.ui.card a,.ui.cards>.card a{cursor:pointer}.ui.card:first-child{margin-top:0}.ui.card:last-child{margin-bottom:0}.ui.cards{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:-.875em -.5em;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.cards>.card{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:.875em .5em;float:none}.ui.card:after,.ui.cards:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.cards~.ui.cards{margin-top:.875em}.ui.card>:first-child,.ui.cards>.card>:first-child{border-radius:.28571429rem .28571429rem 0 0!important;border-top:none!important}.ui.card>:last-child,.ui.cards>.card>:last-child{border-radius:0 0 .28571429rem .28571429rem!important}.ui.card>:only-child,.ui.cards>.card>:only-child{border-radius:.28571429rem!important}.ui.card>.image,.ui.cards>.card>.image{position:relative;display:block;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;padding:0;background:rgba(0,0,0,.05)}.ui.card>.image>img,.ui.cards>.card>.image>img{display:block;width:100%;height:auto;border-radius:inherit}.ui.card>.image:not(.ui)>img,.ui.cards>.card>.image:not(.ui)>img{border:none}.ui.card>.content,.ui.cards>.card>.content{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border:none;border-top:1px solid rgba(34,36,38,.1);background:0 0;margin:0;padding:1em;box-shadow:none;font-size:1em;border-radius:0}.ui.card>.content:after,.ui.cards>.card>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.card>.content>.header,.ui.cards>.card>.content>.header{display:block;margin:'';font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;color:rgba(0,0,0,.85)}.ui.card>.content>.header:not(.ui),.ui.cards>.card>.content>.header:not(.ui){font-weight:700;font-size:1.28571429em;margin-top:-.21425em;line-height:1.2857em}.ui.card>.content>.header+.description,.ui.card>.content>.meta+.description,.ui.cards>.card>.content>.header+.description,.ui.cards>.card>.content>.meta+.description{margin-top:.5em}.ui.card [class*=\"left floated\"],.ui.cards>.card [class*=\"left floated\"]{float:left}.ui.card [class*=\"right floated\"],.ui.cards>.card [class*=\"right floated\"]{float:right}.ui.card [class*=\"left aligned\"],.ui.cards>.card [class*=\"left aligned\"]{text-align:left}.ui.card [class*=\"center aligned\"],.ui.cards>.card [class*=\"center aligned\"]{text-align:center}.ui.card [class*=\"right aligned\"],.ui.cards>.card [class*=\"right aligned\"]{text-align:right}.ui.card .content img,.ui.cards>.card .content img{display:inline-block;vertical-align:middle;width:''}.ui.card .avatar img,.ui.card img.avatar,.ui.cards>.card .avatar img,.ui.cards>.card img.avatar{width:2em;height:2em;border-radius:500rem}.ui.card>.content>.description,.ui.cards>.card>.content>.description{clear:both;color:rgba(0,0,0,.68)}.ui.card>.content p,.ui.cards>.card>.content p{margin:0 0 .5em}.ui.card>.content p:last-child,.ui.cards>.card>.content p:last-child{margin-bottom:0}.ui.card .meta,.ui.cards>.card .meta{font-size:1em;color:rgba(0,0,0,.4)}.ui.card .meta *,.ui.cards>.card .meta *{margin-right:.3em}.ui.card .meta :last-child,.ui.cards>.card .meta :last-child{margin-right:0}.ui.card .meta [class*=\"right floated\"],.ui.cards>.card .meta [class*=\"right floated\"]{margin-right:0;margin-left:.3em}.ui.card>.content a:not(.ui),.ui.cards>.card>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content a:not(.ui):hover,.ui.cards>.card>.content a:not(.ui):hover{color:''}.ui.card>.content>a.header,.ui.cards>.card>.content>a.header{color:rgba(0,0,0,.85)}.ui.card>.content>a.header:hover,.ui.cards>.card>.content>a.header:hover{color:#1e70bf}.ui.card .meta>a:not(.ui),.ui.cards>.card .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.card .meta>a:not(.ui):hover,.ui.cards>.card .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.card>.button,.ui.card>.buttons,.ui.cards>.card>.button,.ui.cards>.card>.buttons{margin:0 -1px;width:calc(100% + 2px)}.ui.card .dimmer,.ui.cards>.card .dimmer{background-color:'';z-index:10}.ui.card>.content .star.icon,.ui.cards>.card>.content .star.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .star.icon:hover,.ui.cards>.card>.content .star.icon:hover{opacity:1;color:#FFB70A}.ui.card>.content .active.star.icon,.ui.cards>.card>.content .active.star.icon{color:#FFE623}.ui.card>.content .like.icon,.ui.cards>.card>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.content .like.icon:hover,.ui.cards>.card>.content .like.icon:hover{opacity:1;color:#FF2733}.ui.card>.content .active.like.icon,.ui.cards>.card>.content .active.like.icon{color:#FF2733}.ui.card>.extra,.ui.cards>.card>.extra{max-width:100%;min-height:0!important;-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0;border-top:1px solid rgba(0,0,0,.05)!important;position:static;background:0 0;width:auto;margin:0;padding:.75em 1em;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.card>.extra a:not(.ui),.ui.cards>.card>.extra a:not(.ui){color:rgba(0,0,0,.4)}.ui.card>.extra a:not(.ui):hover,.ui.cards>.card>.extra a:not(.ui):hover{color:#1e70bf}.ui.centered.cards{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.ui.centered.card{margin-left:auto;margin-right:auto}.ui.fluid.card{width:100%;max-width:9999px}.ui.cards a.card,.ui.link.card,.ui.link.cards .card,a.ui.card{-webkit-transform:none;-ms-transform:none;transform:none}.ui.cards a.card:hover,.ui.link.card:hover,.ui.link.cards .card:hover,a.ui.card:hover{cursor:pointer;z-index:5;background:#FFF;border:none;box-shadow:0 1px 3px 0 #BCBDBD,0 0 0 1px #D4D4D5;-webkit-transform:translateY(-3px);-ms-transform:translateY(-3px);transform:translateY(-3px)}.ui.cards>.red.card,.ui.red.card,.ui.red.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #DB2828,0 1px 3px 0 #D4D4D5}.ui.cards>.red.card:hover,.ui.red.card:hover,.ui.red.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #d01919,0 1px 3px 0 #BCBDBD}.ui.cards>.orange.card,.ui.orange.card,.ui.orange.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #F2711C,0 1px 3px 0 #D4D4D5}.ui.cards>.orange.card:hover,.ui.orange.card:hover,.ui.orange.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #f26202,0 1px 3px 0 #BCBDBD}.ui.cards>.yellow.card,.ui.yellow.card,.ui.yellow.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #FBBD08,0 1px 3px 0 #D4D4D5}.ui.cards>.yellow.card:hover,.ui.yellow.card:hover,.ui.yellow.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #eaae00,0 1px 3px 0 #BCBDBD}.ui.cards>.olive.card,.ui.olive.card,.ui.olive.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #B5CC18,0 1px 3px 0 #D4D4D5}.ui.cards>.olive.card:hover,.ui.olive.card:hover,.ui.olive.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #a7bd0d,0 1px 3px 0 #BCBDBD}.ui.cards>.green.card,.ui.green.card,.ui.green.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #21BA45,0 1px 3px 0 #D4D4D5}.ui.cards>.green.card:hover,.ui.green.card:hover,.ui.green.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #16ab39,0 1px 3px 0 #BCBDBD}.ui.cards>.teal.card,.ui.teal.card,.ui.teal.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #00B5AD,0 1px 3px 0 #D4D4D5}.ui.cards>.teal.card:hover,.ui.teal.card:hover,.ui.teal.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #009c95,0 1px 3px 0 #BCBDBD}.ui.blue.card,.ui.blue.cards>.card,.ui.cards>.blue.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #2185D0,0 1px 3px 0 #D4D4D5}.ui.blue.card:hover,.ui.blue.cards>.card:hover,.ui.cards>.blue.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #1678c2,0 1px 3px 0 #BCBDBD}.ui.cards>.violet.card,.ui.violet.card,.ui.violet.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #6435C9,0 1px 3px 0 #D4D4D5}.ui.cards>.violet.card:hover,.ui.violet.card:hover,.ui.violet.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #5829bb,0 1px 3px 0 #BCBDBD}.ui.cards>.purple.card,.ui.purple.card,.ui.purple.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #A333C8,0 1px 3px 0 #D4D4D5}.ui.cards>.purple.card:hover,.ui.purple.card:hover,.ui.purple.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #9627ba,0 1px 3px 0 #BCBDBD}.ui.cards>.pink.card,.ui.pink.card,.ui.pink.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #E03997,0 1px 3px 0 #D4D4D5}.ui.cards>.pink.card:hover,.ui.pink.card:hover,.ui.pink.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #e61a8d,0 1px 3px 0 #BCBDBD}.ui.brown.card,.ui.brown.cards>.card,.ui.cards>.brown.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #A5673F,0 1px 3px 0 #D4D4D5}.ui.brown.card:hover,.ui.brown.cards>.card:hover,.ui.cards>.brown.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #975b33,0 1px 3px 0 #BCBDBD}.ui.cards>.grey.card,.ui.grey.card,.ui.grey.cards>.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #767676,0 1px 3px 0 #D4D4D5}.ui.cards>.grey.card:hover,.ui.grey.card:hover,.ui.grey.cards>.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #838383,0 1px 3px 0 #BCBDBD}.ui.black.card,.ui.black.cards>.card,.ui.cards>.black.card{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #1B1C1D,0 1px 3px 0 #D4D4D5}.ui.black.card:hover,.ui.black.cards>.card:hover,.ui.cards>.black.card:hover{box-shadow:0 0 0 1px #D4D4D5,0 2px 0 0 #27292a,0 1px 3px 0 #BCBDBD}.ui.one.cards{margin-left:0;margin-right:0}.ui.one.cards>.card{width:100%}.ui.two.cards{margin-left:-1em;margin-right:-1em}.ui.two.cards>.card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.three.cards{margin-left:-1em;margin-right:-1em}.ui.three.cards>.card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.four.cards{margin-left:-.75em;margin-right:-.75em}.ui.four.cards>.card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.five.cards{margin-left:-.75em;margin-right:-.75em}.ui.five.cards>.card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.six.cards{margin-left:-.75em;margin-right:-.75em}.ui.six.cards>.card{width:calc(16.66666667% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.seven.cards{margin-left:-.5em;margin-right:-.5em}.ui.seven.cards>.card{width:calc(14.28571429% - 1em);margin-left:.5em;margin-right:.5em}.ui.eight.cards{margin-left:-.5em;margin-right:-.5em}.ui.eight.cards>.card{width:calc(12.5% - 1em);margin-left:.5em;margin-right:.5em;font-size:11px}.ui.nine.cards{margin-left:-.5em;margin-right:-.5em}.ui.nine.cards>.card{width:calc(11.11111111% - 1em);margin-left:.5em;margin-right:.5em;font-size:10px}.ui.ten.cards{margin-left:-.5em;margin-right:-.5em}.ui.ten.cards>.card{width:calc(10% - 1em);margin-left:.5em;margin-right:.5em}@media only screen and (max-width:767px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards .card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards .card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards .card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards .card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards .card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.seven.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.seven.doubling.cards .card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.eight.doubling.cards .card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.nine.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.nine.doubling.cards .card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.ten.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.ten.doubling.cards .card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}}@media only screen and (min-width:768px) and (max-width:991px){.ui.two.doubling.cards{margin-left:0;margin-right:0}.ui.two.doubling.cards .card{width:100%;margin-left:0;margin-right:0}.ui.three.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.three.doubling.cards .card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.four.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.four.doubling.cards .card{width:calc(50% - 2em);margin-left:1em;margin-right:1em}.ui.five.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.five.doubling.cards .card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.six.doubling.cards{margin-left:-1em;margin-right:-1em}.ui.six.doubling.cards .card{width:calc(33.33333333% - 2em);margin-left:1em;margin-right:1em}.ui.eight.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.eight.doubling.cards .card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.nine.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.nine.doubling.cards .card{width:calc(25% - 1.5em);margin-left:.75em;margin-right:.75em}.ui.ten.doubling.cards{margin-left:-.75em;margin-right:-.75em}.ui.ten.doubling.cards .card{width:calc(20% - 1.5em);margin-left:.75em;margin-right:.75em}}@media only screen and (max-width:767px){.ui.stackable.cards{display:block!important}.ui.stackable.cards .card:first-child{margin-top:0!important}.ui.stackable.cards>.card{display:block!important;height:auto!important;margin:1em;padding:0!important;width:calc(100% - 2em)!important}}.ui.cards>.card{font-size:1em}.ui.comments{margin:1.5em 0;max-width:650px}.ui.comments:first-child{margin-top:0}.ui.comments:last-child{margin-bottom:0}.ui.comments .comment{position:relative;background:0 0;margin:.5em 0 0;padding:.5em 0 0;border:none;border-top:none;line-height:1.2}.ui.comments .comment:first-child{margin-top:0;padding-top:0}.ui.comments .comment .comments{margin:0 0 .5em .5em;padding:1em 0 1em 1em}.ui.comments .comment .comments:before{position:absolute;top:0;left:0}.ui.comments .comment .comments .comment{border:none;border-top:none;background:0 0}.ui.comments .comment .avatar{display:block;width:2.5em;height:auto;float:left;margin:.2em 0 0}.ui.comments .comment .avatar img,.ui.comments .comment img.avatar{display:block;margin:0 auto;width:100%;height:100%;border-radius:.25rem}.ui.comments .comment>.content{display:block}.ui.comments .comment>.avatar~.content{margin-left:3.5em}.ui.comments .comment .author{font-size:1em;color:rgba(0,0,0,.87);font-weight:700}.ui.comments .comment a.author{cursor:pointer}.ui.comments .comment a.author:hover{color:#1e70bf}.ui.comments .comment .metadata{display:inline-block;margin-left:.5em;color:rgba(0,0,0,.4);font-size:.875em}.ui.comments .comment .metadata>*{display:inline-block;margin:0 .5em 0 0}.ui.comments .comment .metadata>:last-child{margin-right:0}.ui.comments .comment .text{margin:.25em 0 .5em;font-size:1em;word-wrap:break-word;color:rgba(0,0,0,.87);line-height:1.3}.ui.comments .comment .actions{font-size:.875em}.ui.comments .comment .actions a{cursor:pointer;display:inline-block;margin:0 .75em 0 0;color:rgba(0,0,0,.4)}.ui.comments .comment .actions a:last-child{margin-right:0}.ui.comments .comment .actions a.active,.ui.comments .comment .actions a:hover{color:rgba(0,0,0,.8)}.ui.comments>.reply.form{margin-top:1em}.ui.comments .comment .reply.form{width:100%;margin-top:1em}.ui.comments .reply.form textarea{font-size:1em;height:12em}.ui.collapsed.comments,.ui.comments .collapsed.comment,.ui.comments .collapsed.comments{display:none}.ui.threaded.comments .comment .comments{margin:-1.5em 0 -1em 1.25em;padding:3em 0 2em 2.25em;box-shadow:-1px 0 0 rgba(34,36,38,.15)}.ui.minimal.comments .comment .actions{opacity:0;position:absolute;top:0;right:0;left:auto;-webkit-transition:opacity .2s ease;transition:opacity .2s ease;-webkit-transition-delay:.1s;transition-delay:.1s}.ui.minimal.comments .comment>.content:hover>.actions{opacity:1}.ui.small.comments{font-size:.9em}.ui.comments{font-size:1em}.ui.large.comments{font-size:1.1em}.ui.huge.comments{font-size:1.2em}.ui.feed{margin:1em 0}.ui.feed:first-child{margin-top:0}.ui.feed:last-child{margin-bottom:0}.ui.feed>.event{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;padding:.21428571rem 0;margin:0;background:0 0;border-top:none}.ui.feed>.event:first-child{border-top:0;padding-top:0}.ui.feed>.event:last-child{padding-bottom:0}.ui.feed>.event>.label{display:block;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:2.5em;height:auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;text-align:left}.ui.feed>.event>.label .icon{opacity:1;font-size:1.5em;width:100%;padding:.25em;background:0 0;border:none;border-radius:none;color:rgba(0,0,0,.6)}.ui.feed>.event>.label img{width:100%;height:auto;border-radius:500rem}.ui.feed>.event>.label+.content{margin:.5em 0 .35714286em 1.14285714em}.ui.feed>.event>.content{display:block;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;text-align:left;word-wrap:break-word}.ui.feed>.event:last-child>.content{padding-bottom:0}.ui.feed>.event>.content a{cursor:pointer}.ui.feed>.event>.content .date{margin:-.5rem 0 0;padding:0;font-weight:400;font-size:1em;font-style:normal;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .summary{margin:0;font-size:1em;font-weight:700;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .summary img{display:inline-block;width:auto;height:10em;margin:-.25em .25em 0 0;border-radius:.25em;vertical-align:middle}.ui.feed>.event>.content .user{display:inline-block;font-weight:700;margin-right:0;vertical-align:baseline}.ui.feed>.event>.content .user img{margin:-.25em .25em 0 0;width:auto;height:10em;vertical-align:middle}.ui.feed>.event>.content .summary>.date{display:inline-block;float:none;font-weight:400;font-size:.85714286em;font-style:normal;margin:0 0 0 .5em;padding:0;color:rgba(0,0,0,.4)}.ui.feed>.event>.content .extra{margin:.5em 0 0;background:0 0;padding:0;color:rgba(0,0,0,.87)}.ui.feed>.event>.content .extra.images img{display:inline-block;margin:0 .25em 0 0;width:6em}.ui.feed>.event>.content .extra.text{padding:0;border-left:none;font-size:1em;max-width:500px;line-height:1.4285em}.ui.feed>.event>.content .meta{display:inline-block;font-size:.85714286em;margin:.5em 0 0;background:0 0;border:none;border-radius:0;box-shadow:none;padding:0;color:rgba(0,0,0,.6)}.ui.feed>.event>.content .meta>*{position:relative;margin-left:.75em}.ui.feed>.event>.content .meta>:after{content:'';color:rgba(0,0,0,.2);top:0;left:-1em;opacity:1;position:absolute;vertical-align:top}.ui.feed>.event>.content .meta .like{color:'';-webkit-transition:.2s color ease;transition:.2s color ease}.ui.feed>.event>.content .meta .like:hover .icon{color:#FF2733}.ui.feed>.event>.content .meta .active.like .icon{color:#EF404A}.ui.feed>.event>.content .meta>:first-child{margin-left:0}.ui.feed>.event>.content .meta>:first-child::after{display:none}.ui.feed>.event>.content .meta a,.ui.feed>.event>.content .meta>.icon{cursor:pointer;opacity:1;color:rgba(0,0,0,.5);-webkit-transition:color .1s ease;transition:color .1s ease}.ui.feed>.event>.content .meta a:hover,.ui.feed>.event>.content .meta a:hover .icon,.ui.feed>.event>.content .meta>.icon:hover{color:rgba(0,0,0,.95)}.ui.small.feed{font-size:.92857143rem}.ui.feed{font-size:1rem}.ui.large.feed{font-size:1.14285714rem}.ui.items>.item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:1em 0;width:100%;min-height:0;background:0 0;padding:0;border:none;border-radius:0;box-shadow:none;-webkit-transition:box-shadow .1s ease;transition:box-shadow .1s ease;z-index:''}.ui.items>.item a{cursor:pointer}.ui.items{margin:1.5em 0}.ui.items:first-child{margin-top:0!important}.ui.items:last-child{margin-bottom:0!important}.ui.items>.item:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item:first-child{margin-top:0}.ui.items>.item:last-child{margin-bottom:0}.ui.items>.item>.image{position:relative;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;display:block;float:none;margin:0;padding:0;max-height:'';-webkit-align-self:top;-ms-flex-item-align:top;align-self:top}.ui.items>.item>.image>img{display:block;width:100%;height:auto;border-radius:.125rem;border:none}.ui.items>.item>.image:only-child>img{border-radius:0}.ui.items>.item>.content{display:block;-webkit-box-flex:1;-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;background:0 0;margin:0;padding:0;box-shadow:none;font-size:1em;border:none;border-radius:0}.ui.items>.item>.content:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image+.content{min-width:0;width:auto;display:block;margin-left:0;-webkit-align-self:top;-ms-flex-item-align:top;align-self:top;padding-left:1.5em}.ui.items>.item>.content>.header{display:inline-block;margin:-.21425em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;color:rgba(0,0,0,.85)}.ui.items>.item>.content>.header:not(.ui){font-size:1.28571429em}.ui.items>.item [class*=\"left floated\"]{float:left}.ui.items>.item [class*=\"right floated\"]{float:right}.ui.items>.item .content img{-webkit-align-self:middle;-ms-flex-item-align:middle;align-self:middle;width:''}.ui.items>.item .avatar img,.ui.items>.item img.avatar{width:'';height:'';border-radius:500rem}.ui.items>.item>.content>.description{margin-top:.6em;max-width:auto;font-size:1em;line-height:1.4285em;color:rgba(0,0,0,.87)}.ui.items>.item>.content p{margin:0 0 .5em}.ui.items>.item>.content p:last-child{margin-bottom:0}.ui.items>.item .meta{margin:.5em 0;font-size:1em;line-height:1em;color:rgba(0,0,0,.6)}.ui.items>.item .meta *{margin-right:.3em}.ui.items>.item .meta :last-child{margin-right:0}.ui.items>.item .meta [class*=\"right floated\"]{margin-right:0;margin-left:.3em}.ui.items>.item>.content a:not(.ui){color:'';-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content a:not(.ui):hover{color:''}.ui.items>.item>.content>a.header{color:rgba(0,0,0,.85)}.ui.items>.item>.content>a.header:hover{color:#1e70bf}.ui.items>.item .meta>a:not(.ui){color:rgba(0,0,0,.4)}.ui.items>.item .meta>a:not(.ui):hover{color:rgba(0,0,0,.87)}.ui.items>.item>.content .favorite.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content .favorite.icon:hover{opacity:1;color:#FFB70A}.ui.items>.item>.content .active.favorite.icon{color:#FFE623}.ui.items>.item>.content .like.icon{cursor:pointer;opacity:.75;-webkit-transition:color .1s ease;transition:color .1s ease}.ui.items>.item>.content .like.icon:hover{opacity:1;color:#FF2733}.ui.items>.item>.content .active.like.icon{color:#FF2733}.ui.items>.item .extra{display:block;position:relative;background:0 0;margin:.5rem 0 0;width:100%;padding:0;top:0;left:0;color:rgba(0,0,0,.4);box-shadow:none;-webkit-transition:color .1s ease;transition:color .1s ease;border-top:none}.ui.items>.item .extra>*{margin:.25rem .5rem .25rem 0}.ui.items>.item .extra>[class*=\"right floated\"]{margin:.25rem 0 .25rem .5rem}.ui.items>.item .extra:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.items>.item>.image:not(.ui){width:175px}@media only screen and (min-width:768px) and (max-width:991px){.ui.items>.item{margin:1em 0}.ui.items>.item>.image:not(.ui){width:150px}.ui.items>.item>.image+.content{display:block;padding:0 0 0 1em}}@media only screen and (max-width:767px){.ui.items>.item{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:2em 0}.ui.items>.item>.image{display:block;margin-left:auto;margin-right:auto}.ui.items>.item>.image,.ui.items>.item>.image>img{max-width:100%!important;width:auto!important;max-height:250px!important}.ui.items>.item>.image+.content{display:block;padding:1.5em 0 0}}.ui.items>.item>.image+[class*=\"top aligned\"].content{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start}.ui.items>.item>.image+[class*=\"middle aligned\"].content{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center}.ui.items>.item>.image+[class*=\"bottom aligned\"].content{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end}.ui.relaxed.items>.item{margin:1.5em 0}.ui[class*=\"very relaxed\"].items>.item{margin:2em 0}.ui.divided.items>.item{border-top:1px solid rgba(34,36,38,.15);margin:0;padding:1em 0}.ui.divided.items>.item:first-child{border-top:none;margin-top:0!important;padding-top:0!important}.ui.divided.items>.item:last-child{margin-bottom:0!important;padding-bottom:0!important}.ui.relaxed.divided.items>.item{margin:0;padding:1.5em 0}.ui[class*=\"very relaxed\"].divided.items>.item{margin:0;padding:2em 0}.ui.items a.item:hover,.ui.link.items>.item:hover{cursor:pointer}.ui.items a.item:hover .content .header,.ui.link.items>.item:hover .content .header{color:#1e70bf}.ui.items>.item{font-size:1em}.ui.statistic{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:1em 0;max-width:auto}.ui.statistic+.ui.statistic{margin:0 0 0 1.5em}.ui.statistic:first-child{margin-top:0}.ui.statistic:last-child{margin-bottom:0}.ui.statistics{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-flex-align:start;align-items:flex-start;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ui.statistics>.statistic{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0 1.5em 2em;max-width:auto}.ui.statistics{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:1em -1.5em -2em}.ui.statistics:after{display:block;content:' ';height:0;clear:both;overflow:hidden;visibility:hidden}.ui.statistics:first-child{margin-top:0}.ui.statistics:last-child{margin-bottom:0}.ui.statistic>.value,.ui.statistics .statistic>.value{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:400;line-height:1em;color:#1B1C1D;text-transform:uppercase;text-align:center}.ui.statistic>.label,.ui.statistics .statistic>.label{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;font-weight:700;color:rgba(0,0,0,.87);text-transform:uppercase;text-align:center}.ui.statistic>.label~.value,.ui.statistic>.value~.label,.ui.statistics .statistic>.label~.value,.ui.statistics .statistic>.value~.label{margin-top:0}.ui.statistic>.value .icon,.ui.statistics .statistic>.value .icon{opacity:1;width:auto;margin:0}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{line-height:1em;min-height:2em;font-weight:700;text-align:center}.ui.statistic>.text.value+.label,.ui.statistics .statistic>.text.value+.label{text-align:center}.ui.statistic>.value img,.ui.statistics .statistic>.value img{max-height:3rem;vertical-align:baseline}.ui.ten.statistics{margin:0 0 -2em}.ui.ten.statistics .statistic{min-width:10%;margin:0 0 2em}.ui.nine.statistics{margin:0 0 -2em}.ui.nine.statistics .statistic{min-width:11.11111111%;margin:0 0 2em}.ui.eight.statistics{margin:0 0 -2em}.ui.eight.statistics .statistic{min-width:12.5%;margin:0 0 2em}.ui.seven.statistics{margin:0 0 -2em}.ui.seven.statistics .statistic{min-width:14.28571429%;margin:0 0 2em}.ui.six.statistics{margin:0 0 -2em}.ui.six.statistics .statistic{min-width:16.66666667%;margin:0 0 2em}.ui.five.statistics{margin:0 0 -2em}.ui.five.statistics .statistic{min-width:20%;margin:0 0 2em}.ui.four.statistics{margin:0 0 -2em}.ui.four.statistics .statistic{min-width:25%;margin:0 0 2em}.ui.three.statistics{margin:0 0 -2em}.ui.three.statistics .statistic{min-width:33.33333333%;margin:0 0 2em}.ui.two.statistics{margin:0 0 -2em}.ui.two.statistics .statistic{min-width:50%;margin:0 0 2em}.ui.one.statistics{margin:0 0 -2em}.ui.one.statistics .statistic{min-width:100%;margin:0 0 2em}.ui.horizontal.statistic{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.ui.horizontal.statistics{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;margin:0;max-width:none}.ui.horizontal.statistics .statistic{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;max-width:none;margin:1em 0}.ui.horizontal.statistic>.text.value,.ui.horizontal.statistics>.statistic>.text.value{min-height:0!important}.ui.horizontal.statistic>.value .icon,.ui.horizontal.statistics .statistic>.value .icon{width:1.18em}.ui.horizontal.statistic>.label,.ui.horizontal.statistics .statistic>.label{display:inline-block;vertical-align:middle;margin:0 0 0 .75em}.ui.red.statistic>.value,.ui.red.statistics .statistic>.value,.ui.statistics .red.statistic>.value{color:#DB2828}.ui.orange.statistic>.value,.ui.orange.statistics .statistic>.value,.ui.statistics .orange.statistic>.value{color:#F2711C}.ui.statistics .yellow.statistic>.value,.ui.yellow.statistic>.value,.ui.yellow.statistics .statistic>.value{color:#FBBD08}.ui.olive.statistic>.value,.ui.olive.statistics .statistic>.value,.ui.statistics .olive.statistic>.value{color:#B5CC18}.ui.green.statistic>.value,.ui.green.statistics .statistic>.value,.ui.statistics .green.statistic>.value{color:#21BA45}.ui.statistics .teal.statistic>.value,.ui.teal.statistic>.value,.ui.teal.statistics .statistic>.value{color:#00B5AD}.ui.blue.statistic>.value,.ui.blue.statistics .statistic>.value,.ui.statistics .blue.statistic>.value{color:#2185D0}.ui.statistics .violet.statistic>.value,.ui.violet.statistic>.value,.ui.violet.statistics .statistic>.value{color:#6435C9}.ui.purple.statistic>.value,.ui.purple.statistics .statistic>.value,.ui.statistics .purple.statistic>.value{color:#A333C8}.ui.pink.statistic>.value,.ui.pink.statistics .statistic>.value,.ui.statistics .pink.statistic>.value{color:#E03997}.ui.brown.statistic>.value,.ui.brown.statistics .statistic>.value,.ui.statistics .brown.statistic>.value{color:#A5673F}.ui.grey.statistic>.value,.ui.grey.statistics .statistic>.value,.ui.statistics .grey.statistic>.value{color:#767676}.ui.inverted.statistic .value,.ui.inverted.statistics .statistic>.value{color:#FFF}.ui.inverted.statistic .label,.ui.inverted.statistics .statistic>.label{color:rgba(255,255,255,.9)}.ui.inverted.red.statistic>.value,.ui.inverted.red.statistics .statistic>.value,.ui.statistics .inverted.red.statistic>.value{color:#FF695E}.ui.inverted.orange.statistic>.value,.ui.inverted.orange.statistics .statistic>.value,.ui.statistics .inverted.orange.statistic>.value{color:#FF851B}.ui.inverted.yellow.statistic>.value,.ui.inverted.yellow.statistics .statistic>.value,.ui.statistics .inverted.yellow.statistic>.value{color:#FFE21F}.ui.inverted.olive.statistic>.value,.ui.inverted.olive.statistics .statistic>.value,.ui.statistics .inverted.olive.statistic>.value{color:#D9E778}.ui.inverted.green.statistic>.value,.ui.inverted.green.statistics .statistic>.value,.ui.statistics .inverted.green.statistic>.value{color:#2ECC40}.ui.inverted.teal.statistic>.value,.ui.inverted.teal.statistics .statistic>.value,.ui.statistics .inverted.teal.statistic>.value{color:#6DFFFF}.ui.inverted.blue.statistic>.value,.ui.inverted.blue.statistics .statistic>.value,.ui.statistics .inverted.blue.statistic>.value{color:#54C8FF}.ui.inverted.violet.statistic>.value,.ui.inverted.violet.statistics .statistic>.value,.ui.statistics .inverted.violet.statistic>.value{color:#A291FB}.ui.inverted.purple.statistic>.value,.ui.inverted.purple.statistics .statistic>.value,.ui.statistics .inverted.purple.statistic>.value{color:#DC73FF}.ui.inverted.pink.statistic>.value,.ui.inverted.pink.statistics .statistic>.value,.ui.statistics .inverted.pink.statistic>.value{color:#FF8EDF}.ui.inverted.brown.statistic>.value,.ui.inverted.brown.statistics .statistic>.value,.ui.statistics .inverted.brown.statistic>.value{color:#D67C1C}.ui.inverted.grey.statistic>.value,.ui.inverted.grey.statistics .statistic>.value,.ui.statistics .inverted.grey.statistic>.value{color:#DCDDDE}.ui[class*=\"left floated\"].statistic{float:left;margin:0 2em 1em 0}.ui[class*=\"right floated\"].statistic{float:right;margin:0 0 1em 2em}.ui.floated.statistic:last-child{margin-bottom:0}.ui.mini.horizontal.statistic>.value,.ui.mini.horizontal.statistics .statistic>.value,.ui.mini.statistic>.value,.ui.mini.statistics .statistic>.value{font-size:1.5rem}.ui.mini.statistic>.text.value,.ui.mini.statistics .statistic>.text.value{font-size:1rem}.ui.tiny.horizontal.statistic>.value,.ui.tiny.horizontal.statistics .statistic>.value,.ui.tiny.statistic>.value,.ui.tiny.statistics .statistic>.value{font-size:2rem}.ui.tiny.statistic>.text.value,.ui.tiny.statistics .statistic>.text.value{font-size:1rem}.ui.small.statistic>.value,.ui.small.statistics .statistic>.value{font-size:3rem}.ui.small.horizontal.statistic>.value,.ui.small.horizontal.statistics .statistic>.value{font-size:2rem}.ui.small.statistic>.text.value,.ui.small.statistics .statistic>.text.value{font-size:1rem}.ui.statistic>.value,.ui.statistics .statistic>.value{font-size:4rem}.ui.horizontal.statistic>.value,.ui.horizontal.statistics .statistic>.value{display:inline-block;vertical-align:middle;font-size:3rem}.ui.statistic>.text.value,.ui.statistics .statistic>.text.value{font-size:2rem}.ui.large.statistic>.value,.ui.large.statistics .statistic>.value{font-size:5rem}.ui.large.horizontal.statistic>.value,.ui.large.horizontal.statistics .statistic>.value{font-size:4rem}.ui.large.statistic>.text.value,.ui.large.statistics .statistic>.text.value{font-size:2.5rem}.ui.huge.statistic>.value,.ui.huge.statistics .statistic>.value{font-size:6rem}.ui.huge.horizontal.statistic>.value,.ui.huge.horizontal.statistics .statistic>.value{font-size:5rem}.ui.huge.statistic>.text.value,.ui.huge.statistics .statistic>.text.value{font-size:2.5rem}.ui.accordion,.ui.accordion .accordion{max-width:100%}.ui.accordion .accordion{margin:1em 0 0;padding:0}.ui.accordion .accordion .title,.ui.accordion .title{cursor:pointer}.ui.accordion .title:not(.ui){padding:.5em 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;color:rgba(0,0,0,.87)}.ui.accordion .accordion .title~.content,.ui.accordion .title~.content{display:none}.ui.accordion:not(.styled) .accordion .title~.content:not(.ui),.ui.accordion:not(.styled) .title~.content:not(.ui){margin:'';padding:.5em 0 1em}.ui.accordion:not(.styled) .title~.content:not(.ui):last-child{padding-bottom:0}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{display:inline-block;float:none;opacity:1;width:1.25em;height:1em;margin:0 .25rem 0 0;padding:0;font-size:1em;-webkit-transition:-webkit-transform .1s ease,opacity .1s ease;transition:transform .1s ease,opacity .1s ease;vertical-align:baseline;-webkit-transform:none;-ms-transform:none;transform:none}.ui.accordion.menu .item .title{display:block;padding:0}.ui.accordion.menu .item .title>.dropdown.icon{float:right;margin:.21425em 0 0 1em;-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.ui.accordion .ui.header .dropdown.icon{font-size:1em;margin:0 .25rem 0 0}.ui.accordion .accordion .active.title .dropdown.icon,.ui.accordion .active.title .dropdown.icon,.ui.accordion.menu .item .active.title>.dropdown.icon{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.ui.styled.accordion{width:600px}.ui.styled.accordion,.ui.styled.accordion .accordion{border-radius:.28571429rem;background:#FFF;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15)}.ui.styled.accordion .accordion .title,.ui.styled.accordion .title{margin:0;padding:.75em 1em;color:rgba(0,0,0,.4);font-weight:700;border-top:1px solid rgba(34,36,38,.15);-webkit-transition:background .1s ease,color .1s ease;transition:background .1s ease,color .1s ease}.ui.styled.accordion .accordion .title:first-child,.ui.styled.accordion>.title:first-child{border-top:none}.ui.styled.accordion .accordion .content,.ui.styled.accordion .content{margin:0;padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .content{padding:.5em 1em 1.5em}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .accordion .title:hover,.ui.styled.accordion .active.title,.ui.styled.accordion .title:hover{background:0 0;color:rgba(0,0,0,.87)}.ui.styled.accordion .accordion .active.title,.ui.styled.accordion .active.title{background:0 0;color:rgba(0,0,0,.95)}.ui.accordion .accordion .active.content,.ui.accordion .active.content{display:block}.ui.fluid.accordion,.ui.fluid.accordion .accordion{width:100%}.ui.inverted.accordion .title:not(.ui){color:rgba(255,255,255,.9)}@font-face{font-family:Accordion;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.accordion .accordion .title .dropdown.icon,.ui.accordion .title .dropdown.icon{font-family:Accordion;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.accordion .accordion .title .dropdown.icon:before,.ui.accordion .title .dropdown.icon:before{content:'\\f0da'}.ui.checkbox{position:relative;display:inline-block;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0;vertical-align:baseline;font-style:normal;min-height:17px;font-size:1rem;line-height:17px;min-width:17px}.ui.checkbox input[type=checkbox],.ui.checkbox input[type=radio]{cursor:pointer;position:absolute;top:0;left:0;opacity:0!important;outline:0;z-index:3;width:17px;height:17px}.ui.checkbox .box,.ui.checkbox label{cursor:auto;position:relative;display:block;padding-left:1.85714em;outline:0;font-size:1em}.ui.checkbox .box:before,.ui.checkbox label:before{position:absolute;top:0;left:0;width:17px;height:17px;content:'';background:#FFF;border-radius:.21428571rem;-webkit-transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;border:1px solid #D4D4D5}.ui.checkbox .box:after,.ui.checkbox label:after{position:absolute;font-size:14px;top:0;left:0;width:17px;height:17px;text-align:center;opacity:0;color:rgba(0,0,0,.87);-webkit-transition:border .1s ease,opacity .1s ease,-webkit-transform .1s ease,box-shadow .1s ease;transition:border .1s ease,opacity .1s ease,transform .1s ease,box-shadow .1s ease;font-family:Checkbox}.ui.checkbox label,.ui.checkbox+label{color:rgba(0,0,0,.87);-webkit-transition:color .1s ease;transition:color .1s ease}.ui.checkbox+label{vertical-align:middle}.ui.checkbox .box:hover::before,.ui.checkbox label:hover::before{background:#FFF;border-color:rgba(34,36,38,.35)}.ui.checkbox label:hover,.ui.checkbox+label:hover{color:rgba(0,0,0,.8)}.ui.checkbox .box:active::before,.ui.checkbox label:active::before{background:#F9FAFB;border-color:rgba(34,36,38,.35)}.ui.checkbox .box:active::after,.ui.checkbox input:active~label,.ui.checkbox label:active::after{color:rgba(0,0,0,.95)}.ui.checkbox input:focus~.box:before,.ui.checkbox input:focus~label:before{background:#FFF;border-color:#96C8DA}.ui.checkbox input:focus~.box:after,.ui.checkbox input:focus~label,.ui.checkbox input:focus~label:after{color:rgba(0,0,0,.95)}.ui.checkbox input:checked~.box:before,.ui.checkbox input:checked~label:before{background:#FFF;border-color:rgba(34,36,38,.35)}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:indeterminate~.box:before,.ui.checkbox input:indeterminate~label:before{background:#FFF;border-color:rgba(34,36,38,.35)}.ui.checkbox input:indeterminate~.box:after,.ui.checkbox input:indeterminate~label:after{opacity:1;color:rgba(0,0,0,.95)}.ui.checkbox input:checked:focus~.box:before,.ui.checkbox input:checked:focus~label:before,.ui.checkbox input:indeterminate:focus~.box:before,.ui.checkbox input:indeterminate:focus~label:before{background:#FFF;border-color:#96C8DA}.ui.checkbox input:checked:focus~.box:after,.ui.checkbox input:checked:focus~label:after,.ui.checkbox input:indeterminate:focus~.box:after,.ui.checkbox input:indeterminate:focus~label:after{color:rgba(0,0,0,.95)}.ui.read-only.checkbox,.ui.read-only.checkbox label{cursor:default}.ui.checkbox input[disabled]~.box:after,.ui.checkbox input[disabled]~label,.ui.disabled.checkbox .box:after,.ui.disabled.checkbox label{cursor:default;opacity:.5;color:#000}.ui.checkbox input.hidden{z-index:-1}.ui.checkbox input.hidden+label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui.radio.checkbox{min-height:15px}.ui.radio.checkbox .box,.ui.radio.checkbox label{padding-left:1.85714em}.ui.radio.checkbox .box:before,.ui.radio.checkbox label:before{content:'';-webkit-transform:none;-ms-transform:none;transform:none;width:15px;height:15px;border-radius:500rem;top:1px;left:0}.ui.radio.checkbox .box:after,.ui.radio.checkbox label:after{border:none;content:''!important;line-height:15px;top:1px;left:0;width:15px;height:15px;border-radius:500rem;-webkit-transform:scale(.46666667);-ms-transform:scale(.46666667);transform:scale(.46666667);background-color:rgba(0,0,0,.87)}.ui.radio.checkbox input:focus~.box:before,.ui.radio.checkbox input:focus~label:before{background-color:#FFF}.ui.radio.checkbox input:focus~.box:after,.ui.radio.checkbox input:focus~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:indeterminate~.box:after,.ui.radio.checkbox input:indeterminate~label:after{opacity:0}.ui.radio.checkbox input:checked~.box:before,.ui.radio.checkbox input:checked~label:before{background-color:#FFF}.ui.radio.checkbox input:checked~.box:after,.ui.radio.checkbox input:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.radio.checkbox input:focus:checked~.box:before,.ui.radio.checkbox input:focus:checked~label:before{background-color:#FFF}.ui.radio.checkbox input:focus:checked~.box:after,.ui.radio.checkbox input:focus:checked~label:after{background-color:rgba(0,0,0,.95)}.ui.slider.checkbox{min-height:1.25rem}.ui.slider.checkbox input{width:3.5rem;height:1.25rem}.ui.slider.checkbox .box,.ui.slider.checkbox label{padding-left:4.5rem;line-height:1rem;color:rgba(0,0,0,.4)}.ui.slider.checkbox .box:before,.ui.slider.checkbox label:before{display:block;position:absolute;content:'';border:none!important;left:0;z-index:1;top:.4rem;background-color:rgba(0,0,0,.05);width:3.5rem;height:.21428571rem;-webkit-transform:none;-ms-transform:none;transform:none;border-radius:500rem;-webkit-transition:background .3s ease;transition:background .3s ease}.ui.slider.checkbox .box:after,.ui.slider.checkbox label:after{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)) #FFF;background:linear-gradient(transparent,rgba(0,0,0,.05)) #FFF;position:absolute;content:''!important;opacity:1;z-index:2;border:none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:-.25rem;left:0;-webkit-transform:none;-ms-transform:none;transform:none;border-radius:500rem;-webkit-transition:left .3s ease;transition:left .3s ease}.ui.slider.checkbox input:focus~.box:before,.ui.slider.checkbox input:focus~label:before{background-color:rgba(0,0,0,.15);border:none}.ui.slider.checkbox .box:hover,.ui.slider.checkbox label:hover{color:rgba(0,0,0,.8)}.ui.slider.checkbox .box:hover::before,.ui.slider.checkbox label:hover::before{background:rgba(0,0,0,.15)}.ui.slider.checkbox input:checked~.box,.ui.slider.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:checked~.box:before,.ui.slider.checkbox input:checked~label:before{background-color:#545454!important}.ui.slider.checkbox input:checked~.box:after,.ui.slider.checkbox input:checked~label:after{left:2rem}.ui.slider.checkbox input:focus:checked~.box,.ui.slider.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.slider.checkbox input:focus:checked~.box:before,.ui.slider.checkbox input:focus:checked~label:before{background-color:#000!important}.ui.toggle.checkbox{min-height:1.5rem}.ui.toggle.checkbox input{width:3.5rem;height:1.5rem}.ui.toggle.checkbox .box,.ui.toggle.checkbox label{min-height:1.5rem;padding-left:4.5rem;color:rgba(0,0,0,.87)}.ui.toggle.checkbox label{padding-top:.15em}.ui.toggle.checkbox .box:before,.ui.toggle.checkbox label:before{display:block;position:absolute;content:'';z-index:1;-webkit-transform:none;-ms-transform:none;transform:none;border:none;top:0;background:rgba(0,0,0,.05);width:3.5rem;height:1.5rem;border-radius:500rem}.ui.toggle.checkbox .box:after,.ui.toggle.checkbox label:after{background:-webkit-linear-gradient(transparent,rgba(0,0,0,.05)) #FFF;background:linear-gradient(transparent,rgba(0,0,0,.05)) #FFF;position:absolute;content:''!important;opacity:1;z-index:2;border:none;box-shadow:0 1px 2px 0 rgba(34,36,38,.15),0 0 0 1px rgba(34,36,38,.15) inset;width:1.5rem;height:1.5rem;top:0;left:0;border-radius:500rem;-webkit-transition:background .3s ease,left .3s ease;transition:background .3s ease,left .3s ease}.ui.toggle.checkbox input~.box:after,.ui.toggle.checkbox input~label:after{left:-.05rem}.ui.toggle.checkbox .box:hover::before,.ui.toggle.checkbox input:focus~.box:before,.ui.toggle.checkbox input:focus~label:before,.ui.toggle.checkbox label:hover::before{background-color:rgba(0,0,0,.15);border:none}.ui.toggle.checkbox input:checked~.box,.ui.toggle.checkbox input:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:checked~.box:before,.ui.toggle.checkbox input:checked~label:before{background-color:#2185D0!important}.ui.toggle.checkbox input:checked~.box:after,.ui.toggle.checkbox input:checked~label:after{left:2.15rem}.ui.toggle.checkbox input:focus:checked~.box,.ui.toggle.checkbox input:focus:checked~label{color:rgba(0,0,0,.95)!important}.ui.toggle.checkbox input:focus:checked~.box:before,.ui.toggle.checkbox input:focus:checked~label:before{background-color:#0d71bb!important}.ui.fitted.checkbox .box,.ui.fitted.checkbox label{padding-left:0!important}.ui.fitted.slider.checkbox,.ui.fitted.toggle.checkbox{width:3.5rem}@font-face{font-family:Checkbox;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype')}.ui.checkbox input:checked~.box:after,.ui.checkbox input:checked~label:after{content:'\\e800'}.ui.checkbox input:indeterminate~.box:after,.ui.checkbox input:indeterminate~label:after{font-size:12px;content:'\\e801'}.dimmable{position:relative}.ui.dimmer{display:none;position:absolute;top:0!important;left:0!important;width:100%;height:100%;text-align:center;vertical-align:middle;background-color:rgba(0,0,0,.85);opacity:0;line-height:1;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-transition:background-color .5s linear;transition:background-color .5s linear;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;will-change:opacity;z-index:1000}.ui.dimmer>.content{width:100%;height:100%;display:table;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.dimmer>.content>*{display:table-cell;vertical-align:middle;color:#FFF}.ui.segment>.ui.dimmer{border-radius:inherit!important}.animating.dimmable:not(body),.dimmed.dimmable:not(body){overflow:hidden}.dimmed.dimmable>.ui.animating.dimmer,.dimmed.dimmable>.ui.visible.dimmer,.ui.active.dimmer{display:block;opacity:1}.ui.disabled.dimmer{width:0!important;height:0!important}.ui.page.dimmer{position:fixed;-webkit-transform-style:'';transform-style:'';-webkit-perspective:2000px;perspective:2000px;-webkit-transform-origin:center center;-ms-transform-origin:center center;transform-origin:center center}body.animating.in.dimmable,body.dimmed.dimmable{overflow:hidden}body.dimmable>.dimmer{position:fixed}.blurring.dimmable>:not(.dimmer){-webkit-filter:blur(0) grayscale(0);filter:blur(0) grayscale(0);-webkit-transition:.8s -webkit-filter ease,.8s filter ease;transition:.8s filter ease}.blurring.dimmed.dimmable>:not(.dimmer){-webkit-filter:blur(5px) grayscale(.7);filter:blur(5px) grayscale(.7)}.blurring.dimmable>.dimmer{background-color:rgba(0,0,0,.6)}.blurring.dimmable>.inverted.dimmer{background-color:rgba(255,255,255,.6)}.ui.dimmer>.top.aligned.content>*{vertical-align:top}.ui.dimmer>.bottom.aligned.content>*{vertical-align:bottom}.ui.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.inverted.dimmer>.content>*{color:#FFF}.ui.simple.dimmer{display:block;overflow:hidden;opacity:1;width:0;height:0%;z-index:-100;background-color:transparent}.dimmed.dimmable>.ui.simple.dimmer{overflow:visible;opacity:1;width:100%;height:100%;background-color:rgba(0,0,0,.85);z-index:1}.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,0)}.dimmed.dimmable>.ui.simple.inverted.dimmer{background-color:rgba(255,255,255,.85)}.ui.dropdown{cursor:pointer;position:relative;display:inline-block;outline:0;text-align:left;-webkit-transition:box-shadow .1s ease,width .1s ease;transition:box-shadow .1s ease,width .1s ease;-webkit-tap-highlight-color:transparent}.ui.dropdown .menu{cursor:auto;position:absolute;display:none;outline:0;top:100%;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;margin:0;padding:0;background:#FFF;font-size:1em;text-shadow:none;text-align:left;box-shadow:0 2px 3px 0 rgba(34,36,38,.15);border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-transition:opacity .1s ease;transition:opacity .1s ease;z-index:11;will-change:transform,opacity}.ui.dropdown .menu>*{white-space:nowrap}.ui.dropdown>input:not(.search):first-child,.ui.dropdown>select{display:none!important}.ui.dropdown>.dropdown.icon{position:relative;font-size:.85714286em;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon{width:auto;float:right;margin:0 0 0 1em}.ui.dropdown .menu>.item .dropdown.icon+.text{margin-right:1em}.ui.dropdown>.text{display:inline-block;-webkit-transition:none;transition:none}.ui.dropdown .menu>.item{position:relative;cursor:pointer;display:block;border:none;height:auto;text-align:left;border-top:none;line-height:1em;color:rgba(0,0,0,.87);padding:.71428571rem 1.14285714rem!important;font-size:1rem;text-transform:none;font-weight:400;box-shadow:none;-webkit-touch-callout:none}.ui.dropdown .menu>.item:first-child{border-top-width:0}.ui.dropdown .menu .item>[class*=\"right floated\"],.ui.dropdown>.text>[class*=\"right floated\"]{float:right!important;margin-right:0!important;margin-left:1em!important}.ui.dropdown .menu .item>[class*=\"left floated\"],.ui.dropdown>.text>[class*=\"left floated\"]{float:left!important;margin-left:0!important;margin-right:1em!important}.ui.dropdown .menu .item>.flag.floated,.ui.dropdown .menu .item>.icon.floated,.ui.dropdown .menu .item>.image.floated,.ui.dropdown .menu .item>img.floated{margin-top:0}.ui.dropdown .menu>.header{margin:1rem 0 .75rem;padding:0 1.14285714rem;color:rgba(0,0,0,.85);font-size:.78571429em;font-weight:700;text-transform:uppercase}.ui.dropdown .menu>.divider{border-top:1px solid rgba(34,36,38,.1);height:0;margin:.5em 0}.ui.dropdown .menu>.input{width:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;margin:1.14285714rem .71428571rem;min-width:10rem}.ui.dropdown .menu>.header+.input{margin-top:0}.ui.dropdown .menu>.input:not(.transparent) input{padding:.5em 1em}.ui.dropdown .menu>.input:not(.transparent) .button,.ui.dropdown .menu>.input:not(.transparent) .icon,.ui.dropdown .menu>.input:not(.transparent) .label{padding-top:.5em;padding-bottom:.5em}.ui.dropdown .menu>.item>.description,.ui.dropdown>.text>.description{float:right;margin:0 0 0 1em;color:rgba(0,0,0,.4)}.ui.dropdown .menu>.message{padding:.71428571rem 1.14285714rem;font-weight:400}.ui.dropdown .menu>.message:not(.ui){color:rgba(0,0,0,.4)}.ui.dropdown .menu .menu{top:0!important;left:100%!important;right:auto!important;margin:0 0 0 -.5em!important;border-radius:.28571429rem!important;z-index:21!important}.ui.dropdown .menu .menu:after{display:none}.ui.dropdown .menu>.item>.flag,.ui.dropdown .menu>.item>.icon,.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>.label,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.flag,.ui.dropdown>.text>.icon,.ui.dropdown>.text>.image,.ui.dropdown>.text>.label,.ui.dropdown>.text>img{margin-top:0;margin-left:0;float:none;margin-right:.71428571rem}.ui.dropdown .menu>.item>.image,.ui.dropdown .menu>.item>img,.ui.dropdown>.text>.image,.ui.dropdown>.text>img{display:inline-block;vertical-align:middle;width:auto;max-height:2em}.ui.dropdown .ui.menu>.item:before,.ui.menu .ui.dropdown .menu>.item:before{display:none}.ui.menu .ui.dropdown .menu .active.item{border-left:none}.ui.buttons>.ui.dropdown:last-child .menu,.ui.menu .right.dropdown.item .menu,.ui.menu .right.menu .dropdown:last-child .menu{left:auto;right:0}.ui.label.dropdown .menu{min-width:100%}.ui.dropdown.icon.button>.dropdown.icon{margin:0}.ui.button.dropdown .menu{min-width:100%}.ui.selection.dropdown{cursor:pointer;word-wrap:break-word;line-height:1em;white-space:normal;outline:0;-webkit-transform:rotateZ(0);transform:rotateZ(0);min-width:14em;min-height:2.7142em;background:#FFF;display:inline-block;padding:.78571429em 2.6em .78571429em 1em;color:rgba(0,0,0,.87);box-shadow:none;border:1px solid rgba(34,36,38,.15);border-radius:.28571429rem;-webkit-transition:box-shadow .1s ease,width .1s ease;transition:box-shadow .1s ease,width .1s ease}.ui.selection.dropdown.active,.ui.selection.dropdown.visible{z-index:10}select.ui.dropdown{height:38px;padding:.5em;border:1px solid rgba(34,36,38,.15);visibility:visible}.ui.selection.dropdown>.delete.icon,.ui.selection.dropdown>.dropdown.icon,.ui.selection.dropdown>.search.icon{cursor:pointer;position:absolute;top:auto;width:auto;z-index:3;margin:-.78571429em;padding:.78571429em;right:1em;opacity:.8;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.compact.selection.dropdown{min-width:0}.ui.selection.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;border-top-width:0!important;outline:0;margin:0 -1px;min-width:calc(100% + 2px);width:calc(100% + 2px);border-radius:0 0 .28571429rem .28571429rem;box-shadow:0 2px 3px 0 rgba(34,36,38,.15);-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.selection.dropdown .menu:after,.ui.selection.dropdown .menu:before{display:none}.ui.selection.dropdown .menu>.message{padding:.71428571rem 1.14285714rem}@media only screen and (max-width:767px){.ui.selection.dropdown .menu{max-height:7.58571429rem}}@media only screen and (min-width:768px){.ui.selection.dropdown .menu{max-height:10.11428571rem}}@media only screen and (min-width:992px){.ui.selection.dropdown .menu{max-height:15.17142857rem}}@media only screen and (min-width:1920px){.ui.selection.dropdown .menu{max-height:20.22857143rem}}.ui.selection.dropdown .menu>.item{border-top:1px solid #FAFAFA;padding:.71428571rem 1.14285714rem!important;white-space:normal;word-wrap:normal}.ui.selection.dropdown:hover{border-color:rgba(34,36,38,.35);box-shadow:none}.ui.selection.active.dropdown,.ui.selection.active.dropdown .menu{border-color:#96C8DA;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.dropdown:focus{border-color:#96C8DA;box-shadow:none}.ui.selection.dropdown:focus .menu{border-color:#96C8DA;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.selection.visible.dropdown>.text:not(.default){font-weight:400;color:rgba(0,0,0,.8)}.ui.selection.active.dropdown:hover,.ui.selection.active.dropdown:hover .menu{border-color:#96C8DA;box-shadow:0 2px 3px 0 rgba(34,36,38,.15)}.ui.active.selection.dropdown>.dropdown.icon,.ui.visible.selection.dropdown>.dropdown.icon{opacity:1;z-index:3}.ui.active.selection.dropdown{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.search.dropdown{min-width:''}.ui.search.dropdown>input.search{background:none!important;border:none!important;box-shadow:none!important;cursor:pointer;top:0;left:0;width:100%;outline:0;-webkit-tap-highlight-color:rgba(255,255,255,0);padding:inherit;position:absolute;z-index:2}.ui.search.dropdown>.text{cursor:text;position:relative;z-index:3}.ui.search.selection.dropdown>input.search{line-height:1.2142em;padding:.67861429em 2.6em .67861429em 1em}.ui.search.dropdown.active>input.search,.ui.search.dropdown.visible>input.search{cursor:auto}.ui.search.dropdown.active>.text,.ui.search.dropdown.visible>.text{pointer-events:none}.ui.active.search.dropdown input.search:focus+.text .flag,.ui.active.search.dropdown input.search:focus+.text .icon{opacity:.45}.ui.active.search.dropdown input.search:focus+.text{color:rgba(0,0,0,.4)!important}.ui.search.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch}@media only screen and (max-width:767px){.ui.search.dropdown .menu{max-height:7.58571429rem}}@media only screen and (min-width:768px){.ui.search.dropdown .menu{max-height:10.11428571rem}}@media only screen and (min-width:992px){.ui.search.dropdown .menu{max-height:15.17142857rem}}@media only screen and (min-width:1920px){.ui.search.dropdown .menu{max-height:20.22857143rem}}.ui.multiple.dropdown{padding:.22620476em 2.6em .22620476em .28571429em}.ui.multiple.dropdown .menu{cursor:auto}.ui.multiple.search.dropdown,.ui.multiple.search.dropdown>input.search{cursor:text}.ui.multiple.dropdown>.label{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:inline-block;vertical-align:top;white-space:normal;font-size:1em;padding:.35714286em .71428571em;margin:.21428571em .28571429rem .21428571em 0;box-shadow:0 0 0 1px rgba(34,36,38,.15) inset}.ui.multiple.dropdown .dropdown.icon{margin:0 -.71428571em 0 0;padding:.5em}.ui.multiple.dropdown>.text{position:static;padding:0;max-width:100%;margin:.45240952em 0 .45240952em .71428571em;line-height:1.2142em}.ui.multiple.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>.text{display:inline-block;position:absolute;top:0;left:0;padding:inherit;margin:.45240952em 0 .45240952em .71428571em;line-height:1.2142em}.ui.multiple.search.dropdown>.label~.text{display:none}.ui.multiple.search.dropdown>input.search{position:static;padding:0;max-width:100%;margin:.45240952em 0 .45240952em .71428571em;width:2.2em;line-height:1.2142em}.ui.inline.dropdown{cursor:pointer;display:inline-block;color:inherit}.ui.inline.dropdown .dropdown.icon{margin:0 .5em 0 .25em;vertical-align:baseline}.ui.inline.dropdown>.text{font-weight:700}.ui.inline.dropdown .menu{cursor:auto;margin-top:.25em;border-radius:.28571429rem}.ui.dropdown .menu .active.item{background:0 0;font-weight:700;color:rgba(0,0,0,.95);box-shadow:none;z-index:12}.ui.dropdown .menu>.item:hover{background:rgba(0,0,0,.05);color:rgba(0,0,0,.95);z-index:13}.ui.loading.dropdown>i.icon:after,.ui.loading.dropdown>i.icon:before{left:30%!important}.ui.loading.dropdown>i.icon{top:50%!important}.ui.multiple.loading.dropdown>i.icon:after,.ui.multiple.loading.dropdown>i.icon:before{top:0!important;left:0!important}.ui.loading.dropdown>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.dropdown>i.icon:after{position:absolute;content:'';top:50%;left:50%;box-shadow:0 0 0 1px transparent;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:dropdown-spin .6s linear;animation:dropdown-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em}.ui.loading.dropdown.button>i.icon:after,.ui.loading.dropdown.button>i.icon:before{display:none}@-webkit-keyframes dropdown-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes dropdown-spin{from{-webkit-transform:rotate(0);transform:rotate(0)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.ui.default.dropdown:hover>.text,.ui.default.dropdown>.text,.ui.dropdown:hover>.default.text,.ui.dropdown>.default.text{color:rgba(179,179,179,.7)}.ui.loading.dropdown>.text{-webkit-transition:none;transition:none}.ui.dropdown .loading.menu{display:block;visibility:hidden;z-index:-1}.ui.dropdown .menu .selected.item,.ui.dropdown.selected{background:rgba(0,0,0,.03);color:rgba(0,0,0,.95)}.ui.dropdown>.filtered.text{visibility:hidden}.ui.dropdown .filtered.item{display:none!important}.ui.dropdown.error,.ui.dropdown.error>.default.text,.ui.dropdown.error>.text{color:#9F3A38}.ui.selection.dropdown.error{background:#FFF6F6;border-color:#E0B4B4}.ui.dropdown.error>.menu,.ui.dropdown.error>.menu .menu,.ui.selection.dropdown.error:hover{border-color:#E0B4B4}.ui.dropdown.error>.menu>.item{color:#9F3A38}.ui.multiple.selection.error.dropdown>.label{border-color:#E0B4B4}.ui.dropdown.error>.menu>.item:hover{background-color:#FFF2F2}.ui.dropdown.error>.menu .active.item{background-color:#FDCFCF}.ui.disabled.dropdown,.ui.dropdown .menu>.disabled.item{cursor:default;pointer-events:none;opacity:.45}.ui.dropdown .menu{left:0}.ui.dropdown .menu .right.menu,.ui.dropdown .right.menu>.menu{left:100%!important;right:auto!important;border-radius:.28571429rem!important}.ui.dropdown .menu .left.menu,.ui.dropdown>.left.menu .menu{left:auto!important;right:100%!important;border-radius:.28571429rem!important}.ui.dropdown .item .left.dropdown.icon,.ui.dropdown .left.menu .item .dropdown.icon{width:auto;float:left;margin:0 .71428571rem 0 0}.ui.dropdown .item .left.dropdown.icon+.text,.ui.dropdown .left.menu .item .dropdown.icon+.text{margin-left:1em}.ui.upward.dropdown>.menu{top:auto;bottom:100%;box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:.28571429rem .28571429rem 0 0}.ui.dropdown .upward.menu{top:auto!important;bottom:0!important}.ui.simple.upward.active.dropdown,.ui.simple.upward.dropdown:hover{border-radius:.28571429rem .28571429rem 0 0!important}.ui.upward.dropdown.button:not(.pointing):not(.floating).active{border-radius:.28571429rem .28571429rem 0 0}.ui.upward.selection.dropdown .menu{border-top-width:1px!important;border-bottom-width:0!important;box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.upward.selection.dropdown:hover{box-shadow:0 0 2px 0 rgba(0,0,0,.05)}.ui.active.upward.selection.dropdown{border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.selection.dropdown.visible{box-shadow:0 0 3px 0 rgba(0,0,0,.08);border-radius:0 0 .28571429rem .28571429rem!important}.ui.upward.active.selection.dropdown:hover{box-shadow:0 0 3px 0 rgba(0,0,0,.05)}.ui.upward.active.selection.dropdown:hover .menu{box-shadow:0 -2px 3px 0 rgba(0,0,0,.08)}.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto}.ui.scrolling.dropdown .menu{overflow-x:hidden;overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:touch;min-width:100%!important;width:auto!important}.ui.dropdown .scrolling.menu{position:static;overflow-y:auto;border:none;box-shadow:none!important;border-radius:0!important;margin:0!important;min-width:100%!important;width:auto!important;border-top:1px solid rgba(34,36,38,.15)}.ui.dropdown .scrolling.menu>.item.item.item,.ui.scrolling.dropdown .menu .item.item.item{border-top:none;padding-right:calc(1.14285714rem + 17px)!important}.ui.dropdown .scrolling.menu .item:first-child,.ui.scrolling.dropdown .menu .item:first-child{border-top:none}.ui.dropdown>.animating.menu .scrolling.menu,.ui.dropdown>.visible.menu .scrolling.menu{display:block}@media all and (-ms-high-contrast:none){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{min-width:calc(100% - 17px)}}@media only screen and (max-width:767px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:9.71428571rem}}.ui.simple.dropdown .menu:after,.ui.simple.dropdown .menu:before{display:none}.ui.simple.dropdown .menu{position:absolute;display:block;overflow:hidden;top:-9999px!important;opacity:0;width:0;height:0;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.ui.simple.active.dropdown,.ui.simple.dropdown:hover{border-bottom-left-radius:0!important;border-bottom-right-radius:0!important}.ui.simple.active.dropdown>.menu,.ui.simple.dropdown:hover>.menu{overflow:visible;width:auto;height:auto;top:100%!important;opacity:1}.ui.simple.dropdown:hover>.menu>.item:hover>.menu,.ui.simple.dropdown>.menu>.item:active>.menu{overflow:visible;width:auto;height:auto;top:0!important;left:100%!important;opacity:1}.ui.simple.disabled.dropdown:hover .menu{display:none;height:0;width:0;overflow:hidden}.ui.simple.visible.dropdown>.menu{display:block}.ui.fluid.dropdown{display:block;width:100%;min-width:0}.ui.fluid.dropdown>.dropdown.icon{float:right}.ui.floating.dropdown .menu{left:0;right:auto;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08)!important;border-radius:.28571429rem!important}.ui.floating.dropdown>.menu{margin-top:.5em!important;border-radius:.28571429rem!important}.ui.pointing.dropdown>.menu{top:100%;margin-top:.71428571rem;border-radius:.28571429rem}.ui.pointing.dropdown>.menu:after{display:block;position:absolute;pointer-events:none;content:'';visibility:visible;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);width:.5em;height:.5em;box-shadow:-1px -1px 0 1px rgba(34,36,38,.15);background:#FFF;z-index:2;top:-.25em;left:50%;margin:0 0 0 -.25em}.ui.top.left.pointing.dropdown>.menu{top:100%;bottom:auto;left:0;right:auto;margin:1em 0 0}.ui.top.left.pointing.dropdown>.menu:after{top:-.25em;left:1em;right:auto;margin:0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ui.top.right.pointing.dropdown>.menu{top:100%;bottom:auto;right:0;left:auto;margin:1em 0 0}.ui.top.right.pointing.dropdown>.menu:after{top:-.25em;left:auto;right:1em;margin:0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ui.left.pointing.dropdown>.menu{top:0;left:100%;right:auto;margin:0 0 0 1em}.ui.left.pointing.dropdown>.menu:after{top:1em;left:-.25em;margin:0;-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);transform:rotate(-45deg)}.ui.right.pointing.dropdown>.menu{top:0;left:auto;right:100%;margin:0 1em 0 0}.ui.right.pointing.dropdown>.menu:after{top:1em;left:auto;right:-.25em;margin:0;-webkit-transform:rotate(135deg);-ms-transform:rotate(135deg);transform:rotate(135deg)}.ui.bottom.pointing.dropdown>.menu{top:auto;bottom:100%;left:0;right:auto;margin:0 0 1em}.ui.bottom.pointing.dropdown>.menu:after{top:auto;bottom:-.25em;right:auto;margin:0;-webkit-transform:rotate(-135deg);-ms-transform:rotate(-135deg);transform:rotate(-135deg)}.ui.bottom.pointing.dropdown>.menu .menu{top:auto!important;bottom:0!important}.ui.bottom.left.pointing.dropdown>.menu{left:0;right:auto}.ui.bottom.left.pointing.dropdown>.menu:after{left:1em;right:auto}.ui.bottom.right.pointing.dropdown>.menu{right:0;left:auto}.ui.bottom.right.pointing.dropdown>.menu:after{left:auto;right:1em}.ui.upward.pointing.dropdown>.menu,.ui.upward.top.pointing.dropdown>.menu{top:auto;bottom:100%;margin:0 0 .71428571rem;border-radius:.28571429rem}.ui.upward.pointing.dropdown>.menu:after,.ui.upward.top.pointing.dropdown>.menu:after{top:100%;bottom:auto;box-shadow:1px 1px 0 1px rgba(34,36,38,.15);margin:-.25em 0 0}@font-face{font-family:Dropdown;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');font-weight:400;font-style:normal}.ui.dropdown>.dropdown.icon{font-family:Dropdown;line-height:1;height:1em;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center;width:auto}.ui.dropdown>.dropdown.icon:before{content:'\\f0d7'}.ui.dropdown .menu .item .dropdown.icon:before{content:'\\f0da'}.ui.dropdown .item .left.dropdown.icon:before,.ui.dropdown .left.menu .item .dropdown.icon:before{content:\"\\f0d9\"}.ui.vertical.menu .dropdown.item>.dropdown.icon:before{content:\"\\f0da\"}.ui.embed{position:relative;max-width:100%;height:0;overflow:hidden;background:#DCDDDE;padding-bottom:56.25%}.ui.embed embed,.ui.embed iframe,.ui.embed object{position:absolute;border:none;width:100%;height:100%;top:0;left:0;margin:0;padding:0}.ui.embed>.embed{display:none}.ui.embed>.placeholder{position:absolute;cursor:pointer;top:0;left:0;display:block;width:100%;height:100%;background-color:radial-gradient(transparent 45%,rgba(0,0,0,.3))}.ui.embed>.icon{cursor:pointer;position:absolute;top:0;left:0;width:100%;height:100%;z-index:2}.ui.embed>.icon:after{position:absolute;top:0;left:0;width:100%;height:100%;z-index:3;content:'';background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:.5;-webkit-transition:opacity .5s ease;transition:opacity .5s ease}.ui.embed>.icon:before{position:absolute;top:50%;left:50%;-webkit-transform:translateX(-50%) translateY(-50%);-ms-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%);color:#FFF;font-size:6rem;text-shadow:0 2px 10px rgba(34,36,38,.2);-webkit-transition:opacity .5s ease,color .5s ease;transition:opacity .5s ease,color .5s ease;z-index:10}.ui.embed .icon:hover:after{background:-webkit-radial-gradient(transparent 45%,rgba(0,0,0,.3));background:radial-gradient(transparent 45%,rgba(0,0,0,.3));opacity:1}.ui.embed .icon:hover:before{color:#FFF}.ui.active.embed>.icon,.ui.active.embed>.placeholder{display:none}.ui.active.embed>.embed{display:block}.ui.square.embed{padding-bottom:100%}.ui[class*=\"4:3\"].embed{padding-bottom:75%}.ui[class*=\"16:9\"].embed{padding-bottom:56.25%}.ui[class*=\"21:9\"].embed{padding-bottom:42.85714286%}.ui.modal{display:none;position:fixed;z-index:1001;top:50%;left:50%;text-align:left;background:#FFF;border:none;box-shadow:1px 3px 3px 0 rgba(0,0,0,.2),1px 3px 15px 2px rgba(0,0,0,.2);-webkit-transform-origin:50% 25%;-ms-transform-origin:50% 25%;transform-origin:50% 25%;border-radius:.28571429rem;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;will-change:top,left,margin,transform,opacity}.ui.modal>.icon:first-child+*,.ui.modal>:first-child:not(.icon){border-top-left-radius:.28571429rem;border-top-right-radius:.28571429rem}.ui.modal>:last-child{border-bottom-left-radius:.28571429rem;border-bottom-right-radius:.28571429rem}.ui.modal>.close{cursor:pointer;position:absolute;top:-2.5rem;right:-2.5rem;z-index:1;opacity:.8;font-size:1.25em;color:#FFF;width:2.25rem;height:2.25rem;padding:.625rem 0 0}.ui.modal>.close:hover{opacity:1}.ui.modal>.header{display:block;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;background:#FFF;margin:0;padding:1.25rem 1.5rem;box-shadow:none;color:rgba(0,0,0,.85);border-bottom:1px solid rgba(34,36,38,.15)}.ui.modal>.header:not(.ui){font-size:1.42857143rem;line-height:1.2857em;font-weight:700}.ui.modal>.content{display:block;width:100%;font-size:1em;line-height:1.4;padding:1.5rem;background:#FFF}.ui.modal>.image.content{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.ui.modal>.content>.image{display:block;-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;width:'';-webkit-align-self:top;-ms-flex-item-align:top;align-self:top}.ui.modal>[class*=\"top aligned\"]{-webkit-align-self:top;-ms-flex-item-align:top;align-self:top}.ui.modal>[class*=\"middle aligned\"]{-webkit-align-self:middle;-ms-flex-item-align:middle;align-self:middle}.ui.modal>[class*=stretched]{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch}.ui.modal>.content>.description{display:block;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;min-width:0;-webkit-align-self:top;-ms-flex-item-align:top;align-self:top}.ui.modal>.content>.icon+.description,.ui.modal>.content>.image+.description{-webkit-box-flex:0;-webkit-flex:0 1 auto;-ms-flex:0 1 auto;flex:0 1 auto;min-width:'';width:auto;padding-left:2em}.ui.modal>.content>.image>i.icon{margin:0;opacity:1;width:auto;line-height:1;font-size:8rem}.ui.modal>.actions{background:#F9FAFB;padding:1rem;border-top:1px solid rgba(34,36,38,.15);text-align:right}.ui.modal .actions>.button{margin-left:.75em}@media only screen and (max-width:767px){.ui.modal{width:95%;margin:0 0 0 -47.5%}}@media only screen and (min-width:768px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:14.57142857rem}.ui.modal{width:88%;margin:0 0 0 -44%}}@media only screen and (min-width:992px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:19.42857143rem}.ui.modal{width:850px;margin:0 0 0 -425px}}@media only screen and (min-width:1200px){.ui.modal{width:900px;margin:0 0 0 -450px}}@media only screen and (min-width:1920px){.ui.dropdown .scrolling.menu,.ui.scrolling.dropdown .menu{max-height:19.42857143rem}.ui.modal{width:950px;margin:0 0 0 -475px}}@media only screen and (max-width:991px){.ui.modal>.header{padding-right:2.25rem}.ui.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}}@media only screen and (max-width:767px){.ui.modal>.header{padding:.75rem 2.25rem .75rem 1rem!important}.ui.modal>.content{display:block;padding:1rem!important}.ui.modal>.close{top:.5rem!important;right:.5rem!important}.ui.modal .image.content{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.ui.modal .content>.image{display:block;max-width:100%;margin:0 auto!important;text-align:center;padding:0 0 1rem!important}.ui.modal>.content>.image>i.icon{font-size:5rem;text-align:center}.ui.modal .content>.description{display:block;width:100%!important;margin:0!important;padding:1rem 0!important;box-shadow:none}.ui.modal>.actions{padding:1rem 1rem 0!important}.ui.modal .actions>.button,.ui.modal .actions>.buttons{margin-bottom:1rem}}.ui.inverted.dimmer>.ui.modal{box-shadow:1px 3px 10px 2px rgba(0,0,0,.2)}.ui.basic.modal{background-color:transparent;border:none;border-radius:0;box-shadow:none!important;color:#FFF}.ui.basic.modal>.actions,.ui.basic.modal>.content,.ui.basic.modal>.header{background-color:transparent}.ui.basic.modal>.header{color:#FFF}.ui.basic.modal>.close{top:1rem;right:1.5rem}.ui.inverted.dimmer>.basic.modal{color:rgba(0,0,0,.87)}.ui.inverted.dimmer>.ui.basic.modal>.header{color:rgba(0,0,0,.85)}.ui.active.modal{display:block}.scrolling.dimmable.dimmed{overflow:hidden}.scrolling.dimmable.dimmed>.dimmer{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.dimmable>.dimmer{position:fixed}.modals.dimmer .ui.scrolling.modal{position:static!important;margin:3.5rem auto!important}.scrolling.undetached.dimmable.dimmed{overflow:auto;-webkit-overflow-scrolling:touch}.scrolling.undetached.dimmable.dimmed>.dimmer{overflow:hidden}.scrolling.undetached.dimmable .ui.scrolling.modal{position:absolute;left:50%;margin-top:3.5rem!important}.undetached.dimmable.dimmed>.pusher{z-index:auto}@media only screen and (max-width:991px){.ui.basic.modal>.close{color:#FFF}.modals.dimmer .ui.scrolling.modal{margin-top:1rem!important;margin-bottom:1rem!important}}.ui.fullscreen.modal{width:95%!important;left:2.5%!important;margin:1em auto}.ui.fullscreen.scrolling.modal{left:0!important}.ui.fullscreen.modal>.header{padding-right:2.25rem}.ui.fullscreen.modal>.close{top:1.0535rem;right:1rem;color:rgba(0,0,0,.87)}.ui.modal{font-size:1rem}.ui.small.modal>.header:not(.ui){font-size:1.3em}@media only screen and (max-width:767px){.ui.small.modal{width:95%;margin:0 0 0 -47.5%}}@media only screen and (min-width:768px){.ui.small.modal{width:70.4%;margin:0 0 0 -35.2%}}@media only screen and (min-width:992px){.ui.small.modal{width:680px;margin:0 0 0 -340px}}@media only screen and (min-width:1200px){.ui.small.modal{width:720px;margin:0 0 0 -360px}}@media only screen and (min-width:1920px){.ui.small.modal{width:760px;margin:0 0 0 -380px}}.ui.large.modal>.header{font-size:1.6em}@media only screen and (max-width:767px){.ui.large.modal{width:95%;margin:0 0 0 -47.5%}}@media only screen and (min-width:768px){.ui.large.modal{width:88%;margin:0 0 0 -44%}}@media only screen and (min-width:992px){.ui.large.modal{width:1020px;margin:0 0 0 -510px}}@media only screen and (min-width:1200px){.ui.large.modal{width:1080px;margin:0 0 0 -540px}}@media only screen and (min-width:1920px){.ui.large.modal{width:1140px;margin:0 0 0 -570px}}.ui.nag{display:none;opacity:.95;position:relative;top:0;left:0;z-index:999;min-height:0;width:100%;margin:0;padding:.75em 1em;background:#555;box-shadow:0 1px 2px 0 rgba(0,0,0,.2);font-size:1rem;text-align:center;color:rgba(0,0,0,.87);border-radius:0 0 .28571429rem .28571429rem;-webkit-transition:.2s background ease;transition:.2s background ease}a.ui.nag{cursor:pointer}.ui.nag>.title{display:inline-block;margin:0 .5em;color:#FFF}.ui.nag>.close.icon{cursor:pointer;opacity:.4;position:absolute;top:50%;right:1em;font-size:1em;margin:-.5em 0 0;color:#FFF;-webkit-transition:opacity .2s ease;transition:opacity .2s ease}.ui.nag:hover{background:#555;opacity:1}.ui.nag .close:hover{opacity:1}.ui.overlay.nag{position:absolute;display:block}.ui.fixed.nag{position:fixed}.ui.bottom.nag,.ui.bottom.nags{border-radius:.28571429rem .28571429rem 0 0;top:auto;bottom:0}.ui.inverted.nag,.ui.inverted.nags .nag{background-color:#F3F4F5;color:rgba(0,0,0,.85)}.ui.inverted.nag .close,.ui.inverted.nag .title,.ui.inverted.nags .nag .close,.ui.inverted.nags .nag .title{color:rgba(0,0,0,.4)}.ui.nags .nag{border-radius:0!important}.ui.nags .nag:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.bottom.nags .nag:last-child{border-radius:.28571429rem .28571429rem 0 0}.ui.popup{display:none;position:absolute;top:0;right:0;min-width:-webkit-min-content;min-width:-moz-min-content;min-width:min-content;z-index:1900;border:1px solid #D4D4D5;line-height:1.4285em;max-width:250px;background:#FFF;padding:.833em 1em;font-weight:400;font-style:normal;color:rgba(0,0,0,.87);border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);margin:0}.ui.popup>.header{padding:0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1.125em;line-height:1.2;font-weight:700}.ui.popup>.header+.content{padding-top:.5em}.ui.popup:before{position:absolute;content:'';width:.75em;height:.75em;background:#FFF;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);z-index:2;box-shadow:1px 1px 0 0 #bababc}.ui.top.popup{margin:0 0 .75em}.ui.top.left.popup{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom}.ui.top.center.popup{-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}.ui.top.right.popup{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom}.ui.left.center.popup{margin:0 .75em 0 0;-webkit-transform-origin:right 50%;-ms-transform-origin:right 50%;transform-origin:right 50%}.ui.right.center.popup{margin:0 0 0 .75em;-webkit-transform-origin:left 50%;-ms-transform-origin:left 50%;transform-origin:left 50%}.ui.bottom.popup{margin:.75em 0 0}.ui.bottom.left.popup{-webkit-transform-origin:left top;-ms-transform-origin:left top;transform-origin:left top}.ui.bottom.center.popup{-webkit-transform-origin:center top;-ms-transform-origin:center top;transform-origin:center top}.ui.bottom.right.popup{-webkit-transform-origin:right top;-ms-transform-origin:right top;transform-origin:right top;margin-right:0}.ui.bottom.center.popup:before{margin-left:-.325em;top:-.325em;left:50%;right:auto;bottom:auto;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.left.popup{margin-left:0}.ui.bottom.left.popup:before{top:-.325em;left:1em;right:auto;bottom:auto;margin-left:0;box-shadow:-1px -1px 0 0 #bababc}.ui.bottom.right.popup:before{top:-.325em;right:1em;bottom:auto;left:auto;margin-left:0;box-shadow:-1px -1px 0 0 #bababc}.ui.top.center.popup:before{top:auto;right:auto;bottom:-.325em;left:50%;margin-left:-.325em}.ui.top.left.popup{margin-left:0}.ui.top.left.popup:before{bottom:-.325em;left:1em;top:auto;right:auto;margin-left:0}.ui.top.right.popup{margin-right:0}.ui.top.right.popup:before{bottom:-.325em;right:1em;top:auto;left:auto;margin-left:0}.ui.left.center.popup:before{top:50%;right:-.325em;bottom:auto;left:auto;margin-top:-.325em;box-shadow:1px -1px 0 0 #bababc}.ui.right.center.popup:before{top:50%;left:-.325em;bottom:auto;right:auto;margin-top:-.325em;box-shadow:-1px 1px 0 0 #bababc}.ui.bottom.popup:before,.ui.left.center.popup:before,.ui.right.center.popup:before,.ui.top.popup:before{background:#FFF}.ui.inverted.bottom.popup:before,.ui.inverted.left.center.popup:before,.ui.inverted.right.center.popup:before,.ui.inverted.top.popup:before{background:#1B1C1D}.ui.popup>.ui.grid:not(.padded){width:calc(100% + 1.75rem);margin:-.7rem -.875rem}.ui.loading.popup{display:block;visibility:hidden;z-index:-1}.ui.animating.popup,.ui.visible.popup{display:block}.ui.visible.popup{-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}.ui.basic.popup:before{display:none}.ui.wide.popup{max-width:350px}.ui[class*=\"very wide\"].popup{max-width:550px}@media only screen and (max-width:767px){.ui.wide.popup,.ui[class*=\"very wide\"].popup{max-width:250px}}.ui.fluid.popup{width:100%;max-width:none}.ui.inverted.popup{background:#1B1C1D;color:#FFF;border:none;box-shadow:none}.ui.inverted.popup .header{background-color:none;color:#FFF}.ui.inverted.popup:before{background-color:#1B1C1D;box-shadow:none!important}.ui.flowing.popup{max-width:none}.ui.mini.popup{font-size:.71428571rem}.ui.tiny.popup{font-size:.85714286rem}.ui.small.popup{font-size:.92857143rem}.ui.popup{font-size:1rem}.ui.large.popup{font-size:1.14285714rem}.ui.huge.popup{font-size:1.42857143rem}.ui.progress{position:relative;display:block;max-width:100%;border:none;margin:1em 0 2.5em;box-shadow:none;background:rgba(0,0,0,.1);padding:0;border-radius:.28571429rem}.ui.progress:first-child{margin:0 0 2.5em}.ui.progress:last-child{margin:0 0 1.5em}.ui.progress .bar{display:block;line-height:1;position:relative;width:0;min-width:2em;background:#888;border-radius:.28571429rem;-webkit-transition:width .1s ease,background-color .1s ease;transition:width .1s ease,background-color .1s ease}.ui.progress .bar>.progress{white-space:nowrap;position:absolute;width:auto;font-size:.92857143em;top:50%;right:.5em;left:auto;bottom:auto;color:rgba(255,255,255,.7);text-shadow:none;margin-top:-.5em;font-weight:700;text-align:left}.ui.progress>.label{position:absolute;width:100%;font-size:1em;top:100%;right:auto;left:0;bottom:auto;color:rgba(0,0,0,.87);font-weight:700;text-shadow:none;margin-top:.2em;text-align:center;-webkit-transition:color .4s ease;transition:color .4s ease}.ui.indicating.progress[data-percent^=\"1\"] .bar,.ui.indicating.progress[data-percent^=\"2\"] .bar{background-color:#D95C5C}.ui.indicating.progress[data-percent^=\"3\"] .bar{background-color:#EFBC72}.ui.indicating.progress[data-percent^=\"4\"] .bar,.ui.indicating.progress[data-percent^=\"5\"] .bar{background-color:#E6BB48}.ui.indicating.progress[data-percent^=\"6\"] .bar{background-color:#DDC928}.ui.indicating.progress[data-percent^=\"7\"] .bar,.ui.indicating.progress[data-percent^=\"8\"] .bar{background-color:#B4D95C}.ui.indicating.progress[data-percent^=\"9\"] .bar,.ui.indicating.progress[data-percent^=\"100\"] .bar{background-color:#66DA81}.ui.indicating.progress[data-percent^=\"1\"] .label,.ui.indicating.progress[data-percent^=\"2\"] .label,.ui.indicating.progress[data-percent^=\"3\"] .label,.ui.indicating.progress[data-percent^=\"4\"] .label,.ui.indicating.progress[data-percent^=\"5\"] .label,.ui.indicating.progress[data-percent^=\"6\"] .label,.ui.indicating.progress[data-percent^=\"7\"] .label,.ui.indicating.progress[data-percent^=\"8\"] .label,.ui.indicating.progress[data-percent^=\"9\"] .label,.ui.indicating.progress[data-percent^=\"100\"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress[data-percent=\"1\"] .bar,.ui.indicating.progress[data-percent=\"2\"] .bar,.ui.indicating.progress[data-percent=\"3\"] .bar,.ui.indicating.progress[data-percent=\"4\"] .bar,.ui.indicating.progress[data-percent=\"5\"] .bar,.ui.indicating.progress[data-percent=\"6\"] .bar,.ui.indicating.progress[data-percent=\"7\"] .bar,.ui.indicating.progress[data-percent=\"8\"] .bar,.ui.indicating.progress[data-percent=\"9\"] .bar{background-color:#D95C5C}.ui.indicating.progress[data-percent=\"1\"] .label,.ui.indicating.progress[data-percent=\"2\"] .label,.ui.indicating.progress[data-percent=\"3\"] .label,.ui.indicating.progress[data-percent=\"4\"] .label,.ui.indicating.progress[data-percent=\"5\"] .label,.ui.indicating.progress[data-percent=\"6\"] .label,.ui.indicating.progress[data-percent=\"7\"] .label,.ui.indicating.progress[data-percent=\"8\"] .label,.ui.indicating.progress[data-percent=\"9\"] .label{color:rgba(0,0,0,.87)}.ui.indicating.progress.success .label{color:#1A531B}.ui.progress.success .bar{background-color:#21BA45!important}.ui.progress.success .bar,.ui.progress.success .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.success>.label{color:#1A531B}.ui.progress.warning .bar{background-color:#F2C037!important}.ui.progress.warning .bar,.ui.progress.warning .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.warning>.label{color:#794B02}.ui.progress.error .bar{background-color:#DB2828!important}.ui.progress.error .bar,.ui.progress.error .bar::after{-webkit-animation:none!important;animation:none!important}.ui.progress.error>.label{color:#912D2B}.ui.active.progress .bar{position:relative;min-width:2em}.ui.active.progress .bar::after{content:'';opacity:0;position:absolute;top:0;left:0;right:0;bottom:0;background:#FFF;border-radius:.28571429rem;-webkit-animation:progress-active 2s ease infinite;animation:progress-active 2s ease infinite}@-webkit-keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}@keyframes progress-active{0%{opacity:.3;width:0}100%{opacity:0;width:100%}}.ui.disabled.progress{opacity:.35}.ui.disabled.progress .bar,.ui.disabled.progress .bar::after{-webkit-animation:none!important;animation:none!important}.ui.inverted.progress{background:rgba(255,255,255,.08);border:none}.ui.inverted.progress .bar{background:#888}.ui.inverted.progress .bar>.progress{color:#F9FAFB}.ui.inverted.progress>.label{color:#FFF}.ui.inverted.progress.success>.label{color:#21BA45}.ui.inverted.progress.warning>.label{color:#F2C037}.ui.inverted.progress.error>.label{color:#DB2828}.ui.progress.attached{background:0 0;position:relative;border:none;margin:0}.ui.progress.attached,.ui.progress.attached .bar{display:block;height:.2rem;padding:0;overflow:hidden;border-radius:0 0 .28571429rem .28571429rem}.ui.progress.attached .bar{border-radius:0}.ui.progress.top.attached,.ui.progress.top.attached .bar{top:0;border-radius:.28571429rem .28571429rem 0 0}.ui.progress.top.attached .bar{border-radius:0}.ui.card>.ui.attached.progress,.ui.segment>.ui.attached.progress{position:absolute;top:auto;left:0;bottom:100%;width:100%}.ui.card>.ui.bottom.attached.progress,.ui.segment>.ui.bottom.attached.progress{top:100%;bottom:auto}.ui.red.progress .bar{background-color:#DB2828}.ui.red.inverted.progress .bar{background-color:#FF695E}.ui.orange.progress .bar{background-color:#F2711C}.ui.orange.inverted.progress .bar{background-color:#FF851B}.ui.yellow.progress .bar{background-color:#FBBD08}.ui.yellow.inverted.progress .bar{background-color:#FFE21F}.ui.olive.progress .bar{background-color:#B5CC18}.ui.olive.inverted.progress .bar{background-color:#D9E778}.ui.green.progress .bar{background-color:#21BA45}.ui.green.inverted.progress .bar{background-color:#2ECC40}.ui.teal.progress .bar{background-color:#00B5AD}.ui.teal.inverted.progress .bar{background-color:#6DFFFF}.ui.blue.progress .bar{background-color:#2185D0}.ui.blue.inverted.progress .bar{background-color:#54C8FF}.ui.violet.progress .bar{background-color:#6435C9}.ui.violet.inverted.progress .bar{background-color:#A291FB}.ui.purple.progress .bar{background-color:#A333C8}.ui.purple.inverted.progress .bar{background-color:#DC73FF}.ui.pink.progress .bar{background-color:#E03997}.ui.pink.inverted.progress .bar{background-color:#FF8EDF}.ui.brown.progress .bar{background-color:#A5673F}.ui.brown.inverted.progress .bar{background-color:#D67C1C}.ui.grey.progress .bar{background-color:#767676}.ui.grey.inverted.progress .bar{background-color:#DCDDDE}.ui.black.progress .bar{background-color:#1B1C1D}.ui.black.inverted.progress .bar{background-color:#545454}.ui.tiny.progress{font-size:.85714286rem}.ui.tiny.progress .bar{height:.5em}.ui.small.progress{font-size:.92857143rem}.ui.small.progress .bar{height:1em}.ui.progress{font-size:1rem}.ui.progress .bar{height:1.75em}.ui.large.progress{font-size:1.14285714rem}.ui.large.progress .bar{height:2.5em}.ui.big.progress{font-size:1.28571429rem}.ui.big.progress .bar{height:3.5em}.ui.rating:last-child{margin-right:0}.ui.rating .icon{padding:0;margin:0;-webkit-box-flex:1;-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;cursor:pointer;width:1.25em;height:auto;-webkit-transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease;transition:opacity .1s ease,background .1s ease,text-shadow .1s ease,color .1s ease;background:0 0;color:rgba(0,0,0,.15);font-family:Rating;line-height:1;-webkit-backface-visibility:hidden;backface-visibility:hidden;font-weight:400;font-style:normal;text-align:center}.ui.rating .active.icon{background:0 0;color:rgba(0,0,0,.85)}.ui.rating .icon.selected,.ui.rating .icon.selected.active{background:0 0;color:rgba(0,0,0,.87)}.ui.star.rating .icon{width:1.25em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none}.ui.star.rating .active.icon{background:0 0!important;color:#FFE623!important;text-shadow:0 -1px 0 #DDC507,-1px 0 0 #DDC507,0 1px 0 #DDC507,1px 0 0 #DDC507!important}.ui.star.rating .icon.selected,.ui.star.rating .icon.selected.active{background:0 0!important;color:#FC0!important;text-shadow:0 -1px 0 #E6A200,-1px 0 0 #E6A200,0 1px 0 #E6A200,1px 0 0 #E6A200!important}.ui.heart.rating .icon{width:1.4em;height:auto;background:0 0;color:rgba(0,0,0,.15);text-shadow:none!important}.ui.heart.rating .active.icon{background:0 0!important;color:#FF6D75!important;text-shadow:0 -1px 0 #CD0707,-1px 0 0 #CD0707,0 1px 0 #CD0707,1px 0 0 #CD0707!important}.ui.heart.rating .icon.selected,.ui.heart.rating .icon.selected.active{background:0 0!important;color:#FF3000!important;text-shadow:0 -1px 0 #AA0101,-1px 0 0 #AA0101,0 1px 0 #AA0101,1px 0 0 #AA0101!important}.ui.disabled.rating .icon{cursor:default}.ui.rating .icon.selected,.ui.rating.selected .active.icon,.ui.rating.selected .icon.selected{opacity:1}.ui.mini.rating{font-size:.71428571rem}.ui.tiny.rating{font-size:.85714286rem}.ui.small.rating{font-size:.92857143rem}.ui.rating{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;white-space:nowrap;vertical-align:baseline;font-size:1rem}.ui.large.rating{font-size:1.14285714rem}.ui.huge.rating{font-size:1.42857143rem}.ui.massive.rating{font-size:2rem}@font-face{font-family:Rating;src:url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'),url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');font-weight:400;font-style:normal}.ui.rating .icon:before{content:'\\f006'}.ui.rating .active.icon:before,.ui.star.rating .active.icon:before,.ui.star.rating .icon:before{content:'\\f005'}.ui.star.rating .partial.icon:before{content:'\\f006'}.ui.star.rating .partial.icon{content:'\\f005'}.ui.heart.rating .active.icon:before,.ui.heart.rating .icon:before{content:'\\f004'}.ui.search{position:relative}.ui.search>.prompt{margin:0;outline:0;-webkit-appearance:none;-webkit-tap-highlight-color:rgba(255,255,255,0);text-shadow:none;font-style:normal;font-weight:400;line-height:1.2142em;padding:.67861429em 1em;font-size:1em;background:#FFF;border:1px solid rgba(34,36,38,.15);color:rgba(0,0,0,.87);box-shadow:0 0 0 0 transparent inset;-webkit-transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease;transition:background-color .1s ease,color .1s ease,box-shadow .1s ease,border-color .1s ease}.ui.search .prompt{border-radius:500rem}.ui.search .prompt~.search.icon{cursor:pointer}.ui.search>.results{display:none;position:absolute;top:100%;left:0;-webkit-transform-origin:center top;-ms-transform-origin:center top;transform-origin:center top;background:#FFF;margin-top:.5em;width:18em;border-radius:.28571429rem;box-shadow:0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);border:1px solid #D4D4D5;z-index:998}.ui.search>.results>:first-child{border-radius:.28571429rem .28571429rem 0 0}.ui.search>.results>:last-child{border-radius:0 0 .28571429rem .28571429rem}.ui.search>.results .result{cursor:pointer;display:block;overflow:hidden;font-size:1em;padding:.85714286em 1.14285714em;color:rgba(0,0,0,.87);line-height:1.33;border-bottom:1px solid rgba(34,36,38,.1)}.ui.search>.results .result:last-child{border-bottom:none!important}.ui.search>.results .result .image{float:right;overflow:hidden;background:0 0;width:5em;height:3em;border-radius:.25em}.ui.search>.results .result .image img{display:block;width:auto;height:100%}.ui.search>.results .result .image+.content{margin:0 6em 0 0}.ui.search>.results .result .title{margin:-.14285em 0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-weight:700;font-size:1em;color:rgba(0,0,0,.85)}.ui.search>.results .result .description{margin-top:0;font-size:.92857143em;color:rgba(0,0,0,.4)}.ui.search>.results .result .price{float:right;color:#21BA45}.ui.search>.results>.message{padding:1em}.ui.search>.results>.message .header{font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1rem;font-weight:700;color:rgba(0,0,0,.87)}.ui.search>.results>.message .description{margin-top:.25rem;font-size:1em;color:rgba(0,0,0,.87)}.ui.search>.results>.action{display:block;border-top:none;background:#F3F4F5;padding:.92857143em 1em;color:rgba(0,0,0,.87);font-weight:700;text-align:center}.ui.search>.prompt:focus{border-color:rgba(34,36,38,.35);background:#FFF;color:rgba(0,0,0,.95)}.ui.loading.search .input>i.icon:before{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.loading.search .input>i.icon:after{position:absolute;content:'';top:50%;left:50%;margin:-.64285714em 0 0 -.64285714em;width:1.28571429em;height:1.28571429em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.ui.category.search>.results .category .result:hover,.ui.search>.results .result:hover{background:#F9FAFB}.ui.search .action:hover{background:#E0E0E0}.ui.category.search>.results .category.active{background:#F3F4F5}.ui.category.search>.results .category.active>.name{color:rgba(0,0,0,.87)}.ui.category.search>.results .category .result.active,.ui.search>.results .result.active{position:relative;border-left-color:rgba(34,36,38,.1);background:#F3F4F5;box-shadow:none}.ui.search>.results .result.active .description,.ui.search>.results .result.active .title{color:rgba(0,0,0,.85)}.ui.category.search .results{width:28em}.ui.category.search>.results .category{background:#F3F4F5;box-shadow:none;border-bottom:1px solid rgba(34,36,38,.1);-webkit-transition:background .1s ease,border-color .1s ease;transition:background .1s ease,border-color .1s ease}.ui.category.search>.results .category:last-child{border-bottom:none}.ui.category.search>.results .category:first-child .name+.result{border-radius:0 .28571429rem 0 0}.ui.category.search>.results .category .result{background:#FFF;margin-left:100px;border-left:1px solid rgba(34,36,38,.15);border-bottom:1px solid rgba(34,36,38,.1);-webkit-transition:background .1s ease,border-color .1s ease;transition:background .1s ease,border-color .1s ease;padding:.85714286em 1.14285714em}.ui.category.search>.results .category:last-child .result:last-child{border-radius:0 0 .28571429rem;border-bottom:none}.ui.category.search>.results .category>.name{width:100px;background:0 0;font-family:Lato,'Helvetica Neue',Arial,Helvetica,sans-serif;font-size:1em;float:1em;float:left;padding:.4em 1em;font-weight:700;color:rgba(0,0,0,.4)}.ui[class*=\"left aligned\"].search>.results{right:auto;left:0}.ui[class*=\"right aligned\"].search>.results{right:0;left:auto}.ui.fluid.search .results{width:100%}.ui.mini.search{font-size:.71428571em}.ui.small.search{font-size:.92857143em}.ui.search{font-size:1em}.ui.large.search{font-size:1.14285714em}.ui.big.search{font-size:1.28571429em}.ui.huge.search{font-size:1.42857143em}.ui.massive.search{font-size:1.71428571em}.ui.shape{position:relative;vertical-align:top;display:inline-block;-webkit-perspective:2000px;perspective:2000px;-webkit-transition:-webkit-transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape .sides{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.ui.shape .side{opacity:1;width:100%;margin:0!important;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:none}.ui.shape .side *{-webkit-backface-visibility:visible!important;backface-visibility:visible!important}.ui.cube.shape .side{min-width:15em;height:15em;padding:2em;background-color:#E6E6E6;color:rgba(0,0,0,.87);box-shadow:0 0 2px rgba(0,0,0,.3)}.ui.cube.shape .side>.content{width:100%;height:100%;display:table;text-align:center;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.ui.cube.shape .side>.content>div{display:table-cell;vertical-align:middle;font-size:2em}.ui.text.shape.animating .sides{position:static}.ui.text.shape .side{white-space:nowrap}.ui.text.shape .side>*{white-space:normal}.ui.loading.shape{position:absolute;top:-9999px;left:-9999px}.ui.shape .animating.side{position:absolute;top:0;left:0;display:block;z-index:100}.ui.shape .hidden.side{opacity:.6}.ui.shape.animating .sides{position:absolute;-webkit-transition:-webkit-transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out;transition:transform .6s ease-in-out,left .6s ease-in-out,width .6s ease-in-out,height .6s ease-in-out}.ui.shape.animating .side{-webkit-transition:opacity .6s ease-in-out;transition:opacity .6s ease-in-out}.ui.shape .active.side{display:block}.ui.sidebar{position:fixed;top:0;left:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:none;transition:none;will-change:transform;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;-webkit-overflow-scrolling:touch;height:100%!important;max-height:100%;border-radius:0!important;margin:0!important;overflow-y:auto!important;z-index:102}.ui.sidebar>*{-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transform:rotateZ(0);transform:rotateZ(0)}.ui.left.sidebar{right:auto;left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.sidebar{right:0!important;left:auto!important;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.bottom.sidebar,.ui.top.sidebar{width:100%!important;height:auto!important}.ui.top.sidebar{top:0!important;bottom:auto!important;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.sidebar{top:auto!important;bottom:0!important;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.pushable{height:100%;overflow-x:hidden;padding:0!important}body.pushable{background:#545454!important}.pushable:not(body){-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.pushable:not(body)>.fixed,.pushable:not(body)>.pusher:after,.pushable:not(body)>.ui.sidebar{position:absolute}.pushable>.fixed{position:fixed;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;will-change:transform;z-index:101}body.pushable>.pusher{background:#FFF}.pushable>.pusher{position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow:hidden;min-height:100%;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;z-index:2;background:inherit}.pushable>.pusher:after{position:fixed;top:0;right:0;content:'';background-color:rgba(0,0,0,.4);overflow:hidden;opacity:0;-webkit-transition:opacity .5s;transition:opacity .5s;will-change:opacity;z-index:1000}.ui.sidebar.menu .item{border-radius:0!important}.pushable>.pusher.dimmed:after{width:100%!important;height:100%!important;opacity:1!important}.ui.animating.sidebar{visibility:visible}.ui.visible.sidebar{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.bottom.visible.sidebar,.ui.left.visible.sidebar,.ui.right.visible.sidebar,.ui.top.visible.sidebar{box-shadow:0 0 20px rgba(34,36,38,.15)}.ui.visible.left.sidebar~.fixed,.ui.visible.left.sidebar~.pusher{-webkit-transform:translate3d(260px,0,0);transform:translate3d(260px,0,0)}.ui.visible.right.sidebar~.fixed,.ui.visible.right.sidebar~.pusher{-webkit-transform:translate3d(-260px,0,0);transform:translate3d(-260px,0,0)}.ui.visible.top.sidebar~.fixed,.ui.visible.top.sidebar~.pusher{-webkit-transform:translate3d(0,36px,0);transform:translate3d(0,36px,0)}.ui.visible.bottom.sidebar~.fixed,.ui.visible.bottom.sidebar~.pusher{-webkit-transform:translate3d(0,-36px,0);transform:translate3d(0,-36px,0)}.ui.visible.left.sidebar~.ui.visible.right.sidebar~.fixed,.ui.visible.left.sidebar~.ui.visible.right.sidebar~.pusher,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.fixed,.ui.visible.right.sidebar~.ui.visible.left.sidebar~.pusher{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}html.ios{overflow-x:hidden;-webkit-overflow-scrolling:touch}html.ios,html.ios body{height:initial!important}.ui[class*=\"very thin\"].left.sidebar,.ui[class*=\"very thin\"].right.sidebar{width:60px}.ui.thin.left.sidebar,.ui.thin.right.sidebar{width:150px}.ui.left.sidebar,.ui.right.sidebar{width:260px}.ui.wide.left.sidebar,.ui.wide.right.sidebar{width:350px}.ui[class*=\"very wide\"].left.sidebar,.ui[class*=\"very wide\"].right.sidebar{width:475px}.ui.visible[class*=\"very thin\"].left.sidebar~.fixed,.ui.visible[class*=\"very thin\"].left.sidebar~.pusher{-webkit-transform:translate3d(60px,0,0);transform:translate3d(60px,0,0)}.ui.visible.thin.left.sidebar~.fixed,.ui.visible.thin.left.sidebar~.pusher{-webkit-transform:translate3d(150px,0,0);transform:translate3d(150px,0,0)}.ui.visible.wide.left.sidebar~.fixed,.ui.visible.wide.left.sidebar~.pusher{-webkit-transform:translate3d(350px,0,0);transform:translate3d(350px,0,0)}.ui.visible[class*=\"very wide\"].left.sidebar~.fixed,.ui.visible[class*=\"very wide\"].left.sidebar~.pusher{-webkit-transform:translate3d(475px,0,0);transform:translate3d(475px,0,0)}.ui.visible[class*=\"very thin\"].right.sidebar~.fixed,.ui.visible[class*=\"very thin\"].right.sidebar~.pusher{-webkit-transform:translate3d(-60px,0,0);transform:translate3d(-60px,0,0)}.ui.visible.thin.right.sidebar~.fixed,.ui.visible.thin.right.sidebar~.pusher{-webkit-transform:translate3d(-150px,0,0);transform:translate3d(-150px,0,0)}.ui.visible.wide.right.sidebar~.fixed,.ui.visible.wide.right.sidebar~.pusher{-webkit-transform:translate3d(-350px,0,0);transform:translate3d(-350px,0,0)}.ui.visible[class*=\"very wide\"].right.sidebar~.fixed,.ui.visible[class*=\"very wide\"].right.sidebar~.pusher{-webkit-transform:translate3d(-475px,0,0);transform:translate3d(-475px,0,0)}.ui.overlay.sidebar{z-index:102}.ui.left.overlay.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.overlay.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.overlay.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.overlay.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.animating.ui.overlay.sidebar,.ui.visible.overlay.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.ui.visible.bottom.overlay.sidebar,.ui.visible.left.overlay.sidebar,.ui.visible.right.overlay.sidebar,.ui.visible.top.overlay.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.overlay.sidebar~.fixed,.ui.visible.overlay.sidebar~.pusher{-webkit-transform:none!important;-ms-transform:none!important;transform:none!important}.ui.push.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;z-index:102}.ui.left.push.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.push.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.push.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.push.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.ui.visible.push.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.uncover.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}.ui.visible.uncover.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.ui.slide.along.sidebar{z-index:1}.ui.left.slide.along.sidebar{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.ui.right.slide.along.sidebar{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}.ui.top.slide.along.sidebar{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.ui.bottom.slide.along.sidebar{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.ui.animating.slide.along.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.ui.visible.slide.along.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.slide.out.sidebar{z-index:1}.ui.left.slide.out.sidebar{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}.ui.right.slide.out.sidebar{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}.ui.top.slide.out.sidebar{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}.ui.bottom.slide.out.sidebar{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.ui.animating.slide.out.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.ui.visible.slide.out.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.scale.down.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;z-index:102}.ui.left.scale.down.sidebar{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.ui.right.scale.down.sidebar{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.ui.top.scale.down.sidebar{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}.ui.bottom.scale.down.sidebar{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}.ui.scale.down.left.sidebar~.pusher{-webkit-transform-origin:75% 50%;-ms-transform-origin:75% 50%;transform-origin:75% 50%}.ui.scale.down.right.sidebar~.pusher{-webkit-transform-origin:25% 50%;-ms-transform-origin:25% 50%;transform-origin:25% 50%}.ui.scale.down.top.sidebar~.pusher{-webkit-transform-origin:50% 75%;-ms-transform-origin:50% 75%;transform-origin:50% 75%}.ui.scale.down.bottom.sidebar~.pusher{-webkit-transform-origin:50% 25%;-ms-transform-origin:50% 25%;transform-origin:50% 25%}.ui.animating.scale.down>.visible.ui.sidebar{-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.ui.animating.scale.down.sidebar~.pusher,.ui.visible.scale.down.sidebar~.pusher{display:block!important;width:100%;height:100%;overflow:hidden!important}.ui.visible.scale.down.sidebar{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.ui.visible.scale.down.sidebar~.pusher{-webkit-transform:scale(.75);-ms-transform:scale(.75);transform:scale(.75)}.ui.sticky{position:static;-webkit-transition:none;transition:none;z-index:800}.ui.sticky.bound{position:absolute;left:auto;right:auto}.ui.sticky.fixed{position:fixed;left:auto;right:auto}.ui.sticky.bound.top,.ui.sticky.fixed.top{top:0;bottom:auto}.ui.sticky.bound.bottom,.ui.sticky.fixed.bottom{top:auto;bottom:0}.ui.native.sticky{position:-webkit-sticky;position:-moz-sticky;position:-ms-sticky;position:-o-sticky;position:sticky}.ui.tab{display:none}.ui.tab.active,.ui.tab.open{display:block}.ui.tab.loading{position:relative;overflow:hidden;display:block;min-height:250px}.ui.tab.loading *{position:relative!important;left:-10000px!important}.ui.tab.loading.segment:before,.ui.tab.loading:before{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;border-radius:500rem;border:.2em solid rgba(0,0,0,.1)}.ui.tab.loading.segment:after,.ui.tab.loading:after{position:absolute;content:'';top:100px;left:50%;margin:-1.25em 0 0 -1.25em;width:2.5em;height:2.5em;-webkit-animation:button-spin .6s linear;animation:button-spin .6s linear;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;border-radius:500rem;border-color:#767676 transparent transparent;border-style:solid;border-width:.2em;box-shadow:0 0 0 1px transparent}.transition{-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-timing-function:ease;animation-timing-function:ease;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animating.transition{-webkit-backface-visibility:hidden;backface-visibility:hidden;visibility:visible!important}.loading.transition{position:absolute;top:-99999px;left:-99999px}.hidden.transition{display:none;visibility:hidden}.visible.transition{display:block!important;visibility:visible!important}.disabled.transition{-webkit-animation-play-state:paused;animation-play-state:paused}.looping.transition{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.transition.browse{-webkit-animation-duration:.5s;animation-duration:.5s}.transition.browse.in{-webkit-animation-name:browseIn;animation-name:browseIn}.transition.browse.left.out,.transition.browse.out{-webkit-animation-name:browseOutLeft;animation-name:browseOutLeft}.transition.browse.right.out{-webkit-animation-name:browseOutRight;animation-name:browseOutRight}@-webkit-keyframes browseIn{0%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1}10%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{-webkit-transform:scale(1.05) translateZ(0);transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);z-index:999}}@keyframes browseIn{0%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1}10%{-webkit-transform:scale(.8) translateZ(0);transform:scale(.8) translateZ(0);z-index:-1;opacity:.7}80%{-webkit-transform:scale(1.05) translateZ(0);transform:scale(1.05) translateZ(0);opacity:1;z-index:999}100%{-webkit-transform:scale(1) translateZ(0);transform:scale(1) translateZ(0);z-index:999}}@-webkit-keyframes browseOutLeft{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;-webkit-transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutLeft{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:-1;-webkit-transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:-1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@-webkit-keyframes browseOutRight{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;-webkit-transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}@keyframes browseOutRight{0%{z-index:999;-webkit-transform:translateX(0) rotateY(0) rotateX(0);transform:translateX(0) rotateY(0) rotateX(0)}50%{z-index:1;-webkit-transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);transform:translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px)}80%{opacity:1}100%{z-index:1;-webkit-transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);transform:translateX(0) rotateY(0) rotateX(0) translateZ(-10px);opacity:0}}.drop.transition{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-duration:.4s;animation-duration:.4s;-webkit-animation-timing-function:cubic-bezier(.34,1.61,.7,1);animation-timing-function:cubic-bezier(.34,1.61,.7,1)}.drop.transition.in{-webkit-animation-name:dropIn;animation-name:dropIn}.drop.transition.out{-webkit-animation-name:dropOut;animation-name:dropOut}@-webkit-keyframes dropIn{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes dropIn{0%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes dropOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}@keyframes dropOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(0);transform:scale(0)}}.transition.fade.in{-webkit-animation-name:fadeIn;animation-name:fadeIn}.transition[class*=\"fade up\"].in{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}.transition[class*=\"fade down\"].in{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}.transition[class*=\"fade left\"].in{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}.transition[class*=\"fade right\"].in{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}.transition.fade.out{-webkit-animation-name:fadeOut;animation-name:fadeOut}.transition[class*=\"fade up\"].out{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}.transition[class*=\"fade down\"].out{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}.transition[class*=\"fade left\"].out{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}.transition[class*=\"fade right\"].out{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10%);transform:translateY(10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(10%);transform:translateY(10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-10%);transform:translateY(-10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-10%);transform:translateY(-10%)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(10%);transform:translateX(10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(-10%);transform:translateX(-10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(-10%);transform:translateX(-10%)}100%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(5%);transform:translateY(5%)}}@keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(5%);transform:translateY(5%)}}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-5%);transform:translateY(-5%)}}@keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-5%);transform:translateY(-5%)}}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(5%);transform:translateX(5%)}}@keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(5%);transform:translateX(5%)}}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-5%);transform:translateX(-5%)}}@keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-5%);transform:translateX(-5%)}}.flip.transition.in,.flip.transition.out{-webkit-animation-duration:.6s;animation-duration:.6s}.horizontal.flip.transition.in{-webkit-animation-name:horizontalFlipIn;animation-name:horizontalFlipIn}.horizontal.flip.transition.out{-webkit-animation-name:horizontalFlipOut;animation-name:horizontalFlipOut}.vertical.flip.transition.in{-webkit-animation-name:verticalFlipIn;animation-name:verticalFlipIn}.vertical.flip.transition.out{-webkit-animation-name:verticalFlipOut;animation-name:verticalFlipOut}@-webkit-keyframes horizontalFlipIn{0%{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}}@keyframes horizontalFlipIn{0%{-webkit-transform:perspective(2000px) rotateY(-90deg);transform:perspective(2000px) rotateY(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}}@-webkit-keyframes verticalFlipIn{0%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}}@keyframes verticalFlipIn{0%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}100%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}}@-webkit-keyframes horizontalFlipOut{0%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}}@keyframes horizontalFlipOut{0%{-webkit-transform:perspective(2000px) rotateY(0);transform:perspective(2000px) rotateY(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateY(90deg);transform:perspective(2000px) rotateY(90deg);opacity:0}}@-webkit-keyframes verticalFlipOut{0%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}}@keyframes verticalFlipOut{0%{-webkit-transform:perspective(2000px) rotateX(0);transform:perspective(2000px) rotateX(0);opacity:1}100%{-webkit-transform:perspective(2000px) rotateX(-90deg);transform:perspective(2000px) rotateX(-90deg);opacity:0}}.scale.transition.in{-webkit-animation-name:scaleIn;animation-name:scaleIn}.scale.transition.out{-webkit-animation-name:scaleOut;animation-name:scaleOut}@-webkit-keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes scaleIn{0%{opacity:0;-webkit-transform:scale(.8);transform:scale(.8)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@-webkit-keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}}@keyframes scaleOut{0%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}100%{opacity:0;-webkit-transform:scale(.9);transform:scale(.9)}}.transition.fly{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.transition.fly.in{-webkit-animation-name:flyIn;animation-name:flyIn}.transition[class*=\"fly up\"].in{-webkit-animation-name:flyInUp;animation-name:flyInUp}.transition[class*=\"fly down\"].in{-webkit-animation-name:flyInDown;animation-name:flyInDown}.transition[class*=\"fly left\"].in{-webkit-animation-name:flyInLeft;animation-name:flyInLeft}.transition[class*=\"fly right\"].in{-webkit-animation-name:flyInRight;animation-name:flyInRight}.transition.fly.out{-webkit-animation-name:flyOut;animation-name:flyOut}.transition[class*=\"fly up\"].out{-webkit-animation-name:flyOutUp;animation-name:flyOutUp}.transition[class*=\"fly down\"].out{-webkit-animation-name:flyOutDown;animation-name:flyOutDown}.transition[class*=\"fly left\"].out{-webkit-animation-name:flyOutLeft;animation-name:flyOutLeft}.transition[class*=\"fly right\"].out{-webkit-animation-name:flyOutRight;animation-name:flyOutRight}@-webkit-keyframes flyIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes flyIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@-webkit-keyframes flyInUp{0%{opacity:0;-webkit-transform:translate3d(0,1500px,0);transform:translate3d(0,1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes flyInUp{0%{opacity:0;-webkit-transform:translate3d(0,1500px,0);transform:translate3d(0,1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@-webkit-keyframes flyInDown{0%{opacity:0;-webkit-transform:translate3d(0,-1500px,0);transform:translate3d(0,-1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInDown{0%{opacity:0;-webkit-transform:translate3d(0,-1500px,0);transform:translate3d(0,-1500px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyInLeft{0%{opacity:0;-webkit-transform:translate3d(1500px,0,0);transform:translate3d(1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInLeft{0%{opacity:0;-webkit-transform:translate3d(1500px,0,0);transform:translate3d(1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyInRight{0%{opacity:0;-webkit-transform:translate3d(-1500px,0,0);transform:translate3d(-1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes flyInRight{0%{opacity:0;-webkit-transform:translate3d(-1500px,0,0);transform:translate3d(-1500px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@-webkit-keyframes flyOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes flyOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@-webkit-keyframes flyOutUp{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes flyOutUp{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@-webkit-keyframes flyOutDown{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes flyOutDown{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@-webkit-keyframes flyOutRight{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes flyOutRight{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@-webkit-keyframes flyOutLeft{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes flyOutLeft{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.transition.slide.in,.transition[class*=\"slide down\"].in{-webkit-animation-name:slideInY;animation-name:slideInY;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}.transition[class*=\"slide up\"].in{-webkit-animation-name:slideInY;animation-name:slideInY;-webkit-transform-origin:bottom center;-ms-transform-origin:bottom center;transform-origin:bottom center}.transition[class*=\"slide left\"].in{-webkit-animation-name:slideInX;animation-name:slideInX;-webkit-transform-origin:center right;-ms-transform-origin:center right;transform-origin:center right}.transition[class*=\"slide right\"].in{-webkit-animation-name:slideInX;animation-name:slideInX;-webkit-transform-origin:center left;-ms-transform-origin:center left;transform-origin:center left}.transition.slide.out,.transition[class*=\"slide down\"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}.transition[class*=\"slide up\"].out{-webkit-animation-name:slideOutY;animation-name:slideOutY;-webkit-transform-origin:bottom center;-ms-transform-origin:bottom center;transform-origin:bottom center}.transition[class*=\"slide left\"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;-webkit-transform-origin:center right;-ms-transform-origin:center right;transform-origin:center right}.transition[class*=\"slide right\"].out{-webkit-animation-name:slideOutX;animation-name:slideOutX;-webkit-transform-origin:center left;-ms-transform-origin:center left;transform-origin:center left}@-webkit-keyframes slideInY{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes slideInY{0%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}100%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}}@-webkit-keyframes slideInX{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}100%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@keyframes slideInX{0%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}100%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}}@-webkit-keyframes slideOutY{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@keyframes slideOutY{0%{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1)}100%{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}}@-webkit-keyframes slideOutX{0%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}100%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}}@keyframes slideOutX{0%{opacity:1;-webkit-transform:scaleX(1);transform:scaleX(1)}100%{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}}.transition.swing{-webkit-animation-duration:.8s;animation-duration:.8s}.transition[class*=\"swing down\"].in{-webkit-animation-name:swingInX;animation-name:swingInX;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}.transition[class*=\"swing up\"].in{-webkit-animation-name:swingInX;animation-name:swingInX;-webkit-transform-origin:bottom center;-ms-transform-origin:bottom center;transform-origin:bottom center}.transition[class*=\"swing left\"].in{-webkit-animation-name:swingInY;animation-name:swingInY;-webkit-transform-origin:center right;-ms-transform-origin:center right;transform-origin:center right}.transition[class*=\"swing right\"].in{-webkit-animation-name:swingInY;animation-name:swingInY;-webkit-transform-origin:center left;-ms-transform-origin:center left;transform-origin:center left}.transition.swing.out,.transition[class*=\"swing down\"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}.transition[class*=\"swing up\"].out{-webkit-animation-name:swingOutX;animation-name:swingOutX;-webkit-transform-origin:bottom center;-ms-transform-origin:bottom center;transform-origin:bottom center}.transition[class*=\"swing left\"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;-webkit-transform-origin:center right;-ms-transform-origin:center right;transform-origin:center right}.transition[class*=\"swing right\"].out{-webkit-animation-name:swingOutY;animation-name:swingOutY;-webkit-transform-origin:center left;-ms-transform-origin:center left;transform-origin:center left}@-webkit-keyframes swingInX{0%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateX(15deg);transform:perspective(1000px) rotateX(15deg)}80%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}100%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}}@keyframes swingInX{0%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateX(15deg);transform:perspective(1000px) rotateX(15deg)}80%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}100%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}}@-webkit-keyframes swingInY{0%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateY(-17.5deg);transform:perspective(1000px) rotateY(-17.5deg)}80%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}100%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}}@keyframes swingInY{0%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}40%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}60%{-webkit-transform:perspective(1000px) rotateY(-17.5deg);transform:perspective(1000px) rotateY(-17.5deg)}80%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}100%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}}@-webkit-keyframes swingOutX{0%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}40%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}60%{-webkit-transform:perspective(1000px) rotateX(17.5deg);transform:perspective(1000px) rotateX(17.5deg)}80%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}}@keyframes swingOutX{0%{-webkit-transform:perspective(1000px) rotateX(0);transform:perspective(1000px) rotateX(0)}40%{-webkit-transform:perspective(1000px) rotateX(-7.5deg);transform:perspective(1000px) rotateX(-7.5deg)}60%{-webkit-transform:perspective(1000px) rotateX(17.5deg);transform:perspective(1000px) rotateX(17.5deg)}80%{-webkit-transform:perspective(1000px) rotateX(-30deg);transform:perspective(1000px) rotateX(-30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateX(90deg);transform:perspective(1000px) rotateX(90deg);opacity:0}}@-webkit-keyframes swingOutY{0%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}40%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}60%{-webkit-transform:perspective(1000px) rotateY(-10deg);transform:perspective(1000px) rotateY(-10deg)}80%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}}@keyframes swingOutY{0%{-webkit-transform:perspective(1000px) rotateY(0);transform:perspective(1000px) rotateY(0)}40%{-webkit-transform:perspective(1000px) rotateY(7.5deg);transform:perspective(1000px) rotateY(7.5deg)}60%{-webkit-transform:perspective(1000px) rotateY(-10deg);transform:perspective(1000px) rotateY(-10deg)}80%{-webkit-transform:perspective(1000px) rotateY(30deg);transform:perspective(1000px) rotateY(30deg);opacity:1}100%{-webkit-transform:perspective(1000px) rotateY(-90deg);transform:perspective(1000px) rotateY(-90deg);opacity:0}}.flash.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:flash;animation-name:flash}.shake.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:shake;animation-name:shake}.bounce.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:bounce;animation-name:bounce}.tada.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:tada;animation-name:tada}.pulse.transition{-webkit-animation-duration:.5s;animation-duration:.5s;-webkit-animation-name:pulse;animation-name:pulse}.jiggle.transition{-webkit-animation-duration:750ms;animation-duration:750ms;-webkit-animation-name:jiggle;animation-name:jiggle}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0);transform:translateY(0)}40%{-webkit-transform:translateY(-30px);transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px);transform:translateY(-15px)}}@-webkit-keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9) rotate(-3deg);transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@keyframes tada{0%{-webkit-transform:scale(1);transform:scale(1)}10%,20%{-webkit-transform:scale(.9) rotate(-3deg);transform:scale(.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg);transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg);transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0);transform:scale(1) rotate(0)}}@-webkit-keyframes pulse{0%,100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(.9);transform:scale(.9);opacity:.7}}@keyframes pulse{0%,100%{-webkit-transform:scale(1);transform:scale(1);opacity:1}50%{-webkit-transform:scale(.9);transform:scale(.9);opacity:.7}}@-webkit-keyframes jiggle{0%,100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}@keyframes jiggle{0%,100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(.75,1.25,1);transform:scale3d(.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}}\n</style><h1 id=\"semantic-ui-for-wordpress-developer-edition\">Semantic UI for WordPress: Developer Edition</h1>\n<p align=\"center\">\n    <img src=\"http://i.imgur.com/AEYUA4Q.png\" alt=\"Semantic UI for WordPress: Developer Edition Logo\"><br>\n    The Semantic UI starter/developer theme for WordPress.<br>\n    <img src=\"https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square\" alt=\"License\">\n    <img src=\"https://img.shields.io/travis/ProjectCleverWeb/Semantic-UI-WordPress/develop.svg?style=flat-square\" alt=\"Travis\">\n</p>\n\n<p>This project incorporates Semantic UI into a starter (aka developer) theme for WordPress. This project also includes some useful techniques for creating fast, responsive, and easy-to-maintain themes for WordPress. <em>Please keep in mind this theme is meant to be developed for your specific application; and is not meant to be used &quot;as-is.&quot;</em></p>\n<p>Live Demo: <a href=\"http://semantic-wordpress.gopagoda.io/\">semantic-wordpress.gopagoda.io</a></p>\n<h4 id=\"download-\">Download:</h4>\n<p><a href=\"http://bit.ly/1mQOExM\"><img src=\"https://img.shields.io/badge/Release-1.0.1-blue.svg?style=flat-square\" alt=\"Sheild\"></a></p>\n<h4 id=\"screenshots\">Screenshots</h4>\n<p><a href=\"http://i.imgur.com/467EKwk.png\"><img src=\"http://i.imgur.com/467EKwk.png\" alt=\"Screenshots\"></a></p>\n<p>&nbsp;</p>\n<p>Copyright &copy; 2014 Nicholas Jordon &mdash; All Rights Reserved</p>\n<h2 id=\"features\">Features</h2>\n<p align=\"center\">\n    <a target=\"_blank\" href=\"http://semantic-ui.com/\">Semantic UI</a><br>\n    <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/Responsive_web_design\">Responsive Design</a> | <a target=\"_blank\" href=\"https://www.google.com/fonts\">Google Web Fonts</a><br>\n    <a target=\"_blank\" href=\"https://github.com/firetix/gulp-image-optimization\">Image Optimization</a> | <a target=\"_blank\" href=\"http://codex.wordpress.org/Theme_Development#Theme_Options\">Theme Options Page</a> | <a target=\"_blank\" href=\"http://docs.woothemes.com/document/third-party-custom-theme-compatibility/\">Woocommerce Support</a><br>\n    <a target=\"_blank\" href=\"http://fortawesome.github.io/Font-Awesome/\">Font Awesome</a> | <a target=\"_blank\" href=\"https://github.com/adamfairhead/webicons\">Webicons</a> | <a target=\"_blank\" href=\"http://sass-lang.com/\">LESS/SASS Support</a> | <a target=\"_blank\" href=\"http://necolas.github.io/normalize.css/\">Normalize CSS</a><br>\n    <a target=\"_blank\" href=\"https://developers.google.com/speed/libraries/devguide\">jQuery</a> | <a target=\"_blank\" href=\"http://gulpjs.com/\">Gulp</a> | <a target=\"_blank\" href=\"https://support.google.com/webmasters/answer/176035?hl=en&amp;ref_topic=4600447\">Google Microdata</a> | <a target=\"_blank\" href=\"https://travis-ci.org/ProjectCleverWeb/Semantic-UI-WordPress\">Unit Testing</a><br>\n    <a target=\"_blank\" href=\"https://highlightjs.org/\">Highlight.js</a> | <a target=\"_blank\" href=\"http://craig.is/killing/mice\">Keyboard Shortcuts</a><br>\n    Well Commented Code\n</p>\n\n<h2 id=\"installation\">Installation</h2>\n<h4 id=\"requirements\">Requirements</h4>\n<ul>\n<li>PHP <strong>5.6</strong>, <strong>7.0</strong>, or <strong>HHVM</strong> <small>(5.4 and 5.5 run, but are not officially supported)</small></li>\n<li>WordPress 4.0 or later <small>(3.9 runs, but is not officially supported)</small></li>\n</ul>\n<h4 id=\"install-guide\">Install Guide</h4>\n<ol>\n<li>Download the release version of the theme</li>\n<li>Unzip to your <code>wp-content/themes</code> directory</li>\n<li>Set the theme to &quot;active&quot; in your WordPress dashboard</li>\n</ol>\n<h4 id=\"building-from-source\">Building From Source</h4>\n<p>To build from source you need to have <a href=\"http://nodejs.org/\">Node.js</a> installed\nand in your <code>$path</code> (<a href=\"http://www.computerhope.com/issues/ch000549.htm\">win</a>/<a href=\"http://apple.stackexchange.com/questions/119125/mac-os-x-mavericks-add-to-path\">mac</a>/<a href=\"http://unix.stackexchange.com/questions/26047/how-to-correctly-add-a-path-to-path\">unix</a>).\nYou should also have <a href=\"https://phpunit.de/\">PHPUnit</a> and\n<a href=\"https://getcomposer.org/\">Composer</a> installed and in your <code>$path</code> as well.</p>\n<p>&#42;&#42;Please note that when building from source, the <code>/dist</code> directory\nshould be renamed and then put in your <code>/wp-content/themes</code> directory</p>\n<p><strong>Mac &amp; Unix:</strong></p>\n<ol>\n<li>Download or clone the master branch</li>\n<li>Open your command line and navigate to where you deployed the code</li>\n<li>Run <code>npm install &amp;&amp; sudo npm install -g gulp</code> enter your password and then wait for it to finish.</li>\n<li>Run <code>gulp</code> to see a list of available tasks. Running <code>gulp build</code> will regenerate <code>/dist</code> from scratch.</li>\n</ol>\n<p><strong>Windows:</strong></p>\n<ol>\n<li>Download or clone the master branch</li>\n<li>Open your command line and navigate to where you deployed the code</li>\n<li>Run <code>npm install &amp;&amp; npm install -g gulp</code> and then wait for it to finish.</li>\n<li>Run <code>gulp</code> to see a list of available tasks. Running <code>gulp build</code> will regenerate <code>/dist</code> from scratch.</li>\n</ol>\n<h2 id=\"usage\">Usage</h2>\n<p>This is a developer theme designed to be developed for your specific application. The default state of this theme is meant to be minimal &amp; organized; while not being bias to any particular design.</p>\n<h2 id=\"designing-pages\">Designing Pages</h2>\n<p>In this developer theme there are 4 important parts to generate a page:</p>\n<ul>\n<li>Templates</li>\n<li>Includes</li>\n<li>Contents</li>\n<li>Assets</li>\n</ul>\n<p><strong>A template file</strong> generates the general layout of a page. They generally call\nthe header and footer functions, get content files, and should call any includes\nthe page will need.</p>\n<p><strong>A include file</strong> adds functionality to a page and should have no output unless\na function or method is called in a template or content file. Include files are \nusually used for API classes and libraries, but can be used for any kind of\nfunctionality.</p>\n<p><strong>A content file</strong> generates a group of elements and often has functionality\ncalls for specific elements, such as dynamic text and images. Content files\ntypically output the most HTML.</p>\n<p><strong>Assets</strong> are typically static files that are commonly used. These files are\nusually images, stylesheets, fonts, and javascript files, and might also\ninclude other files that need to be pre-compiled before they can be used. (such\nas LESS and SASS/SCSS files)</p>\n<h2 id=\"contributing\">Contributing</h2>\n<h4 id=\"contributing-to-semantic-ui\">Contributing to Semantic UI</h4>\n<p>Visit <a href=\"https://github.com/Semantic-Org/Semantic-UI/blob/master/CONTRIBUTING.md\">this page</a>\nto learn how to contribute to Semantic UI.</p>\n<h4 id=\"contributing-to-this-wordpress-theme\">Contributing to This WordPress Theme</h4>\n<p><strong>Contributing <em>via</em> Suggestions:</strong> <br>\nThe best way to submit a suggestion is to open an issue on Github and prefix the\ntitle with <code>[Suggestion]</code>. Alternatively, you can email your suggestions to\nprojectcleverweb (at) gmail (dot) com.</p>\n<p><strong>Contributing <em>via</em> Reporting Problems:</strong> <br>\nAll problems must be reported via Github&#39;s\n<a href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues\">issue tracker</a>.</p>\n<p><strong>Contributing <em>via</em> Code:</strong></p>\n<ol>\n<li>Fork the repo on Github: <a href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\">github.com/ProjectCleverWeb/Semantic-UI-WordPress</a></li>\n<li>Make your changes.</li>\n<li>Send a pull request to have your changes reviewed.</li>\n</ol>\n<h2 id=\"license\">License</h2>\n<p><strong>NOTICE:</strong> All included works (aka libraries) are licensed under the MIT license\n<strong>OR</strong> are compatible with the MIT License.</p>\n<p>The Semantic UI for WordPress documentation by Nicholas Jordon is licensed\nunder the Creative Commons Attribution-ShareAlike 4.0 International License.\nTo view a copy of this license, visit <a href=\"http://creativecommons.org/licenses/by-sa/4.0/\">http://creativecommons.org/licenses/by-sa/4.0/</a></p>\n<p>The Semantic UI for WordPress source code by Nicholas Jordon is licensed under\nthe MIT License. To view a copy of this license, visit <a href=\"http://opensource.org/licenses/MIT\">http://opensource.org/licenses/MIT</a></p>\n<p>Semantic UI is not subject to this work&#39;s copyright &amp; license(s). Other\nworks that may also be included with this work are also not subject to this\nwork&#39;s copyright &amp; license(s). Copyright &amp; licensing of all included\nworks are determined by their respective owners.</p>\n</body></html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.abstract_base.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\abstract_base\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>abstract_base</h1>\n                <small style=\"display: block; text-align: right\">\n                                                        </small>\n                <p class=\"short_description\">Base Class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                                                                                                                                                                            </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                        </div>\n            </div>\n            <a id=\"\\semantic\\abstract_base\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.abstract_base.html\">abstract_base</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.debug.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\debug\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method__runtime_on_shutdown\" title=\"_runtime_on_shutdown :: Runs all the shutdown functionality for this class\">\n            <span class=\"description\">Runs all the shutdown functionality for this class</span><pre>_runtime_on_shutdown</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_runtime_checkpoint\" title=\"runtime_checkpoint :: Checkpoint logger\">\n            <span class=\"description\">Checkpoint logger</span><pre>runtime_checkpoint</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_runtime_print_html_log\" title=\"runtime_print_html_log :: Prints the current log as html (Semantic UI modal)\">\n            <span class=\"description\">Prints the current log as html (Semantic UI modal)</span><pre>runtime_print_html_log</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_usage_tracker\" title=\"usage_tracker :: This is a simple way for me to track how many people are using my\ndevelopment theme. This has no positive or negative effect on SEO.\">\n            <span class=\"description\">This is a simple way for me to track how many people are using my\ndevelopment theme. This has no positive or negative effect on SEO.</span><pre>usage_tracker</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>debug</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">This class carries out all the debug functionality</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method__runtime_on_shutdown\"></a>\n                        <div class=\"element clickable method public  method__runtime_on_shutdown\" data-toggle=\"collapse\" data-target=\".method__runtime_on_shutdown .collapse\">\n                            <h2>Runs all the shutdown functionality for this class</h2>\n                            <pre>_runtime_on_shutdown() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_runtime_checkpoint\"></a>\n                        <div class=\"element clickable method public  method_runtime_checkpoint\" data-toggle=\"collapse\" data-target=\".method_runtime_checkpoint .collapse\">\n                            <h2>Checkpoint logger</h2>\n                            <pre>runtime_checkpoint(string $message = &#039;&#039;) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$message</h4>\n                                                <code>string</code><p><p>The message to report back to the logger</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_runtime_print_html_log\"></a>\n                        <div class=\"element clickable method public  method_runtime_print_html_log\" data-toggle=\"collapse\" data-target=\".method_runtime_print_html_log .collapse\">\n                            <h2>Prints the current log as html (Semantic UI modal)</h2>\n                            <pre>runtime_print_html_log() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_usage_tracker\"></a>\n                        <div class=\"element clickable method public  method_usage_tracker\" data-toggle=\"collapse\" data-target=\".method_usage_tracker .collapse\">\n                            <h2>This is a simple way for me to track how many people are using my\ndevelopment theme. This has no positive or negative effect on SEO.</h2>\n                            <pre>usage_tracker() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>Please only remove this if it causes your application problems.</p></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_runtime_checkpoints\"> </a>\n                            <div class=\"element clickable property  public property_runtime_checkpoints\" data-toggle=\"collapse\" data-target=\".property_runtime_checkpoints .collapse\">\n                                <h2>Current logged checkpoints</h2>\n                                <pre>runtime_checkpoints : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_active\"> </a>\n                            <div class=\"element clickable property  public property_active\" data-toggle=\"collapse\" data-target=\".property_active .collapse\">\n                                <h2>Sets debugging as either enabled or disabled</h2>\n                                <pre>active : boolean</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>boolean</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_shutdown\"> </a>\n                            <div class=\"element clickable property  public property_shutdown\" data-toggle=\"collapse\" data-target=\".property_shutdown .collapse\">\n                                <h2>Instance of the shutdown class</h2>\n                                <pre>shutdown : \\semantic\\shutdown</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code><a href=\"../classes/semantic.shutdown.html\">\\semantic\\shutdown</a></code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\debug\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.debug.html\">debug</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.integrations.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\integrations\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_admin_bar_links\" title=\"admin_bar_links :: This adds a &quot;Theme Options&quot; link to the WordPress admin bar under the menu\nwith the site name. Is only visible to users who can edit theme options.\">\n            <span class=\"description\">This adds a &quot;Theme Options&quot; link to the WordPress admin bar under the menu\nwith the site name. Is only visible to users who can edit theme options.</span><pre>admin_bar_links</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_current_nav\" title=\"current_nav :: Adds the class &quot;active&quot; to the current menu item\">\n            <span class=\"description\">Adds the class &quot;active&quot; to the current menu item</span><pre>current_nav</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_dashboard_footer\" title=\"dashboard_footer :: Replaces the default WordPress footer with one that has a paypal donation\nlink.\">\n            <span class=\"description\">Replaces the default WordPress footer with one that has a paypal donation\nlink.</span><pre>dashboard_footer</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_editor_styles\" title=\"editor_styles :: Adds the theme&#039;s stylesheets to the post/page editor. This allows the visual\neditor to more accurately represent what will be shown on the page.\">\n            <span class=\"description\">Adds the theme&#039;s stylesheets to the post/page editor. This allows the visual\neditor to more accurately represent what will be shown on the page.</span><pre>editor_styles</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_enqueue\" title=\"enqueue :: Enqueues the theme styles/scripts\">\n            <span class=\"description\">Enqueues the theme styles/scripts</span><pre>enqueue</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_google_author\" title=\"google_author :: Adds a field to the user profile page so they can add their Google Plus URL\nand be correctly marked as an author in posts they create\">\n            <span class=\"description\">Adds a field to the user profile page so they can add their Google Plus URL\nand be correctly marked as an author in posts they create</span><pre>google_author</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_init\" title=\"init :: Registers various WordPress features\">\n            <span class=\"description\">Registers various WordPress features</span><pre>init</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options\" title=\"options :: Registers the options page with WordPress, and enqueues style/scripts for\nthe options page in the dashboard. Only visible to users who can edit theme\noptions.\">\n            <span class=\"description\">Registers the options page with WordPress, and enqueues style/scripts for\nthe options page in the dashboard. Only visible to users who can edit theme\noptions.</span><pre>options</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options_page\" title=\"options_page :: Displays the options page content when called\">\n            <span class=\"description\">Displays the options page content when called</span><pre>options_page</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_post_thumbnail\" title=\"post_thumbnail :: Replaces the output of the_post_thumbnail()\">\n            <span class=\"description\">Replaces the output of the_post_thumbnail()</span><pre>post_thumbnail</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_register_enqueue\" title=\"register_enqueue :: Registers all the theme styles/scripts\">\n            <span class=\"description\">Registers all the theme styles/scripts</span><pre>register_enqueue</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_search_form\" title=\"search_form :: Replaces the default WordPress search form with one that uses Semantic UI.\">\n            <span class=\"description\">Replaces the default WordPress search form with one that uses Semantic UI.</span><pre>search_form</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_set_post_type\" title=\"set_post_type :: Sets theme::$post_type\">\n            <span class=\"description\">Sets theme::$post_type</span><pre>set_post_type</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_widgets_init\" title=\"widgets_init :: Registers the theme widget areas.\">\n            <span class=\"description\">Registers the theme widget areas.</span><pre>widgets_init</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_wp_title\" title=\"wp_title :: Improve the existing wp_title()\">\n            <span class=\"description\">Improve the existing wp_title()</span><pre>wp_title</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>integrations</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">WordPress integrations class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class class holds all the functions that integrate directly with WordPress</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_admin_bar_links\"></a>\n                        <div class=\"element clickable method public  method_admin_bar_links\" data-toggle=\"collapse\" data-target=\".method_admin_bar_links .collapse\">\n                            <h2>This adds a &quot;Theme Options&quot; link to the WordPress admin bar under the menu\nwith the site name. Is only visible to users who can edit theme options.</h2>\n                            <pre>admin_bar_links(object $wp_admin_bar) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$wp_admin_bar</h4>\n                                                <code>object</code><p><p>The wp_admin_bar object as supplied by WordPress</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_current_nav\"></a>\n                        <div class=\"element clickable method public  method_current_nav\" data-toggle=\"collapse\" data-target=\".method_current_nav .collapse\">\n                            <h2>Adds the class &quot;active&quot; to the current menu item</h2>\n                            <pre>current_nav(array $classes) : array</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$classes</h4>\n                                                <code>array</code><p><p>The array of classes as given by WordPress</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>array</code><p><p>The modified array of classes</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_dashboard_footer\"></a>\n                        <div class=\"element clickable method public  method_dashboard_footer\" data-toggle=\"collapse\" data-target=\".method_dashboard_footer .collapse\">\n                            <h2>Replaces the default WordPress footer with one that has a paypal donation\nlink.</h2>\n                            <pre>dashboard_footer() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_editor_styles\"></a>\n                        <div class=\"element clickable method public  method_editor_styles\" data-toggle=\"collapse\" data-target=\".method_editor_styles .collapse\">\n                            <h2>Adds the theme&#039;s stylesheets to the post/page editor. This allows the visual\neditor to more accurately represent what will be shown on the page.</h2>\n                            <pre>editor_styles() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_enqueue\"></a>\n                        <div class=\"element clickable method public  method_enqueue\" data-toggle=\"collapse\" data-target=\".method_enqueue .collapse\">\n                            <h2>Enqueues the theme styles/scripts</h2>\n                            <pre>enqueue() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_google_author\"></a>\n                        <div class=\"element clickable method public  method_google_author\" data-toggle=\"collapse\" data-target=\".method_google_author .collapse\">\n                            <h2>Adds a field to the user profile page so they can add their Google Plus URL\nand be correctly marked as an author in posts they create</h2>\n                            <pre>google_author(array $profile_fields) : array</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$profile_fields</h4>\n                                                <code>array</code><p><p>The contact fields array as provided by wordpress</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>array</code><p><p>The resulting array after the field has been added.</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_init\"></a>\n                        <div class=\"element clickable method public  method_init\" data-toggle=\"collapse\" data-target=\".method_init .collapse\">\n                            <h2>Registers various WordPress features</h2>\n                            <pre>init() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options\"></a>\n                        <div class=\"element clickable method public  method_options\" data-toggle=\"collapse\" data-target=\".method_options .collapse\">\n                            <h2>Registers the options page with WordPress, and enqueues style/scripts for\nthe options page in the dashboard. Only visible to users who can edit theme\noptions.</h2>\n                            <pre>options() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options_page\"></a>\n                        <div class=\"element clickable method public  method_options_page\" data-toggle=\"collapse\" data-target=\".method_options_page .collapse\">\n                            <h2>Displays the options page content when called</h2>\n                            <pre>options_page() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_post_thumbnail\"></a>\n                        <div class=\"element clickable method public  method_post_thumbnail\" data-toggle=\"collapse\" data-target=\".method_post_thumbnail .collapse\">\n                            <h2>Replaces the output of the_post_thumbnail()</h2>\n                            <pre>post_thumbnail(string $html, integer $post_id, integer $post_image_id) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$html</h4>\n                                                <code>string</code><p><p>The orginal HTML (ignored)</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$post_id</h4>\n                                                <code>integer</code><p><p>The Post ID as provided by WordPress</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$post_image_id</h4>\n                                                <code>integer</code><p><p>The Attachment ID as provided by WordPress</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The replacement HTML</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_register_enqueue\"></a>\n                        <div class=\"element clickable method public  method_register_enqueue\" data-toggle=\"collapse\" data-target=\".method_register_enqueue .collapse\">\n                            <h2>Registers all the theme styles/scripts</h2>\n                            <pre>register_enqueue() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_search_form\"></a>\n                        <div class=\"element clickable method public  method_search_form\" data-toggle=\"collapse\" data-target=\".method_search_form .collapse\">\n                            <h2>Replaces the default WordPress search form with one that uses Semantic UI.</h2>\n                            <pre>search_form() : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The resulting form</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_set_post_type\"></a>\n                        <div class=\"element clickable method public  method_set_post_type\" data-toggle=\"collapse\" data-target=\".method_set_post_type .collapse\">\n                            <h2>Sets theme::$post_type</h2>\n                            <pre>set_post_type(integer $template) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$template</h4>\n                                                <code>integer</code><p><p>The input string (ignored)</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The input string (ignored)</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_widgets_init\"></a>\n                        <div class=\"element clickable method public  method_widgets_init\" data-toggle=\"collapse\" data-target=\".method_widgets_init .collapse\">\n                            <h2>Registers the theme widget areas.</h2>\n                            <pre>widgets_init() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_wp_title\"></a>\n                        <div class=\"element clickable method public  method_wp_title\" data-toggle=\"collapse\" data-target=\".method_wp_title .collapse\">\n                            <h2>Improve the existing wp_title()</h2>\n                            <pre>wp_title(string $title, string $sep = &#039;&#039;) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$title</h4>\n                                                <code>string</code><p><p>Default HTML page title for current view.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$sep</h4>\n                                                <code>string</code><p><p>[optional] The separator to use.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The resulting title.</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_theme\"> </a>\n                            <div class=\"element clickable property  public property_theme\" data-toggle=\"collapse\" data-target=\".property_theme .collapse\">\n                                <h2>Instance of the theme class</h2>\n                                <pre>theme : \\semantic\\theme</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code><a href=\"../classes/semantic.theme.html\">\\semantic\\theme</a></code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\integrations\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.integrations.html\">integrations</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.shutdown.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\shutdown\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method__run_shutdown\" title=\"_run_shutdown :: Loops through and runs each job. Resets job queue after it finishes.\">\n            <span class=\"description\">Loops through and runs each job. Resets job queue after it finishes.</span><pre>_run_shutdown</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_exists\" title=\"exists :: Check if a job is registered\">\n            <span class=\"description\">Check if a job is registered</span><pre>exists</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_register\" title=\"register :: Register a shutdown action with a callback function and optional arguments.\">\n            <span class=\"description\">Register a shutdown action with a callback function and optional arguments.</span><pre>register</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_unregister\" title=\"unregister :: Remove a job from the job queue\">\n            <span class=\"description\">Remove a job from the job queue</span><pre>unregister</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>shutdown</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">Shutdown Class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method__run_shutdown\"></a>\n                        <div class=\"element clickable method public  method__run_shutdown\" data-toggle=\"collapse\" data-target=\".method__run_shutdown .collapse\">\n                            <h2>Loops through and runs each job. Resets job queue after it finishes.</h2>\n                            <pre>_run_shutdown() </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_exists\"></a>\n                        <div class=\"element clickable method public  method_exists\" data-toggle=\"collapse\" data-target=\".method_exists .collapse\">\n                            <h2>Check if a job is registered</h2>\n                            <pre>exists(string $id) : boolean</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The id to check</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>boolean</code><p><p>TRUE if job exists, FALSE otherwise</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_register\"></a>\n                        <div class=\"element clickable method public  method_register\" data-toggle=\"collapse\" data-target=\".method_register .collapse\">\n                            <h2>Register a shutdown action with a callback function and optional arguments.</h2>\n                            <pre>register(string $id, callable $callback, array $args = array()) : boolean</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: The callback must already be callable by the time it is registered!</p></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The id to register under</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$callback</h4>\n                                                <code>callable</code><p><p>The callback to run when PHP exits</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>Associative array of arguments to send on shutdown</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>boolean</code><p><p>TRUE when registration is successful, FALSE otherwise</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_unregister\"></a>\n                        <div class=\"element clickable method public  method_unregister\" data-toggle=\"collapse\" data-target=\".method_unregister .collapse\">\n                            <h2>Remove a job from the job queue</h2>\n                            <pre>unregister(string $id) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The id to remove</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_jobs\"> </a>\n                            <div class=\"element clickable property  private property_jobs\" data-toggle=\"collapse\" data-target=\".property_jobs .collapse\">\n                                <h2>The current list of jobs to run on shutdown</h2>\n                                <pre>jobs : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\shutdown\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.shutdown.html\">shutdown</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.theme.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\theme\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                                                                                                                                        <li class=\"method public\">\n        <a href=\"#method_do_integrations\" title=\"do_integrations :: Do WordPress theme integrations\">\n            <span class=\"description\">Do WordPress theme integrations</span><pre>do_integrations</pre>\n        </a>\n    </li>\n\n                                                                                                                                                                                                                        <li class=\"method public\">\n        <a href=\"#method_get_functions\" title=\"get_functions :: Get all theme functions\">\n            <span class=\"description\">Get all theme functions</span><pre>get_functions</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_get_option\" title=\"get_option :: Fetches the given option for the theme, returns FALSE when the option\ndoesn&#039;t exist.\">\n            <span class=\"description\">Fetches the given option for the theme, returns FALSE when the option\ndoesn&#039;t exist.</span><pre>get_option</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_inc\" title=\"inc :: Works like `include $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `include $theme_dir.&#039;/&#039;.$path`</span><pre>inc</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_inc_once\" title=\"inc_once :: Works like `include_once $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `include_once $theme_dir.&#039;/&#039;.$path`</span><pre>inc_once</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_option_form_name\" title=\"option_form_name :: Prints the input name for a value on the options page (form)\">\n            <span class=\"description\">Prints the input name for a value on the options page (form)</span><pre>option_form_name</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options_update_data\" title=\"options_update_data :: This ensures that the data sent via POST is actually valid by printing a\nspecial hidden form data entry.\">\n            <span class=\"description\">This ensures that the data sent via POST is actually valid by printing a\nspecial hidden form data entry.</span><pre>options_update_data</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options_uri\" title=\"options_uri :: Returns the URI of the theme options page in the WordPress Dashboard\">\n            <span class=\"description\">Returns the URI of the theme options page in the WordPress Dashboard</span><pre>options_uri</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_part\" title=\"part :: Includes a theme part into the current page. Uses an id to identify which\npart of the theme is currently trying to be included. This allows the\ntemplate file to determine what parts of the page are replaced when the page\nis generated. (via $this-&gt;use_part())\">\n            <span class=\"description\">Includes a theme part into the current page. Uses an id to identify which\npart of the theme is currently trying to be included. This allows the\ntemplate file to determine what parts of the page are replaced when the page\nis generated. (via $this-&gt;use_part())</span><pre>part</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_req\" title=\"req :: Works like `require $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `require $theme_dir.&#039;/&#039;.$path`</span><pre>req</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_req_once\" title=\"req_once :: Works like `require_once $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `require_once $theme_dir.&#039;/&#039;.$path`</span><pre>req_once</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_update_options\" title=\"update_options :: Checks if the current user can edit the theme and updates the options\nstored in the database if they can.\">\n            <span class=\"description\">Checks if the current user can edit the theme and updates the options\nstored in the database if they can.</span><pre>update_options</pre>\n        </a>\n    </li>\n\n                                                                                                                                                                <li class=\"method public\">\n        <a href=\"#method_use_part\" title=\"use_part :: Allows the template file to override what parts are used throughout the\npage. This method also checks if the theme part has already been replaced.\">\n            <span class=\"description\">Allows the template file to override what parts are used throughout the\npage. This method also checks if the theme part has already been replaced.</span><pre>use_part</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                <li class=\"method private\">\n                            <a href=\"#method__inc_path\" title=\"_inc_path :: Simple function to temporarily hold a path string. Empties the storage when\ncalled without a path to store\">\n                                <span class=\"description\">Simple function to temporarily hold a path string. Empties the storage when\ncalled without a path to store</span><pre>_inc_path</pre>\n                            </a>\n                        </li>\n                                                                                <li class=\"method private\">\n                            <a href=\"#method_default_options\" title=\"default_options :: Simply returns an array of &quot;default&quot; options for the theme\">\n                                <span class=\"description\">Simply returns an array of &quot;default&quot; options for the theme</span><pre>default_options</pre>\n                            </a>\n                        </li>\n                                                                                                                    <li class=\"method private\">\n                            <a href=\"#method_fetch_options\" title=\"fetch_options :: Imports the options from WordPress\">\n                                <span class=\"description\">Imports the options from WordPress</span><pre>fetch_options</pre>\n                            </a>\n                        </li>\n                                                                                <li class=\"method private\">\n                            <a href=\"#method_generate_paths\" title=\"generate_paths :: Set all the path variables based on (array) $sub_paths\">\n                                <span class=\"description\">Set all the path variables based on (array) $sub_paths</span><pre>generate_paths</pre>\n                            </a>\n                        </li>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <li class=\"method private\">\n                            <a href=\"#method_update_options_via_post\" title=\"update_options_via_post :: This function is called when there is POST data in the designated offset.\">\n                                <span class=\"description\">This function is called when there is POST data in the designated offset.</span><pre>update_options_via_post</pre>\n                            </a>\n                        </li>\n                                                                                    </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                                <li class=\"constant \">\n                    <a href=\"#constant_identifier\" title=\"identifier :: \">\n                        <span class=\"description\"></span><pre>identifier</pre>\n                    </a>\n                </li>\n                                <li class=\"constant \">\n                    <a href=\"#constant_text_domain\" title=\"text_domain :: \">\n                        <span class=\"description\"></span><pre>text_domain</pre>\n                    </a>\n                </li>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>theme</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">Theme Class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method__inc_path\"></a>\n                        <div class=\"element clickable method private  method__inc_path\" data-toggle=\"collapse\" data-target=\".method__inc_path .collapse\">\n                            <h2>Simple function to temporarily hold a path string. Empties the storage when\ncalled without a path to store</h2>\n                            <pre>_inc_path(string $path = &#039;&#039;) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>string</code><p><p>Path to store</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The stored path or an empty string</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_default_options\"></a>\n                        <div class=\"element clickable method private  method_default_options\" data-toggle=\"collapse\" data-target=\".method_default_options .collapse\">\n                            <h2>Simply returns an array of &quot;default&quot; options for the theme</h2>\n                            <pre>default_options() : array</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>array</code><p><p>The options</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_do_integrations\"></a>\n                        <div class=\"element clickable method public  method_do_integrations\" data-toggle=\"collapse\" data-target=\".method_do_integrations .collapse\">\n                            <h2>Do WordPress theme integrations</h2>\n                            <pre>do_integrations() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_fetch_options\"></a>\n                        <div class=\"element clickable method private  method_fetch_options\" data-toggle=\"collapse\" data-target=\".method_fetch_options .collapse\">\n                            <h2>Imports the options from WordPress</h2>\n                            <pre>fetch_options() : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_generate_paths\"></a>\n                        <div class=\"element clickable method private  method_generate_paths\" data-toggle=\"collapse\" data-target=\".method_generate_paths .collapse\">\n                            <h2>Set all the path variables based on (array) $sub_paths</h2>\n                            <pre>generate_paths(array $sub_paths) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$sub_paths</h4>\n                                                <code>array</code><p><p>[description]</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_get_functions\"></a>\n                        <div class=\"element clickable method public  method_get_functions\" data-toggle=\"collapse\" data-target=\".method_get_functions .collapse\">\n                            <h2>Get all theme functions</h2>\n                            <pre>get_functions() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_get_option\"></a>\n                        <div class=\"element clickable method public  method_get_option\" data-toggle=\"collapse\" data-target=\".method_get_option .collapse\">\n                            <h2>Fetches the given option for the theme, returns FALSE when the option\ndoesn&#039;t exist.</h2>\n                            <pre>get_option(string $name) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The option name</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The value of the options or FALSE on failure.</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_inc\"></a>\n                        <div class=\"element clickable method public  method_inc\" data-toggle=\"collapse\" data-target=\".method_inc .collapse\">\n                            <h2>Works like `include $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>inc(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_inc_once\"></a>\n                        <div class=\"element clickable method public  method_inc_once\" data-toggle=\"collapse\" data-target=\".method_inc_once .collapse\">\n                            <h2>Works like `include_once $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>inc_once(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_option_form_name\"></a>\n                        <div class=\"element clickable method public  method_option_form_name\" data-toggle=\"collapse\" data-target=\".method_option_form_name .collapse\">\n                            <h2>Prints the input name for a value on the options page (form)</h2>\n                            <pre>option_form_name(string $name) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name to use</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options_update_data\"></a>\n                        <div class=\"element clickable method public  method_options_update_data\" data-toggle=\"collapse\" data-target=\".method_options_update_data .collapse\">\n                            <h2>This ensures that the data sent via POST is actually valid by printing a\nspecial hidden form data entry.</h2>\n                            <pre>options_update_data() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options_uri\"></a>\n                        <div class=\"element clickable method public  method_options_uri\" data-toggle=\"collapse\" data-target=\".method_options_uri .collapse\">\n                            <h2>Returns the URI of the theme options page in the WordPress Dashboard</h2>\n                            <pre>options_uri() : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The URI of the theme options page</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_part\"></a>\n                        <div class=\"element clickable method public  method_part\" data-toggle=\"collapse\" data-target=\".method_part .collapse\">\n                            <h2>Includes a theme part into the current page. Uses an id to identify which\npart of the theme is currently trying to be included. This allows the\ntemplate file to determine what parts of the page are replaced when the page\nis generated. (via $this-&gt;use_part())</h2>\n                            <pre>part(string $id, string $path, boolean $is_abs = FALSE, boolean $once = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The identifier to check for replacments</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>string</code><p><p>The path to use if their is no replacment</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>(optional) If the $path is an absolute path, set this to TRUE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$once</h4>\n                                                <code>boolean</code><p><p>(optional) Set to TRUE to use include_once instead of include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>(optional) The array of variables you want extraced</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>(optional) The return value of the file - usually NULL</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_req\"></a>\n                        <div class=\"element clickable method public  method_req\" data-toggle=\"collapse\" data-target=\".method_req .collapse\">\n                            <h2>Works like `require $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>req(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_req_once\"></a>\n                        <div class=\"element clickable method public  method_req_once\" data-toggle=\"collapse\" data-target=\".method_req_once .collapse\">\n                            <h2>Works like `require_once $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>req_once(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_update_options\"></a>\n                        <div class=\"element clickable method public  method_update_options\" data-toggle=\"collapse\" data-target=\".method_update_options .collapse\">\n                            <h2>Checks if the current user can edit the theme and updates the options\nstored in the database if they can.</h2>\n                            <pre>update_options(array $options) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>The options to store in the database as a JSON array</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_update_options_via_post\"></a>\n                        <div class=\"element clickable method private  method_update_options_via_post\" data-toggle=\"collapse\" data-target=\".method_update_options_via_post .collapse\">\n                            <h2>This function is called when there is POST data in the designated offset.</h2>\n                            <pre>update_options_via_post() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>The new options replace the old if the nonce can be verified.</p></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_use_part\"></a>\n                        <div class=\"element clickable method public  method_use_part\" data-toggle=\"collapse\" data-target=\".method_use_part .collapse\">\n                            <h2>Allows the template file to override what parts are used throughout the\npage. This method also checks if the theme part has already been replaced.</h2>\n                            <pre>use_part(string $id, string $path, boolean $is_abs = FALSE, boolean $once = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>If it has already been replaced, then the input is ignored and this method\nreturns FALSE. To override this functionallity set the variable manually\nvia $this-&gt;template_queue[$id].</p></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The identifier to check for replacments</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>string</code><p><p>The path to use if their is no replacment</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>(optional) If the $path is an absolute path, set this to TRUE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$once</h4>\n                                                <code>boolean</code><p><p>(optional) Set to TRUE to use include_once instead of include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>(optional) The array of variables you want extraced</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>(optional) The return value of the file - usually NULL</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                                            <h3><i class=\"icon-custom icon-constant\"></i> Constants</h3>\n                                                    <a id=\"constant_identifier\"> </a>\n                            <div class=\"element clickable constant  constant_identifier\" data-toggle=\"collapse\" data-target=\".constant_identifier .collapse\">\n                                <h2>identifier</h2>\n                                <pre>identifier</pre>\n                                <div class=\"labels\">\n                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        \n                                                    </th>\n                                                    <td>\n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n                                    </div>\n                                </div>\n                            </div>\n                                                    <a id=\"constant_text_domain\"> </a>\n                            <div class=\"element clickable constant  constant_text_domain\" data-toggle=\"collapse\" data-target=\".constant_text_domain .collapse\">\n                                <h2>text_domain</h2>\n                                <pre>text_domain</pre>\n                                <div class=\"labels\">\n                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        \n                                                    </th>\n                                                    <td>\n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n                                    </div>\n                                </div>\n                            </div>\n                                            \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_options\"> </a>\n                            <div class=\"element clickable property  public property_options\" data-toggle=\"collapse\" data-target=\".property_options .collapse\">\n                                <h2>The current theme settings</h2>\n                                <pre>options : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_queue\"> </a>\n                            <div class=\"element clickable property  public property_template_queue\" data-toggle=\"collapse\" data-target=\".property_template_queue .collapse\">\n                                <h2>The current templates configured by $this-&gt;use_part()</h2>\n                                <pre>template_queue : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_used_templates\"> </a>\n                            <div class=\"element clickable property  public property_used_templates\" data-toggle=\"collapse\" data-target=\".property_used_templates .collapse\">\n                                <h2>The templates used by $this-&gt;part()</h2>\n                                <pre>used_templates : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_inc_var_list\"> </a>\n                            <div class=\"element clickable property  public property_inc_var_list\" data-toggle=\"collapse\" data-target=\".property_inc_var_list .collapse\">\n                                <h2>The list of variables to be extracted when a part is included</h2>\n                                <pre>inc_var_list : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_path\"> </a>\n                            <div class=\"element clickable property  public property_path\" data-toggle=\"collapse\" data-target=\".property_path .collapse\">\n                                <h2>Alias to get_template_directory()</h2>\n                                <pre>path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_uri\"> </a>\n                            <div class=\"element clickable property  public property_uri\" data-toggle=\"collapse\" data-target=\".property_uri .collapse\">\n                                <h2>Alias to get_template_directory_uri()</h2>\n                                <pre>uri : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_asset_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_asset_sub_path\" data-toggle=\"collapse\" data-target=\".property_asset_sub_path .collapse\">\n                                <h2>Path to the asset directory, relative to $this-&gt;path</h2>\n                                <pre>asset_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_font_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_font_sub_path\" data-toggle=\"collapse\" data-target=\".property_font_sub_path .collapse\">\n                                <h2>Path to the font directory, relative to $this-&gt;path</h2>\n                                <pre>font_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_image_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_image_sub_path\" data-toggle=\"collapse\" data-target=\".property_image_sub_path .collapse\">\n                                <h2>Path to the image directory, relative to $this-&gt;path</h2>\n                                <pre>image_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_script_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_script_sub_path\" data-toggle=\"collapse\" data-target=\".property_script_sub_path .collapse\">\n                                <h2>Path to the script directory, relative to $this-&gt;path</h2>\n                                <pre>script_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_style_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_style_sub_path\" data-toggle=\"collapse\" data-target=\".property_style_sub_path .collapse\">\n                                <h2>Path to the style directory, relative to $this-&gt;path</h2>\n                                <pre>style_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_content_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_content_sub_path\" data-toggle=\"collapse\" data-target=\".property_content_sub_path .collapse\">\n                                <h2>Path to the content directory, relative to $this-&gt;path</h2>\n                                <pre>content_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_include_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_include_sub_path\" data-toggle=\"collapse\" data-target=\".property_include_sub_path .collapse\">\n                                <h2>Path to the include directory, relative to $this-&gt;path</h2>\n                                <pre>include_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_template_sub_path\" data-toggle=\"collapse\" data-target=\".property_template_sub_path .collapse\">\n                                <h2>Path to the template directory, relative to $this-&gt;path</h2>\n                                <pre>template_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_asset_path\"> </a>\n                            <div class=\"element clickable property  public property_asset_path\" data-toggle=\"collapse\" data-target=\".property_asset_path .collapse\">\n                                <h2>Absolute path to the asset directory</h2>\n                                <pre>asset_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_font_path\"> </a>\n                            <div class=\"element clickable property  public property_font_path\" data-toggle=\"collapse\" data-target=\".property_font_path .collapse\">\n                                <h2>Absolute path to the font directory</h2>\n                                <pre>font_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_image_path\"> </a>\n                            <div class=\"element clickable property  public property_image_path\" data-toggle=\"collapse\" data-target=\".property_image_path .collapse\">\n                                <h2>Absolute path to the image directory</h2>\n                                <pre>image_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_script_path\"> </a>\n                            <div class=\"element clickable property  public property_script_path\" data-toggle=\"collapse\" data-target=\".property_script_path .collapse\">\n                                <h2>Absolute path to the script directory</h2>\n                                <pre>script_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_style_path\"> </a>\n                            <div class=\"element clickable property  public property_style_path\" data-toggle=\"collapse\" data-target=\".property_style_path .collapse\">\n                                <h2>Absolute path to the style directory</h2>\n                                <pre>style_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_content_path\"> </a>\n                            <div class=\"element clickable property  public property_content_path\" data-toggle=\"collapse\" data-target=\".property_content_path .collapse\">\n                                <h2>Absolute path to the content directory</h2>\n                                <pre>content_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_include_path\"> </a>\n                            <div class=\"element clickable property  public property_include_path\" data-toggle=\"collapse\" data-target=\".property_include_path .collapse\">\n                                <h2>Absolute path to the include directory</h2>\n                                <pre>include_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_path\"> </a>\n                            <div class=\"element clickable property  public property_template_path\" data-toggle=\"collapse\" data-target=\".property_template_path .collapse\">\n                                <h2>Absolute path to the template directory</h2>\n                                <pre>template_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_asset_uri\"> </a>\n                            <div class=\"element clickable property  public property_asset_uri\" data-toggle=\"collapse\" data-target=\".property_asset_uri .collapse\">\n                                <h2>Full URL/URI to the asset directory</h2>\n                                <pre>asset_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_font_uri\"> </a>\n                            <div class=\"element clickable property  public property_font_uri\" data-toggle=\"collapse\" data-target=\".property_font_uri .collapse\">\n                                <h2>Full URL/URI to the font directory</h2>\n                                <pre>font_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_image_uri\"> </a>\n                            <div class=\"element clickable property  public property_image_uri\" data-toggle=\"collapse\" data-target=\".property_image_uri .collapse\">\n                                <h2>Full URL/URI to the image directory</h2>\n                                <pre>image_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_script_uri\"> </a>\n                            <div class=\"element clickable property  public property_script_uri\" data-toggle=\"collapse\" data-target=\".property_script_uri .collapse\">\n                                <h2>Full URL/URI to the script directory</h2>\n                                <pre>script_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_style_uri\"> </a>\n                            <div class=\"element clickable property  public property_style_uri\" data-toggle=\"collapse\" data-target=\".property_style_uri .collapse\">\n                                <h2>Full URL/URI to the style directory</h2>\n                                <pre>style_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_content_uri\"> </a>\n                            <div class=\"element clickable property  public property_content_uri\" data-toggle=\"collapse\" data-target=\".property_content_uri .collapse\">\n                                <h2>Full URL/URI to the content directory</h2>\n                                <pre>content_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_include_uri\"> </a>\n                            <div class=\"element clickable property  public property_include_uri\" data-toggle=\"collapse\" data-target=\".property_include_uri .collapse\">\n                                <h2>Full URL/URI to the include directory</h2>\n                                <pre>include_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_uri\"> </a>\n                            <div class=\"element clickable property  public property_template_uri\" data-toggle=\"collapse\" data-target=\".property_template_uri .collapse\">\n                                <h2>Full URL/URI to the template directory</h2>\n                                <pre>template_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\theme\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.theme.html\">theme</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.walker.abstract_base.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\walker\\abstract_base\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public\">\n        <a href=\"#method___construct\" title=\"__construct :: Simple setup for walker classes.\">\n            <span class=\"description\">Simple setup for walker classes.</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>abstract_base</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends \\Walker\n                                                        </small>\n                <p class=\"short_description\">The customer walker base class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        \n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Simple setup for walker classes.</h2>\n                            <pre>__construct(array $options = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>Custom options to pass to the walker as $this-&gt;semantic_options</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_semantic_options\"> </a>\n                            <div class=\"element clickable property  public property_semantic_options\" data-toggle=\"collapse\" data-target=\".property_semantic_options .collapse\">\n                                <h2>Array of option to pass to the walker</h2>\n                                <pre>semantic_options : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\walker\\abstract_base\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.walker.abstract_base.html\">abstract_base</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.walker.abstract_nav_menu.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\walker\\abstract_nav_menu\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Simple setup for walker classes.\">\n            <span class=\"description\">Simple setup for walker classes.</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_end_el\" title=\"end_el :: Ends the element output, if needed.\">\n            <span class=\"description\">Ends the element output, if needed.</span><pre>end_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_end_lvl\" title=\"end_lvl :: Ends the list of after the elements are added.\">\n            <span class=\"description\">Ends the list of after the elements are added.</span><pre>end_lvl</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_start_el\" title=\"start_el :: Start the element output.\">\n            <span class=\"description\">Start the element output.</span><pre>start_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_start_lvl\" title=\"start_lvl :: Starts the list before the elements are added.\">\n            <span class=\"description\">Starts the list before the elements are added.</span><pre>start_lvl</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>abstract_nav_menu</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.walker.abstract_base.html\">\\semantic\\walker\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        \n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                                                                                                                                                                            </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Simple setup for walker classes.</h2>\n                            <pre>__construct(array $options = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>Custom options to pass to the walker as $this-&gt;semantic_options</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_el\"></a>\n                        <div class=\"element clickable method public  method_end_el\" data-toggle=\"collapse\" data-target=\".method_end_el .collapse\">\n                            <h2>Ends the element output, if needed.</h2>\n                            <pre>end_el(string &$output, object $item, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Page data object. Not used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of page. Not Used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_lvl\"></a>\n                        <div class=\"element clickable method public  method_end_lvl\" data-toggle=\"collapse\" data-target=\".method_end_lvl .collapse\">\n                            <h2>Ends the list of after the elements are added.</h2>\n                            <pre>end_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_el\"></a>\n                        <div class=\"element clickable method public  method_start_el\" data-toggle=\"collapse\" data-target=\".method_start_el .collapse\">\n                            <h2>Start the element output.</h2>\n                            <pre>start_el(string &$output, object $item, integer $depth, array $args = array(), integer $id) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Menu item data object.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>integer</code><p><p>Current item ID.</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_lvl\"></a>\n                        <div class=\"element clickable method public  method_start_lvl\" data-toggle=\"collapse\" data-target=\".method_start_lvl .collapse\">\n                            <h2>Starts the list before the elements are added.</h2>\n                            <pre>start_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_tree_type\"> </a>\n                            <div class=\"element clickable property  public property_tree_type\" data-toggle=\"collapse\" data-target=\".property_tree_type .collapse\">\n                                <h2>What the class handles.</h2>\n                                <pre>tree_type : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_db_fields\"> </a>\n                            <div class=\"element clickable property  public property_db_fields\" data-toggle=\"collapse\" data-target=\".property_db_fields .collapse\">\n                                <h2>Database fields to use.</h2>\n                                <pre>db_fields : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_semantic_options\"> </a>\n                            <div class=\"element clickable property  public property_semantic_options inherited\" data-toggle=\"collapse\" data-target=\".property_semantic_options .collapse\">\n                                <h2>Array of option to pass to the walker</h2>\n                                <pre>semantic_options : array</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\walker\\abstract_nav_menu\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.walker.abstract_nav_menu.html\">abstract_nav_menu</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/classes/semantic.walker.nav_menu.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\walker\\nav_menu\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Simple setup for walker classes.\">\n            <span class=\"description\">Simple setup for walker classes.</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_end_el\" title=\"end_el :: Ends the element output, if needed.\">\n            <span class=\"description\">Ends the element output, if needed.</span><pre>end_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_end_lvl\" title=\"end_lvl :: Ends the list of after the elements are added.\">\n            <span class=\"description\">Ends the list of after the elements are added.</span><pre>end_lvl</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_start_el\" title=\"start_el :: Start the element output.\">\n            <span class=\"description\">Start the element output.</span><pre>start_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_start_lvl\" title=\"start_lvl :: Starts the list before the elements are added.\">\n            <span class=\"description\">Starts the list before the elements are added.</span><pre>start_lvl</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>nav_menu</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.walker.abstract_nav_menu.html\">\\semantic\\walker\\abstract_nav_menu</a>\n                                                        </small>\n                <p class=\"short_description\">Custom nav menu walker class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        \n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Simple setup for walker classes.</h2>\n                            <pre>__construct(array $options = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>Custom options to pass to the walker as $this-&gt;semantic_options</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_el\"></a>\n                        <div class=\"element clickable method public  method_end_el inherited\" data-toggle=\"collapse\" data-target=\".method_end_el .collapse\">\n                            <h2>Ends the element output, if needed.</h2>\n                            <pre>end_el(string &$output, object $item, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Page data object. Not used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of page. Not Used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_lvl\"></a>\n                        <div class=\"element clickable method public  method_end_lvl inherited\" data-toggle=\"collapse\" data-target=\".method_end_lvl .collapse\">\n                            <h2>Ends the list of after the elements are added.</h2>\n                            <pre>end_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_el\"></a>\n                        <div class=\"element clickable method public  method_start_el inherited\" data-toggle=\"collapse\" data-target=\".method_start_el .collapse\">\n                            <h2>Start the element output.</h2>\n                            <pre>start_el(string &$output, object $item, integer $depth, array $args = array(), integer $id) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Menu item data object.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>integer</code><p><p>Current item ID.</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_lvl\"></a>\n                        <div class=\"element clickable method public  method_start_lvl inherited\" data-toggle=\"collapse\" data-target=\".method_start_lvl .collapse\">\n                            <h2>Starts the list before the elements are added.</h2>\n                            <pre>start_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_tree_type\"> </a>\n                            <div class=\"element clickable property  public property_tree_type inherited\" data-toggle=\"collapse\" data-target=\".property_tree_type .collapse\">\n                                <h2>What the class handles.</h2>\n                                <pre>tree_type : string</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_db_fields\"> </a>\n                            <div class=\"element clickable property  public property_db_fields inherited\" data-toggle=\"collapse\" data-target=\".property_db_fields .collapse\">\n                                <h2>Database fields to use.</h2>\n                                <pre>db_fields : array</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_semantic_options\"> </a>\n                            <div class=\"element clickable property  public property_semantic_options inherited\" data-toggle=\"collapse\" data-target=\".property_semantic_options .collapse\">\n                                <h2>Array of option to pass to the walker</h2>\n                                <pre>semantic_options : array</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\walker\\nav_menu\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.walker.nav_menu.html\">nav_menu</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/css/bootstrap-responsive.css",
    "content": "/*!\n * Bootstrap Responsive v2.0.0\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n.hidden {\n  display: none;\n  visibility: hidden;\n}\n@media (max-width: 480px) {\n  .nav-collapse {\n    -webkit-transform: translate3d(0, 0, 0);\n  }\n  .page-header h1 small {\n    display: block;\n    line-height: 18px;\n  }\n  input[class*=\"span\"],\n  select[class*=\"span\"],\n  textarea[class*=\"span\"],\n  .uneditable-input {\n    display: block;\n    width: 100%;\n    height: 28px;\n    /* Make inputs at least the height of their button counterpart */\n  \n    /* Makes inputs behave like true block-level elements */\n  \n    -webkit-box-sizing: border-box;\n    /* Older Webkit */\n  \n    -moz-box-sizing: border-box;\n    /* Older FF */\n  \n    -ms-box-sizing: border-box;\n    /* IE8 */\n  \n    box-sizing: border-box;\n    /* CSS3 spec*/\n  \n  }\n  .input-prepend input[class*=\"span\"], .input-append input[class*=\"span\"] {\n    width: auto;\n  }\n  input[type=\"checkbox\"], input[type=\"radio\"] {\n    border: 1px solid #ccc;\n  }\n  .form-horizontal .control-group > label {\n    float: none;\n    width: auto;\n    padding-top: 0;\n    text-align: left;\n  }\n  .form-horizontal .controls {\n    margin-left: 0;\n  }\n  .form-horizontal .control-list {\n    padding-top: 0;\n  }\n  .form-horizontal .form-actions {\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n  .modal {\n    position: absolute;\n    top: 10px;\n    left: 10px;\n    right: 10px;\n    width: auto;\n    margin: 0;\n  }\n  .modal.fade.in {\n    top: auto;\n  }\n  .modal-header .close {\n    padding: 10px;\n    margin: -10px;\n  }\n  .carousel-caption {\n    position: static;\n  }\n}\n@media (max-width: 768px) {\n  .container {\n    width: auto;\n    padding: 0 20px;\n  }\n  .row-fluid {\n    width: 100%;\n  }\n  .row {\n    margin-left: 0;\n  }\n  .row > [class*=\"span\"], .row-fluid > [class*=\"span\"] {\n    float: none;\n    display: block;\n    width: auto;\n    margin: 0;\n  }\n}\n@media (min-width: 768px) and (max-width: 980px) {\n  .row {\n    margin-left: -20px;\n    *zoom: 1;\n  }\n  .row:before, .row:after {\n    display: table;\n    content: \"\";\n  }\n  .row:after {\n    clear: both;\n  }\n  [class*=\"span\"] {\n    float: left;\n    margin-left: 20px;\n  }\n  .span1 {\n    width: 42px;\n  }\n  .span2 {\n    width: 104px;\n  }\n  .span3 {\n    width: 166px;\n  }\n  .span4 {\n    width: 228px;\n  }\n  .span5 {\n    width: 290px;\n  }\n  .span6 {\n    width: 352px;\n  }\n  .span7 {\n    width: 414px;\n  }\n  .span8 {\n    width: 476px;\n  }\n  .span9 {\n    width: 538px;\n  }\n  .span10 {\n    width: 600px;\n  }\n  .span11 {\n    width: 662px;\n  }\n  .span12, .container {\n    width: 724px;\n  }\n  .offset1 {\n    margin-left: 82px;\n  }\n  .offset2 {\n    margin-left: 144px;\n  }\n  .offset3 {\n    margin-left: 206px;\n  }\n  .offset4 {\n    margin-left: 268px;\n  }\n  .offset5 {\n    margin-left: 330px;\n  }\n  .offset6 {\n    margin-left: 392px;\n  }\n  .offset7 {\n    margin-left: 454px;\n  }\n  .offset8 {\n    margin-left: 516px;\n  }\n  .offset9 {\n    margin-left: 578px;\n  }\n  .offset10 {\n    margin-left: 640px;\n  }\n  .offset11 {\n    margin-left: 702px;\n  }\n  .row-fluid {\n    width: 100%;\n    *zoom: 1;\n  }\n  .row-fluid:before, .row-fluid:after {\n    display: table;\n    content: \"\";\n  }\n  .row-fluid:after {\n    clear: both;\n  }\n  .row-fluid > [class*=\"span\"] {\n    float: left;\n    margin-left: 2.762430939%;\n  }\n  .row-fluid > [class*=\"span\"]:first-child {\n    margin-left: 0;\n  }\n  .row-fluid .span1 {\n    width: 5.801104972%;\n  }\n  .row-fluid .span2 {\n    width: 14.364640883%;\n  }\n  .row-fluid .span3 {\n    width: 22.928176794%;\n  }\n  .row-fluid .span4 {\n    width: 31.491712705%;\n  }\n  .row-fluid .span5 {\n    width: 40.055248616%;\n  }\n  .row-fluid .span6 {\n    width: 48.618784527%;\n  }\n  .row-fluid .span7 {\n    width: 57.182320438000005%;\n  }\n  .row-fluid .span8 {\n    width: 65.74585634900001%;\n  }\n  .row-fluid .span9 {\n    width: 74.30939226%;\n  }\n  .row-fluid .span10 {\n    width: 82.87292817100001%;\n  }\n  .row-fluid .span11 {\n    width: 91.436464082%;\n  }\n  .row-fluid .span12 {\n    width: 99.999999993%;\n  }\n  input.span1, textarea.span1, .uneditable-input.span1 {\n    width: 32px;\n  }\n  input.span2, textarea.span2, .uneditable-input.span2 {\n    width: 94px;\n  }\n  input.span3, textarea.span3, .uneditable-input.span3 {\n    width: 156px;\n  }\n  input.span4, textarea.span4, .uneditable-input.span4 {\n    width: 218px;\n  }\n  input.span5, textarea.span5, .uneditable-input.span5 {\n    width: 280px;\n  }\n  input.span6, textarea.span6, .uneditable-input.span6 {\n    width: 342px;\n  }\n  input.span7, textarea.span7, .uneditable-input.span7 {\n    width: 404px;\n  }\n  input.span8, textarea.span8, .uneditable-input.span8 {\n    width: 466px;\n  }\n  input.span9, textarea.span9, .uneditable-input.span9 {\n    width: 528px;\n  }\n  input.span10, textarea.span10, .uneditable-input.span10 {\n    width: 590px;\n  }\n  input.span11, textarea.span11, .uneditable-input.span11 {\n    width: 652px;\n  }\n  input.span12, textarea.span12, .uneditable-input.span12 {\n    width: 714px;\n  }\n}\n@media (max-width: 980px) {\n  body {\n    padding-top: 0;\n  }\n  .navbar-fixed-top {\n    position: static;\n    margin-bottom: 18px;\n  }\n  .navbar-fixed-top .navbar-inner {\n    padding: 5px;\n  }\n  .navbar .container {\n    width: auto;\n    padding: 0;\n  }\n  .navbar .brand {\n    padding-left: 10px;\n    padding-right: 10px;\n    margin: 0 0 0 -5px;\n  }\n  .navbar .nav-collapse {\n    clear: left;\n  }\n  .navbar .nav {\n    float: none;\n    margin: 0 0 9px;\n  }\n  .navbar .nav > li {\n    float: none;\n  }\n  .navbar .nav > li > a {\n    margin-bottom: 2px;\n  }\n  .navbar .nav > .divider-vertical {\n    display: none;\n  }\n  .navbar .nav > li > a, .navbar .dropdown-menu a {\n    padding: 6px 15px;\n    font-weight: bold;\n    color: #999999;\n    -webkit-border-radius: 3px;\n    -moz-border-radius: 3px;\n    border-radius: 3px;\n  }\n  .navbar .dropdown-menu li + li a {\n    margin-bottom: 2px;\n  }\n  .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover {\n    background-color: #222222;\n  }\n  .navbar .dropdown-menu {\n    position: static;\n    top: auto;\n    left: auto;\n    float: none;\n    display: block;\n    max-width: none;\n    margin: 0 15px;\n    padding: 0;\n    background-color: transparent;\n    border: none;\n    -webkit-border-radius: 0;\n    -moz-border-radius: 0;\n    border-radius: 0;\n    -webkit-box-shadow: none;\n    -moz-box-shadow: none;\n    box-shadow: none;\n  }\n  .navbar .dropdown-menu:before, .navbar .dropdown-menu:after {\n    display: none;\n  }\n  .navbar .dropdown-menu .divider {\n    display: none;\n  }\n  .navbar-form, .navbar-search {\n    float: none;\n    padding: 9px 15px;\n    margin: 9px 0;\n    border-top: 1px solid #222222;\n    border-bottom: 1px solid #222222;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  }\n  .navbar .nav.pull-right {\n    float: none;\n    margin-left: 0;\n  }\n  .navbar-static .navbar-inner {\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n  .btn-navbar {\n    display: block;\n  }\n  .nav-collapse {\n    overflow: hidden;\n    height: 0;\n  }\n}\n@media (min-width: 980px) {\n  .nav-collapse.collapse {\n    height: auto !important;\n  }\n}\n@media (min-width: 1200px) {\n  .row {\n    margin-left: -30px;\n    *zoom: 1;\n  }\n  .row:before, .row:after {\n    display: table;\n    content: \"\";\n  }\n  .row:after {\n    clear: both;\n  }\n  [class*=\"span\"] {\n    float: left;\n    margin-left: 30px;\n  }\n  .span1 {\n    width: 70px;\n  }\n  .span2 {\n    width: 170px;\n  }\n  .span3 {\n    width: 270px;\n  }\n  .span4 {\n    width: 370px;\n  }\n  .span5 {\n    width: 470px;\n  }\n  .span6 {\n    width: 570px;\n  }\n  .span7 {\n    width: 670px;\n  }\n  .span8 {\n    width: 770px;\n  }\n  .span9 {\n    width: 870px;\n  }\n  .span10 {\n    width: 970px;\n  }\n  .span11 {\n    width: 1070px;\n  }\n  .span12, .container {\n    width: 1170px;\n  }\n  .offset1 {\n    margin-left: 130px;\n  }\n  .offset2 {\n    margin-left: 230px;\n  }\n  .offset3 {\n    margin-left: 330px;\n  }\n  .offset4 {\n    margin-left: 430px;\n  }\n  .offset5 {\n    margin-left: 530px;\n  }\n  .offset6 {\n    margin-left: 630px;\n  }\n  .offset7 {\n    margin-left: 730px;\n  }\n  .offset8 {\n    margin-left: 830px;\n  }\n  .offset9 {\n    margin-left: 930px;\n  }\n  .offset10 {\n    margin-left: 1030px;\n  }\n  .offset11 {\n    margin-left: 1130px;\n  }\n  .row-fluid {\n    width: 100%;\n    *zoom: 1;\n  }\n  .row-fluid:before, .row-fluid:after {\n    display: table;\n    content: \"\";\n  }\n  .row-fluid:after {\n    clear: both;\n  }\n  .row-fluid > [class*=\"span\"] {\n    float: left;\n    margin-left: 2.564102564%;\n  }\n  .row-fluid > [class*=\"span\"]:first-child {\n    margin-left: 0;\n  }\n  .row-fluid .span1 {\n    width: 5.982905983%;\n  }\n  .row-fluid .span2 {\n    width: 14.529914530000001%;\n  }\n  .row-fluid .span3 {\n    width: 23.076923077%;\n  }\n  .row-fluid .span4 {\n    width: 31.623931624%;\n  }\n  .row-fluid .span5 {\n    width: 40.170940171000005%;\n  }\n  .row-fluid .span6 {\n    width: 48.717948718%;\n  }\n  .row-fluid .span7 {\n    width: 57.264957265%;\n  }\n  .row-fluid .span8 {\n    width: 65.81196581200001%;\n  }\n  .row-fluid .span9 {\n    width: 74.358974359%;\n  }\n  .row-fluid .span10 {\n    width: 82.905982906%;\n  }\n  .row-fluid .span11 {\n    width: 91.45299145300001%;\n  }\n  .row-fluid .span12 {\n    width: 100%;\n  }\n  input.span1, textarea.span1, .uneditable-input.span1 {\n    width: 60px;\n  }\n  input.span2, textarea.span2, .uneditable-input.span2 {\n    width: 160px;\n  }\n  input.span3, textarea.span3, .uneditable-input.span3 {\n    width: 260px;\n  }\n  input.span4, textarea.span4, .uneditable-input.span4 {\n    width: 360px;\n  }\n  input.span5, textarea.span5, .uneditable-input.span5 {\n    width: 460px;\n  }\n  input.span6, textarea.span6, .uneditable-input.span6 {\n    width: 560px;\n  }\n  input.span7, textarea.span7, .uneditable-input.span7 {\n    width: 660px;\n  }\n  input.span8, textarea.span8, .uneditable-input.span8 {\n    width: 760px;\n  }\n  input.span9, textarea.span9, .uneditable-input.span9 {\n    width: 860px;\n  }\n  input.span10, textarea.span10, .uneditable-input.span10 {\n    width: 960px;\n  }\n  input.span11, textarea.span11, .uneditable-input.span11 {\n    width: 1060px;\n  }\n  input.span12, textarea.span12, .uneditable-input.span12 {\n    width: 1160px;\n  }\n  .thumbnails {\n    margin-left: -30px;\n  }\n  .thumbnails > li {\n    margin-left: 30px;\n  }\n}\n"
  },
  {
    "path": "dist/asset/docs/css/bootstrap.css",
    "content": "/*!\n * Bootstrap v2.0.0\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nnav,\nsection {\n  display: block;\n}\naudio, canvas, video {\n  display: inline-block;\n  *display: inline;\n  *zoom: 1;\n}\naudio:not([controls]) {\n  display: none;\n}\nhtml {\n  font-size: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\na:hover, a:active {\n  outline: 0;\n}\nsub, sup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  max-width: 100%;\n  height: auto;\n  border: 0;\n  -ms-interpolation-mode: bicubic;\n}\nbutton,\ninput,\nselect,\ntextarea {\n  margin: 0;\n  font-size: 100%;\n  vertical-align: middle;\n}\nbutton, input {\n  *overflow: visible;\n  line-height: normal;\n}\nbutton::-moz-focus-inner, input::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\nbutton,\ninput[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  cursor: pointer;\n  -webkit-appearance: button;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  -webkit-box-sizing: content-box;\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-decoration, input[type=\"search\"]::-webkit-search-cancel-button {\n  -webkit-appearance: none;\n}\ntextarea {\n  overflow: auto;\n  vertical-align: top;\n}\nbody {\n  margin: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 18px;\n  color: #333333;\n  background-color: #ffffff;\n}\na {\n  color: #0088cc;\n  text-decoration: none;\n}\na:hover {\n  color: #005580;\n  text-decoration: underline;\n}\n.row {\n  margin-left: -20px;\n  *zoom: 1;\n}\n.row:before, .row:after {\n  display: table;\n  content: \"\";\n}\n.row:after {\n  clear: both;\n}\n[class*=\"span\"] {\n  float: left;\n  margin-left: 20px;\n}\n.span1 {\n  width: 60px;\n}\n.span2 {\n  width: 140px;\n}\n.span3 {\n  width: 220px;\n}\n.span4 {\n  width: 300px;\n}\n.span5 {\n  width: 380px;\n}\n.span6 {\n  width: 460px;\n}\n.span7 {\n  width: 540px;\n}\n.span8 {\n  width: 620px;\n}\n.span9 {\n  width: 700px;\n}\n.span10 {\n  width: 780px;\n}\n.span11 {\n  width: 860px;\n}\n.span12, .container {\n  width: 940px;\n}\n.offset1 {\n  margin-left: 100px;\n}\n.offset2 {\n  margin-left: 180px;\n}\n.offset3 {\n  margin-left: 260px;\n}\n.offset4 {\n  margin-left: 340px;\n}\n.offset5 {\n  margin-left: 420px;\n}\n.offset6 {\n  margin-left: 500px;\n}\n.offset7 {\n  margin-left: 580px;\n}\n.offset8 {\n  margin-left: 660px;\n}\n.offset9 {\n  margin-left: 740px;\n}\n.offset10 {\n  margin-left: 820px;\n}\n.offset11 {\n  margin-left: 900px;\n}\n.row-fluid {\n  width: 100%;\n  *zoom: 1;\n}\n.row-fluid:before, .row-fluid:after {\n  display: table;\n  content: \"\";\n}\n.row-fluid:after {\n  clear: both;\n}\n.row-fluid > [class*=\"span\"] {\n  float: left;\n  margin-left: 2.127659574%;\n}\n.row-fluid > [class*=\"span\"]:first-child {\n  margin-left: 0;\n}\n.row-fluid .span1 {\n  width: 6.382978723%;\n}\n.row-fluid .span2 {\n  width: 14.89361702%;\n}\n.row-fluid .span3 {\n  width: 23.404255317%;\n}\n.row-fluid .span4 {\n  width: 31.914893614%;\n}\n.row-fluid .span5 {\n  width: 40.425531911%;\n}\n.row-fluid .span6 {\n  width: 48.93617020799999%;\n}\n.row-fluid .span7 {\n  width: 57.446808505%;\n}\n.row-fluid .span8 {\n  width: 65.95744680199999%;\n}\n.row-fluid .span9 {\n  width: 74.468085099%;\n}\n.row-fluid .span10 {\n  width: 82.97872339599999%;\n}\n.row-fluid .span11 {\n  width: 91.489361693%;\n}\n.row-fluid .span12 {\n  width: 99.99999998999999%;\n}\n.container {\n  width: 940px;\n  margin-left: auto;\n  margin-right: auto;\n  *zoom: 1;\n}\n.container:before, .container:after {\n  display: table;\n  content: \"\";\n}\n.container:after {\n  clear: both;\n}\n.container-fluid {\n  padding-left: 20px;\n  padding-right: 20px;\n  *zoom: 1;\n}\n.container-fluid:before, .container-fluid:after {\n  display: table;\n  content: \"\";\n}\n.container-fluid:after {\n  clear: both;\n}\np {\n  margin: 0 0 9px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 18px;\n}\np small {\n  font-size: 11px;\n  color: #999999;\n}\n.lead {\n  margin-bottom: 18px;\n  font-size: 20px;\n  font-weight: 200;\n  line-height: 27px;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  margin: 0;\n  font-weight: bold;\n  color: #333333;\n  text-rendering: optimizelegibility;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small {\n  font-weight: normal;\n  color: #999999;\n}\nh1 {\n  font-size: 30px;\n  line-height: 36px;\n}\nh1 small {\n  font-size: 18px;\n}\nh2 {\n  font-size: 24px;\n  line-height: 36px;\n}\nh2 small {\n  font-size: 18px;\n}\nh3 {\n  line-height: 27px;\n  font-size: 18px;\n}\nh3 small {\n  font-size: 14px;\n}\nh4, h5, h6 {\n  line-height: 18px;\n}\nh4 {\n  font-size: 14px;\n}\nh4 small {\n  font-size: 12px;\n}\nh5 {\n  font-size: 12px;\n}\nh6 {\n  font-size: 11px;\n  color: #999999;\n  text-transform: uppercase;\n}\n.page-header {\n  padding-bottom: 17px;\n  margin: 18px 0;\n  border-bottom: 1px solid #eeeeee;\n}\n.page-header h1 {\n  line-height: 1;\n}\nul, ol {\n  padding: 0;\n  margin: 0 0 9px 25px;\n}\nul ul,\nul ol,\nol ol,\nol ul {\n  margin-bottom: 0;\n}\nul {\n  list-style: disc;\n}\nol {\n  list-style: decimal;\n}\nli {\n  line-height: 18px;\n}\nul.unstyled {\n  margin-left: 0;\n  list-style: none;\n}\ndl {\n  margin-bottom: 18px;\n}\ndt, dd {\n  line-height: 18px;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 9px;\n}\nhr {\n  margin: 18px 0;\n  border: 0;\n  border-top: 1px solid #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n}\nstrong {\n  font-weight: bold;\n}\nem {\n  font-style: italic;\n}\n.muted {\n  color: #999999;\n}\nabbr {\n  font-size: 90%;\n  text-transform: uppercase;\n  border-bottom: 1px dotted #ddd;\n  cursor: help;\n}\nblockquote {\n  padding: 0 0 0 15px;\n  margin: 0 0 18px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p {\n  margin-bottom: 0;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 22.5px;\n}\nblockquote small {\n  display: block;\n  line-height: 18px;\n  color: #999999;\n}\nblockquote small:before {\n  content: '\\2014 \\00A0';\n}\nblockquote.pull-right {\n  float: right;\n  padding-left: 0;\n  padding-right: 15px;\n  border-left: 0;\n  border-right: 5px solid #eeeeee;\n}\nblockquote.pull-right p, blockquote.pull-right small {\n  text-align: right;\n}\nq:before,\nq:after,\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\naddress {\n  display: block;\n  margin-bottom: 18px;\n  line-height: 18px;\n  font-style: normal;\n}\nsmall {\n  font-size: 100%;\n}\ncite {\n  font-style: normal;\n}\ncode, pre {\n  padding: 0 3px 2px;\n  font-family: Menlo, Monaco, \"Courier New\", monospace;\n  font-size: 12px;\n  color: #333333;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\ncode {\n  padding: 3px 4px;\n  color: #d14;\n  background-color: #f7f7f9;\n  border: 1px solid #e1e1e8;\n}\npre {\n  display: block;\n  padding: 8.5px;\n  margin: 0 0 9px;\n  font-size: 12px;\n  line-height: 18px;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  white-space: pre;\n  white-space: pre-wrap;\n  word-break: break-all;\n}\npre.prettyprint {\n  margin-bottom: 18px;\n}\npre code {\n  padding: 0;\n  background-color: transparent;\n}\nform {\n  margin: 0 0 18px;\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 27px;\n  font-size: 19.5px;\n  line-height: 36px;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #eee;\n}\nlabel,\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 18px;\n}\nlabel {\n  display: block;\n  margin-bottom: 5px;\n  color: #333333;\n}\ninput,\ntextarea,\nselect,\n.uneditable-input {\n  display: inline-block;\n  width: 210px;\n  height: 18px;\n  padding: 4px;\n  margin-bottom: 9px;\n  font-size: 13px;\n  line-height: 18px;\n  color: #555555;\n  border: 1px solid #ccc;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\n.uneditable-textarea {\n  width: auto;\n  height: auto;\n}\nlabel input, label textarea, label select {\n  display: block;\n}\ninput[type=\"image\"], input[type=\"checkbox\"], input[type=\"radio\"] {\n  width: auto;\n  height: auto;\n  padding: 0;\n  margin: 3px 0;\n  *margin-top: 0;\n  /* IE7 */\n\n  line-height: normal;\n  border: 0;\n  cursor: pointer;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\ninput[type=\"file\"] {\n  padding: initial;\n  line-height: initial;\n  border: initial;\n  background-color: #ffffff;\n  background-color: initial;\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n}\ninput[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"] {\n  width: auto;\n  height: auto;\n}\nselect, input[type=\"file\"] {\n  height: 28px;\n  /* In IE7, the height of the select element cannot be changed by height, only font-size */\n\n  *margin-top: 4px;\n  /* For IE7, add top margin to align select with labels */\n\n  line-height: 28px;\n}\nselect {\n  width: 220px;\n  background-color: #ffffff;\n}\nselect[multiple], select[size] {\n  height: auto;\n}\ninput[type=\"image\"] {\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n}\ntextarea {\n  height: auto;\n}\ninput[type=\"hidden\"] {\n  display: none;\n}\n.radio, .checkbox {\n  padding-left: 18px;\n}\n.radio input[type=\"radio\"], .checkbox input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -18px;\n}\n.controls > .radio:first-child, .controls > .checkbox:first-child {\n  padding-top: 5px;\n}\n.radio.inline, .checkbox.inline {\n  display: inline-block;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {\n  margin-left: 10px;\n}\n.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {\n  padding-top: 0;\n}\ninput, textarea {\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;\n  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;\n  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;\n  -o-transition: border linear 0.2s, box-shadow linear 0.2s;\n  transition: border linear 0.2s, box-shadow linear 0.2s;\n}\ninput:focus, textarea:focus {\n  border-color: rgba(82, 168, 236, 0.8);\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n  outline: 0;\n  outline: thin dotted \\9;\n  /* IE6-8 */\n\n}\ninput[type=\"file\"]:focus, input[type=\"checkbox\"]:focus, select:focus {\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.input-mini {\n  width: 60px;\n}\n.input-small {\n  width: 90px;\n}\n.input-medium {\n  width: 150px;\n}\n.input-large {\n  width: 210px;\n}\n.input-xlarge {\n  width: 270px;\n}\n.input-xxlarge {\n  width: 530px;\n}\ninput[class*=\"span\"],\nselect[class*=\"span\"],\ntextarea[class*=\"span\"],\n.uneditable-input {\n  float: none;\n  margin-left: 0;\n}\ninput.span1, textarea.span1, .uneditable-input.span1 {\n  width: 50px;\n}\ninput.span2, textarea.span2, .uneditable-input.span2 {\n  width: 130px;\n}\ninput.span3, textarea.span3, .uneditable-input.span3 {\n  width: 210px;\n}\ninput.span4, textarea.span4, .uneditable-input.span4 {\n  width: 290px;\n}\ninput.span5, textarea.span5, .uneditable-input.span5 {\n  width: 370px;\n}\ninput.span6, textarea.span6, .uneditable-input.span6 {\n  width: 450px;\n}\ninput.span7, textarea.span7, .uneditable-input.span7 {\n  width: 530px;\n}\ninput.span8, textarea.span8, .uneditable-input.span8 {\n  width: 610px;\n}\ninput.span9, textarea.span9, .uneditable-input.span9 {\n  width: 690px;\n}\ninput.span10, textarea.span10, .uneditable-input.span10 {\n  width: 770px;\n}\ninput.span11, textarea.span11, .uneditable-input.span11 {\n  width: 850px;\n}\ninput.span12, textarea.span12, .uneditable-input.span12 {\n  width: 930px;\n}\ninput[disabled],\nselect[disabled],\ntextarea[disabled],\ninput[readonly],\nselect[readonly],\ntextarea[readonly] {\n  background-color: #f5f5f5;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {\n  color: #c09853;\n}\n.control-group.warning input, .control-group.warning select, .control-group.warning textarea {\n  color: #c09853;\n  border-color: #c09853;\n}\n.control-group.warning input:focus, .control-group.warning select:focus, .control-group.warning textarea:focus {\n  border-color: #a47e3c;\n  -webkit-box-shadow: 0 0 6px #dbc59e;\n  -moz-box-shadow: 0 0 6px #dbc59e;\n  box-shadow: 0 0 6px #dbc59e;\n}\n.control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {\n  color: #c09853;\n  background-color: #fcf8e3;\n  border-color: #c09853;\n}\n.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {\n  color: #b94a48;\n}\n.control-group.error input, .control-group.error select, .control-group.error textarea {\n  color: #b94a48;\n  border-color: #b94a48;\n}\n.control-group.error input:focus, .control-group.error select:focus, .control-group.error textarea:focus {\n  border-color: #953b39;\n  -webkit-box-shadow: 0 0 6px #d59392;\n  -moz-box-shadow: 0 0 6px #d59392;\n  box-shadow: 0 0 6px #d59392;\n}\n.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {\n  color: #b94a48;\n  background-color: #f2dede;\n  border-color: #b94a48;\n}\n.control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline {\n  color: #468847;\n}\n.control-group.success input, .control-group.success select, .control-group.success textarea {\n  color: #468847;\n  border-color: #468847;\n}\n.control-group.success input:focus, .control-group.success select:focus, .control-group.success textarea:focus {\n  border-color: #356635;\n  -webkit-box-shadow: 0 0 6px #7aba7b;\n  -moz-box-shadow: 0 0 6px #7aba7b;\n  box-shadow: 0 0 6px #7aba7b;\n}\n.control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {\n  color: #468847;\n  background-color: #dff0d8;\n  border-color: #468847;\n}\ninput:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid {\n  color: #b94a48;\n  border-color: #ee5f5b;\n}\ninput:focus:required:invalid:focus, textarea:focus:required:invalid:focus, select:focus:required:invalid:focus {\n  border-color: #e9322d;\n  -webkit-box-shadow: 0 0 6px #f8b9b7;\n  -moz-box-shadow: 0 0 6px #f8b9b7;\n  box-shadow: 0 0 6px #f8b9b7;\n}\n.form-actions {\n  padding: 17px 20px 18px;\n  margin-top: 18px;\n  margin-bottom: 18px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n}\n.uneditable-input {\n  display: block;\n  background-color: #ffffff;\n  border-color: #eee;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n  cursor: not-allowed;\n}\n:-moz-placeholder {\n  color: #999999;\n}\n::-webkit-input-placeholder {\n  color: #999999;\n}\n.help-block {\n  margin-top: 5px;\n  margin-bottom: 0;\n  color: #999999;\n}\n.help-inline {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n  margin-bottom: 9px;\n  vertical-align: middle;\n  padding-left: 5px;\n}\n.input-prepend, .input-append {\n  margin-bottom: 5px;\n  *zoom: 1;\n}\n.input-prepend:before,\n.input-append:before,\n.input-prepend:after,\n.input-append:after {\n  display: table;\n  content: \"\";\n}\n.input-prepend:after, .input-append:after {\n  clear: both;\n}\n.input-prepend input,\n.input-append input,\n.input-prepend .uneditable-input,\n.input-append .uneditable-input {\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.input-prepend input:focus,\n.input-append input:focus,\n.input-prepend .uneditable-input:focus,\n.input-append .uneditable-input:focus {\n  position: relative;\n  z-index: 2;\n}\n.input-prepend .uneditable-input, .input-append .uneditable-input {\n  border-left-color: #ccc;\n}\n.input-prepend .add-on, .input-append .add-on {\n  float: left;\n  display: block;\n  width: auto;\n  min-width: 16px;\n  height: 18px;\n  margin-right: -1px;\n  padding: 4px 5px;\n  font-weight: normal;\n  line-height: 18px;\n  color: #999999;\n  text-align: center;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.input-prepend .active, .input-append .active {\n  background-color: #a9dba9;\n  border-color: #46a546;\n}\n.input-prepend .add-on {\n  *margin-top: 1px;\n  /* IE6-7 */\n\n}\n.input-append input, .input-append .uneditable-input {\n  float: left;\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.input-append .uneditable-input {\n  border-right-color: #ccc;\n}\n.input-append .add-on {\n  margin-right: 0;\n  margin-left: -1px;\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.input-append input:first-child {\n  *margin-left: -160px;\n}\n.input-append input:first-child + .add-on {\n  *margin-left: -21px;\n}\n.search-query {\n  padding-left: 14px;\n  padding-right: 14px;\n  margin-bottom: 0;\n  -webkit-border-radius: 14px;\n  -moz-border-radius: 14px;\n  border-radius: 14px;\n}\n.form-search input,\n.form-inline input,\n.form-horizontal input,\n.form-search textarea,\n.form-inline textarea,\n.form-horizontal textarea,\n.form-search select,\n.form-inline select,\n.form-horizontal select,\n.form-search .help-inline,\n.form-inline .help-inline,\n.form-horizontal .help-inline,\n.form-search .uneditable-input,\n.form-inline .uneditable-input,\n.form-horizontal .uneditable-input {\n  display: inline-block;\n  margin-bottom: 0;\n}\n.form-search label,\n.form-inline label,\n.form-search .input-append,\n.form-inline .input-append,\n.form-search .input-prepend,\n.form-inline .input-prepend {\n  display: inline-block;\n}\n.form-search .input-append .add-on,\n.form-inline .input-prepend .add-on,\n.form-search .input-append .add-on,\n.form-inline .input-prepend .add-on {\n  vertical-align: middle;\n}\n.control-group {\n  margin-bottom: 9px;\n}\n.form-horizontal legend + .control-group {\n  margin-top: 18px;\n  -webkit-margin-top-collapse: separate;\n}\n.form-horizontal .control-group {\n  margin-bottom: 18px;\n  *zoom: 1;\n}\n.form-horizontal .control-group:before, .form-horizontal .control-group:after {\n  display: table;\n  content: \"\";\n}\n.form-horizontal .control-group:after {\n  clear: both;\n}\n.form-horizontal .control-group > label {\n  float: left;\n  width: 140px;\n  padding-top: 5px;\n  text-align: right;\n}\n.form-horizontal .controls {\n  margin-left: 160px;\n}\n.form-horizontal .form-actions {\n  padding-left: 160px;\n}\ntable {\n  max-width: 100%;\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n.table {\n  width: 100%;\n  margin-bottom: 18px;\n}\n.table th, .table td {\n  padding: 8px;\n  line-height: 18px;\n  text-align: left;\n  border-top: 1px solid #ddd;\n}\n.table th {\n  font-weight: bold;\n  vertical-align: bottom;\n}\n.table td {\n  vertical-align: top;\n}\n.table thead:first-child tr th, .table thead:first-child tr td {\n  border-top: 0;\n}\n.table tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table-condensed th, .table-condensed td {\n  padding: 4px 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n  border-collapse: separate;\n  *border-collapse: collapsed;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.table-bordered th + th,\n.table-bordered td + td,\n.table-bordered th + td,\n.table-bordered td + th {\n  border-left: 1px solid #ddd;\n}\n.table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td {\n  border-top: 0;\n}\n.table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child {\n  -webkit-border-radius: 4px 0 0 0;\n  -moz-border-radius: 4px 0 0 0;\n  border-radius: 4px 0 0 0;\n}\n.table-bordered thead:first-child tr:first-child th:last-child, .table-bordered tbody:first-child tr:first-child td:last-child {\n  -webkit-border-radius: 0 4px 0 0;\n  -moz-border-radius: 0 4px 0 0;\n  border-radius: 0 4px 0 0;\n}\n.table-bordered thead:last-child tr:last-child th:first-child, .table-bordered tbody:last-child tr:last-child td:first-child {\n  -webkit-border-radius: 0 0 0 4px;\n  -moz-border-radius: 0 0 0 4px;\n  border-radius: 0 0 0 4px;\n}\n.table-bordered thead:last-child tr:last-child th:last-child, .table-bordered tbody:last-child tr:last-child td:last-child {\n  -webkit-border-radius: 0 0 4px 0;\n  -moz-border-radius: 0 0 4px 0;\n  border-radius: 0 0 4px 0;\n}\n.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {\n  background-color: #f9f9f9;\n}\ntable .span1 {\n  float: none;\n  width: 44px;\n  margin-left: 0;\n}\ntable .span2 {\n  float: none;\n  width: 124px;\n  margin-left: 0;\n}\ntable .span3 {\n  float: none;\n  width: 204px;\n  margin-left: 0;\n}\ntable .span4 {\n  float: none;\n  width: 284px;\n  margin-left: 0;\n}\ntable .span5 {\n  float: none;\n  width: 364px;\n  margin-left: 0;\n}\ntable .span6 {\n  float: none;\n  width: 444px;\n  margin-left: 0;\n}\ntable .span7 {\n  float: none;\n  width: 524px;\n  margin-left: 0;\n}\ntable .span8 {\n  float: none;\n  width: 604px;\n  margin-left: 0;\n}\ntable .span9 {\n  float: none;\n  width: 684px;\n  margin-left: 0;\n}\ntable .span10 {\n  float: none;\n  width: 764px;\n  margin-left: 0;\n}\ntable .span11 {\n  float: none;\n  width: 844px;\n  margin-left: 0;\n}\ntable .span12 {\n  float: none;\n  width: 924px;\n  margin-left: 0;\n}\n[class^=\"icon-\"] {\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  vertical-align: text-top;\n  background-image: url(../img/glyphicons-halflings.png);\n  background-position: 14px 14px;\n  background-repeat: no-repeat;\n  *margin-right: .3em;\n}\n[class^=\"icon-\"]:last-child {\n  *margin-left: 0;\n}\n.icon-white {\n  background-image: url(../img/glyphicons-halflings-white.png);\n}\n.icon-glass {\n  background-position: 0      0;\n}\n.icon-music {\n  background-position: -24px 0;\n}\n.icon-search {\n  background-position: -48px 0;\n}\n.icon-envelope {\n  background-position: -72px 0;\n}\n.icon-heart {\n  background-position: -96px 0;\n}\n.icon-star {\n  background-position: -120px 0;\n}\n.icon-star-empty {\n  background-position: -144px 0;\n}\n.icon-user {\n  background-position: -168px 0;\n}\n.icon-film {\n  background-position: -192px 0;\n}\n.icon-th-large {\n  background-position: -216px 0;\n}\n.icon-th {\n  background-position: -240px 0;\n}\n.icon-th-list {\n  background-position: -264px 0;\n}\n.icon-ok {\n  background-position: -288px 0;\n}\n.icon-remove {\n  background-position: -312px 0;\n}\n.icon-zoom-in {\n  background-position: -336px 0;\n}\n.icon-zoom-out {\n  background-position: -360px 0;\n}\n.icon-off {\n  background-position: -384px 0;\n}\n.icon-signal {\n  background-position: -408px 0;\n}\n.icon-cog {\n  background-position: -432px 0;\n}\n.icon-trash {\n  background-position: -456px 0;\n}\n.icon-home {\n  background-position: 0 -24px;\n}\n.icon-file {\n  background-position: -24px -24px;\n}\n.icon-time {\n  background-position: -48px -24px;\n}\n.icon-road {\n  background-position: -72px -24px;\n}\n.icon-download-alt {\n  background-position: -96px -24px;\n}\n.icon-download {\n  background-position: -120px -24px;\n}\n.icon-upload {\n  background-position: -144px -24px;\n}\n.icon-inbox {\n  background-position: -168px -24px;\n}\n.icon-play-circle {\n  background-position: -192px -24px;\n}\n.icon-repeat {\n  background-position: -216px -24px;\n}\n.icon-refresh {\n  background-position: -240px -24px;\n}\n.icon-list-alt {\n  background-position: -264px -24px;\n}\n.icon-lock {\n  background-position: -287px -24px;\n}\n.icon-flag {\n  background-position: -312px -24px;\n}\n.icon-headphones {\n  background-position: -336px -24px;\n}\n.icon-volume-off {\n  background-position: -360px -24px;\n}\n.icon-volume-down {\n  background-position: -384px -24px;\n}\n.icon-volume-up {\n  background-position: -408px -24px;\n}\n.icon-qrcode {\n  background-position: -432px -24px;\n}\n.icon-barcode {\n  background-position: -456px -24px;\n}\n.icon-tag {\n  background-position: 0 -48px;\n}\n.icon-tags {\n  background-position: -25px -48px;\n}\n.icon-book {\n  background-position: -48px -48px;\n}\n.icon-bookmark {\n  background-position: -72px -48px;\n}\n.icon-print {\n  background-position: -96px -48px;\n}\n.icon-camera {\n  background-position: -120px -48px;\n}\n.icon-font {\n  background-position: -144px -48px;\n}\n.icon-bold {\n  background-position: -167px -48px;\n}\n.icon-italic {\n  background-position: -192px -48px;\n}\n.icon-text-height {\n  background-position: -216px -48px;\n}\n.icon-text-width {\n  background-position: -240px -48px;\n}\n.icon-align-left {\n  background-position: -264px -48px;\n}\n.icon-align-center {\n  background-position: -288px -48px;\n}\n.icon-align-right {\n  background-position: -312px -48px;\n}\n.icon-align-justify {\n  background-position: -336px -48px;\n}\n.icon-list {\n  background-position: -360px -48px;\n}\n.icon-indent-left {\n  background-position: -384px -48px;\n}\n.icon-indent-right {\n  background-position: -408px -48px;\n}\n.icon-facetime-video {\n  background-position: -432px -48px;\n}\n.icon-picture {\n  background-position: -456px -48px;\n}\n.icon-pencil {\n  background-position: 0 -72px;\n}\n.icon-map-marker {\n  background-position: -24px -72px;\n}\n.icon-adjust {\n  background-position: -48px -72px;\n}\n.icon-tint {\n  background-position: -72px -72px;\n}\n.icon-edit {\n  background-position: -96px -72px;\n}\n.icon-share {\n  background-position: -120px -72px;\n}\n.icon-check {\n  background-position: -144px -72px;\n}\n.icon-move {\n  background-position: -168px -72px;\n}\n.icon-step-backward {\n  background-position: -192px -72px;\n}\n.icon-fast-backward {\n  background-position: -216px -72px;\n}\n.icon-backward {\n  background-position: -240px -72px;\n}\n.icon-play {\n  background-position: -264px -72px;\n}\n.icon-pause {\n  background-position: -288px -72px;\n}\n.icon-stop {\n  background-position: -312px -72px;\n}\n.icon-forward {\n  background-position: -336px -72px;\n}\n.icon-fast-forward {\n  background-position: -360px -72px;\n}\n.icon-step-forward {\n  background-position: -384px -72px;\n}\n.icon-eject {\n  background-position: -408px -72px;\n}\n.icon-chevron-left {\n  background-position: -432px -72px;\n}\n.icon-chevron-right {\n  background-position: -456px -72px;\n}\n.icon-plus-sign {\n  background-position: 0 -96px;\n}\n.icon-minus-sign {\n  background-position: -24px -96px;\n}\n.icon-remove-sign {\n  background-position: -48px -96px;\n}\n.icon-ok-sign {\n  background-position: -72px -96px;\n}\n.icon-question-sign {\n  background-position: -96px -96px;\n}\n.icon-info-sign {\n  background-position: -120px -96px;\n}\n.icon-screenshot {\n  background-position: -144px -96px;\n}\n.icon-remove-circle {\n  background-position: -168px -96px;\n}\n.icon-ok-circle {\n  background-position: -192px -96px;\n}\n.icon-ban-circle {\n  background-position: -216px -96px;\n}\n.icon-arrow-left {\n  background-position: -240px -96px;\n}\n.icon-arrow-right {\n  background-position: -264px -96px;\n}\n.icon-arrow-up {\n  background-position: -289px -96px;\n}\n.icon-arrow-down {\n  background-position: -312px -96px;\n}\n.icon-share-alt {\n  background-position: -336px -96px;\n}\n.icon-resize-full {\n  background-position: -360px -96px;\n}\n.icon-resize-small {\n  background-position: -384px -96px;\n}\n.icon-plus {\n  background-position: -408px -96px;\n}\n.icon-minus {\n  background-position: -433px -96px;\n}\n.icon-asterisk {\n  background-position: -456px -96px;\n}\n.icon-exclamation-sign {\n  background-position: 0 -120px;\n}\n.icon-gift {\n  background-position: -24px -120px;\n}\n.icon-leaf {\n  background-position: -48px -120px;\n}\n.icon-fire {\n  background-position: -72px -120px;\n}\n.icon-eye-open {\n  background-position: -96px -120px;\n}\n.icon-eye-close {\n  background-position: -120px -120px;\n}\n.icon-warning-sign {\n  background-position: -144px -120px;\n}\n.icon-plane {\n  background-position: -168px -120px;\n}\n.icon-calendar {\n  background-position: -192px -120px;\n}\n.icon-random {\n  background-position: -216px -120px;\n}\n.icon-comment {\n  background-position: -240px -120px;\n}\n.icon-magnet {\n  background-position: -264px -120px;\n}\n.icon-chevron-up {\n  background-position: -288px -120px;\n}\n.icon-chevron-down {\n  background-position: -313px -119px;\n}\n.icon-retweet {\n  background-position: -336px -120px;\n}\n.icon-shopping-cart {\n  background-position: -360px -120px;\n}\n.icon-folder-close {\n  background-position: -384px -120px;\n}\n.icon-folder-open {\n  background-position: -408px -120px;\n}\n.icon-resize-vertical {\n  background-position: -432px -119px;\n}\n.icon-resize-horizontal {\n  background-position: -456px -118px;\n}\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle {\n  *margin-bottom: -3px;\n}\n.dropdown-toggle:active, .open .dropdown-toggle {\n  outline: 0;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  text-indent: -99999px;\n  *text-indent: 0;\n  vertical-align: top;\n  border-left: 4px solid transparent;\n  border-right: 4px solid transparent;\n  border-top: 4px solid #000000;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  content: \"\\2193\";\n}\n.dropdown .caret {\n  margin-top: 8px;\n  margin-left: 2px;\n}\n.dropdown:hover .caret, .open.dropdown .caret {\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  float: left;\n  display: none;\n  min-width: 160px;\n  max-width: 220px;\n  _width: 160px;\n  padding: 4px 0;\n  margin: 0;\n  list-style: none;\n  background-color: #ffffff;\n  border-color: #ccc;\n  border-color: rgba(0, 0, 0, 0.2);\n  border-style: solid;\n  border-width: 1px;\n  -webkit-border-radius: 0 0 5px 5px;\n  -moz-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding;\n  background-clip: padding-box;\n  *border-right-width: 2px;\n  *border-bottom-width: 2px;\n}\n.dropdown-menu.bottom-up {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 5px 1px;\n  overflow: hidden;\n  background-color: #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n  *width: 100%;\n  *margin: -5px 0 5px;\n}\n.dropdown-menu a {\n  display: block;\n  padding: 3px 15px;\n  clear: both;\n  font-weight: normal;\n  line-height: 18px;\n  color: #555555;\n  white-space: nowrap;\n}\n.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #0088cc;\n}\n.dropdown.open {\n  *z-index: 1000;\n}\n.dropdown.open .dropdown-toggle {\n  color: #ffffff;\n  background: #ccc;\n  background: rgba(0, 0, 0, 0.3);\n}\n.dropdown.open .dropdown-menu {\n  display: block;\n}\n.typeahead {\n  margin-top: 2px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #eee;\n  border: 1px solid rgba(0, 0, 0, 0.05);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.fade {\n  -webkit-transition: opacity 0.15s linear;\n  -moz-transition: opacity 0.15s linear;\n  -ms-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n  opacity: 0;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  -webkit-transition: height 0.35s ease;\n  -moz-transition: height 0.35s ease;\n  -ms-transition: height 0.35s ease;\n  -o-transition: height 0.35s ease;\n  transition: height 0.35s ease;\n  position: relative;\n  overflow: hidden;\n  height: 0;\n}\n.collapse.in {\n  height: auto;\n}\n.close {\n  float: right;\n  font-size: 20px;\n  font-weight: bold;\n  line-height: 18px;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover {\n  color: #000000;\n  text-decoration: none;\n  opacity: 0.4;\n  filter: alpha(opacity=40);\n  cursor: pointer;\n}\n.btn {\n  display: inline-block;\n  padding: 4px 10px 4px;\n  font-size: 13px;\n  line-height: 18px;\n  color: #333333;\n  text-align: center;\n  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\n  background-color: #fafafa;\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));\n  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);\n  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-repeat: no-repeat;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);\n  border: 1px solid #ccc;\n  border-bottom-color: #bbb;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  cursor: pointer;\n  *margin-left: .3em;\n}\n.btn:first-child {\n  *margin-left: 0;\n}\n.btn:hover {\n  color: #333333;\n  text-decoration: none;\n  background-color: #e6e6e6;\n  background-position: 0 -15px;\n  -webkit-transition: background-position 0.1s linear;\n  -moz-transition: background-position 0.1s linear;\n  -ms-transition: background-position 0.1s linear;\n  -o-transition: background-position 0.1s linear;\n  transition: background-position 0.1s linear;\n}\n.btn:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn.active, .btn:active {\n  background-image: none;\n  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  background-color: #e6e6e6;\n  background-color: #d9d9d9 \\9;\n  color: rgba(0, 0, 0, 0.5);\n  outline: 0;\n}\n.btn.disabled, .btn[disabled] {\n  cursor: default;\n  background-image: none;\n  background-color: #e6e6e6;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n}\n.btn-large {\n  padding: 9px 14px;\n  font-size: 15px;\n  line-height: normal;\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n}\n.btn-large .icon {\n  margin-top: 1px;\n}\n.btn-small {\n  padding: 5px 9px;\n  font-size: 11px;\n  line-height: 16px;\n}\n.btn-small .icon {\n  margin-top: -1px;\n}\n.btn-primary,\n.btn-primary:hover,\n.btn-warning,\n.btn-warning:hover,\n.btn-danger,\n.btn-danger:hover,\n.btn-success,\n.btn-success:hover,\n.btn-info,\n.btn-info:hover {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  color: #ffffff;\n}\n.btn-primary.active,\n.btn-warning.active,\n.btn-danger.active,\n.btn-success.active,\n.btn-info.active {\n  color: rgba(255, 255, 255, 0.75);\n}\n.btn-primary {\n  background-color: #006dcc;\n  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\n  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -o-linear-gradient(top, #0088cc, #0044cc);\n  background-image: linear-gradient(top, #0088cc, #0044cc);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-primary:hover,\n.btn-primary:active,\n.btn-primary.active,\n.btn-primary.disabled,\n.btn-primary[disabled] {\n  background-color: #0044cc;\n}\n.btn-primary:active, .btn-primary.active {\n  background-color: #003399 \\9;\n}\n.btn-warning {\n  background-color: #faa732;\n  background-image: -moz-linear-gradient(top, #fbb450, #f89406);\n  background-image: -ms-linear-gradient(top, #fbb450, #f89406);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\n  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\n  background-image: -o-linear-gradient(top, #fbb450, #f89406);\n  background-image: linear-gradient(top, #fbb450, #f89406);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);\n  border-color: #f89406 #f89406 #ad6704;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-warning:hover,\n.btn-warning:active,\n.btn-warning.active,\n.btn-warning.disabled,\n.btn-warning[disabled] {\n  background-color: #f89406;\n}\n.btn-warning:active, .btn-warning.active {\n  background-color: #c67605 \\9;\n}\n.btn-danger {\n  background-color: #da4f49;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: linear-gradient(top, #ee5f5b, #bd362f);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);\n  border-color: #bd362f #bd362f #802420;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-danger:hover,\n.btn-danger:active,\n.btn-danger.active,\n.btn-danger.disabled,\n.btn-danger[disabled] {\n  background-color: #bd362f;\n}\n.btn-danger:active, .btn-danger.active {\n  background-color: #942a25 \\9;\n}\n.btn-success {\n  background-color: #5bb75b;\n  background-image: -moz-linear-gradient(top, #62c462, #51a351);\n  background-image: -ms-linear-gradient(top, #62c462, #51a351);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));\n  background-image: -webkit-linear-gradient(top, #62c462, #51a351);\n  background-image: -o-linear-gradient(top, #62c462, #51a351);\n  background-image: linear-gradient(top, #62c462, #51a351);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);\n  border-color: #51a351 #51a351 #387038;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-success:hover,\n.btn-success:active,\n.btn-success.active,\n.btn-success.disabled,\n.btn-success[disabled] {\n  background-color: #51a351;\n}\n.btn-success:active, .btn-success.active {\n  background-color: #408140 \\9;\n}\n.btn-info {\n  background-color: #49afcd;\n  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: linear-gradient(top, #5bc0de, #2f96b4);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);\n  border-color: #2f96b4 #2f96b4 #1f6377;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-info:hover,\n.btn-info:active,\n.btn-info.active,\n.btn-info.disabled,\n.btn-info[disabled] {\n  background-color: #2f96b4;\n}\n.btn-info:active, .btn-info.active {\n  background-color: #24748c \\9;\n}\nbutton.btn, input[type=\"submit\"].btn {\n  *padding-top: 2px;\n  *padding-bottom: 2px;\n}\nbutton.btn::-moz-focus-inner, input[type=\"submit\"].btn::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\nbutton.btn.large, input[type=\"submit\"].btn.large {\n  *padding-top: 7px;\n  *padding-bottom: 7px;\n}\nbutton.btn.small, input[type=\"submit\"].btn.small {\n  *padding-top: 3px;\n  *padding-bottom: 3px;\n}\n.btn-group {\n  position: relative;\n  *zoom: 1;\n  *margin-left: .3em;\n}\n.btn-group:before, .btn-group:after {\n  display: table;\n  content: \"\";\n}\n.btn-group:after {\n  clear: both;\n}\n.btn-group:first-child {\n  *margin-left: 0;\n}\n.btn-group + .btn-group {\n  margin-left: 5px;\n}\n.btn-toolbar {\n  margin-top: 9px;\n  margin-bottom: 9px;\n}\n.btn-toolbar .btn-group {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n}\n.btn-group .btn {\n  position: relative;\n  float: left;\n  margin-left: -1px;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.btn-group .btn:first-child {\n  margin-left: 0;\n  -webkit-border-top-left-radius: 4px;\n  -moz-border-radius-topleft: 4px;\n  border-top-left-radius: 4px;\n  -webkit-border-bottom-left-radius: 4px;\n  -moz-border-radius-bottomleft: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group .btn:last-child, .btn-group .dropdown-toggle {\n  -webkit-border-top-right-radius: 4px;\n  -moz-border-radius-topright: 4px;\n  border-top-right-radius: 4px;\n  -webkit-border-bottom-right-radius: 4px;\n  -moz-border-radius-bottomright: 4px;\n  border-bottom-right-radius: 4px;\n}\n.btn-group .btn.large:first-child {\n  margin-left: 0;\n  -webkit-border-top-left-radius: 6px;\n  -moz-border-radius-topleft: 6px;\n  border-top-left-radius: 6px;\n  -webkit-border-bottom-left-radius: 6px;\n  -moz-border-radius-bottomleft: 6px;\n  border-bottom-left-radius: 6px;\n}\n.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle {\n  -webkit-border-top-right-radius: 6px;\n  -moz-border-radius-topright: 6px;\n  border-top-right-radius: 6px;\n  -webkit-border-bottom-right-radius: 6px;\n  -moz-border-radius-bottomright: 6px;\n  border-bottom-right-radius: 6px;\n}\n.btn-group .btn:hover,\n.btn-group .btn:focus,\n.btn-group .btn:active,\n.btn-group .btn.active {\n  z-index: 2;\n}\n.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  *padding-top: 5px;\n  *padding-bottom: 5px;\n}\n.btn-group.open {\n  *z-index: 1000;\n}\n.btn-group.open .dropdown-menu {\n  display: block;\n  margin-top: 1px;\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n}\n.btn-group.open .dropdown-toggle {\n  background-image: none;\n  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.btn .caret {\n  margin-top: 7px;\n  margin-left: 0;\n}\n.btn:hover .caret, .open.btn-group .caret {\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.btn-primary .caret,\n.btn-danger .caret,\n.btn-info .caret,\n.btn-success .caret {\n  border-top-color: #ffffff;\n  opacity: 0.75;\n  filter: alpha(opacity=75);\n}\n.btn-small .caret {\n  margin-top: 4px;\n}\n.alert {\n  padding: 8px 35px 8px 14px;\n  margin-bottom: 18px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n  background-color: #fcf8e3;\n  border: 1px solid #fbeed5;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.alert, .alert-heading {\n  color: #c09853;\n}\n.alert .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  line-height: 18px;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.alert-success, .alert-success .alert-heading {\n  color: #468847;\n}\n.alert-danger, .alert-error {\n  background-color: #f2dede;\n  border-color: #eed3d7;\n}\n.alert-danger,\n.alert-error,\n.alert-danger .alert-heading,\n.alert-error .alert-heading {\n  color: #b94a48;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.alert-info, .alert-info .alert-heading {\n  color: #3a87ad;\n}\n.alert-block {\n  padding-top: 14px;\n  padding-bottom: 14px;\n}\n.alert-block > p, .alert-block > ul {\n  margin-bottom: 0;\n}\n.alert-block p + p {\n  margin-top: 5px;\n}\n.nav {\n  margin-left: 0;\n  margin-bottom: 18px;\n  list-style: none;\n}\n.nav > li > a {\n  display: block;\n}\n.nav > li > a:hover {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav-list {\n  padding-left: 14px;\n  padding-right: 14px;\n  margin-bottom: 0;\n}\n.nav-list > li > a, .nav-list .nav-header {\n  display: block;\n  padding: 3px 15px;\n  margin-left: -15px;\n  margin-right: -15px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n}\n.nav-list .nav-header {\n  font-size: 11px;\n  font-weight: bold;\n  line-height: 18px;\n  color: #999999;\n  text-transform: uppercase;\n}\n\n.nav-list .nav-header * {\n    text-transform:none;\n}\n\n.nav-list > li + .nav-header {\n  margin-top: 9px;\n}\n.nav-list .active > a, .nav-list .active > a:hover {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  background-color: #0088cc;\n}\n.nav-list [class^=\"icon-\"] {\n  margin-right: 2px;\n}\n.nav-tabs, .nav-pills {\n  *zoom: 1;\n}\n.nav-tabs:before,\n.nav-pills:before,\n.nav-tabs:after,\n.nav-pills:after {\n  display: table;\n  content: \"\";\n}\n.nav-tabs:after, .nav-pills:after {\n  clear: both;\n}\n.nav-tabs > li, .nav-pills > li {\n  float: left;\n}\n.nav-tabs > li > a, .nav-pills > li > a {\n  padding-right: 12px;\n  padding-left: 12px;\n  margin-right: 2px;\n  line-height: 14px;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  padding-top: 9px;\n  padding-bottom: 9px;\n  border: 1px solid transparent;\n  -webkit-border-radius: 4px 4px 0 0;\n  -moz-border-radius: 4px 4px 0 0;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > .active > a, .nav-tabs > .active > a:hover {\n  color: #555555;\n  background-color: #ffffff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-pills > li > a {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  margin-top: 2px;\n  margin-bottom: 2px;\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n}\n.nav-pills .active > a, .nav-pills .active > a:hover {\n  color: #ffffff;\n  background-color: #0088cc;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li > a {\n  margin-right: 0;\n}\n.nav-tabs.nav-stacked {\n  border-bottom: 0;\n}\n.nav-tabs.nav-stacked > li > a {\n  border: 1px solid #ddd;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.nav-tabs.nav-stacked > li:first-child > a {\n  -webkit-border-radius: 4px 4px 0 0;\n  -moz-border-radius: 4px 4px 0 0;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs.nav-stacked > li:last-child > a {\n  -webkit-border-radius: 0 0 4px 4px;\n  -moz-border-radius: 0 0 4px 4px;\n  border-radius: 0 0 4px 4px;\n}\n.nav-tabs.nav-stacked > li > a:hover {\n  border-color: #ddd;\n  z-index: 2;\n}\n.nav-pills.nav-stacked > li > a {\n  margin-bottom: 3px;\n}\n.nav-pills.nav-stacked > li:last-child > a {\n  margin-bottom: 1px;\n}\n.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu {\n  margin-top: 1px;\n  border-width: 1px;\n}\n.nav-pills .dropdown-menu {\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret {\n  border-top-color: #0088cc;\n  margin-top: 6px;\n}\n.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {\n  border-top-color: #005580;\n}\n.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {\n  border-top-color: #333333;\n}\n.nav > .dropdown.active > a:hover {\n  color: #000000;\n  cursor: pointer;\n}\n.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover {\n  color: #ffffff;\n  background-color: #999999;\n  border-color: #999999;\n}\n.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {\n  border-top-color: #ffffff;\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.tabs-stacked .open > a:hover {\n  border-color: #999999;\n}\n.tabbable {\n  *zoom: 1;\n}\n.tabbable:before, .tabbable:after {\n  display: table;\n  content: \"\";\n}\n.tabbable:after {\n  clear: both;\n}\n.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {\n  border-bottom: 0;\n}\n.tab-content > .tab-pane, .pill-content > .pill-pane {\n  display: none;\n}\n.tab-content > .active, .pill-content > .active {\n  display: block;\n}\n.tabs-below .nav-tabs {\n  border-top: 1px solid #ddd;\n}\n.tabs-below .nav-tabs > li {\n  margin-top: -1px;\n  margin-bottom: 0;\n}\n.tabs-below .nav-tabs > li > a {\n  -webkit-border-radius: 0 0 4px 4px;\n  -moz-border-radius: 0 0 4px 4px;\n  border-radius: 0 0 4px 4px;\n}\n.tabs-below .nav-tabs > li > a:hover {\n  border-bottom-color: transparent;\n  border-top-color: #ddd;\n}\n.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover {\n  border-color: transparent #ddd #ddd #ddd;\n}\n.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li {\n  float: none;\n}\n.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a {\n  min-width: 74px;\n  margin-right: 0;\n  margin-bottom: 3px;\n}\n.tabs-left .nav-tabs {\n  float: left;\n  margin-right: 19px;\n  border-right: 1px solid #ddd;\n}\n.tabs-left .nav-tabs > li > a {\n  margin-right: -1px;\n  -webkit-border-radius: 4px 0 0 4px;\n  -moz-border-radius: 4px 0 0 4px;\n  border-radius: 4px 0 0 4px;\n}\n.tabs-left .nav-tabs > li > a:hover {\n  border-color: #eeeeee #dddddd #eeeeee #eeeeee;\n}\n.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover {\n  border-color: #ddd transparent #ddd #ddd;\n  *border-right-color: #ffffff;\n}\n.tabs-right .nav-tabs {\n  float: right;\n  margin-left: 19px;\n  border-left: 1px solid #ddd;\n}\n.tabs-right .nav-tabs > li > a {\n  margin-left: -1px;\n  -webkit-border-radius: 0 4px 4px 0;\n  -moz-border-radius: 0 4px 4px 0;\n  border-radius: 0 4px 4px 0;\n}\n.tabs-right .nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #eeeeee #dddddd;\n}\n.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover {\n  border-color: #ddd #ddd #ddd transparent;\n  *border-left-color: #ffffff;\n}\n.navbar {\n  overflow: visible;\n  margin-bottom: 18px;\n}\n.navbar-inner {\n  padding-left: 20px;\n  padding-right: 20px;\n  background-color: #2c2c2c;\n  background-image: -moz-linear-gradient(top, #333333, #222222);\n  background-image: -ms-linear-gradient(top, #333333, #222222);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\n  background-image: -webkit-linear-gradient(top, #333333, #222222);\n  background-image: -o-linear-gradient(top, #333333, #222222);\n  background-image: linear-gradient(top, #333333, #222222);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n.btn-navbar {\n  display: none;\n  float: right;\n  padding: 7px 10px;\n  margin-left: 5px;\n  margin-right: 5px;\n  background-color: #2c2c2c;\n  background-image: -moz-linear-gradient(top, #333333, #222222);\n  background-image: -ms-linear-gradient(top, #333333, #222222);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\n  background-image: -webkit-linear-gradient(top, #333333, #222222);\n  background-image: -o-linear-gradient(top, #333333, #222222);\n  background-image: linear-gradient(top, #333333, #222222);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\n  border-color: #222222 #222222 #000000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n}\n.btn-navbar:hover,\n.btn-navbar:active,\n.btn-navbar.active,\n.btn-navbar.disabled,\n.btn-navbar[disabled] {\n  background-color: #222222;\n}\n.btn-navbar:active, .btn-navbar.active {\n  background-color: #080808 \\9;\n}\n.btn-navbar .icon-bar {\n  display: block;\n  width: 18px;\n  height: 2px;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 1px;\n  -moz-border-radius: 1px;\n  border-radius: 1px;\n  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n}\n.btn-navbar .icon-bar + .icon-bar {\n  margin-top: 3px;\n}\n.nav-collapse.collapse {\n  height: auto;\n}\n.navbar .brand:hover {\n  text-decoration: none;\n}\n.navbar .brand {\n  float: left;\n  display: block;\n  padding: 8px 20px 12px;\n  margin-left: -20px;\n  font-size: 20px;\n  font-weight: 200;\n  line-height: 1;\n  color: #ffffff;\n}\n.navbar .navbar-text {\n  margin-bottom: 0;\n  line-height: 40px;\n  color: #999999;\n}\n.navbar .navbar-text a:hover {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar .btn, .navbar .btn-group {\n  margin-top: 5px;\n}\n.navbar .btn-group .btn {\n  margin-top: 0;\n}\n.navbar-form {\n  margin-bottom: 0;\n  *zoom: 1;\n}\n.navbar-form:before, .navbar-form:after {\n  display: table;\n  content: \"\";\n}\n.navbar-form:after {\n  clear: both;\n}\n.navbar-form input, .navbar-form select {\n  display: inline-block;\n  margin-top: 5px;\n  margin-bottom: 0;\n}\n.navbar-form .radio, .navbar-form .checkbox {\n  margin-top: 5px;\n}\n.navbar-form input[type=\"image\"], .navbar-form input[type=\"checkbox\"], .navbar-form input[type=\"radio\"] {\n  margin-top: 3px;\n}\n.navbar-search {\n  position: relative;\n  float: left;\n  margin-top: 6px;\n  margin-bottom: 0;\n}\n.navbar-search .search-query {\n  padding: 4px 9px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  color: #ffffff;\n  color: rgba(255, 255, 255, 0.75);\n  background: #666;\n  background: rgba(255, 255, 255, 0.3);\n  border: 1px solid #111;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);\n  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);\n  -webkit-transition: none;\n  -moz-transition: none;\n  -ms-transition: none;\n  -o-transition: none;\n  transition: none;\n}\n.navbar-search .search-query :-moz-placeholder {\n  color: #eeeeee;\n}\n.navbar-search .search-query::-webkit-input-placeholder {\n  color: #eeeeee;\n}\n.navbar-search .search-query:hover {\n  color: #ffffff;\n  background-color: #999999;\n  background-color: rgba(255, 255, 255, 0.5);\n}\n.navbar-search .search-query:focus, .navbar-search .search-query.focused {\n  padding: 5px 10px;\n  color: #333333;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #ffffff;\n  border: 0;\n  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n  outline: 0;\n}\n.navbar-fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n.navbar-fixed-top .navbar-inner {\n  padding-left: 0;\n  padding-right: 0;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.navbar .nav {\n  position: relative;\n  left: 0;\n  display: block;\n  float: left;\n  margin: 0 10px 0 0;\n}\n.navbar .nav.pull-right {\n  float: right;\n}\n.navbar .nav > li {\n  display: block;\n  float: left;\n}\n.navbar .nav > li > a {\n  float: none;\n  padding: 10px 10px 11px;\n  line-height: 19px;\n  color: #999999;\n  text-decoration: none;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar .nav > li > a:hover {\n  background-color: transparent;\n  color: #ffffff;\n  text-decoration: none;\n}\n.navbar .nav .active > a, .navbar .nav .active > a:hover {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #222222;\n  background-color: rgba(0, 0, 0, 0.5);\n}\n.navbar .divider-vertical {\n  height: 40px;\n  width: 1px;\n  margin: 0 9px;\n  overflow: hidden;\n  background-color: #222222;\n  border-right: 1px solid #333333;\n}\n.navbar .nav.pull-right {\n  margin-left: 10px;\n  margin-right: 0;\n}\n.navbar .dropdown-menu {\n  margin-top: 1px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.navbar .dropdown-menu:before {\n  content: '';\n  display: inline-block;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid #ccc;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  position: absolute;\n  top: -7px;\n  left: 9px;\n}\n.navbar .dropdown-menu:after {\n  content: '';\n  display: inline-block;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #ffffff;\n  position: absolute;\n  top: -6px;\n  left: 10px;\n}\n.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {\n  border-top-color: #ffffff;\n}\n.navbar .nav .active .caret {\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {\n  background-color: transparent;\n}\n.navbar .nav .active > .dropdown-toggle:hover {\n  color: #ffffff;\n}\n.navbar .nav.pull-right .dropdown-menu {\n  left: auto;\n  right: 0;\n}\n.navbar .nav.pull-right .dropdown-menu:before {\n  left: auto;\n  right: 12px;\n}\n.navbar .nav.pull-right .dropdown-menu:after {\n  left: auto;\n  right: 13px;\n}\n.breadcrumb {\n  padding: 7px 14px;\n  margin: 0 0 18px;\n  background-color: #fbfbfb;\n  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));\n  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: linear-gradient(top, #ffffff, #f5f5f5);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);\n  border: 1px solid #ddd;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n  -webkit-box-shadow: inset 0 1px 0 #ffffff;\n  -moz-box-shadow: inset 0 1px 0 #ffffff;\n  box-shadow: inset 0 1px 0 #ffffff;\n}\n.breadcrumb li {\n  display: inline;\n  text-shadow: 0 1px 0 #ffffff;\n}\n.breadcrumb .divider {\n  padding: 0 5px;\n  color: #999999;\n}\n.breadcrumb .active a {\n  color: #333333;\n}\n.pagination {\n  height: 36px;\n  margin: 18px 0;\n}\n.pagination ul {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n  margin-left: 0;\n  margin-bottom: 0;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.pagination li {\n  display: inline;\n}\n.pagination a {\n  float: left;\n  padding: 0 14px;\n  line-height: 34px;\n  text-decoration: none;\n  border: 1px solid #ddd;\n  border-left-width: 0;\n}\n.pagination a:hover, .pagination .active a {\n  background-color: #f5f5f5;\n}\n.pagination .active a {\n  color: #999999;\n  cursor: default;\n}\n.pagination .disabled a, .pagination .disabled a:hover {\n  color: #999999;\n  background-color: transparent;\n  cursor: default;\n}\n.pagination li:first-child a {\n  border-left-width: 1px;\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.pagination li:last-child a {\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.pagination-centered {\n  text-align: center;\n}\n.pagination-right {\n  text-align: right;\n}\n.pager {\n  margin-left: 0;\n  margin-bottom: 18px;\n  list-style: none;\n  text-align: center;\n  *zoom: 1;\n}\n.pager:before, .pager:after {\n  display: table;\n  content: \"\";\n}\n.pager:after {\n  clear: both;\n}\n.pager li {\n  display: inline;\n}\n.pager a {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 15px;\n  -moz-border-radius: 15px;\n  border-radius: 15px;\n}\n.pager a:hover {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.pager .next a {\n  float: right;\n}\n.pager .previous a {\n  float: left;\n}\n.modal-open .dropdown-menu {\n  z-index: 2050;\n}\n.modal-open .dropdown.open {\n  *z-index: 2050;\n}\n.modal-open .popover {\n  z-index: 2060;\n}\n.modal-open .tooltip {\n  z-index: 2070;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n}\n.modal-backdrop, .modal-backdrop.fade.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n.modal {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  z-index: 1050;\n  max-height: 500px;\n  overflow: auto;\n  width: 560px;\n  margin: -250px 0 0 -280px;\n  background-color: #ffffff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.3);\n  *border: 1px solid #999;\n  /* IE6-7 */\n\n  -webkit-border-radius: 6px;\n  -moz-border-radius: 6px;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding-box;\n  background-clip: padding-box;\n}\n.modal.fade {\n  -webkit-transition: opacity .3s linear, top .3s ease-out;\n  -moz-transition: opacity .3s linear, top .3s ease-out;\n  -ms-transition: opacity .3s linear, top .3s ease-out;\n  -o-transition: opacity .3s linear, top .3s ease-out;\n  transition: opacity .3s linear, top .3s ease-out;\n  top: -25%;\n}\n.modal.fade.in {\n  top: 50%;\n}\n.modal-header {\n  padding: 9px 15px;\n  border-bottom: 1px solid #eee;\n}\n.modal-header .close {\n  margin-top: 2px;\n}\n.modal-body {\n  padding: 15px;\n}\n.modal-footer {\n  padding: 14px 15px 15px;\n  margin-bottom: 0;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  -webkit-border-radius: 0 0 6px 6px;\n  -moz-border-radius: 0 0 6px 6px;\n  border-radius: 0 0 6px 6px;\n  -webkit-box-shadow: inset 0 1px 0 #ffffff;\n  -moz-box-shadow: inset 0 1px 0 #ffffff;\n  box-shadow: inset 0 1px 0 #ffffff;\n  *zoom: 1;\n}\n.modal-footer:before, .modal-footer:after {\n  display: table;\n  content: \"\";\n}\n.modal-footer:after {\n  clear: both;\n}\n.modal-footer .btn {\n  float: right;\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.tooltip {\n  position: absolute;\n  z-index: 1020;\n  display: block;\n  visibility: visible;\n  padding: 5px;\n  font-size: 11px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n.tooltip.top {\n  margin-top: -2px;\n}\n.tooltip.right {\n  margin-left: 2px;\n}\n.tooltip.bottom {\n  margin-top: 2px;\n}\n.tooltip.left {\n  margin-left: -2px;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-top: 5px solid #000000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-left: 5px solid #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-bottom: 5px solid #000000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-right: 5px solid #000000;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #ffffff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000000;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  padding: 5px;\n}\n.popover.top {\n  margin-top: -5px;\n}\n.popover.right {\n  margin-left: 5px;\n}\n.popover.bottom {\n  margin-top: 5px;\n}\n.popover.left {\n  margin-left: -5px;\n}\n.popover.top .arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-top: 5px solid #000000;\n}\n.popover.right .arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-right: 5px solid #000000;\n}\n.popover.bottom .arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-bottom: 5px solid #000000;\n}\n.popover.left .arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-left: 5px solid #000000;\n}\n.popover .arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n}\n.popover-inner {\n  padding: 3px;\n  width: 280px;\n  overflow: hidden;\n  background: #000000;\n  background: rgba(0, 0, 0, 0.8);\n  -webkit-border-radius: 6px;\n  -moz-border-radius: 6px;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n}\n.popover-title {\n  padding: 9px 15px;\n  line-height: 1;\n  background-color: #f5f5f5;\n  border-bottom: 1px solid #eee;\n  -webkit-border-radius: 3px 3px 0 0;\n  -moz-border-radius: 3px 3px 0 0;\n  border-radius: 3px 3px 0 0;\n}\n.popover-content {\n  padding: 14px;\n  background-color: #ffffff;\n  -webkit-border-radius: 0 0 3px 3px;\n  -moz-border-radius: 0 0 3px 3px;\n  border-radius: 0 0 3px 3px;\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding-box;\n  background-clip: padding-box;\n}\n.popover-content p, .popover-content ul, .popover-content ol {\n  margin-bottom: 0;\n}\n.thumbnails {\n  margin-left: -20px;\n  list-style: none;\n  *zoom: 1;\n}\n.thumbnails:before, .thumbnails:after {\n  display: table;\n  content: \"\";\n}\n.thumbnails:after {\n  clear: both;\n}\n.thumbnails > li {\n  float: left;\n  margin: 0 0 18px 20px;\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  line-height: 1;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\n  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\n}\na.thumbnail:hover {\n  border-color: #0088cc;\n  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n}\n.thumbnail > img {\n  display: block;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n.thumbnail .caption {\n  padding: 9px;\n}\n.label {\n  padding: 1px 3px 2px;\n  font-size: 9.75px;\n  font-weight: bold;\n  color: #ffffff;\n  text-transform: uppercase;\n  background-color: #999999;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\n.label-important {\n  background-color: #b94a48;\n}\n.label-warning {\n  background-color: #f89406;\n}\n.label-success {\n  background-color: #468847;\n}\n.label-info {\n  background-color: #3a87ad;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n@-moz-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 18px;\n  margin-bottom: 18px;\n  background-color: #f7f7f7;\n  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));\n  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.progress .bar {\n  width: 0%;\n  height: 18px;\n  color: #ffffff;\n  font-size: 12px;\n  text-align: center;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #0e90d2;\n  background-image: -moz-linear-gradient(top, #149bdf, #0480be);\n  background-image: -ms-linear-gradient(top, #149bdf, #0480be);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));\n  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);\n  background-image: -o-linear-gradient(top, #149bdf, #0480be);\n  background-image: linear-gradient(top, #149bdf, #0480be);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-transition: width 0.6s ease;\n  -moz-transition: width 0.6s ease;\n  -ms-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .bar {\n  background-color: #62c462;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  -webkit-background-size: 40px 40px;\n  -moz-background-size: 40px 40px;\n  -o-background-size: 40px 40px;\n  background-size: 40px 40px;\n}\n.progress.active .bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -moz-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-danger .bar {\n  background-color: #dd514c;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: linear-gradient(top, #ee5f5b, #c43c35);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);\n}\n.progress-danger.progress-striped .bar {\n  background-color: #ee5f5b;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-success .bar {\n  background-color: #5eb95e;\n  background-image: -moz-linear-gradient(top, #62c462, #57a957);\n  background-image: -ms-linear-gradient(top, #62c462, #57a957);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));\n  background-image: -webkit-linear-gradient(top, #62c462, #57a957);\n  background-image: -o-linear-gradient(top, #62c462, #57a957);\n  background-image: linear-gradient(top, #62c462, #57a957);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);\n}\n.progress-success.progress-striped .bar {\n  background-color: #62c462;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-info .bar {\n  background-color: #4bb1cf;\n  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: linear-gradient(top, #5bc0de, #339bb9);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);\n}\n.progress-info.progress-striped .bar {\n  background-color: #5bc0de;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.accordion {\n  margin-bottom: 18px;\n}\n.accordion-group {\n  margin-bottom: 2px;\n  border: 1px solid #e5e5e5;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.accordion-heading {\n  border-bottom: 0;\n}\n.accordion-heading .accordion-toggle {\n  display: block;\n  padding: 8px 15px;\n}\n.accordion-inner {\n  padding: 9px 15px;\n  border-top: 1px solid #e5e5e5;\n}\n.carousel {\n  position: relative;\n  margin-bottom: 18px;\n  line-height: 1;\n}\n.carousel-inner {\n  overflow: hidden;\n  width: 100%;\n  position: relative;\n}\n.carousel .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -moz-transition: 0.6s ease-in-out left;\n  -ms-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel .item > img {\n  display: block;\n  line-height: 1;\n}\n.carousel .active, .carousel .next, .carousel .prev {\n  display: block;\n}\n.carousel .active {\n  left: 0;\n}\n.carousel .next, .carousel .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel .next {\n  left: 100%;\n}\n.carousel .prev {\n  left: -100%;\n}\n.carousel .next.left, .carousel .prev.right {\n  left: 0;\n}\n.carousel .active.left {\n  left: -100%;\n}\n.carousel .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 40%;\n  left: 15px;\n  width: 40px;\n  height: 40px;\n  margin-top: -20px;\n  font-size: 60px;\n  font-weight: 100;\n  line-height: 30px;\n  color: #ffffff;\n  text-align: center;\n  background: #222222;\n  border: 3px solid #ffffff;\n  -webkit-border-radius: 23px;\n  -moz-border-radius: 23px;\n  border-radius: 23px;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.carousel-control.right {\n  left: auto;\n  right: 15px;\n}\n.carousel-control:hover {\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-caption {\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  padding: 10px 15px 5px;\n  background: #333333;\n  background: rgba(0, 0, 0, 0.75);\n}\n.carousel-caption h4, .carousel-caption p {\n  color: #ffffff;\n}\n.hero-unit {\n  padding: 60px;\n  margin-bottom: 30px;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 6px;\n  -moz-border-radius: 6px;\n  border-radius: 6px;\n}\n.hero-unit h1 {\n  margin-bottom: 0;\n  font-size: 60px;\n  line-height: 1;\n  letter-spacing: -1px;\n}\n.hero-unit p {\n  font-size: 18px;\n  font-weight: 200;\n  line-height: 27px;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.hide {\n  display: none;\n}\n.show {\n  display: block;\n}\n.invisible {\n  visibility: hidden;\n}\n"
  },
  {
    "path": "dist/asset/docs/css/jquery.iviewer.css",
    "content": ".iviewer_common {\n    position:absolute;\n    bottom:10px;\n    border: 1px  solid #000;\n    height: 28px;\n    z-index: 5000;\n}\n\n.iviewer_cursor {\n    cursor: url(../img/iviewer/hand.cur) 6 8, pointer;\n}\n\n.iviewer_drag_cursor {\n    cursor: url(../img/iviewer/grab.cur) 6 8, pointer;\n}\n\n.iviewer_button {\n    width: 28px;\n    cursor: pointer;\n    background-position: center center;\n    background-repeat: no-repeat;\n}\n\n.iviewer_zoom_in {\n    left: 20px;\n    background: url(../img/iviewer/iviewer.zoom_in.png);\n}\n\n.iviewer_zoom_out {\n    left: 55px;\n    background: url(../img/iviewer/iviewer.zoom_out.png);\n}\n\n.iviewer_zoom_zero {\n    left: 90px;\n    background: url(../img/iviewer/iviewer.zoom_zero.png);\n}\n\n.iviewer_zoom_fit {\n    left: 125px;\n    background: url(../img/iviewer/iviewer.zoom_fit.png);\n}\n\n.iviewer_zoom_status {\n    left: 160px;\n    font: 1em/28px Sans;\n    color: #000;\n    background-color: #fff;\n    text-align: center;\n    width: 60px;\n}\n\n.iviewer_rotate_left {\n    left: 227px;\n    background: #fff url(../img/iviewer/iviewer.rotate_left.png) center center no-repeat;\n}\n\n.iviewer_rotate_right {\n    left: 262px;\n    background: #fff url(../img/iviewer/iviewer.rotate_right.png) center center no-repeat;\n}\n\n.viewer\n{\n    width:      100%;\n    height:     500px;\n    position:   relative;\n    background: transparent url('../img/loader.gif') no-repeat center center;\n}\n\n.viewer img\n{\n    max-width: none;\n}\n\n.wrapper\n{\n    overflow: hidden;\n}\n\n.iviewer_common\n{\n    border: 0;\n    bottom: auto;\n    top: 10px;\n}\n\n.iviewer_zoom_status\n{\n    border: 1px solid black;\n}\n"
  },
  {
    "path": "dist/asset/docs/css/prettify.css",
    "content": ".pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}\n"
  },
  {
    "path": "dist/asset/docs/css/template.css",
    "content": "@import url(bootstrap.min.css);\n@import url(bootstrap-responsive.css);\n@import url(prettify.css);\n@import url(jquery.iviewer.css);\n@import url(https://fonts.googleapis.com/css?family=Forum);\n\nbody\n{\n    padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */\n    background:  #f9f9f9;\n    color:       #444;\n}\n\na\n{\n    color: #55A72F;\n}\n\ntd p:last-of-type {\n    margin: 0;\n}\n\nli.l0, li.l1, li.l2, li.l3, li.l5, li.l6, li.l7, li.l8\n{\n    list-style-type: decimal;\n}\n\na.brand, h2, .hero-unit h1\n{\n    font-family: 'Forum', \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n.element .span4\n{\n    width: 275px;\n}\n\n.namespace-contents hr, .package-contents hr\n{\n    border-top: 3px dotted silver;\n}\n\n.namespace-indent, .package-indent\n{\n    padding-left: 10px; border-left: 1px dashed #f0f0f0;\n}\n\n.element h3 i, .namespace-contents h3 i, .package-contents h3 i\n{\n    margin-top: 2px;\n    margin-right: 5px;\n}\n\n.element h3, .namespace-contents h3, .package-contents h3\n{\n    margin-top: 25px;\n    margin-bottom: 20px;\n    border-bottom: 1px solid silver;\n}\n\n.element h3:first-of-type, .namespace-contents h3:first-of-type,\n.package-contents h3:first-of-type\n{\n    margin-top: 30px;\n}\n\n.element h2\n{\n    font-family: inherit;\n    font-size: 1.2em;\n    color: black;\n}\n\n.element .type\n{\n    font-weight: bold;\n}\n\n#search-query\n{\n    height: auto;\n}\n\n.hero-unit, div.element, .well\n{\n    border: 1px solid #e0e0e0;\n    background: white;\n}\n\n.dropdown-menu a{\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\nh2\n{\n    border-bottom:  1px dashed #55A72F;\n    margin-bottom:  10px;\n    padding-bottom: 0;\n    padding-left:   5px;\n    color:          #e9e9e9;\n    font-weight:    normal;\n    margin-top:     40px;\n}\n\nh2:first-of-type\n{\n    margin-top: 0;\n}\n\n.hero-unit\n{\n    background: #75a70d; /* Old browsers */\n    background: -moz-radial-gradient(center, ellipse cover, #bfd255 0%, #8eb92a 72%, #72aa00 96%, #9ecb2d 100%); /* FF3.6+ */\n    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#bfd255), color-stop(72%,#8eb92a), color-stop(96%,#72aa00), color-stop(100%,#9ecb2d)); /* Chrome,Safari4+ */\n    background: -webkit-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Chrome10+,Safari5.1+ */\n    background: -o-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Opera 12+ */\n    background: -ms-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* IE10+ */\n    background: radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* W3C */\n    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bfd255', endColorstr='#9ecb2d',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */\n\n    padding: 40px 0 15px 0;\n    box-shadow: inset 0 0 10px gray;\n}\n\n.hero-unit h1\n{\n    font-weight: normal;\n    text-align:  center;\n    color:       white;\n    text-shadow: black 0 0 15px;\n}\n\n.hero-unit h2\n{\n    border:     none;\n    color:      white;\n    background: rgba(48, 48, 48, 0.5);\n    padding:    0;\n    margin:     0;\n    margin-top: 15px;\n    text-align: center;\n}\n\n.namespace-contents h2, .package-contents h2\n{\n    padding-left: 44px;\n    background: transparent url('../img/icons/icon-th-big.png') no-repeat 3px center;\n}\n\n.package-contents h2\n{\n    background-image: url('../img/icons/icon-folder-open-big.png');\n}\n\n.namespace-contents .element h2, .package-contents .element h2\n{\n    padding-left: 0;\n    background: none;\n}\n\ndiv.element\n{\n    border-left:    10px solid #55A72F;\n    border-radius:  5px;\n    padding:        7px 7px 2px 7px;\n    margin-bottom:  15px;\n    margin-left:    0;\n}\n\ndiv.element.protected\n{\n    border-left-color: orange;\n}\n\ndiv.element.private\n{\n    border-left-color: red;\n}\n\ndiv.element.class, div.element.interface, div.element.trait\n{\n    border-left-color: #e0e0e0;\n}\n\ndiv.element.class.abstract h1, div.element.interface.abstract h1\n{\n    font-style: italic;\n}\n\ndiv.element h1\n{\n    font-size:     1.2em;\n    line-height:   1.5em;\n    margin-bottom: 10px;\n    padding-left:  22px;\n    background:    transparent no-repeat left 2px;\n    word-wrap:     break-word;\n}\n\ndiv.element h1 a\n{\n    color: transparent;\n    margin-left: 10px;\n}\n\ndiv.element h1:hover a\n{\n    color: silver;\n}\n\ndiv.element h1 a:hover\n{\n    color: navy;\n}\n\ndiv.element a.more:hover\n{\n    background: #f0f0f0;\n    color:      #444;\n    text-decoration: none;\n}\n\ndiv.element a.more\n{\n    font-weight: bold;\n    text-align: center;\n    color:      gray;\n    border-top: 1px dashed silver;\n    display:    block;\n    margin-top: 5px;\n    padding:    5px 0;\n    border-bottom-left-radius: 5px;\n    border-bottom-right-radius: 5px;\n}\n\ndiv.element p\n{\n    font-size:     0.9em;\n}\n\ndiv.element .table\n{\n    font-size: 0.9em;\n}\n\ndiv.element .table th\n{\n    text-transform: capitalize;\n}\n\ndiv.detail-description\n{\n    padding-left: 30px;\n}\n\ndiv.detail-description table th {\n    vertical-align: top;\n}\n\nbody.invert\n{\n    background: white;\n}\n\nbody.invert div.element\n{\n    background: #f9f9f9;\n}\n\nul.side-nav\n{\n    clear: both;\n}\n\nul.side-nav li\n{\n    word-wrap: break-word;\n    padding-left: 10px;\n    text-indent: -10px;\n}\n\nul.side-nav li a\n{\n    background:     transparent no-repeat 5px 3px;\n    padding-bottom: 10px;\n    font-style:     italic;\n}\n\nul.side-nav li pre\n{\n    font-size:        0.8em;\n    margin:           5px 15px 0 15px;\n    padding:          2px 5px;\n    background-color: #f8f8f8;\n    color:            gray;\n    font-style:       normal;\n    word-wrap:        break-word;\n    text-indent:      0;\n}\n\nul.side-nav li.view-simple span.description\n{\n    display: none;\n}\n\nul.side-nav li.view-simple pre\n{\n    font-size:        inherit;\n    margin:           inherit;\n    padding:          inherit;\n    background-color: inherit;\n    border:           none;\n    color:            inherit;\n    font-family:      inherit;\n    font-style:       inherit;\n    padding-bottom:   0;\n    padding-left:     5px;\n}\n\nul.side-nav li.view-simple a\n{\n    padding-bottom: 0;\n}\n\ni.icon-custom\n{\n    width: 16px;\n    height: 16px;\n    background-position: 0;\n}\n\n.table.markers\n{\n    background: white;\n}\n\n/* JS only functionality; disable by default */\n.btn-group.visibility, .btn-group.view, .btn-group.type-filter\n{\n    display: none;\n}\n\n.visibility button\n{\n    height: 24px;\n}\n\ndiv.element.constant h1,\ni.icon-constant  { background-image: url('../img/icons/constant.png'); }\n\ndiv.element.function h1,\ni.icon-function  { background-image: url('../img/icons/function.png'); }\n\ndiv.element.method h1,\ni.icon-method    { background-image: url('../img/icons/method.png'); }\n\ndiv.element.class h1,\ni.icon-class     { background-image: url('../img/icons/class.png'); }\n\ndiv.element.interface h1,\ni.icon-interface { background-image: url('../img/icons/interface.png'); }\n\ndiv.element.trait h1,\ni.icon-trait { background-image: url('../img/icons/trait.png'); }\n\ndiv.element.property h1,\ni.icon-property  { background-image: url('../img/icons/property.png'); }\n\nspan.empty-namespace\n{\n    color: silver;\n}\n\nfooter\n{\n    text-align: right;\n    font-size: 0.8em;\n    opacity: 0.5;\n}\n\n#mapHolder\n{\n    border:   4px solid #555;\n    padding:  0 !important;\n    overflow: hidden\n}\n\ndiv.element div.subelement\n{\n    margin-left:    10px;\n    padding-bottom: 5px;\n    clear: both;\n}\n\npre code\n{\n    border: none;\n}\n\ndiv.element div.subelement  > code\n{\n    font-size:    0.8em;\n    float:        left;\n    margin-right: 10px;\n    padding:      0 5px;\n    line-height:  16px;\n}\n\ndiv.element div.subelement  > p\n{\n    margin-left: 20px;\n    margin-right: 50px;\n}\n\ndiv.element div.subelement h4\n{\n    color: #666;\n    margin-bottom: 5px;\n}\n\ndiv.element div.subelement.response\n{\n    padding-bottom: 15px;\n    margin-right: 50px;\n}\n\ndiv.labels\n{\n    text-align: right;\n}\n\n.nav-list .nav-header\n{\n    font-size: 13px;\n}\n\n.nav-list .nav-header .side-nav-header\n{\n    font-weight: bold;\n    line-height: 18px;\n    color: #999999;\n    text-transform: uppercase;\n}\n\n.detail-description code {\n    white-space: pre;\n    display:     inline-block;\n    padding:     10px;\n}\n\n.go_to_top\n{\n    float:                      right;\n    margin-right:               20px;\n    background:                 #2C2C2C;\n    color:                      #999;\n    padding:                    3px 10px;\n    border-bottom-right-radius: 5px;\n    border-bottom-left-radius:  5px;\n    text-shadow:                0 -1px 0 rgba(0, 0, 0, 0.25);\n    line-height:                19px;\n}\n\n.visibility .btn {\n    text-transform: uppercase;\n    font-size: 0.7em;\n    font-weight: bold;\n}\n\n.iviewer_common\n{\n    z-index: 100;\n}\n\n@media (min-width: 980px)\n{\n    a[name]\n    {\n        margin-top: -50px;\n        position:   absolute;\n    }\n}\n\n@media (min-width: 1200px)\n{\n    .method .span4\n    {\n        width: 345px;\n    }\n}\n\n/* redefined because twitter bootstrap assumes that bootstrap-responsive.css */\n@media (max-width: 980px)\n{\n    body\n    {\n        padding-top: 0;\n    }\n\n    .go_to_top\n    {\n        display: none;\n    }\n\n    .btn-group.visibility\n    {\n        font-size: 0.80em;\n        margin-bottom: 7px;\n        display: inline-block;\n        float: right;\n    }\n}\n\n@media (max-width: 768px)\n{\n    .hero-unit h1 {\n        font-size: 30px;\n    }\n    .hero-unit h2 {\n        font-size: 19px;\n    }\n\n}\n@media (min-width: 768px) and (max-width: 980px)\n{\n    .method .span4\n    {\n        width: 203px;\n    }\n}\n"
  },
  {
    "path": "dist/asset/docs/deprecated.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; Deprecated elements\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <div class=\"row\">\n\n        <div class=\"span4\">\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">Navigation</li>\n                            </ul>\n        </div>\n\n        <div class=\"span8\">\n            <ul class=\"breadcrumb\">\n                <li><a href=\"?\"><i class=\"icon-stop\"></i></a><span class=\"divider\">\\</span></li>\n                <li>Deprecated elements</li>\n            </ul>\n\n            <div id=\"marker-accordion\">\n                                    <div class=\"alert alert-info\">No deprecated elements have been found in this project.</div>\n                            </div>\n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/errors.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; Compilation errors\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n        <div class=\"row\">\n        <div class=\"span4\">\n\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">Filter type</li>\n                <li>\n                    <div class=\"btn-group type-filter\" data-toggle=\"buttons-checkbox\">\n                        <button class=\"btn critical\">Critical</button>\n                        <button class=\"btn error\">Error</button>\n                        <button class=\"btn notice\">Notice</button>\n                    </div>\n                </li>\n                <li class=\"nav-header\">Navigation</li>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </div>\n\n        <div class=\"span8\">\n            <ul class=\"breadcrumb\">\n                <li><a href=\"?\"><i class=\"icon-remove-sign\"></i></a><span class=\"divider\">\\</span></li>\n                <li>Compilation Errors</li>\n            </ul>\n\n                            <div class=\"alert alert-info\">No errors have been found in this project.</div>\n            \n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                    </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/graph_class.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>Semantic UI for WordPress: Developer Edition</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <div class=\"row\">\n        <div class=\"span12\">\n            <div class=\"well wrapper\">\n                <div id=\"viewer\" class=\"viewer\"></div>\n            </div>\n        </div>\n    </div>\n\n    <script src=\"js/jquery.iviewer.min.js\" type=\"text/javascript\"></script>\n    <script type=\"text/javascript\">\n        $(window).resize(function(){\n            $(\"#viewer\").height($(window).height() - 260);\n        });\n\n        $(document).ready(function() {\n            $(\"#viewer\").iviewer({src: 'classes.svg', zoom_animation: false});\n            $('#viewer img').bind('dragstart', function(event){\n                event.preventDefault();\n            });\n        });\n    </script>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>Semantic UI for WordPress: Developer Edition</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n            <div class=\"hero-unit\">\n        <h1>Semantic UI for WordPress: Developer Edition</h1>\n        <h2>Documentation</h2>\n    </div>\n\n            <div class=\"row\">\n        <div class=\"span7\">\n                            <div class=\"well\">\n                    <ul class=\"nav nav-list\">\n                        <li class=\"nav-header\">Namespaces</li>\n                                                    <li><a href=\"namespaces/default.html\">Global (\\)</a></li>\n                                                            <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                        </ul>\n                </div>\n            \n                            <div class=\"well\">\n                    <ul class=\"nav nav-list\">\n                        <li class=\"nav-header\">Packages</li>\n                                                    <li><a href=\"packages/default.html\">Global (\\)</a></li>\n                                                            <li><a href=\"packages/Default.html\">Default</a></li>\n                                                                        </ul>\n                </div>\n            \n        </div>\n        <div class=\"span5\">\n            <div class=\"well\">\n                <ul class=\"nav nav-list\">\n                    <li class=\"nav-header\">Charts</li>\n                                            <li><a href=\"graph_class.html\"><i class=\"icon-list-alt\"></i> Class inheritance diagram</a></li>\n                                    </ul>\n            </div>\n            <div class=\"well\">\n                <ul class=\"nav nav-list\">\n                    <li class=\"nav-header\">Reports</li>\n                                            <li>\n                            <a href=\"errors.html\">\n                                <i class=\"icon-list-alt\"></i> Errors                                                                                                                                                                                                             <span class=\"label label-info\">0</span>\n\n                            </a>\n                        </li>\n                        <li>\n                            <a href=\"deprecated.html\">\n                                <i class=\"icon-list-alt\"></i> Deprecated             <span class=\"label label-info\">0</span>\n\n                            </a>\n                        </li>\n                        <li>\n                            <a href=\"markers.html\">\n                                <i class=\"icon-list-alt\"></i> Markers                                                                                                                                                                                                             <span class=\"label label-info\">0</span>\n\n                            </a>\n                        </li>\n                                    </ul>\n            </div>\n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/js/SVGPan.js",
    "content": "/**\n *  SVGPan library 1.2 - phpDocumentor1\n * ====================\n *\n * Given an unique existing element with id \"viewport\", including the\n * the library into any SVG adds the following capabilities:\n *\n *  - Mouse panning\n *  - Mouse zooming (using the wheel)\n *  - Object dargging\n *\n * Known issues:\n *\n *  - Zooming (while panning) on Safari has still some issues\n *\n * Releases:\n *\n * 1.2 - phpDocumentor1, Fri Apr 08 19:19:00 CET 2011, Mike van Riel\n *            Increased zoom speed with 20%\n *            Disabled element moving functionality\n *\n * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui\n *\tFixed a bug with browser mouse handler interaction\n *\n * 1.1, Wed Feb  3 17:39:33 GMT 2010, Zeng Xiaohui\n *\tUpdated the zoom code to support the mouse wheel on Safari/Chrome\n *\n * 1.0, Andrea Leofreddi\n *\tFirst release\n *\n * This code is licensed under the following BSD license:\n *\n * Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n *    1. Redistributions of source code must retain the above copyright notice, this list of\n *       conditions and the following disclaimer.\n *\n *    2. Redistributions in binary form must reproduce the above copyright notice, this list\n *       of conditions and the following disclaimer in the documentation and/or other materials\n *       provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Andrea Leofreddi.\n */\n\nvar root = document.documentElement;\n\nvar state = 'none', stateTarget, stateOrigin, stateTf;\n\nsetupHandlers(root);\n\n/**\n * Register handlers\n */\nfunction setupHandlers(root){\n\tsetAttributes(root, {\n\t\t\"onmouseup\" : \"add(evt)\",\n\t\t\"onmousedown\" : \"handleMouseDown(evt)\",\n\t\t\"onmousemove\" : \"handleMouseMove(evt)\",\n\t\t\"onmouseup\" : \"handleMouseUp(evt)\",\n//\t\t\"onmouseout\" : \"handleMouseUp(evt)\" // Decomment this to stop the pan functionality when dragging out of the SVG element\n\t});\n\n\tif(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)\n\t\twindow.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari\n\telse\n\t\twindow.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others\n}\n\n/**\n * Instance an SVGPoint object with given event coordinates.\n */\nfunction getEventPoint(evt) {\n\tvar p = root.createSVGPoint();\n\n\tp.x = evt.clientX;\n\tp.y = evt.clientY;\n\n\treturn p;\n}\n\n/**\n * Sets the current transform matrix of an element.\n */\nfunction setCTM(element, matrix) {\n\tvar s = \"matrix(\" + matrix.a + \",\" + matrix.b + \",\" + matrix.c + \",\" + matrix.d + \",\" + matrix.e + \",\" + matrix.f + \")\";\n\n\telement.setAttribute(\"transform\", s);\n}\n\n/**\n * Dumps a matrix to a string (useful for debug).\n */\nfunction dumpMatrix(matrix) {\n\tvar s = \"[ \" + matrix.a + \", \" + matrix.c + \", \" + matrix.e + \"\\n  \" + matrix.b + \", \" + matrix.d + \", \" + matrix.f + \"\\n  0, 0, 1 ]\";\n\n\treturn s;\n}\n\n/**\n * Sets attributes of an element.\n */\nfunction setAttributes(element, attributes){\n\tfor (i in attributes)\n\t\telement.setAttributeNS(null, i, attributes[i]);\n}\n\n/**\n * Handle mouse move event.\n */\nfunction handleMouseWheel(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tvar delta;\n\n\tif(evt.wheelDelta)\n\t\tdelta = evt.wheelDelta / 3600; // Chrome/Safari\n\telse\n\t\tdelta = evt.detail / -90; // Mozilla\n\n\tvar z = 1 + (delta * 1.2); // Zoom factor: 0.9/1.1\n\n\tvar g = svgDoc.getElementById(\"viewport\");\n\n\tvar p = getEventPoint(evt);\n\n\tp = p.matrixTransform(g.getCTM().inverse());\n\n\t// Compute new scale matrix in current mouse position\n\tvar k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);\n\n        setCTM(g, g.getCTM().multiply(k));\n\n\tstateTf = stateTf.multiply(k.inverse());\n}\n\n/**\n * Handle mouse move event.\n */\nfunction handleMouseMove(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tvar g = svgDoc.getElementById(\"viewport\");\n\n\tif(state == 'pan') {\n\t\t// Pan mode\n\t\tvar p = getEventPoint(evt).matrixTransform(stateTf);\n\n\t\tsetCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));\n\t} else if(state == 'move') {\n\t\t// Move mode\n\t\tvar p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());\n\n\t\tsetCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));\n\n\t\tstateOrigin = p;\n\t}\n}\n\n/**\n * Handle click event.\n */\nfunction handleMouseDown(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tvar g = svgDoc.getElementById(\"viewport\");\n\n//\tif(evt.target.tagName == \"svg\") {\n\t\t// Pan mode\n\t\tstate = 'pan';\n\n\t\tstateTf = g.getCTM().inverse();\n\n\t\tstateOrigin = getEventPoint(evt).matrixTransform(stateTf);\n//\t} else {\n\t\t// Move mode\n//\t\tstate = 'move';\n//\n//\t\tstateTarget = evt.target;\n//\n//\t\tstateTf = g.getCTM().inverse();\n//\n//\t\tstateOrigin = getEventPoint(evt).matrixTransform(stateTf);\n//\t}\n}\n\n/**\n * Handle mouse button release event.\n */\nfunction handleMouseUp(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tif(state == 'pan' || state == 'move') {\n\t\t// Quit pan mode\n\t\tstate = '';\n\t}\n}\n\n"
  },
  {
    "path": "dist/asset/docs/js/bootstrap.js",
    "content": "/* ===================================================\n * bootstrap-transition.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#transitions\n * ===================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n!function( $ ) {\n\n  $(function () {\n\n    \"use strict\"\n\n    /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)\n     * ======================================================= */\n\n    $.support.transition = (function () {\n      var thisBody = document.body || document.documentElement\n        , thisStyle = thisBody.style\n        , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined\n\n      return support && {\n        end: (function () {\n          var transitionEnd = \"TransitionEnd\"\n          if ( $.browser.webkit ) {\n          \ttransitionEnd = \"webkitTransitionEnd\"\n          } else if ( $.browser.mozilla ) {\n          \ttransitionEnd = \"transitionend\"\n          } else if ( $.browser.opera ) {\n          \ttransitionEnd = \"oTransitionEnd\"\n          }\n          return transitionEnd\n        }())\n      }\n    })()\n\n  })\n  \n}( window.jQuery )\n/* ==========================================================\n * bootstrap-alert.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#alerts\n * ==========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* ALERT CLASS DEFINITION\n  * ====================== */\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n    , Alert = function ( el ) {\n        $(el).on('click', dismiss, this.close)\n      }\n\n  Alert.prototype = {\n\n    constructor: Alert\n\n  , close: function ( e ) {\n      var $this = $(this)\n        , selector = $this.attr('data-target')\n        , $parent\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      $parent = $(selector)\n      $parent.trigger('close')\n\n      e && e.preventDefault()\n\n      $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())\n\n      $parent.removeClass('in')\n\n      function removeElement() {\n        $parent.remove()\n        $parent.trigger('closed')\n      }\n\n      $.support.transition && $parent.hasClass('fade') ?\n        $parent.on($.support.transition.end, removeElement) :\n        removeElement()\n    }\n\n  }\n\n\n /* ALERT PLUGIN DEFINITION\n  * ======================= */\n\n  $.fn.alert = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('alert')\n      if (!data) $this.data('alert', (data = new Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  $.fn.alert.Constructor = Alert\n\n\n /* ALERT DATA-API\n  * ============== */\n\n  $(function () {\n    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)\n  })\n\n}( window.jQuery )\n/* ============================================================\n * bootstrap-button.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#buttons\n * ============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n!function( $ ){\n\n  \"use strict\"\n\n /* BUTTON PUBLIC CLASS DEFINITION\n  * ============================== */\n\n  var Button = function ( element, options ) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.button.defaults, options)\n  }\n\n  Button.prototype = {\n\n      constructor: Button\n\n    , setState: function ( state ) {\n        var d = 'disabled'\n          , $el = this.$element\n          , data = $el.data()\n          , val = $el.is('input') ? 'val' : 'html'\n\n        state = state + 'Text'\n        data.resetText || $el.data('resetText', $el[val]())\n\n        $el[val](data[state] || this.options[state])\n\n        // push to event loop to allow forms to submit\n        setTimeout(function () {\n          state == 'loadingText' ?\n            $el.addClass(d).attr(d, d) :\n            $el.removeClass(d).removeAttr(d)\n        }, 0)\n      }\n\n    , toggle: function () {\n        var $parent = this.$element.parent('[data-toggle=\"buttons-radio\"]')\n\n        $parent && $parent\n          .find('.active')\n          .removeClass('active')\n\n        this.$element.toggleClass('active')\n      }\n\n  }\n\n\n /* BUTTON PLUGIN DEFINITION\n  * ======================== */\n\n  $.fn.button = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('button')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('button', (data = new Button(this, options)))\n      if (option == 'toggle') data.toggle()\n      else if (option) data.setState(option)\n    })\n  }\n\n  $.fn.button.defaults = {\n    loadingText: 'loading...'\n  }\n\n  $.fn.button.Constructor = Button\n\n\n /* BUTTON DATA-API\n  * =============== */\n\n  $(function () {\n    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {\n      $(e.target).button('toggle')\n    })\n  })\n\n}( window.jQuery )\n/* ==========================================================\n * bootstrap-carousel.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#carousel\n * ==========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* CAROUSEL CLASS DEFINITION\n  * ========================= */\n\n  var Carousel = function (element, options) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.carousel.defaults, options)\n    this.options.slide && this.slide(this.options.slide)\n  }\n\n  Carousel.prototype = {\n\n    cycle: function () {\n      this.interval = setInterval($.proxy(this.next, this), this.options.interval)\n      return this\n    }\n\n  , to: function (pos) {\n      var $active = this.$element.find('.active')\n        , children = $active.parent().children()\n        , activePos = children.index($active)\n        , that = this\n\n      if (pos > (children.length - 1) || pos < 0) return\n\n      if (this.sliding) {\n        return this.$element.one('slid', function () {\n          that.to(pos)\n        })\n      }\n\n      if (activePos == pos) {\n        return this.pause().cycle()\n      }\n\n      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))\n    }\n\n  , pause: function () {\n      clearInterval(this.interval)\n      return this\n    }\n\n  , next: function () {\n      if (this.sliding) return\n      return this.slide('next')\n    }\n\n  , prev: function () {\n      if (this.sliding) return\n      return this.slide('prev')\n    }\n\n  , slide: function (type, next) {\n      var $active = this.$element.find('.active')\n        , $next = next || $active[type]()\n        , isCycling = this.interval\n        , direction = type == 'next' ? 'left' : 'right'\n        , fallback  = type == 'next' ? 'first' : 'last'\n        , that = this\n\n      this.sliding = true\n\n      isCycling && this.pause()\n\n      $next = $next.length ? $next : this.$element.find('.item')[fallback]()\n\n      if (!$.support.transition && this.$element.hasClass('slide')) {\n        this.$element.trigger('slide')\n        $active.removeClass('active')\n        $next.addClass('active')\n        this.sliding = false\n        this.$element.trigger('slid')\n      } else {\n        $next.addClass(type)\n        $next[0].offsetWidth // force reflow\n        $active.addClass(direction)\n        $next.addClass(direction)\n        this.$element.trigger('slide')\n        this.$element.one($.support.transition.end, function () {\n          $next.removeClass([type, direction].join(' ')).addClass('active')\n          $active.removeClass(['active', direction].join(' '))\n          that.sliding = false\n          setTimeout(function () { that.$element.trigger('slid') }, 0)\n        })\n      }\n\n      isCycling && this.cycle()\n\n      return this\n    }\n\n  }\n\n\n /* CAROUSEL PLUGIN DEFINITION\n  * ========================== */\n\n  $.fn.carousel = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('carousel')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('carousel', (data = new Carousel(this, options)))\n      if (typeof option == 'number') data.to(option)\n      else if (typeof option == 'string' || (option = options.slide)) data[option]()\n      else data.cycle()\n    })\n  }\n\n  $.fn.carousel.defaults = {\n    interval: 5000\n  }\n\n  $.fn.carousel.Constructor = Carousel\n\n\n /* CAROUSEL DATA-API\n  * ================= */\n\n  $(function () {\n    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {\n      var $this = $(this), href\n        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n        , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())\n      $target.carousel(options)\n      e.preventDefault()\n    })\n  })\n\n}( window.jQuery )\n/* =============================================================\n * bootstrap-collapse.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#collapse\n * =============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n!function( $ ){\n\n  \"use strict\"\n\n  var Collapse = function ( element, options ) {\n  \tthis.$element = $(element)\n    this.options = $.extend({}, $.fn.collapse.defaults, options)\n\n    if (this.options[\"parent\"]) {\n      this.$parent = $(this.options[\"parent\"])\n    }\n\n    this.options.toggle && this.toggle()\n  }\n\n  Collapse.prototype = {\n\n    constructor: Collapse\n\n  , dimension: function () {\n      var hasWidth = this.$element.hasClass('width')\n      return hasWidth ? 'width' : 'height'\n    }\n\n  , show: function () {\n      var dimension = this.dimension()\n        , scroll = $.camelCase(['scroll', dimension].join('-'))\n        , actives = this.$parent && this.$parent.find('.in')\n        , hasData\n\n      if (actives && actives.length) {\n        hasData = actives.data('collapse')\n        actives.collapse('hide')\n        hasData || actives.data('collapse', null)\n      }\n\n      this.$element[dimension](0)\n      this.transition('addClass', 'show', 'shown')\n      this.$element[dimension](this.$element[0][scroll])\n\n    }\n\n  , hide: function () {\n      var dimension = this.dimension()\n      this.reset(this.$element[dimension]())\n      this.transition('removeClass', 'hide', 'hidden')\n      this.$element[dimension](0)\n    }\n\n  , reset: function ( size ) {\n      var dimension = this.dimension()\n\n      this.$element\n        .removeClass('collapse')\n        [dimension](size || 'auto')\n        [0].offsetWidth\n\n      this.$element.addClass('collapse')\n    }\n\n  , transition: function ( method, startEvent, completeEvent ) {\n      var that = this\n        , complete = function () {\n            if (startEvent == 'show') that.reset()\n            that.$element.trigger(completeEvent)\n          }\n\n      this.$element\n        .trigger(startEvent)\n        [method]('in')\n\n      $.support.transition && this.$element.hasClass('collapse') ?\n        this.$element.one($.support.transition.end, complete) :\n        complete()\n  \t}\n\n  , toggle: function () {\n      this[this.$element.hasClass('in') ? 'hide' : 'show']()\n  \t}\n\n  }\n\n  /* COLLAPSIBLE PLUGIN DEFINITION\n  * ============================== */\n\n  $.fn.collapse = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('collapse')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('collapse', (data = new Collapse(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.collapse.defaults = {\n    toggle: true\n  }\n\n  $.fn.collapse.Constructor = Collapse\n\n\n /* COLLAPSIBLE DATA-API\n  * ==================== */\n\n  $(function () {\n    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {\n      var $this = $(this), href\n        , target = $this.attr('data-target')\n          || e.preventDefault()\n          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') //strip for ie7\n        , option = $(target).data('collapse') ? 'toggle' : $this.data()\n      $(target).collapse(option)\n    })\n  })\n\n}( window.jQuery )\n/* ============================================================\n * bootstrap-dropdown.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#dropdowns\n * ============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* DROPDOWN CLASS DEFINITION\n  * ========================= */\n\n  var toggle = '[data-toggle=\"dropdown\"]'\n    , Dropdown = function ( element ) {\n        var $el = $(element).on('click.dropdown.data-api', this.toggle)\n        $('html').on('click.dropdown.data-api', function () {\n          $el.parent().removeClass('open')\n        })\n      }\n\n  Dropdown.prototype = {\n\n    constructor: Dropdown\n\n  , toggle: function ( e ) {\n      var $this = $(this)\n        , selector = $this.attr('data-target')\n        , $parent\n        , isActive\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      $parent = $(selector)\n      $parent.length || ($parent = $this.parent())\n\n      isActive = $parent.hasClass('open')\n\n      clearMenus()\n      !isActive && $parent.toggleClass('open')\n\n      return false\n    }\n\n  }\n\n  function clearMenus() {\n    $(toggle).parent().removeClass('open')\n  }\n\n\n  /* DROPDOWN PLUGIN DEFINITION\n   * ========================== */\n\n  $.fn.dropdown = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('dropdown')\n      if (!data) $this.data('dropdown', (data = new Dropdown(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  $.fn.dropdown.Constructor = Dropdown\n\n\n  /* APPLY TO STANDARD DROPDOWN ELEMENTS\n   * =================================== */\n\n  $(function () {\n    $('html').on('click.dropdown.data-api', clearMenus)\n    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n  })\n\n}( window.jQuery )\n/* =========================================================\n * bootstrap-modal.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#modals\n * =========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================= */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* MODAL CLASS DEFINITION\n  * ====================== */\n\n  var Modal = function ( content, options ) {\n    this.options = $.extend({}, $.fn.modal.defaults, options)\n    this.$element = $(content)\n      .delegate('[data-dismiss=\"modal\"]', 'click.dismiss.modal', $.proxy(this.hide, this))\n  }\n\n  Modal.prototype = {\n\n      constructor: Modal\n\n    , toggle: function () {\n        return this[!this.isShown ? 'show' : 'hide']()\n      }\n\n    , show: function () {\n        var that = this\n\n        if (this.isShown) return\n\n        $('body').addClass('modal-open')\n\n        this.isShown = true\n        this.$element.trigger('show')\n\n        escape.call(this)\n        backdrop.call(this, function () {\n          var transition = $.support.transition && that.$element.hasClass('fade')\n\n          !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position\n\n          that.$element\n            .show()\n\n          if (transition) {\n            that.$element[0].offsetWidth // force reflow\n          }\n\n          that.$element.addClass('in')\n\n          transition ?\n            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :\n            that.$element.trigger('shown')\n\n        })\n      }\n\n    , hide: function ( e ) {\n        e && e.preventDefault()\n\n        if (!this.isShown) return\n\n        var that = this\n        this.isShown = false\n\n        $('body').removeClass('modal-open')\n\n        escape.call(this)\n\n        this.$element\n          .trigger('hide')\n          .removeClass('in')\n\n        $.support.transition && this.$element.hasClass('fade') ?\n          hideWithTransition.call(this) :\n          hideModal.call(this)\n      }\n\n  }\n\n\n /* MODAL PRIVATE METHODS\n  * ===================== */\n\n  function hideWithTransition() {\n    var that = this\n      , timeout = setTimeout(function () {\n          that.$element.off($.support.transition.end)\n          hideModal.call(that)\n        }, 500)\n\n    this.$element.one($.support.transition.end, function () {\n      clearTimeout(timeout)\n      hideModal.call(that)\n    })\n  }\n\n  function hideModal( that ) {\n    this.$element\n      .hide()\n      .trigger('hidden')\n\n    backdrop.call(this)\n  }\n\n  function backdrop( callback ) {\n    var that = this\n      , animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n    if (this.isShown && this.options.backdrop) {\n      var doAnimate = $.support.transition && animate\n\n      this.$backdrop = $('<div class=\"modal-backdrop ' + animate + '\" />')\n        .appendTo(document.body)\n\n      if (this.options.backdrop != 'static') {\n        this.$backdrop.click($.proxy(this.hide, this))\n      }\n\n      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n      this.$backdrop.addClass('in')\n\n      doAnimate ?\n        this.$backdrop.one($.support.transition.end, callback) :\n        callback()\n\n    } else if (!this.isShown && this.$backdrop) {\n      this.$backdrop.removeClass('in')\n\n      $.support.transition && this.$element.hasClass('fade')?\n        this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :\n        removeBackdrop.call(this)\n\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  function removeBackdrop() {\n    this.$backdrop.remove()\n    this.$backdrop = null\n  }\n\n  function escape() {\n    var that = this\n    if (this.isShown && this.options.keyboard) {\n      $(document).on('keyup.dismiss.modal', function ( e ) {\n        e.which == 27 && that.hide()\n      })\n    } else if (!this.isShown) {\n      $(document).off('keyup.dismiss.modal')\n    }\n  }\n\n\n /* MODAL PLUGIN DEFINITION\n  * ======================= */\n\n  $.fn.modal = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('modal')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('modal', (data = new Modal(this, options)))\n      if (typeof option == 'string') data[option]()\n      else data.show()\n    })\n  }\n\n  $.fn.modal.defaults = {\n      backdrop: true\n    , keyboard: true\n  }\n\n  $.fn.modal.Constructor = Modal\n\n\n /* MODAL DATA-API\n  * ============== */\n\n  $(function () {\n    $('body').on('click.modal.data-api', '[data-toggle=\"modal\"]', function ( e ) {\n      var $this = $(this), href\n        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n        , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())\n\n      e.preventDefault()\n      $target.modal(option)\n    })\n  })\n\n}( window.jQuery )\n/* ===========================================================\n * bootstrap-tooltip.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#tooltips\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ===========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n!function( $ ) {\n\n  \"use strict\"\n\n /* TOOLTIP PUBLIC CLASS DEFINITION\n  * =============================== */\n\n  var Tooltip = function ( element, options ) {\n    this.init('tooltip', element, options)\n  }\n\n  Tooltip.prototype = {\n\n    constructor: Tooltip\n\n  , init: function ( type, element, options ) {\n      var eventIn\n        , eventOut\n\n      this.type = type\n      this.$element = $(element)\n      this.options = this.getOptions(options)\n      this.enabled = true\n\n      if (this.options.trigger != 'manual') {\n        eventIn  = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'\n        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'\n        this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))\n        this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))\n      }\n\n      this.options.selector ?\n        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n        this.fixTitle()\n    }\n\n  , getOptions: function ( options ) {\n      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())\n\n      if (options.delay && typeof options.delay == 'number') {\n        options.delay = {\n          show: options.delay\n        , hide: options.delay\n        }\n      }\n\n      return options\n    }\n\n  , enter: function ( e ) {\n      var self = $(e.currentTarget)[this.type](this._options).data(this.type)\n\n      if (!self.options.delay || !self.options.delay.show) {\n        self.show()\n      } else {\n        self.hoverState = 'in'\n        setTimeout(function() {\n          if (self.hoverState == 'in') {\n            self.show()\n          }\n        }, self.options.delay.show)\n      }\n    }\n\n  , leave: function ( e ) {\n      var self = $(e.currentTarget)[this.type](this._options).data(this.type)\n\n      if (!self.options.delay || !self.options.delay.hide) {\n        self.hide()\n      } else {\n        self.hoverState = 'out'\n        setTimeout(function() {\n          if (self.hoverState == 'out') {\n            self.hide()\n          }\n        }, self.options.delay.hide)\n      }\n    }\n\n  , show: function () {\n      var $tip\n        , inside\n        , pos\n        , actualWidth\n        , actualHeight\n        , placement\n        , tp\n\n      if (this.hasContent() && this.enabled) {\n        $tip = this.tip()\n        this.setContent()\n\n        if (this.options.animation) {\n          $tip.addClass('fade')\n        }\n\n        placement = typeof this.options.placement == 'function' ?\n          this.options.placement.call(this, $tip[0], this.$element[0]) :\n          this.options.placement\n\n        inside = /in/.test(placement)\n\n        $tip\n          .remove()\n          .css({ top: 0, left: 0, display: 'block' })\n          .appendTo(inside ? this.$element : document.body)\n\n        pos = this.getPosition(inside)\n\n        actualWidth = $tip[0].offsetWidth\n        actualHeight = $tip[0].offsetHeight\n\n        switch (inside ? placement.split(' ')[1] : placement) {\n          case 'bottom':\n            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}\n            break\n          case 'top':\n            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}\n            break\n          case 'left':\n            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}\n            break\n          case 'right':\n            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}\n            break\n        }\n\n        $tip\n          .css(tp)\n          .addClass(placement)\n          .addClass('in')\n      }\n    }\n\n  , setContent: function () {\n      var $tip = this.tip()\n      $tip.find('.tooltip-inner').html(this.getTitle())\n      $tip.removeClass('fade in top bottom left right')\n    }\n\n  , hide: function () {\n      var that = this\n        , $tip = this.tip()\n\n      $tip.removeClass('in')\n\n      function removeWithAnimation() {\n        var timeout = setTimeout(function () {\n          $tip.off($.support.transition.end).remove()\n        }, 500)\n\n        $tip.one($.support.transition.end, function () {\n          clearTimeout(timeout)\n          $tip.remove()\n        })\n      }\n\n      $.support.transition && this.$tip.hasClass('fade') ?\n        removeWithAnimation() :\n        $tip.remove()\n    }\n\n  , fixTitle: function () {\n      var $e = this.$element\n      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {\n        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')\n      }\n    }\n\n  , hasContent: function () {\n      return this.getTitle()\n    }\n\n  , getPosition: function (inside) {\n      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {\n        width: this.$element[0].offsetWidth\n      , height: this.$element[0].offsetHeight\n      })\n    }\n\n  , getTitle: function () {\n      var title\n        , $e = this.$element\n        , o = this.options\n\n      title = $e.attr('data-original-title')\n        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)\n\n      title = title.toString().replace(/(^\\s*|\\s*$)/, \"\")\n\n      return title\n    }\n\n  , tip: function () {\n      return this.$tip = this.$tip || $(this.options.template)\n    }\n\n  , validate: function () {\n      if (!this.$element[0].parentNode) {\n        this.hide()\n        this.$element = null\n        this.options = null\n      }\n    }\n\n  , enable: function () {\n      this.enabled = true\n    }\n\n  , disable: function () {\n      this.enabled = false\n    }\n\n  , toggleEnabled: function () {\n      this.enabled = !this.enabled\n    }\n\n  , toggle: function () {\n      this[this.tip().hasClass('in') ? 'hide' : 'show']()\n    }\n\n  }\n\n\n /* TOOLTIP PLUGIN DEFINITION\n  * ========================= */\n\n  $.fn.tooltip = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('tooltip')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.tooltip.Constructor = Tooltip\n\n  $.fn.tooltip.defaults = {\n    animation: true\n  , delay: 0\n  , selector: false\n  , placement: 'top'\n  , trigger: 'hover'\n  , title: ''\n  , template: '<div class=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'\n  }\n\n}( window.jQuery )\n/* ===========================================================\n * bootstrap-popover.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#popovers\n * ===========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =========================================================== */\n\n\n!function( $ ) {\n\n \"use strict\"\n\n  var Popover = function ( element, options ) {\n    this.init('popover', element, options)\n  }\n\n  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js\n     ========================================== */\n\n  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {\n\n    constructor: Popover\n\n  , setContent: function () {\n      var $tip = this.tip()\n        , title = this.getTitle()\n        , content = this.getContent()\n\n      $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)\n      $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)\n\n      $tip.removeClass('fade top bottom left right in')\n    }\n\n  , hasContent: function () {\n      return this.getTitle() || this.getContent()\n    }\n\n  , getContent: function () {\n      var content\n        , $e = this.$element\n        , o = this.options\n\n      content = $e.attr('data-content')\n        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)\n\n      content = content.toString().replace(/(^\\s*|\\s*$)/, \"\")\n\n      return content\n    }\n\n  , tip: function() {\n      if (!this.$tip) {\n        this.$tip = $(this.options.template)\n      }\n      return this.$tip\n    }\n\n  })\n\n\n /* POPOVER PLUGIN DEFINITION\n  * ======================= */\n\n  $.fn.popover = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('popover')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('popover', (data = new Popover(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.popover.Constructor = Popover\n\n  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {\n    placement: 'right'\n  , content: ''\n  , template: '<div class=\"popover\"><div class=\"arrow\"></div><div class=\"popover-inner\"><h3 class=\"popover-title\"></h3><div class=\"popover-content\"><p></p></div></div></div>'\n  })\n\n}( window.jQuery )\n/* =============================================================\n * bootstrap-scrollspy.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#scrollspy\n * =============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================== */\n\n!function ( $ ) {\n\n  \"use strict\"\n\n  /* SCROLLSPY CLASS DEFINITION\n   * ========================== */\n\n  function ScrollSpy( element, options) {\n    var process = $.proxy(this.process, this)\n      , $element = $(element).is('body') ? $(window) : $(element)\n      , href\n    this.options = $.extend({}, $.fn.scrollspy.defaults, options)\n    this.$scrollElement = $element.on('scroll.scroll.data-api', process)\n    this.selector = (this.options.target\n      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n      || '') + ' .nav li > a'\n    this.$body = $('body').on('click.scroll.data-api', this.selector, process)\n    this.refresh()\n    this.process()\n  }\n\n  ScrollSpy.prototype = {\n\n      constructor: ScrollSpy\n\n    , refresh: function () {\n        this.targets = this.$body\n          .find(this.selector)\n          .map(function () {\n            var href = $(this).attr('href')\n            return /^#\\w/.test(href) && $(href).length ? href : null\n          })\n\n        this.offsets = $.map(this.targets, function (id) {\n          return $(id).position().top\n        })\n      }\n\n    , process: function () {\n        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n          , offsets = this.offsets\n          , targets = this.targets\n          , activeTarget = this.activeTarget\n          , i\n\n        for (i = offsets.length; i--;) {\n          activeTarget != targets[i]\n            && scrollTop >= offsets[i]\n            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n            && this.activate( targets[i] )\n        }\n      }\n\n    , activate: function (target) {\n        var active\n\n        this.activeTarget = target\n\n        this.$body\n          .find(this.selector).parent('.active')\n          .removeClass('active')\n\n        active = this.$body\n          .find(this.selector + '[href=\"' + target + '\"]')\n          .parent('li')\n          .addClass('active')\n\n        if ( active.parent('.dropdown-menu') )  {\n          active.closest('li.dropdown').addClass('active')\n        }\n      }\n\n  }\n\n\n /* SCROLLSPY PLUGIN DEFINITION\n  * =========================== */\n\n  $.fn.scrollspy = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('scrollspy')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.scrollspy.Constructor = ScrollSpy\n\n  $.fn.scrollspy.defaults = {\n    offset: 10\n  }\n\n\n /* SCROLLSPY DATA-API\n  * ================== */\n\n  $(function () {\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = $(this)\n      $spy.scrollspy($spy.data())\n    })\n  })\n\n}( window.jQuery )\n/* ========================================================\n * bootstrap-tab.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#tabs\n * ========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================== */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* TAB CLASS DEFINITION\n  * ==================== */\n\n  var Tab = function ( element ) {\n    this.element = $(element)\n  }\n\n  Tab.prototype = {\n\n    constructor: Tab\n\n  , show: function () {\n      var $this = this.element\n        , $ul = $this.closest('ul:not(.dropdown-menu)')\n        , selector = $this.attr('data-target')\n        , previous\n        , $target\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      if ( $this.parent('li').hasClass('active') ) return\n\n      previous = $ul.find('.active a').last()[0]\n\n      $this.trigger({\n        type: 'show'\n      , relatedTarget: previous\n      })\n\n      $target = $(selector)\n\n      this.activate($this.parent('li'), $ul)\n      this.activate($target, $target.parent(), function () {\n        $this.trigger({\n          type: 'shown'\n        , relatedTarget: previous\n        })\n      })\n    }\n\n  , activate: function ( element, container, callback) {\n      var $active = container.find('> .active')\n        , transition = callback\n            && $.support.transition\n            && $active.hasClass('fade')\n\n      function next() {\n        $active\n          .removeClass('active')\n          .find('> .dropdown-menu > .active')\n          .removeClass('active')\n\n        element.addClass('active')\n\n        if (transition) {\n          element[0].offsetWidth // reflow for transition\n          element.addClass('in')\n        } else {\n          element.removeClass('fade')\n        }\n\n        if ( element.parent('.dropdown-menu') ) {\n          element.closest('li.dropdown').addClass('active')\n        }\n\n        callback && callback()\n      }\n\n      transition ?\n        $active.one($.support.transition.end, next) :\n        next()\n\n      $active.removeClass('in')\n    }\n  }\n\n\n /* TAB PLUGIN DEFINITION\n  * ===================== */\n\n  $.fn.tab = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('tab')\n      if (!data) $this.data('tab', (data = new Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.tab.Constructor = Tab\n\n\n /* TAB DATA-API\n  * ============ */\n\n  $(function () {\n    $('body').on('click.tab.data-api', '[data-toggle=\"tab\"], [data-toggle=\"pill\"]', function (e) {\n      e.preventDefault()\n      $(this).tab('show')\n    })\n  })\n\n}( window.jQuery )\n/* =============================================================\n * bootstrap-typeahead.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#typeahead\n * =============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n!function( $ ){\n\n  \"use strict\"\n\n  var Typeahead = function ( element, options ) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.typeahead.defaults, options)\n    this.matcher = this.options.matcher || this.matcher\n    this.sorter = this.options.sorter || this.sorter\n    this.highlighter = this.options.highlighter || this.highlighter\n    this.$menu = $(this.options.menu).appendTo('body')\n    this.source = this.options.source\n    this.shown = false\n    this.listen()\n  }\n\n  Typeahead.prototype = {\n\n    constructor: Typeahead\n\n  , select: function () {\n      var val = this.$menu.find('.active').attr('data-value')\n      this.$element.val(val)\n      return this.hide()\n    }\n\n  , show: function () {\n      var pos = $.extend({}, this.$element.offset(), {\n        height: this.$element[0].offsetHeight\n      })\n\n      this.$menu.css({\n        top: pos.top + pos.height\n      , left: pos.left\n      })\n\n      this.$menu.show()\n      this.shown = true\n      return this\n    }\n\n  , hide: function () {\n      this.$menu.hide()\n      this.shown = false\n      return this\n    }\n\n  , lookup: function (event) {\n      var that = this\n        , items\n        , q\n\n      this.query = this.$element.val()\n\n      if (!this.query) {\n        return this.shown ? this.hide() : this\n      }\n\n      items = $.grep(this.source, function (item) {\n        if (that.matcher(item)) return item\n      })\n\n      items = this.sorter(items)\n\n      if (!items.length) {\n        return this.shown ? this.hide() : this\n      }\n\n      return this.render(items.slice(0, this.options.items)).show()\n    }\n\n  , matcher: function (item) {\n      return ~item.toLowerCase().indexOf(this.query.toLowerCase())\n    }\n\n  , sorter: function (items) {\n      var beginswith = []\n        , caseSensitive = []\n        , caseInsensitive = []\n        , item\n\n      while (item = items.shift()) {\n        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)\n        else if (~item.indexOf(this.query)) caseSensitive.push(item)\n        else caseInsensitive.push(item)\n      }\n\n      return beginswith.concat(caseSensitive, caseInsensitive)\n    }\n\n  , highlighter: function (item) {\n      return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {\n        return '<strong>' + match + '</strong>'\n      })\n    }\n\n  , render: function (items) {\n      var that = this\n\n      items = $(items).map(function (i, item) {\n        i = $(that.options.item).attr('data-value', item)\n        i.find('a').html(that.highlighter(item))\n        return i[0]\n      })\n\n      items.first().addClass('active')\n      this.$menu.html(items)\n      return this\n    }\n\n  , next: function (event) {\n      var active = this.$menu.find('.active').removeClass('active')\n        , next = active.next()\n\n      if (!next.length) {\n        next = $(this.$menu.find('li')[0])\n      }\n\n      next.addClass('active')\n    }\n\n  , prev: function (event) {\n      var active = this.$menu.find('.active').removeClass('active')\n        , prev = active.prev()\n\n      if (!prev.length) {\n        prev = this.$menu.find('li').last()\n      }\n\n      prev.addClass('active')\n    }\n\n  , listen: function () {\n      this.$element\n        .on('blur',     $.proxy(this.blur, this))\n        .on('keypress', $.proxy(this.keypress, this))\n        .on('keyup',    $.proxy(this.keyup, this))\n\n      if ($.browser.webkit || $.browser.msie) {\n        this.$element.on('keydown', $.proxy(this.keypress, this))\n      }\n\n      this.$menu\n        .on('click', $.proxy(this.click, this))\n        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))\n    }\n\n  , keyup: function (e) {\n      e.stopPropagation()\n      e.preventDefault()\n\n      switch(e.keyCode) {\n        case 40: // down arrow\n        case 38: // up arrow\n          break\n\n        case 9: // tab\n        case 13: // enter\n          if (!this.shown) return\n          this.select()\n          break\n\n        case 27: // escape\n          this.hide()\n          break\n\n        default:\n          this.lookup()\n      }\n\n  }\n\n  , keypress: function (e) {\n      e.stopPropagation()\n      if (!this.shown) return\n\n      switch(e.keyCode) {\n        case 9: // tab\n        case 13: // enter\n        case 27: // escape\n          e.preventDefault()\n          break\n\n        case 38: // up arrow\n          e.preventDefault()\n          this.prev()\n          break\n\n        case 40: // down arrow\n          e.preventDefault()\n          this.next()\n          break\n      }\n    }\n\n  , blur: function (e) {\n      var that = this\n      e.stopPropagation()\n      e.preventDefault()\n      setTimeout(function () { that.hide() }, 150)\n    }\n\n  , click: function (e) {\n      e.stopPropagation()\n      e.preventDefault()\n      this.select()\n    }\n\n  , mouseenter: function (e) {\n      this.$menu.find('.active').removeClass('active')\n      $(e.currentTarget).addClass('active')\n    }\n\n  }\n\n\n  /* TYPEAHEAD PLUGIN DEFINITION\n   * =========================== */\n\n  $.fn.typeahead = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('typeahead')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.typeahead.defaults = {\n    source: []\n  , items: 8\n  , menu: '<ul class=\"typeahead dropdown-menu\"></ul>'\n  , item: '<li><a href=\"#\"></a></li>'\n  }\n\n  $.fn.typeahead.Constructor = Typeahead\n\n\n /* TYPEAHEAD DATA-API\n  * ================== */\n\n  $(function () {\n    $('body').on('focus.typeahead.data-api', '[data-provide=\"typeahead\"]', function (e) {\n      var $this = $(this)\n      if ($this.data('typeahead')) return\n      e.preventDefault()\n      $this.typeahead($this.data())\n    })\n  })\n\n}( window.jQuery )\n"
  },
  {
    "path": "dist/asset/docs/js/jqplot/MIT-LICENSE.txt",
    "content": "Title: MIT License\n\nCopyright (c) 2009-2013 Chris Leonello\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE.\n"
  },
  {
    "path": "dist/asset/docs/js/jqplot/README.txt",
    "content": "Title: jqPlot Readme\n\nPure JavaScript plotting plugin for jQuery.\n\nTo learn how to use jqPlot, start with the Basic Usage Instructions below.  Then read the\nusage.txt and jqPlotOptions.txt files included with the distribution.\n\nThe jqPlot home page is at <http://www.jqplot.com/>.\n\nDownloads can be found at <http://bitbucket.org/cleonello/jqplot/downloads/>.\n\nThe mailing list is at <http://groups.google.com/group/jqplot-users>.\n\nExamples and unit tests are at <http://www.jqplot.com/tests/>.\n\nDocumentation is at <http://www.jqplot.com/docs/>.\n\nThe project page and source code are at <http://www.bitbucket.org/cleonello/jqplot/>.\n\nBugs, issues, feature requests: <http://www.bitbucket.org/cleonello/jqplot/issues/>.\n\nBasic Usage Instructions:\n\njqPlot requires jQuery (1.4+ required for certain features). jQuery 1.9.1 is included in \nthe distribution.  To use jqPlot include jQuery, the jqPlot jQuery plugin, the jqPlot css file and \noptionally the excanvas script to support IE version prior to IE 9 in your web page:\n\n> <!--[if lt IE 9]><script language=\"javascript\" type=\"text/javascript\" src=\"excanvas.js\"></script><![endif]-->\n> <script language=\"javascript\" type=\"text/javascript\" src=\"jquery-1.4.4.min.js\"></script>\n> <script language=\"javascript\" type=\"text/javascript\" src=\"jquery.jqplot.min.js\"></script>\n> <link rel=\"stylesheet\" type=\"text/css\" href=\"jquery.jqplot.css\" />\n\nFor usage instructions, see <jqPlot Usage> in usage.txt.  For available options, see\n<jqPlot Options> in jqPlotOptions.txt.\n\nBuilding from source:\n\nIf you've cloned the repository, you can build a distribution from source.\nYou need to have ant <http://ant.apache.org> installed.  You can simply \ntype \"ant\" from the jqplot directory to build the default \"all\" target.  \nThere are 6 pertinent targets: clean, dist, min, docs, compress and all.  Use:\n\n> ant -p\n\nto get a description of the various build targets. \n\nLegal Notices:\n\nCopyright (c) 2009-2013 Chris Leonello\njqPlot is currently available for use in all personal or commercial projects \nunder both the MIT and GPL version 2.0 licenses. This means that you can \nchoose the license that best suits your project and use it accordingly. \n\nAlthough not required, the author would appreciate an email letting him \nknow of any substantial use of jqPlot.  You can reach the author at: \nchris at jqplot  or see http://www.jqplot.com/info.php .\n\nIf you are feeling kind and generous, consider supporting the project by\nmaking a donation at: http://www.jqplot.com/donate.php .\n\njqPlot includes date instance methods and printf/sprintf functions by other authors:\n\nDate instance methods:\n\n    author Ken Snyder (ken d snyder at gmail dot com)\n    date 2008-09-10\n    version 2.0.2 (http://kendsnyder.com/sandbox/date/)     \n    license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)\n\nJavaScript printf/sprintf functions.\n\n    version 2007.04.27\n    author Ash Searle\n    http://hexmen.com/blog/2007/03/printf-sprintf/\n    http://hexmen.com/js/sprintf.js\n    The author (Ash Searle) has placed this code in the public domain:\n    \"This code is unrestricted: you are free to use it however you like.\"\n"
  },
  {
    "path": "dist/asset/docs/js/jqplot/changes.txt",
    "content": "Title: Change Log\n\n1.0.8:\n* Issue #375: sortMergedLabels does not sort string labels\n* Issue #279: Groups > 3 Causes Alignment Issues\n* Issue #439: IE can't display a customized legend in Quirks mode\n* Issue #482: \"Undefined\" error message when plotting a chart with no data\n* Issue #116: Don't mix spaces and tabs for indentation\n* Issue #564: Metergauge renderer not resizable when replotting\n* Issue #409: MeterGaugeRenderer replot/redraw offsets center\n* Issue #523: Adding rectangles to Canvas Overlay plugin\n* Issue #756: jqplot.min files contain non-UTF-8 characters\n* Issue #223: fillToZero does not color negative values when crossover point is 0\n* Pull Request #23: Adding rectangles to Canvas Overlay plugin\n* Pull Request #28: Cross-over points of 0 will actually change colors \n* Pull Request #35: Don't highlight hidden bars or show tooltips for them \n* Pull Request #41: Add dutch(nl) and svenska(sv) translations for dates\n* Add tooltip support for Pie Charts\n* Update to latest YUI compressor\n\n1.0.7:\n* Issue #726: Bug in sprintf %p, sometimes it outputs exponential form rather than decimal\n* Issue #717: Plot's preDrawHooks not called\n* Issue #707: Browser hangs with LogAxisRenderer when value is 0\n* Issue #695: Horizontal Bar Chart Negative Series Colors Not Working\n* Issue #670: Examples IE7, IE8 and IE9 multipleBarColors.html failure and fix\n* Issue #636: X Axis Date Renderer Single Day Not plotting\n* Issue #607: Integration issue\n* Issue #571: Decimal numbers not properly formatted\n* Issue #552: jqPlot crashes when interval too small\n* Issue #536: DateAxisRenderer invalid scaling\n* Issue #534: \"decimalMark\" in the \"jqplot.sprintf.js\"\n* Issue #529: Scientific notation on label values ending in 0\n* Issue #521: invalid JS in meterGaugeRenderer.js\n* Issue #516: Including BezierCurveRenderer plugin and initializing jqplot with no options give error\n* Issue #500: DateAxisRenderer has timezone related issues\n* Issue #452: Including ALL jqPlot plugins causes an Error\n* Issue #494: No point when use LogAxisRenderer and a point has a zero value\n* Issue #430: getIsoWeek: invalid method call\n* Issue #280: jqplot Options\n* Issue #179: Spelling/grammar\n* Pull Request #18: Implement getTop in CanvasAxisTickRenderer\n* Pull Request #21: Performance issue when drawing pointlabels with zeros/null values\n* Pull Request #24: Added suggested fix in comment #8 for issue #536\n* Pull Request #29: Removed unbalanced addition of UTC offset\n* Pull Request #33: Documentation fixes (issue #179, other changes)\n* Pull Request #34: Start of updating jqPlotOptions.txt\n* Pull Request #37: Example and suggested fix for issues #552 and issue #536\n* Pull Request #39: Fixed trailing comma which caused issues with IE7\n\n1.0.6:\n* Add left sidebar navigation to examples\n* Update examples for jquery 1.9.1 and jquery ui 1.10.0\n* Add colorpicker.js to distribution\n* Fix some problems with examples when viewing with local file system\n* Add \"minified\" copyright notice for minified files, similar to jquery's notice.\n* Pull Request #25: jqplot.sprintf.js is no longer the last file in the concatenated jquery.jqplot.js\n* Pull Request #17: Fixed bug causing custom pointLabels passed with plot data to be ignored for horizontal bar graphs.\n* Pull Request #10: Build error by invalid encoding.\n* Issue #714: handle tickColor in meterGaugeRenderer\n* Issue #519: jsDate Polish Localization\n\n1.0.5:\n* Updated to jQuery 1.9\n\n1.0.0b2:\n* Major improvements in memory usage:\n** Merged in changes from Timo Besenruether to reuse canvas elements and improve \n   memory performance.\n** Fixed all identifiable DOM leaks.\n** Mergged in changes from cguillot for memory improvements in IE < 9.\n* Added vertical and dashed vertical line support for canvas overlay.\n* Fixed bug where initially hidden plots would not display.\n* Fixed bug with point labels and null data points.\n* Updated to jQuery 1.6.1.\n* Improved pie slice margin calculation and fixed slice margin and pie positioning \n  with small slices.\n* Improved bar renderer so bars always start at 0 if:\n** The axis is a linear axis (not log/date).\n** There are no other line types besides bars attached to the axis.\n** The data on the axis is all >= 0.\n** The user has not specified a pad, padMin or forceTickAt0 = true option.\n* Modified tick prefix behavious so prefix no added to all ticks, even if format \n  string is specified.\n* Fix to ensure original tick formats are applied when zooming and resetting \n  zoom.\n* Updated auto tick format string so format adjusted when zooming.\n* Modified auto tick computation to put less ticks on small plots and more\n  ticks on large plots.\n* Update bubble render to support gradients in IE 9.\n\n1.0.0b1:\n* Much improved tick generation algorithm to get precise rounded \n  tick values (Thanks Scott Prahl!).\n* Auto compute tick format string if none is provided.\n* Much better \"slicing\" of pie charts when using \"sliceMargin\" option to set\n  a gap between the slices.\n* Expanded canvasOverlay plugin to create arbitrary dashed and solid \n  horizontal and vertical lines on top of plot.\n* Added defaultColors and defaultNegativeColors options to $.jqplot.config.\n* Fixed issue #318, highlighter & bar renderer incompatability.\n* Improve highlighter tooltip positioning with negative bars.\n* Fixed #305, mispelling of jqlotDragStart and jqlotDragStop.  MUST NOW BIND\n  TO jqplotDragStart and jqplotDragStop.\n* Fixed #290, some variables left in global scope.\n* Fixed #289, OHLC line widths hard coded at 1.5. Now set by lineWidth option.\n* Fixed #296 for determining databounds on log axes.\n* Updated to jQuery 1.5.1\n* Fixed waterfall plot to ensure first and last bars always fill to zero.\n* Added lineJoin and lineCap option to series lines.\n* Bar widths now based on width of grid, not plot target for better scaling.\n* Added looseZoom option to cursor so zooming can produce well rounded ticks.\n* Added forceTickAt0 and forceTickAt100 options to ensure there will always\n  be a tick at 0 or 100 in the plot.\n* Fixed bug where cursor legend didn't honor series showLabel option.\n\n\n1.0.0a:\n\n* Series can now be moved forward or backward in stack to e.g. bring a line\n  forward when mousing over a point.\n* Can now move outside of grid area while zooming.  Can have zoom\n  constrained to grid area or allow zooming outside.\n* Fixed issue #142 with tooltip drawn on top of event canvas, hiding\n  mouse events.\n* Fixed #147 where pie slices with 0 value not rendering properly in IE.\n* Fixed #130 where stack data not sorted properly.\n* Fixed bug with null values not handled properly in category axes.\n* Fixed #156 where pie charts not rendering on QTWebKit.\n* Now using feature detection for canvas and canvas text capability\n  rather than browser version.\n* Added enahncedLegendRenderer plugin to allow multi row/column legends\n  and clickable labels to show/hide series.\n* Added fillToValue option to allow filled line plot to fill to an\n  arbitrary value.\n* Added block plot plugin.\n* Added funnel type charts.\n* Added meter gauge type charts.\n* Added plot theming support.\n* $.jqplot.config.enablePlugins now false by default.\n* Implemented highlighting on bar, pie, donut, funnel, etc. charts.\n* Fix to pointlabels plugin to align labels properly on multi series plots.\n* Added custom error handling to display error message in plot area.\n* Fixed issue where would call to draw grid border of 0 width would\n  result in a default border being drawn.\n* Added options to place legend outside of grid and shrink grid so everything\n  stays within plot div.\n* Fixed bug in color generator so now calls to get() continually cycle\n  through colors just like next().\n* Added defaultAxisStart option.\n* Added gradient fills to bubbles.\n* Added bubble charts.\n* Added showLabels option to bubble charts.\n* Pass bubble radius to event callback in bubble charts.\n* Fixed #207, typo in docs.\n* Fixed #206 where \"value\" pie slice data labels were displaying wrong\n  value.\n* Fixed #147 with 0 value slices in IE6.\n* Fixed issue #241, disabled varyBarColor option in stacked charts.\n* Added dataRenderer option to allow custom processors for JSON, AJAX\n  and anywhere else you might want to get data.\n* Fixed null value handling so plot now properly skip or join over nulls.\n* Fixed showTicks and showTickMarks option conflicts.\n* Fixed issue #185 where pointLabels plugin incompatibility could crash\n  pie, donut and other plots.\n* Fixed #23 and #143 to obey gridPadding option.\n* Fixed #233 with highlighter tooltip separator.\n* Fixed #224 where type checking failing on GWT.\n* Fixed #272 with pie highlighting not working on replot.\n* Memory performance improvements.\n* Changes to build script so everything should build when pulled from repo.\n* Fixed issue #275, IE 6/7 don't support array indexing of strings.\n* Added event listener hooks for mouseUp, mouseDown, etc. to all line plots.\n* Fixed bug with highlighter not working when null in data.\n* Updated to jQuery 1.4.4\n* Fixed bug where donut plots showed value of radians of slice instead\n  of actual data.\n* Reverted to excanvas r3 so IE8 no longer has to emulate IE7.\n* Added tooltipContentEditor option to highlighter, allowing callback\n  to manipulate tooltip content at run time (thanks Tim Bunce!).\n* Fixed bug where axes scale not resetting.\n* Fixed bug with date axes where data bounds not properly set.\n* Fixed issue where tick marks disappear if grid lines turned off.\n* Updated replot method to allow passing in axes options for more control.\n* Added experimental support for \"broken\" axes.\n* Fixed bug with pies where pies with 0 valued slices did not draw correctly.\n* Added canvasOverlay plugin to allow drawing of arbitrary shapes on a canvas\n  over the plot.\n* Added option to display arbitrary text/html (message, animated gif, etc.) if\n  plot is constructed without data.  Allow a \"data loading\" indicator to be shown.\n* Added resetAxisValues method to manually update axis ticks without\n  redrawing the plot.\n* Fix to labels on negative bars so label postiion of 'n' will be below a negative bar,\n  just as it is above a positive bar (thanks guigod!).\n* Added thousands separator character (') to sprintf formatting (thanks yuichi1004!).\n* Re-factored date parsing/formatting to use new jsDate module which does not\n  extend the Date prototype.\n\n\n0.9.7:\n\n* Added Mekko chart plot type with enhanced legend and axes support.\n* Implemented vertical waterfall charts.  Can create waterfall plot as\n  option to bar chart.  See examples folder of distribution.\n* Enhanced plot labels for waterfall style.\n* Enhanced bar plots so you can now color each bar of a series \n  independently with the \"varyBarColor\" option.\n* Re-factored series drawing so that each series and series shadow drawn\n  on its own canvas.  Allows series to be redrawn independently of each other.\n* Added additional default series colors.\n* Added useNegativeColors option to turn off negative color array and use \n  only seriesColors array to define all bar/filled line colors.\n* Fix css for cursor legend.\n* Modified shape renderer so rectangles can be stroked and filled.\n* Re-factored date methods out of dateAxisRenderer so that date formatter \n  and methods can be accesses outside of dateAxisRenderer plugin.\n* Fixed #132, now trigger series change event on plot target instead of drag canvas.\n* Fixes issue #116 where some source files had mix of tabs and spaces \n  for indentation.  Should have been all spaces.\n* Fixed issue #126, some links broken in docs section of web site.\n* Fixed issue #90, trendline plugin incompatibility with pie renderer.\n* Updated samples in examples folder of distribution to include navigation \n  links if web server is set up to process .html files with php.\n\n\n0.9.6:\n\n* New, easier to use, replot() method for placing plots in tabs, accordions,\n  resizable containers or for changing plot parameters programmatically.\n* Updated legend renderer for pie charts to draw swatches which will\n  print correctly.\n* Fixed issue #118 with patch from taum so autoscale option will\n  honor tickInterval and numberTicks options\n* Fix to plot diameter calculation for initially hidden plots.\n* Added examples for making plots in jQuery UI tabs and accordions.\n* Fixed issue #120 where pie chart with single slice not displaying\n  correctly in IE and Chrome\n\n\n0.9.5.2:\n\n* Fixed #102 where double clicking on plot that has zoom enabled, but\n  has not been zoomed resulted in error.\n* Fixed bug where candlestick coloring options not working.\n* Added option to turn individual series labels off in the legend.\n\n\n0.9.5.1:\n\n* Fixed bug where tooltip not working with OHLC and candlestick charts.\n* Added additional marker styles: plus, X and dash.\n\n\n0.9.5:\n\n* Implemented \"zoomProxy\".  zoomProxy allows zooming one plot from another \n  such as an overview plot.\n* Zooming can now be constrained to just x or y axis.\n* Enhanced cursor plugin with vertical \"dataTracking\" line.  This is a line\n  at the cursor location with a readout of data points at the line location\n  which are displayed in the chart legend.\n* Changed cursor tooltip format string.  Now one format string is used for\n  entire tooltip.\n* Added mechanisms to specify plot size when plot target is hidden or plot\n  height/width otherwise cannot be determined from markup.\n* Added $.jqplot.config object to specify jqplot wide configuration options.\n  These include enablePlugins to globally set the default plugin state on/off\n  and defaultHeight/defaultWidth to specify default plot height/width.\n* Added fillToZero option which forces filled charts to fill to zero as opposed\n  to axis minimum.  Thus negative filled bar/line values will fill upwards to\n  zero axis value.\n* Added option to disable stacking on individual lines.\n* Changed targetId property of the plot object so it now includes a \"#\" before\n  the id string.\n* Improved tick and body sizing of Open Hi Low Close and candlestick charts.\n* Removed lots of web site related files from the repository.  This means that,\n  if working from the sources, user's won't be able to build the jqplot web\n  site and the docs/tests that are hosted on that site.  The minified and\n  compressed  distribution packages will build fine.\n* Lots of examples were added to a separate examples directory to better show\n  functionality of jqPlot for local testing with the distribution.\n* Many various bug fixes and other minor enhancements.\n\n\n0.9.4:\n\n* Implemented axis labels.  Labels can be rendered in div tags or as canvas \n  elements supporting rotated text.\n* Improved rotated axis label positioning so labels will start or end at a\n  tick position.\n* Fixed bug where an empty data series would hang plot rendering.\n* completed issue #66 for misc. improvements to documentation.\n* Fixed issue #64 where the same ID's were assigned to cursor and highlighter\n  elements.\n* Added option to legend to encode special HTML characters.\n* Fixed undesirable behavior where point labels for points off the plot\n  were being rendered.\n* Added edgeTolerance option to point label renderer to control rendering of \n  labels near plot edges.\n\n\n0.9.3:\n\n* Preliminary support for axis labels.  Currently rendered into DIV tags,\n  so no rotated label support.  This feature is currently experimental.\n* Fixed bug #52, needed space in tick div tag between style and class declarations \n  or plot failed in certain application doctypes.\n* Fixed issue #54, miter style line join for chart lines causing spikes at steep \n  changes in slope.  Changed miter style to round.\n* Added examples for new autoscaling algorithm.\n* Fixed bug #57, category axis labels disappear on redraw()\n* Improved algorithm which controlled maximum number of labels that would display\n  on a category axis.\n* Fixed bug #45 where null values causing errors in plotData and gridData.\n* Fixed issue #60 where seriesColors option was not working.\n\n\n0.9.2:\n\n* Fixed bug #45 where a plot could crash if series had different numbers of points.\n* Fixed issue #50, added option to turn off sorting of series data. \n* Fixed issue #31, implemented a better axis autoscaling algorithm and added an autoscale option.\n\n0.9.1:\n\n* Fixed bug #40, when axis pad, padMax, padMin set to 0, graph would fail to render.\n* Fixed bug #41 where pie and bar charts not rendered correctly on redraw().\n* Fixed bug #11, filled stacked line plots not rendering correctly in IE.\n* Fixed bug #42 where stacked charts not rendering with string date axis ticks.\n* Fixed bug in redraw() method where axes ticks were not reset.\n* Fixed \"jqplotPreRedrawEvent\" that should have been named \"jqplotPostRedraw\" event.\n\n0.9.0:\n\n* Added Open Hi Low Close charts, Candlestick charts and Hi Low Close charts.\n* Added support for arbitrary labels on the data points.\n* Enhanced highlighter plugin to allow custom formatting control of entire tooltip.\n* Enhanced highlighter to support multiple y values in a data point.\n* Fixed bug #38 where series with a single point with a negative value would fail.\n* Improvements to examples to show what plugins to include.\n* Expanded documentation for some of the plugins.\n\n0.8.5:\n\n* Added zooming ability with double click or single click options to reset zoom.\n* Modified default tick spacing algorithm for date axes to give more space to ticks.\n* Fixed bug #2 where tickInterval wasn't working properly.\n* Added neighborThreshold option to control how close mouse must be to \n  point to trigger neighbor detection.\n* Added double click event handler on plot.\n\n0.8.0:\n\n* Support for up to 9 y axes.\n* Added option to control padding at max/min bounds of axes separately.\n* Closed issue #21, added options to control grid line color and width.\n* Closed issue #20, added options to filled line charts to stoke above \n  fill and customize fill color and transparency.\n* Improved structure of on line documentation to make usage and options \n  docs default.\n* Added much documentation on options and css styling.\n\n0.7.1:\n\n* Bug fix release\n* Fixed bug #6, missing semi-colons messing up some javascript compressors.\n* Fixed bug #13 where 2D ticks array of [values, labels] would fail to \n  renderer with DateAxisRenderer.\n* Fixes bug #16 where pie renderer overwriting options for all plot types \n  and crashing non pie plots.\n* Fixes bug #17 constrainTo dragable option mispelled as \"contstrainTo\".  \n  Fixed dragable color issue when used with trend lines.\n\n0.7.0:\n\n* Pie chart support\n* Enabled tooltipLocation option in highlighter. \n* Highlighter Tooltip will account for mark size and highlight size when \n  positioning itself. \n* Added ability to show just x, y or both axes in highlighter tooltip.\n* Added customization of separator between axes values in highlighter tooltip.\n* Modified how shadows are drawn for lines, bars and markers.  Now drawn first, \n  so they are always behind the object.\n* Adjustments to shadow parameters on lines to account for new shadow positioning.\n* Added a ColorGenerator class to robustly return next available color \n  for a plot with wrap around to first color at end.\n* Udates to docs about css file.\n* Fixed bug with String x values in series and IE error on sorting (Category Axis).\n* Added cursor changes in dragable plugin when cursor near dragable point.\n\n0.6.6b:\n\n* Added excanvas.js and excanvas.min.js to compressed distributions.\n* Added example/test html pages I had locally into repository and to \n  compressed distributions.\n\n0.6.6a:\n\n* Removed absolute positioning from dom element and put back into css file.\n* Duplicate of 0.6.6 with a suffix to unambiguously differentiate between \n  previously posted 0.6.6 release.\n\n0.6.6:\n\n* Fixed bug #5, trend line plugin failing when no trend line options specified.\n* Added absolute position css spec to axis tick dom element.\n* Enhancement to category axes, more intuitive handling of series with \n  missing data values.\n\n0.6.5:\n\n* Fixed bug #4, series of unequal data length not rendering correctly.  \n  This is a bugfix release only.\n\n0.6.4:\n\n* Fixed bug (issue #1 in tracker) where flat line data series (all x and/or y \n  values are euqal) or single value data series would crash.\n\n0.6.3:\n\n* Support for stacked line (a.k.a. area) and stacked bar (horizontal and \n  vertical) charts.\n* Refactored barRenderer to use default shape and shadow renderers.\n* Added info (contacts & support information) page to web site.\n\n0.6.2:\n\n* This is a minor upgrade to docs and build only.  No functionality has changed.\n* Ant build script generates entire site, examples, tests and distribution.\n* Improvements to documentation.\n\n0.6.1:\n\n* New sprintf implementation from Ash Searle that implements %g.\n* Fix to sprintf e/f formats.\n* Created new format specifier, %p and %P to preserve significance.\n* Modified p/P format to better display larger numbers.\n* Fixed and simplified significant digits calculation for sprintf.\n* Added option to have cursor tooltip follow the mouse or not.\n* Added options to change size of highlight.\n* Updates to handle dates like '6-May-09'.\n* Mods to improve look of web site.\n* Updates to documentation.\n* Added license and copyright statement to source files.\n\n0.6.0:\n\n* Added rotated text support.  Uses native canvas text functionality in \n  browsers that support it or draws text on canvas with Hershey font\n* metrics for non-supporting browsers.\n* Removed lots of lint in js code.\n* Moved tick css from js code into css file.\n* Fix to tick positioning css.  y axis ticks were positioned to wrong side of axis div.\n* Re-factored axis tick renderer instantiation into the axes renderers themselves.\n\n\nFor changes prior to 0.6.0 release, please see change log at http://bitbucket.org/cleonello/jqplot/changesets/\n"
  },
  {
    "path": "dist/asset/docs/js/jqplot/copyright.txt",
    "content": "/**\n * jqPlot\n * Pure JavaScript plotting plugin using jQuery\n *\n * Version: @VERSION\n *\n * Copyright (c) 2009-2013 Chris Leonello\n * jqPlot is currently available for use in all personal or commercial projects \n * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL \n * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can \n * choose the license that best suits your project and use it accordingly. \n *\n * Although not required, the author would appreciate an email letting him \n * know of any substantial use of jqPlot.  You can reach the author at: \n * chris at jqplot dot com or see http://www.jqplot.com/info.php .\n *\n * If you are feeling kind and generous, consider supporting the project by\n * making a donation at: http://www.jqplot.com/donate.php .\n *\n * sprintf functions contained in jqplot.sprintf.js by Ash Searle:\n *\n *     version 2007.04.27\n *     author Ash Searle\n *     http://hexmen.com/blog/2007/03/printf-sprintf/\n *     http://hexmen.com/js/sprintf.js\n *     The author (Ash Searle) has placed this code in the public domain:\n *     \"This code is unrestricted: you are free to use it however you like.\"\n *\n * included jsDate library by Chris Leonello:\n *\n * Copyright (c) 2010-2013 Chris Leonello\n *\n * jsDate is currently available for use in all personal or commercial projects \n * under both the MIT and GPL version 2.0 licenses. This means that you can \n * choose the license that best suits your project and use it accordingly.\n *\n * jsDate borrows many concepts and ideas from the Date Instance \n * Methods by Ken Snyder along with some parts of Ken's actual code.\n * \n * Ken's origianl Date Instance Methods and copyright notice:\n * \n * Ken Snyder (ken d snyder at gmail dot com)\n * 2008-09-10\n * version 2.0.2 (http://kendsnyder.com/sandbox/date/)     \n * Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)\n *\n * jqplotToImage function based on Larry Siden's export-jqplot-to-png.js.\n * Larry has generously given permission to adapt his code for inclusion\n * into jqPlot.\n *\n * Larry's original code can be found here:\n *\n * https://github.com/lsiden/export-jqplot-to-png\n * \n * \n */\n"
  },
  {
    "path": "dist/asset/docs/js/jqplot/gpl-2.0.txt",
    "content": "Title: GPL Version 2\n\n           GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t    Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Lesser General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t    GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n\t\t\t    NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES.\n"
  },
  {
    "path": "dist/asset/docs/js/jquery.cookie.js",
    "content": "/**\n * Cookie plugin\n *\n * Copyright (c) 2006 Klaus Hartl (stilbuero.de)\n * Dual licensed under the MIT and GPL licenses:\n * http://www.opensource.org/licenses/mit-license.php\n * http://www.gnu.org/licenses/gpl.html\n *\n */\n\n/**\n * Create a cookie with the given name and value and other optional parameters.\n *\n * @example $.cookie('the_cookie', 'the_value');\n * @desc Set the value of a cookie.\n * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});\n * @desc Create a cookie with all available options.\n * @example $.cookie('the_cookie', 'the_value');\n * @desc Create a session cookie.\n * @example $.cookie('the_cookie', null);\n * @desc Delete a cookie by passing null as value.\n *\n * @param String name The name of the cookie.\n * @param String value The value of the cookie.\n * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.\n * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.\n *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.\n *                             If set to null or omitted, the cookie will be a session cookie and will not be retained\n *                             when the the browser exits.\n * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).\n * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).\n * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will\n *                        require a secure protocol (like HTTPS).\n * @type undefined\n *\n * @name $.cookie\n * @cat Plugins/Cookie\n * @author Klaus Hartl/klaus.hartl@stilbuero.de\n */\n\n/**\n * Get the value of a cookie with the given name.\n *\n * @example $.cookie('the_cookie');\n * @desc Get the value of a cookie.\n *\n * @param String name The name of the cookie.\n * @return The value of the cookie.\n * @type String\n *\n * @name $.cookie\n * @cat Plugins/Cookie\n * @author Klaus Hartl/klaus.hartl@stilbuero.de\n */\njQuery.cookie = function(name, value, options)\n{\n  if (typeof value != 'undefined')\n  { // name and value given, set cookie\n    options = options || {};\n    if (value === null)\n    {\n      value = '';\n      options.expires = -1;\n    }\n    var expires = '';\n    if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString))\n    {\n      var date;\n      if (typeof options.expires == 'number')\n      {\n        date = new Date();\n        date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));\n      }\n      else\n      {\n        date = options.expires;\n      }\n      expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE\n    }\n    var path = options.path ? '; path=' + options.path : '';\n    var domain = options.domain ? '; domain=' + options.domain : '';\n    var secure = options.secure ? '; secure' : '';\n    document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');\n  }\n  else\n  { // only name given, get cookie\n    var cookieValue = null;\n    if (document.cookie && document.cookie != '')\n    {\n      var cookies = document.cookie.split(';');\n      for (var i = 0; i < cookies.length; i++)\n      {\n        var cookie = jQuery.trim(cookies[i]);\n        // Does this cookie string begin with the name we want?\n        if (cookie.substring(0, name.length + 1) == (name + '='))\n        {\n          cookieValue = decodeURIComponent(cookie.substring(name.length + 1));\n          break;\n        }\n      }\n    }\n    return cookieValue;\n  }\n};\n"
  },
  {
    "path": "dist/asset/docs/js/jquery.iviewer.js",
    "content": "/*\n * iviewer Widget for jQuery UI\n * https://github.com/can3p/iviewer\n *\n * Copyright (c) 2009 - 2012 Dmitry Petrov\n * Dual licensed under the MIT and GPL licenses.\n *  - http://www.opensource.org/licenses/mit-license.php\n *  - http://www.gnu.org/copyleft/gpl.html\n *\n * Author: Dmitry Petrov\n * Version: 0.7\n */\n\n( function( $, undefined ) {\n\n//this code was taken from the https://github.com/furf/jquery-ui-touch-punch\nvar mouseEvents = {\n    touchstart: 'mousedown',\n    touchmove: 'mousemove',\n    touchend: 'mouseup'\n};\n\n/**\n * Convert a touch event to a mouse-like\n */\nfunction makeMouseEvent (event) {\n    var touch = event.originalEvent.changedTouches[0];\n\n    return $.extend(event, {\n        type:    mouseEvents[event.type],\n        which:   1,\n        pageX:   touch.pageX,\n        pageY:   touch.pageY,\n        screenX: touch.screenX,\n        screenY: touch.screenY,\n        clientX: touch.clientX,\n        clientY: touch.clientY,\n        isTouchEvent: true\n    });\n}\n\nvar mouseProto = $.ui.mouse.prototype,\n    _mouseInit = $.ui.mouse.prototype._mouseInit;\n\nmouseProto._mouseInit = function() {\n    var self = this;\n    self._touchActive = false;\n\n    this.element.bind( 'touchstart.' + this.widgetName, function(event) {\n        self._touchActive = true;\n        return self._mouseDown(makeMouseEvent(event));\n    })\n\n    var self = this;\n    // these delegates are required to keep context\n    this._mouseMoveDelegate = function(event) {\n        if (self._touchActive) {\n            return self._mouseMove(makeMouseEvent(event));\n        }\n    };\n    this._mouseUpDelegate = function(event) {\n        if (self._touchActive) {\n            self._touchActive = false;\n            return self._mouseUp(makeMouseEvent(event));\n        }\n    };\n\n    $(document)\n        .bind('touchmove.'+ this.widgetName, this._mouseMoveDelegate)\n        .bind('touchend.' + this.widgetName, this._mouseUpDelegate);\n\n    _mouseInit.apply(this);\n}\n\n/**\n * Simple implementation of jQuery like getters/setters\n * var val = something();\n * something(val);\n */\nvar setter = function(setter, getter) {\n    return function(val) {\n        if (arguments.length === 0) {\n            return getter.apply(this);\n        } else {\n            setter.apply(this, arguments);\n        }\n    }\n};\n\n/**\n * Internet explorer rotates image relative left top corner, so we should\n * shift image when it's rotated.\n */\nvar ieTransforms = {\n        '0': {\n            marginLeft: 0,\n            marginTop: 0,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod=\"auto expand\")'\n        },\n\n        '90': {\n            marginLeft: -1,\n            marginTop: 1,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod=\"auto expand\")'\n        },\n\n        '180': {\n            marginLeft: 0,\n            marginTop: 0,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod=\"auto expand\")'\n        },\n\n        '270': {\n            marginLeft: -1,\n            marginTop: 1,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod=\"auto expand\")'\n        }\n    },\n    useIeTransforms = (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) <= 8);\n\n$.widget( \"ui.iviewer\", $.ui.mouse, {\n    widgetEventPrefix: \"iviewer\",\n    options : {\n        /**\n        * start zoom value for image, not used now\n        * may be equal to \"fit\" to fit image into container or scale in %\n        **/\n        zoom: \"fit\",\n        /**\n        * base value to scale image\n        **/\n        zoom_base: 100,\n        /**\n        * maximum zoom\n        **/\n        zoom_max: 800,\n        /**\n        * minimum zoom\n        **/\n        zoom_min: 25,\n        /**\n        * base of rate multiplier.\n        * zoom is calculated by formula: zoom_base * zoom_delta^rate\n        **/\n        zoom_delta: 1.4,\n        /**\n        * whether the zoom should be animated.\n        */\n        zoom_animation: true,\n        /**\n        * if true plugin doesn't add its own controls\n        **/\n        ui_disabled: false,\n        /**\n        * if false, plugin doesn't bind resize event on window and this must\n        * be handled manually\n        **/\n        update_on_resize: true,\n        /**\n        * event is triggered when zoom value is changed\n        * @param int new zoom value\n        * @return boolean if false zoom action is aborted\n        **/\n        onZoom: jQuery.noop,\n        /**\n        * event is triggered when zoom value is changed after image is set to the new dimensions\n        * @param int new zoom value\n        * @return boolean if false zoom action is aborted\n        **/\n        onAfterZoom: jQuery.noop,\n        /**\n        * event is fired on drag begin\n        * @param object coords mouse coordinates on the image\n        * @return boolean if false is returned, drag action is aborted\n        **/\n        onStartDrag: jQuery.noop,\n        /**\n        * event is fired on drag action\n        * @param object coords mouse coordinates on the image\n        **/\n        onDrag: jQuery.noop,\n        /**\n        * event is fired on drag stop\n        * @param object coords mouse coordinates on the image\n        **/\n        onStopDrag: jQuery.noop,\n        /**\n        * event is fired when mouse moves over image\n        * @param object coords mouse coordinates on the image\n        **/\n        onMouseMove: jQuery.noop,\n        /**\n        * mouse click event\n        * @param object coords mouse coordinates on the image\n        **/\n        onClick: jQuery.noop,\n        /**\n        * event is fired when image starts to load\n        */\n        onStartLoad: null,\n        /**\n        * event is fired, when image is loaded and initially positioned\n        */\n        onFinishLoad: null\n    },\n\n    _create: function() {\n        var me = this;\n\n        //drag variables\n        this.dx = 0;\n        this.dy = 0;\n\n        /* object containing actual information about image\n        *   @img_object.object - jquery img object\n        *   @img_object.orig_{width|height} - original dimensions\n        *   @img_object.display_{width|height} - actual dimensions\n        */\n        this.img_object = {};\n\n        this.zoom_object = {}; //object to show zoom status\n\n        this._angle = 0;\n\n        this.current_zoom = this.options.zoom;\n\n        if(this.options.src === null){\n            return;\n        }\n\n        this.container = this.element;\n\n        this._updateContainerInfo();\n\n        //init container\n        this.container.css(\"overflow\",\"hidden\");\n\n        if(this.options.update_on_resize == true)\n        {\n            $(window).resize(function()\n            {\n                me._updateContainerInfo();\n            });\n        }\n\n        this.img_object = new $.ui.iviewer.ImageObject(this.options.zoom_animation);\n\n        //init object\n        this.img_object.object()\n            //bind mouse events\n            .click(function(e){return me._click(e)})\n            .mousewheel(function(ev, delta)\n            {\n                //this event is there instead of containing div, because\n                //at opera it triggers many times on div\n                var zoom = (delta > 0)?1:-1;\n                me.zoom_by(zoom);\n                return false;\n            })\n            .prependTo(this.container);\n\n        this.container.bind('mousemove', function(ev) { me._handleMouseMove(ev); });\n\n        this.loadImage(this.options.src);\n\n        if(!this.options.ui_disabled)\n        {\n            this.createui();\n        }\n\n        this._mouseInit();\n    },\n\n    destroy: function() {\n        this._mouseDestroy();\n    },\n\n    _updateContainerInfo: function()\n    {\n        this.options.height = this.container.height();\n        this.options.width = this.container.width();\n    },\n\n    loadImage: function( src )\n    {\n        this.current_zoom = this.options.zoom;\n        var me = this;\n\n        this._trigger('onStartLoad', 0, src);\n\n        this.img_object.load(src, function() {\n                me.container.addClass(\"iviewer_cursor\");\n\n                if(me.options.zoom == \"fit\"){\n                    me.fit(true);\n                }\n                else {\n                    me.set_zoom(me.options.zoom, true);\n                }\n\n                if(me.options.onFinishLoad)\n                {\n                    me._trigger('onFinishLoad', 0, src);\n                }\n        });\n    },\n\n    /**\n    * fits image in the container\n    *\n    * @param {boolean} skip_animation\n    **/\n    fit: function(skip_animation)\n    {\n        var aspect_ratio = this.img_object.orig_width() / this.img_object.orig_height();\n        var window_ratio = this.options.width /  this.options.height;\n        var choose_left = (aspect_ratio > window_ratio);\n        var new_zoom = 0;\n\n        if(choose_left){\n            new_zoom = this.options.width / this.img_object.orig_width() * 100;\n        }\n        else {\n            new_zoom = this.options.height / this.img_object.orig_height() * 100;\n        }\n\n      this.set_zoom(new_zoom, skip_animation);\n    },\n\n    /**\n    * center image in container\n    **/\n    center: function()\n    {\n        this.setCoords(-Math.round((this.img_object.display_width() - this.options.width)/2),\n                -Math.round((this.img_object.display_height() - this.options.height)/2));\n    },\n\n    /**\n    *   move a point in container to the center of display area\n    *   @param x a point in container\n    *   @param y a point in container\n    **/\n    moveTo: function(x, y)\n    {\n        var dx = x-Math.round(this.options.width/2);\n        var dy = y-Math.round(this.options.height/2);\n\n        var new_x = this.img_object.x() - dx;\n        var new_y = this.img_object.y() - dy;\n\n        this.setCoords(new_x, new_y);\n    },\n\n    /**\n     * Get container offset object.\n     */\n    getContainerOffset: function() {\n        return jQuery.extend({}, this.container.offset());\n    },\n\n    /**\n    * set coordinates of upper left corner of image object\n    **/\n    setCoords: function(x,y)\n    {\n        //do nothing while image is being loaded\n        if(!this.img_object.loaded()) { return; }\n\n        var coords = this._correctCoords(x,y);\n        this.img_object.x(coords.x);\n        this.img_object.y(coords.y);\n    },\n\n    _correctCoords: function( x, y )\n    {\n        x = parseInt(x, 10);\n        y = parseInt(y, 10);\n\n        //check new coordinates to be correct (to be in rect)\n        if(y > 0){\n            y = 0;\n        }\n        if(x > 0){\n            x = 0;\n        }\n        if(y + this.img_object.display_height() < this.options.height){\n            y = this.options.height - this.img_object.display_height();\n        }\n        if(x + this.img_object.display_width() < this.options.width){\n            x = this.options.width - this.img_object.display_width();\n        }\n        if(this.img_object.display_width() <= this.options.width){\n            x = -(this.img_object.display_width() - this.options.width)/2;\n        }\n        if(this.img_object.display_height() <= this.options.height){\n            y = -(this.img_object.display_height() - this.options.height)/2;\n        }\n\n        return { x: x, y:y };\n    },\n\n\n    /**\n    * convert coordinates on the container to the coordinates on the image (in original size)\n    *\n    * @return object with fields x,y according to coordinates or false\n    * if initial coords are not inside image\n    **/\n    containerToImage : function (x,y)\n    {\n        var coords = { x : x - this.img_object.x(),\n                 y :  y - this.img_object.y()\n        };\n\n        coords = this.img_object.toOriginalCoords(coords);\n\n        return { x :  util.descaleValue(coords.x, this.current_zoom),\n                 y :  util.descaleValue(coords.y, this.current_zoom)\n        };\n    },\n\n    /**\n    * convert coordinates on the image (in original size, and zero angle) to the coordinates on the container\n    *\n    * @return object with fields x,y according to coordinates\n    **/\n    imageToContainer : function (x,y)\n    {\n        var coords = {\n                x : util.scaleValue(x, this.current_zoom),\n                y : util.scaleValue(y, this.current_zoom)\n            };\n\n        return this.img_object.toRealCoords(coords);\n    },\n\n    /**\n    * get mouse coordinates on the image\n    * @param e - object containing pageX and pageY fields, e.g. mouse event object\n    *\n    * @return object with fields x,y according to coordinates or false\n    * if initial coords are not inside image\n    **/\n    _getMouseCoords : function(e)\n    {\n        var containerOffset = this.container.offset();\n            coords = this.containerToImage(e.pageX - containerOffset.left, e.pageY - containerOffset.top);\n\n        return coords;\n    },\n\n    /**\n    * set image scale to the new_zoom\n    *\n    * @param {number} new_zoom image scale in %\n    * @param {boolean} skip_animation\n    **/\n    set_zoom: function(new_zoom, skip_animation)\n    {\n        if (this._trigger('onZoom', 0, new_zoom) == false) {\n            return;\n        }\n\n        //do nothing while image is being loaded\n        if(!this.img_object.loaded()) { return; }\n\n        if(new_zoom <  this.options.zoom_min)\n        {\n            new_zoom = this.options.zoom_min;\n        }\n        else if(new_zoom > this.options.zoom_max)\n        {\n            new_zoom = this.options.zoom_max;\n        }\n\n        /* we fake these values to make fit zoom properly work */\n        if(this.current_zoom == \"fit\")\n        {\n            var old_x = Math.round(this.options.width/2 + this.img_object.orig_width()/2);\n            var old_y = Math.round(this.options.height/2 + this.img_object.orig_height()/2);\n            this.current_zoom = 100;\n        }\n        else {\n            var old_x = -this.img_object.x() + Math.round(this.options.width/2);\n            var old_y = -this.img_object.y() + Math.round(this.options.height/2);\n        }\n\n        var new_width = util.scaleValue(this.img_object.orig_width(), new_zoom);\n        var new_height = util.scaleValue(this.img_object.orig_height(), new_zoom);\n        var new_x = util.scaleValue( util.descaleValue(old_x, this.current_zoom), new_zoom);\n        var new_y = util.scaleValue( util.descaleValue(old_y, this.current_zoom), new_zoom);\n\n        new_x = this.options.width/2 - new_x;\n        new_y = this.options.height/2 - new_y;\n\n        this.img_object.display_width(new_width);\n        this.img_object.display_height(new_height);\n\n        var coords = this._correctCoords( new_x, new_y ),\n            self = this;\n\n        this.img_object.setImageProps(new_width, new_height, coords.x, coords.y,\n                                        skip_animation, function() {\n            self._trigger('onAfterZoom', 0, new_zoom );\n        });\n        this.current_zoom = new_zoom;\n\n        this.update_status();\n    },\n\n    /**\n    * changes zoom scale by delta\n    * zoom is calculated by formula: zoom_base * zoom_delta^rate\n    * @param Integer delta number to add to the current multiplier rate number\n    **/\n    zoom_by: function(delta)\n    {\n        var closest_rate = this.find_closest_zoom_rate(this.current_zoom);\n\n        var next_rate = closest_rate + delta;\n        var next_zoom = this.options.zoom_base * Math.pow(this.options.zoom_delta, next_rate)\n        if(delta > 0 && next_zoom < this.current_zoom)\n        {\n            next_zoom *= this.options.zoom_delta;\n        }\n\n        if(delta < 0 && next_zoom > this.current_zoom)\n        {\n            next_zoom /= this.options.zoom_delta;\n        }\n\n        this.set_zoom(next_zoom);\n    },\n\n    /**\n    * Rotate image\n    * @param {num} deg Degrees amount to rotate. Positive values rotate image clockwise.\n    *     Currently 0, 90, 180, 270 and -90, -180, -270 values are supported\n    *\n    * @param {boolean} abs If the flag is true if, the deg parameter will be considered as\n    *     a absolute value and relative otherwise.\n    * @return {num|null} Method will return current image angle if called without any arguments.\n    **/\n    angle: function(deg, abs) {\n        if (arguments.length === 0) { return this.img_object.angle(); }\n\n        if (deg < -270 || deg > 270 || deg % 90 !== 0) { return; }\n        if (!abs) { deg += this.img_object.angle(); }\n        if (deg < 0) { deg += 360; }\n        if (deg >= 360) { deg -= 360; }\n\n        if (deg === this.img_object.angle()) { return; }\n\n        this.img_object.angle(deg);\n        //the rotate behavior is different in all editors. For now we  just center the\n        //image. However, it will be better to try to keep the position.\n        this.center();\n        this._trigger('angle', 0, { angle: this.img_object.angle() });\n    },\n\n    /**\n    * finds closest multiplier rate for value\n    * basing on zoom_base and zoom_delta values from settings\n    * @param Number value zoom value to examine\n    **/\n    find_closest_zoom_rate: function(value)\n    {\n        if(value == this.options.zoom_base)\n        {\n            return 0;\n        }\n\n        function div(val1,val2) { return val1 / val2 };\n        function mul(val1,val2) { return val1 * val2 };\n\n        var func = (value > this.options.zoom_base)?mul:div;\n        var sgn = (value > this.options.zoom_base)?1:-1;\n\n        var mltplr = this.options.zoom_delta;\n        var rate = 1;\n\n        while(Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate)) - value) >\n              Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate+1)) - value))\n        {\n            rate++;\n        }\n\n        return sgn * rate;\n    },\n\n    /* update scale info in the container */\n    update_status: function()\n    {\n        if(!this.options.ui_disabled)\n        {\n            var percent = Math.round(100*this.img_object.display_height()/this.img_object.orig_height());\n            if(percent)\n            {\n                this.zoom_object.html(percent + \"%\");\n            }\n        }\n    },\n\n    /**\n     * Get some information about the image.\n     *     Currently orig_(width|height), display_(width|height), angle, zoom and src params are supported.\n     *\n     *  @param {string} parameter to check\n     *  @param {boolean} withoutRotation if param is orig_width or orig_height and this flag is set to true,\n     *      method will return original image width without considering rotation.\n     *\n     */\n    info: function(param, withoutRotation) {\n        if (!param) { return; }\n\n        switch (param) {\n            case 'orig_width':\n            case 'orig_height':\n                if (withoutRotation) {\n                    return (this.img_object.angle() % 180 === 0 ? this.img_object[param]() :\n                            param === 'orig_width' ? this.img_object.orig_height() : \n                                                        this.img_object.orig_width());\n                } else {\n                    return this.img_object[param]();\n                }\n            case 'display_width':\n            case 'display_height':\n            case 'angle':\n                return this.img_object[param]();\n            case 'zoom':\n                return this.current_zoom;\n            case 'src':\n                return this.img_object.object().attr('src');\n        }\n    },\n\n    /**\n    *   callback for handling mousdown event to start dragging image\n    **/\n    _mouseStart: function( e )\n    {\n        $.ui.mouse.prototype._mouseStart.call(this, e);\n        if (this._trigger('onStartDrag', 0, this._getMouseCoords(e)) === false) {\n            return false;\n        }\n\n        /* start drag event*/\n        this.container.addClass(\"iviewer_drag_cursor\");\n\n        this.dx = e.pageX - this.img_object.x();\n        this.dy = e.pageY - this.img_object.y();\n        return true;\n    },\n\n    _mouseCapture: function( e ) {\n        return true;\n    },\n\n    /**\n     * Handle mouse move if needed. User can avoid using this callback, because\n     *    he can get the same information through public methods.\n     *  @param {jQuery.Event} e\n     */\n    _handleMouseMove: function(e) {\n        this._trigger('onMouseMove', e, this._getMouseCoords(e));\n    },\n\n    /**\n    *   callback for handling mousemove event to drag image\n    **/\n    _mouseDrag: function(e)\n    {\n        $.ui.mouse.prototype._mouseDrag.call(this, e);\n        var ltop =  e.pageY - this.dy;\n        var lleft = e.pageX - this.dx;\n\n        this.setCoords(lleft, ltop);\n        this._trigger('onDrag', e, this._getMouseCoords(e));\n        return false;\n    },\n\n    /**\n    *   callback for handling stop drag\n    **/\n    _mouseStop: function(e)\n    {\n        $.ui.mouse.prototype._mouseStop.call(this, e);\n        this.container.removeClass(\"iviewer_drag_cursor\");\n        this._trigger('onStopDrag', 0, this._getMouseCoords(e));\n    },\n\n    _click: function(e)\n    {\n        this._trigger('onClick', 0, this._getMouseCoords(e));\n    },\n\n    /**\n    *   create zoom buttons info box\n    **/\n    createui: function()\n    {\n        var me=this;\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_in iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.zoom_by(1); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_out iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.zoom_by(- 1); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_zero iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.set_zoom(100); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_fit iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.fit(this); return false;})\n                    .appendTo(this.container);\n\n        this.zoom_object = $(\"<div>\").addClass(\"iviewer_zoom_status iviewer_common\")\n                                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_rotate_left iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.angle(-90); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_rotate_right iviewer_common iviewer_button\" })\n                    .bind('mousedown touchstart',function(){me.angle(90); return false;})\n                    .appendTo(this.container);\n\n        this.update_status(); //initial status update\n    }\n\n} );\n\n/**\n * @class $.ui.iviewer.ImageObject Class represents image and provides public api without\n *     extending image prototype.\n * @constructor\n * @param {boolean} do_anim Do we want to animate image on dimension changes?\n */\n$.ui.iviewer.ImageObject = function(do_anim) {\n    this._img = $(\"<img>\")\n            //this is needed, because chromium sets them auto otherwise\n            .css({ position: \"absolute\", top :\"0px\", left: \"0px\"});\n\n    this._loaded = false;\n    this._swapDimensions = false;\n    this._do_anim = do_anim || false;\n    this.x(0, true);\n    this.y(0, true);\n    this.angle(0);\n};\n\n\n/** @lends $.ui.iviewer.ImageObject.prototype */\n(function() {\n    /**\n     * Restore initial object state.\n     *\n     * @param {number} w Image width.\n     * @param {number} h Image height.\n     */\n    this._reset = function(w, h) {\n        this._angle = 0;\n        this._swapDimensions = false;\n        this.x(0);\n        this.y(0);\n\n        this.orig_width(w);\n        this.orig_height(h);\n        this.display_width(w);\n        this.display_height(h);\n    };\n\n    /**\n     * Check if image is loaded.\n     *\n     * @return {boolean}\n     */\n    this.loaded = function() { return this._loaded; };\n\n    /**\n     * Load image.\n     *\n     * @param {string} src Image url.\n     * @param {Function=} loaded Function will be called on image load.\n     */\n    this.load = function(src, loaded) {\n        var self = this;\n\n        loaded = loaded || jQuery.noop;\n        this._loaded = false;\n\n        //If we assign new image url to the this._img IE9 fires onload event and image width and\n        //height are set to zero. So, we create another image object and load image through it.\n        var img = new Image();\n        img.onload = function() {\n            self._loaded = true;\n            self._reset(this.width, this.height);\n\n            self._img[0].src = src;\n            loaded();\n        };\n        img.src = src;\n\n        this._img\n            .removeAttr(\"src\")\n            .removeAttr(\"width\")\n            .removeAttr(\"height\")\n            .removeAttr(\"style\")\n            .css({ position: \"absolute\", top :\"0px\", left: \"0px\"})\n\n        this.angle(0);\n    };\n\n    this._dimension = function(prefix, name) {\n        var horiz = '_' + prefix + '_' + name,\n            vert = '_' + prefix + '_' + (name === 'height' ? 'width' : 'height');\n        return setter(function(val) {\n                this[this._swapDimensions ? horiz: vert] = val;\n            },\n            function() {\n                return this[this._swapDimensions ? horiz: vert];\n            });\n    };\n\n    /**\n     * Getters and setter for common image dimensions.\n     *    display_ means real image tag dimensions\n     *    orig_ means physical image dimensions.\n     *  Note, that dimensions are swapped if image is rotated. It necessary,\n     *  because as little as possible code should know about rotation.\n     */\n    this.display_width = this._dimension('display', 'width'),\n    this.display_height = this._dimension('display', 'height'),\n    this.display_diff = function() { return Math.floor( this.display_width() - this.display_height() ) };\n    this.orig_width = this._dimension('orig', 'width'),\n    this.orig_height = this._dimension('orig', 'height'),\n\n    /**\n     * Setter for  X coordinate. If image is rotated we need to additionaly shift an\n     *     image to map image coordinate to the visual position.\n     *\n     * @param {number} val Coordinate value.\n     * @param {boolean} skipCss If true, we only set the value and do not touch the dom.\n     */\n    this.x = setter(function(val, skipCss) { \n            this._x = val;\n            if (!skipCss) {\n                this._img.css(\"left\",this._x + (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\");\n            }\n        },\n        function() {\n            return this._x;\n        });\n\n    /**\n     * Setter for  Y coordinate. If image is rotated we need to additionaly shift an\n     *     image to map image coordinate to the visual position.\n     *\n     * @param {number} val Coordinate value.\n     * @param {boolean} skipCss If true, we only set the value and do not touch the dom.\n     */\n    this.y = setter(function(val, skipCss) {\n            this._y = val;\n            if (!skipCss) {\n                this._img.css(\"top\",this._y - (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\");\n            }\n        },\n       function() {\n            return this._y;\n       });\n\n    /**\n     * Perform image rotation.\n     *\n     * @param {number} deg Absolute image angle. The method will work with values 0, 90, 180, 270 degrees.\n     */\n    this.angle = setter(function(deg) {\n            var prevSwap = this._swapDimensions;\n\n            this._angle = deg;\n            this._swapDimensions = deg % 180 !== 0;\n            \n            if (prevSwap !== this._swapDimensions) {\n                var verticalMod = this._swapDimensions ? -1 : 1;\n                this.x(this.x() - verticalMod * this.display_diff() / 2, true);\n                this.y(this.y() + verticalMod * this.display_diff() / 2, true);\n            };\n\n            var cssVal = 'rotate(' + deg + 'deg)',\n                img = this._img;\n\n            jQuery.each(['', '-webkit-', '-moz-', '-o-', '-ms-'], function(i, prefix) {\n                img.css(prefix + 'transform', cssVal);\n            });\n\n            if (useIeTransforms) {\n                jQuery.each(['-ms-', ''], function(i, prefix) {\n                    img.css(prefix + 'filter', ieTransforms[deg].filter);\n                });\n\n                img.css({\n                    marginLeft: ieTransforms[deg].marginLeft * this.display_diff() / 2,\n                    marginTop: ieTransforms[deg].marginTop * this.display_diff() / 2\n                });\n            }\n        },\n       function() { return this._angle; });\n\n    /**\n     * Map point in the container coordinates to the point in image coordinates.\n     *     You will get coordinates of point on image with respect to rotation,\n     *     but will be set as if image was not rotated.\n     *     So, if image was rotated 90 degrees, it's (0,0) point will be on the\n     *     top right corner.\n     *\n     * @param {{x: number, y: number}} point Point in container coordinates.\n     * @return  {{x: number, y: number}}\n     */\n    this.toOriginalCoords = function(point) {\n        switch (this.angle()) {\n            case 0: return { x: point.x, y: point.y }\n            case 90: return { x: point.y, y: this.display_width() - point.x }\n            case 180: return { x: this.display_width() - point.x, y: this.display_height() - point.y }\n            case 270: return { x: this.display_height() - point.y, y: point.x }\n        }\n    };\n\n    /**\n     * Map point in the image coordinates to the point in container coordinates.\n     *     You will get coordinates of point on container with respect to rotation.\n     *     Note, if image was rotated 90 degrees, it's (0,0) point will be on the\n     *     top right corner.\n     *\n     * @param {{x: number, y: number}} point Point in container coordinates.\n     * @return  {{x: number, y: number}}\n     */\n    this.toRealCoords = function(point) {\n        switch (this.angle()) {\n            case 0: return { x: this.x() + point.x, y: this.y() + point.y }\n            case 90: return { x: this.x() + this.display_width() - point.y, y: this.y() + point.x}\n            case 180: return { x: this.x() + this.display_width() - point.x, y: this.y() + this.display_height() - point.y}\n            case 270: return { x: this.x() + point.y, y: this.y() + this.display_height() - point.x}\n        }\n    };\n\n    /**\n     * @return {jQuery} Return image node. this is needed to add event handlers.\n     */\n    this.object = setter(jQuery.noop,\n                           function() { return this._img; });\n\n    /**\n     * Change image properties.\n     *\n     * @param {number} disp_w Display width;\n     * @param {number} disp_h Display height;\n     * @param {number} x\n     * @param {number} y\n     * @param {boolean} skip_animation If true, the animation will be skiped despite the\n     *     value set in constructor.\n     * @param {Function=} complete Call back will be fired when zoom will be complete.\n     */\n    this.setImageProps = function(disp_w, disp_h, x, y, skip_animation, complete) {\n        complete = complete || jQuery.noop;\n\n        this.display_width(disp_w);\n        this.display_height(disp_h);\n        this.x(x, true);\n        this.y(y, true);\n\n        var w = this._swapDimensions ? disp_h : disp_w;\n        var h = this._swapDimensions ? disp_w : disp_h;\n\n        var params = {\n            width: w,\n            height: h,\n            top: y - (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\",\n            left: x + (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\" \n        };\n\n        if (useIeTransforms) {\n            jQuery.extend(params, {\n                marginLeft: ieTransforms[this.angle()].marginLeft * this.display_diff() / 2,\n                marginTop: ieTransforms[this.angle()].marginTop * this.display_diff() / 2\n            });\n        }\n\n        var swapDims = this._swapDimensions,\n            img = this._img;\n\n        //here we come: another IE oddness. If image is rotated 90 degrees with a filter, than\n        //width and height getters return real width and height of rotated image. The bad news\n        //is that to set height you need to set a width and vice versa. Fuck IE.\n        //So, in this case we have to animate width and height manually.\n        if(useIeTransforms && swapDims) {\n            var ieh = this._img.width(),\n                iew = this._img.height(),\n                iedh = params.height - ieh;\n                iedw = params.width - iew;\n\n            delete params.width;\n            delete params.height;\n        }\n\n        if (this._do_anim && !skip_animation) {\n            this._img.animate(params, {\n                duration: 200, \n                complete: complete,\n                step: function(now, fx) {\n                    if(useIeTransforms && swapDims && (fx.prop === 'top')) {\n                        var percent = (now - fx.start) / (fx.end - fx.start);\n\n                        img.height(ieh + iedh * percent);\n                        img.width(iew + iedw * percent);\n                        img.css('top', now);\n                    }\n                }\n            });\n        } else {\n            this._img.css(params);\n            setTimeout(complete, 0); //both if branches should behave equally.\n        }\n    };\n\n}).apply($.ui.iviewer.ImageObject.prototype);\n\n\n\nvar util = {\n    scaleValue: function(value, toZoom)\n    {\n        return value * toZoom / 100;\n    },\n\n    descaleValue: function(value, fromZoom)\n    {\n        return value * 100 / fromZoom;\n    }\n};\n\n } )( jQuery, undefined );\n"
  },
  {
    "path": "dist/asset/docs/js/jquery.panzoom.js",
    "content": "/*\n * jQuery PanZoom Plugin\n * Pan and zoom an image within a parent div.\n *\n * version: 0.9.0\n * @requires jQuery v1.4.2 or later (earlier probably work, but untested so far)\n *\n * Copyright (c) 2011 Ben Lumley\n * Examples and documentation at: https://github.com/benlumley/jQuery-PanZoom\n *\n * Dual licensed under the MIT and GPL licenses:\n *   http://www.opensource.org/licenses/mit-license.php\n *   http://www.gnu.org/licenses/gpl.html\n*/\n\n(function( $ ){\n\n  $.fn.panZoom = function(method) {\n\n    if ( methods[method] ) {\n      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));\n    } else if ( typeof method === 'object' || ! method ) {\n      return methods.init.apply( this, arguments );\n    } else {\n      $.error( 'Method ' +  method + ' does not exist' );\n    }\n\n  };\n\n\t$.fn.panZoom.defaults = {\n      zoomIn   \t\t\t\t\t: \tfalse,\n      zoomOut \t\t\t\t\t: \tfalse,\n\t\t  panUp\t\t\t\t\t\t\t:\t\tfalse,\n\t\t  panDown\t\t\t\t\t\t:\t\tfalse,\n\t\t  panLeft\t\t\t\t\t\t:\t\tfalse,\n\t\t  panRight\t\t\t\t\t:\t\tfalse,\n\t\t\tfit\t\t\t\t\t\t\t\t: \tfalse,\n\t\t  out_x1\t\t\t\t\t\t:\t\tfalse,\n\t\t  out_y1\t\t\t\t\t\t:\t\tfalse,\n\t\t  out_x2\t\t\t\t\t\t:\t\tfalse,\n\t\t  out_y2\t\t\t\t\t\t:\t\tfalse,\n\t\t\tmin_width\t\t\t\t\t:   20,\n\t\t\tmin_height \t\t\t\t:   20,\n\t\t\tzoom_step\t\t\t\t\t:   3,\n\t\t\tpan_step  \t\t\t\t:   3,\n\t\t\tdebug\t\t\t\t\t\t\t: \tfalse,\n\t\t\tdirectedit\t\t\t\t:   false,\n      aspect    \t\t\t\t:   true,\n      factor    \t\t\t\t:   1,\n\t\t  animate   \t\t\t\t:   true,\n\t\t\tanimate_duration\t: \t200,\n\t\t \tanimate_easing\t\t: \t'linear',\n\t\t\tdouble_click\t \t\t: \ttrue,\n\t\t\tmousewheel\t\t\t\t: \ttrue,\n\t\t\tmousewheel_delta\t: \t1,\n\t\t\tdraggable\t\t\t\t\t:   true,\n\t\t\tclickandhold\t\t\t: \ttrue\n  };\n\n\tvar settings = {}\n\n  var methods = {\n\t\t'init': function (options) {\n\t\t\t$.extend(settings, $.fn.panZoom.defaults, options);\n  \t\tsetupCSS.apply(this);\n\t\t\tsetupData.apply(this);\n\t\t\tsetupBindings.apply(this);\n\t\t\tmethods.readPosition.apply(this);\n\t\t},\n\n\t\t'destroy': function () {\n\t\t\t$(window).unbind('.panZoom');\n\t\t\tthis.removeData('panZoom');\n\t\t},\n\n\t\t'loadImage': function () {\n\t\t\tvar data = this.data('panZoom');\n      loadTargetDimensions.apply(this);\n\t\t\tmethods.updatePosition.apply(this);\n\t\t\tif (data.last_image != null && data.last_image != this.attr('src')) {\n        methods.fit.apply(this);\n\t\t\t}\n\t\t\tdata.last_image = this.attr('src');\n\t\t\tdata.loaded = true;\n\t\t},\n\n\t  'readPosition': function () {\n\t\t\t\tvar data = this.data('panZoom');\n\t\t \t\tif (settings.out_x1) { data.position.x1 = settings.out_x1.val()*settings.factor }\n\t\t \t\tif (settings.out_y1) { data.position.y1 = settings.out_y1.val()*settings.factor }\n\t\t \t\tif (settings.out_x2) { data.position.x2 = settings.out_x2.val()*settings.factor }\n\t\t \t\tif (settings.out_y2) { data.position.y2 = settings.out_y2.val()*settings.factor }\n\t\t\t\tmethods.updatePosition.apply(this);\n\t\t },\n\n\t\t'updatePosition': function() {\n\t\t\tvalidatePosition.apply(this);\n\t\t\twritePosition.apply(this);\n\t\t\tapplyPosition.apply(this);\n\t\t},\n\n\t  'fit': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tdata.position.x1 = 0;\n\t\t\tdata.position.y1 = 0;\n\t\t\tdata.position.x2 = data.viewport_dimensions.x;\n\t\t\tdata.position.y2 = data.viewport_dimensions.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'zoomIn': function (steps) {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tif (typeof(steps) == 'undefined') {\n\t\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\t}\n            console.debug(data.position);\n\t\t\tconsole.debug(data.viewport_dimensions);\n\t\t\tdata.position.x1 = data.position.x1*1 - steps.zoom.x;\n\t\t\tdata.position.x2 = data.position.x2*1 + steps.zoom.x;\n\t\t\tdata.position.y1 = data.position.y1*1 - steps.zoom.y;\n\t\t\tdata.position.y2 = data.position.y2*1 + steps.zoom.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t },\n\n\t\t'zoomOut': function (steps) {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tif (typeof(steps) == 'undefined') {\n\t\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\t}\n\t\t\tdata.position.x1 = data.position.x1*1 + steps.zoom.x;\n\t\t\tdata.position.x2 = data.position.x2*1 - steps.zoom.x;\n\t\t\tdata.position.y1 = data.position.y1*1 + steps.zoom.y;\n\t\t\tdata.position.y2 = data.position.y2*1 - steps.zoom.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t },\n\n\t\t'panUp': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.y1 -= steps.pan.y;\n\t\t\tdata.position.y2 -= steps.pan.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'panDown': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.y1 = data.position.y1*1 + steps.pan.y;\n\t\t\tdata.position.y2 = data.position.y2*1 + steps.pan.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'panLeft': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.x1 -= steps.pan.x;\n\t\t\tdata.position.x2 -= steps.pan.x;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'panRight': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.x1 = data.position.x1*1 + steps.pan.x;\n\t\t\tdata.position.x2 = data.position.x2*1 + steps.pan.x;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'mouseWheel': function (delta) {\n\t\t\t// first calculate how much to zoom in/out\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tsteps.zoom.x = steps.zoom.x * (Math.abs(delta) / settings.mousewheel_delta);\n\t\t\tsteps.zoom.y = steps.zoom.y * (Math.abs(delta) / settings.mousewheel_delta);\n\n\t\t\t// then do it\n\t\t\tif (delta > 0) {\n\t\t\t\tmethods.zoomIn.apply(this, [steps]);\n\t\t\t} else if (delta < 0) {\n\t\t\t\tmethods.zoomOut.apply(this, [steps]);\n\t\t\t}\n\t\t},\n\n\t\t'dragComplete': function() {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tdata.position.x1 = this.position().left;\n\t\t\tdata.position.y1 = this.position().top;\n\t\t\tdata.position.x2 = this.position().left*1 + this.width();\n\t\t\tdata.position.y2 = this.position().top*1 + this.height();\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'mouseDown': function (action) {\n\t\t\tmethods[action].apply(this);\n\n\t\t\tif (settings.clickandhold) {\n\t\t\t\tvar data = this.data('panZoom');\n\t\t\t\tmethods.mouseUp.apply(this);\n\t\t\t\tdata.mousedown_interval = window.setInterval(function (that, action) {\n\t\t\t\t\tthat.panZoom(action);\n\t\t\t\t}, settings.animate_duration, this, action);\n\t\t\t}\n\t\t},\n\n\t\t'mouseUp': function() {\n\t\t\tvar data = this.data('panZoom');\n\t\t\twindow.clearInterval(data.mousedown_interval);\n\t\t}\n\n  }\n\n\tfunction setupBindings() {\n\n\t\teventData = { target: this }\n\n\t\t// bind up controls\n\t\tif (settings.zoomIn) {\n\t\t\tsettings.zoomIn.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomIn');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.zoomOut) {\n\t\t\tsettings.zoomOut.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomOut');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panUp) {\n\t\t\tsettings.panUp.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panUp');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panDown) {\n\t\t\tsettings.panDown.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panDown');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panLeft) {\n\t\t\tsettings.panLeft.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panLeft');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panRight) {\n\t\t\tsettings.panRight.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panRight');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.fit) { settings.fit.bind('click.panZoom', eventData, function(event) { event.preventDefault(); event.data.target.panZoom('fit'); } ); }\n\n\t\t// double click\n\t\tif (settings.double_click) {\n\t\t\tthis.bind('dblclick.panZoom', eventData, function(event, delta) { event.data.target.panZoom('zoomIn') } );\n\t\t}\n\n\t\t// mousewheel\n\t\tif (settings.mousewheel && typeof(this.mousewheel) == 'function') {\n\t\t\tthis.parent().mousewheel(function(event, delta) { event.preventDefault(); $(this).find('img').panZoom('mouseWheel', delta) } );\n\t\t} else if (settings.mousewheel) {\n\t\t\talert('Mousewheel requires mousewheel from jQuery tools - please include jQuery tools or disable mousewheel to remove this warning.')\n\t\t}\n\n\t\t// direct form input\n\t\tif (settings.directedit) {\n\t\t\t$(settings.out_x1).add(settings.out_y1).add(settings.out_x2).add(settings.out_y2).bind('change.panZoom blur.panZoom', eventData, function(event) { event.data.target.panZoom('readPosition') } );\n\t\t}\n\n\t\tif (settings.draggable && typeof(this.draggable) == 'function') {\n\t\t\tthis.draggable({\n\t\t\t\tstop: function () { $(this).panZoom('dragComplete');\t}\n\t\t\t});\n\t\t}\telse if (settings.draggable) {\n\t\t\t\talert('Draggable requires jQuery UI - please include jQuery UI or disable draggable to remove this warning.')\n\t\t}\n\n\t\t// image load\n\t\t$(this).bind('load.panZoom', eventData, function (event) { event.data.target.panZoom('loadImage') })\n\n\t}\n\n\tfunction setupData() {\n\t\tthis.data('panZoom', {\n\t\t\ttarget_element: this,\n\t\t\ttarget_dimensions: { x: null, y: null },\n\t\t\tviewport_element: this.parent(),\n\t\t\tviewport_dimensions: { x: this.parent().width(), y: this.parent().height() },\n\t\t\tposition: { x1: null, y1: null, x2: null, y2: null },\n\t\t\tlast_image: null,\n\t\t\tloaded: false,\n\t\t\tmousewheel_delta: 0,\n\t\t\tmousedown_interval: false\n\t\t});\n\t\tif (settings.debug) {\n\t\t\tconsole.log(this.data('panZoom'));\n\t\t}\n\t}\n\n\tfunction setupCSS() {\n\t\tif (this.parent().css('position') == 'static') {\n\t\t\tthis.parent().css('position', 'relative');\n\t\t}\n\t\tthis.css({\n\t\t\t'position': 'absolute',\n\t\t\t'top': 0,\n\t\t\t'left': 0\n\t\t});\n\t\tif (settings.draggable) {\n\t\t\tthis.css({\n\t\t\t\t'cursor': 'move'\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction validatePosition() {\n\t\tvar data = this.data('panZoom');\n\t\t// if dimensions are too small...\n\t\tif ( data.position.x2 - data.position.x1 < settings.min_width/settings.factor || data.position.y2 - data.position.y1 < settings.min_height/settings.factor ) {\n\t\t\t// and second co-ords are zero (IE: no dims set), fit image\n\t\t\tif (data.position.x2 == 0 || data.position.y2 == 0) {\n\t\t\t\tmethods.fit.apply(this);\n\t\t\t}\n\t\t\t// otherwise, backout a bit\n\t\t\telse {\n\t\t\t\tif (data.position.x2 - data.position.x1 < settings.min_width/settings.factor) {\n\t\t\t\t\tdata.position.x2 = data.position.x1*1+settings.min_width/settings.factor;\n\t\t\t\t}\n\t\t\t\tif (data.position.y2 - data.position.y1 < settings.min_height/settings.factor) {\n\t  \t\t\tdata.position.y2 = data.position.y1*1+settings.min_height/settings.factor;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (settings.aspect) {\n\t\t\ttarget = data.target_dimensions.ratio;\n\t\t\tcurrent = getCurrentAspectRatio.apply(this)\n\t\t\tif (current > target) {\n\t\t\t\tnew_width = getHeight.apply(this) * target;\n\t\t\t\tdiff = getWidth.apply(this) - new_width;\n\t\t\t\tdata.position.x1 = data.position.x1*1 + (diff/2);\n\t\t\t\tdata.position.x2 = data.position.x2*1 - (diff/2);\n\t\t\t} else if (current < target) {\n\t\t\t\tnew_height = getWidth.apply(this) / target;\n\t\t\t\tdiff = getHeight.apply(this) - new_height;\n\t\t\t\tdata.position.y1 = data.position.y1*1 + (diff/2);\n\t\t\t\tdata.position.y2 = data.position.y2*1 - (diff/2);\n\t\t\t}\n\t\t}\n\n\n\t}\n\n  function applyPosition() {\n\t\tvar data = this.data('panZoom');\n\n    width = getWidth.apply(this);\n    height = getHeight.apply(this);\n    left_offset = getLeftOffset.apply(this);\n    top_offset = getTopOffset.apply(this);\n\n\t\tproperties = {\n\t\t\t'top': Math.round(top_offset),\n\t\t\t'left': Math.round(left_offset),\n\t\t\t'width': Math.round(width),\n\t\t\t'height': Math.round(height)\n\t\t}\n\n\t\tif (data.loaded && settings.animate) {\n\t\t\tapplyAnimate.apply(this, [ properties ]);\n\t\t} else {\n\t\t\tapplyCSS.apply(this, [ properties ]);\n\t\t}\n\n\t\tif (settings.debug) {\n\t\t\tconsole.log('--');\n\t\t\tconsole.log('width:' + width);\n\t\t\tconsole.log('height:' + height);\n\t\t\tconsole.log('left:' + left_offset);\n\t\t\tconsole.log('top:' + top_offset);\n\t\t}\n\t}\n\n\tfunction applyCSS() {\n\t\tthis.css(\tproperties );\n\t}\n\n\tfunction applyAnimate() {\n\t\tthis.stop().animate(\tproperties , settings.animate_duration, settings.animate_easing);\n\t}\n\n  function getWidth() {\n\t\tvar data = this.data('panZoom');\n    width = (data.position.x2 - data.position.x1);\n    return width;\n  }\n\n  function getLeftOffset() {\n\t\tvar data = this.data('panZoom');\n    return data.position.x1;\n  }\n\n  function getHeight() {\n\t\tvar data = this.data('panZoom');\n\t\theight = (data.position.y2 - data.position.y1);\n    return height;\n  }\n\n  function getTopOffset() {\n\t\tvar data = this.data('panZoom');\n\t\ttop_offset = data.position.y1;\n    return top_offset;\n  }\n\n\tfunction getCurrentAspectRatio() {\n\t\treturn (getWidth.apply(this) / getHeight.apply(this));\n\t}\n\n\tfunction writePosition() {\n\t\tvar data = this.data('panZoom');\n \t\tif (settings.out_x1) { settings.out_x1.val(Math.round(data.position.x1 / settings.factor)) }\n \t\tif (settings.out_y1) { settings.out_y1.val(Math.round(data.position.y1 / settings.factor)) }\n \t\tif (settings.out_x2) { settings.out_x2.val(Math.round(data.position.x2 / settings.factor)) }\n \t\tif (settings.out_y2) { settings.out_y2.val(Math.round(data.position.y2 / settings.factor)) }\n\t}\n\n\tfunction getStepDimensions() {\n\t\tvar data = this.data('panZoom');\n\t\tret = {\n\t\t\tzoom: {\n\t\t\t\tx: (settings.zoom_step/100 * data.viewport_dimensions.x),\n\t\t\t\ty: (settings.zoom_step/100 * data.viewport_dimensions.y)\n\t\t\t},\n\t\t\tpan: {\n\t\t\t\tx: (settings.pan_step/100 * data.viewport_dimensions.x),\n\t\t\t\ty: (settings.pan_step/100 * data.viewport_dimensions.y)\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tfunction loadTargetDimensions() {\n\t\tvar data = this.data('panZoom');\n\t\tvar img = document.createElement('img');\n    img.src = this.attr('src');\n    img.id = \"jqpz-temp\";\n    $('body').append(img);\n    data.target_dimensions.x = $('#jqpz-temp').width();\n\t\tdata.target_dimensions.y = $('#jqpz-temp').height();\n    $('#jqpz-temp').remove();\n    data.target_dimensions.ratio = data.target_dimensions.x / data.target_dimensions.y;\n\t}\n\n})( jQuery );\n"
  },
  {
    "path": "dist/asset/docs/js/jquery.splitter.js",
    "content": "/*\n * jQuery.splitter.js - two-pane splitter window plugin\n *\n * version 1.51 (2009/01/09)\n *\n * Dual licensed under the MIT and GPL licenses:\n *   http://www.opensource.org/licenses/mit-license.php\n *   http://www.gnu.org/licenses/gpl.html\n */\n\n/**\n * The splitter() plugin implements a two-pane resizable splitter window.\n * The selected elements in the jQuery object are converted to a splitter;\n * each selected element should have two child elements, used for the panes\n * of the splitter. The plugin adds a third child element for the splitbar.\n *\n * For more details see: http://methvin.com/splitter/\n *\n *\n * @example $('#MySplitter').splitter();\n * @desc Create a vertical splitter with default settings\n *\n * @example $('#MySplitter').splitter({type: 'h', accessKey: 'M'});\n * @desc Create a horizontal splitter resizable via Alt+Shift+M\n *\n * @name splitter\n * @type jQuery\n * @param Object options Options for the splitter (not required)\n * @cat Plugins/Splitter\n * @return jQuery\n * @author Dave Methvin (dave.methvin@gmail.com)\n */\n;\n(function($) {\n\n    $.fn.splitter = function(args) {\n        args = args || {};\n        return this.each(function() {\n            var zombie;      // left-behind splitbar for outline resizes\n            function startSplitMouse(evt) {\n                if (opts.outline)\n                    zombie = zombie || bar.clone(false).insertAfter(A);\n                panes.css(\"-webkit-user-select\", \"none\");   // Safari selects A/B text on a move\n                bar.addClass(opts.activeClass);\n                $('<div class=\"splitterMask\"></div>').insertAfter(bar);\n                A._posSplit = A[0][opts.pxSplit] - evt[opts.eventPos];\n                $(document)\n                        .bind(\"mousemove\", doSplitMouse)\n                        .bind(\"mouseup\", endSplitMouse);\n            }\n\n            function doSplitMouse(evt) {\n                var newPos = A._posSplit + evt[opts.eventPos];\n                if (opts.outline) {\n                    newPos = Math.max(0, Math.min(newPos, splitter._DA - bar._DA));\n                    bar.css(opts.origin, newPos);\n                } else\n                    resplit(newPos);\n            }\n\n            function endSplitMouse(evt) {\n                $('div.splitterMask').remove();\n                bar.removeClass(opts.activeClass);\n                var newPos = A._posSplit + evt[opts.eventPos];\n                if (opts.outline) {\n                    zombie.remove();\n                    zombie = null;\n                    resplit(newPos);\n                }\n                panes.css(\"-webkit-user-select\", \"text\");   // let Safari select text again\n                $(document)\n                        .unbind(\"mousemove\", doSplitMouse)\n                        .unbind(\"mouseup\", endSplitMouse);\n            }\n\n            function resplit(newPos) {\n                // Constrain new splitbar position to fit pane size limits\n                newPos = Math.max(A._min, splitter._DA - B._max,\n                        Math.min(newPos, A._max, splitter._DA - bar._DA - B._min));\n                // Resize/position the two panes\n                bar._DA = bar[0][opts.pxSplit];      // bar size may change during dock\n                bar.css(opts.origin, newPos).css(opts.fixed, splitter._DF);\n                A.css(opts.origin, 0).css(opts.split, newPos).css(opts.fixed, splitter._DF);\n                B.css(opts.origin, newPos + bar._DA)\n                        .css(opts.split, splitter._DA - bar._DA - newPos).css(opts.fixed, splitter._DF);\n                // IE fires resize for us; all others pay cash\n                if (!$.browser.msie)\n                    panes.trigger(\"resize\");\n            }\n\n            function dimSum(jq, dims) {\n                // Opera returns -1 for missing min/max width, turn into 0\n                var sum = 0;\n                for (var i = 1; i < arguments.length; i++)\n                    sum += Math.max(parseInt(jq.css(arguments[i])) || 0, 0);\n                return sum;\n            }\n\n            // Determine settings based on incoming opts, element classes, and defaults\n            var vh = (args.splitHorizontal ? 'h' : args.splitVertical ? 'v' : args.type) || 'v';\n            var opts = $.extend({\n                activeClass: 'active',   // class name for active splitter\n                pxPerKey: 8,         // splitter px moved per keypress\n                tabIndex: 0,         // tab order indicator\n                accessKey: ''         // accessKey for splitbar\n            }, {\n                v: {               // Vertical splitters:\n                    keyLeft: 39, keyRight: 37, cursor: \"e-resize\",\n                    splitbarClass: \"vsplitbar\", outlineClass: \"voutline\",\n                    type: 'v', eventPos: \"pageX\", origin: \"left\",\n                    split: \"width\",  pxSplit: \"offsetWidth\",  side1: \"Left\", side2: \"Right\",\n                    fixed: \"height\", pxFixed: \"offsetHeight\", side3: \"Top\",  side4: \"Bottom\"\n                },\n                h: {               // Horizontal splitters:\n                    keyTop: 40, keyBottom: 38,  cursor: \"n-resize\",\n                    splitbarClass: \"hsplitbar\", outlineClass: \"houtline\",\n                    type: 'h', eventPos: \"pageY\", origin: \"top\",\n                    split: \"height\", pxSplit: \"offsetHeight\", side1: \"Top\",  side2: \"Bottom\",\n                    fixed: \"width\",  pxFixed: \"offsetWidth\",  side3: \"Left\", side4: \"Right\"\n                }\n            }[vh], args);\n\n            // Create jQuery object closures for splitter and both panes\n            var splitter = $(this).css({position: \"relative\"});\n            var panes = $(\">*\", splitter[0]).css({\n                position: \"absolute\",          // positioned inside splitter container\n                \"z-index\": \"1\",               // splitbar is positioned above\n                \"-moz-outline-style\": \"none\"   // don't show dotted outline\n            });\n            var A = $(panes[0]);      // left  or top\n            var B = $(panes[1]);      // right or bottom\n\n            // Focuser element, provides keyboard support; title is shown by Opera accessKeys\n            var focuser = $('<a href=\"javascript:void(0)\"></a>')\n                    .attr({accessKey: opts.accessKey, tabIndex: opts.tabIndex, title: opts.splitbarClass})\n                    .bind($.browser.opera ? \"click\" : \"focus\", function() {\n                        this.focus();\n                        bar.addClass(opts.activeClass)\n                    })\n                    .bind(\"keydown\", function(e) {\n                        var key = e.which || e.keyCode;\n                        var dir = key == opts[\"key\" + opts.side1] ? 1 : key == opts[\"key\" + opts.side2] ? -1 : 0;\n                        if (dir)\n                            resplit(A[0][opts.pxSplit] + dir * opts.pxPerKey, false);\n                    })\n                    .bind(\"blur\", function() {\n                        bar.removeClass(opts.activeClass)\n                    });\n\n            // Splitbar element, can be already in the doc or we create one\n            var bar = $(panes[2] || '<div></div>')\n                    .insertAfter(A).css(\"z-index\", \"100\").append(focuser)\n                    .attr({\"class\": opts.splitbarClass, unselectable: \"on\"})\n                    .css({position: \"absolute\",   \"user-select\": \"none\", \"-webkit-user-select\": \"none\",\n                        \"-khtml-user-select\": \"none\", \"-moz-user-select\": \"none\", \"top\": \"0px\"})\n                    .bind(\"mousedown\", startSplitMouse);\n            // Use our cursor unless the style specifies a non-default cursor\n            if (/^(auto|default|)$/.test(bar.css(\"cursor\")))\n                bar.css(\"cursor\", opts.cursor);\n\n            // Cache several dimensions for speed, rather than re-querying constantly\n            bar._DA = bar[0][opts.pxSplit];\n            splitter._PBF = $.boxModel ? dimSum(splitter, \"border\" + opts.side3 + \"Width\", \"border\" + opts.side4 + \"Width\") : 0;\n            splitter._PBA = $.boxModel ? dimSum(splitter, \"border\" + opts.side1 + \"Width\", \"border\" + opts.side2 + \"Width\") : 0;\n            A._pane = opts.side1;\n            B._pane = opts.side2;\n            $.each([A,B], function() {\n                this._min = opts[\"min\" + this._pane] || dimSum(this, \"min-\" + opts.split);\n                this._max = opts[\"max\" + this._pane] || dimSum(this, \"max-\" + opts.split) || 9999;\n                this._init = opts[\"size\" + this._pane] === true ?\n                        parseInt($.curCSS(this[0], opts.split)) : opts[\"size\" + this._pane];\n            });\n\n            // Determine initial position, get from cookie if specified\n            var initPos = A._init;\n            if (!isNaN(B._init))   // recalc initial B size as an offset from the top or left side\n                initPos = splitter[0][opts.pxSplit] - splitter._PBA - B._init - bar._DA;\n            if (opts.cookie) {\n                if (!$.cookie)\n                    alert('jQuery.splitter(): jQuery cookie plugin required');\n                var ckpos = parseInt($.cookie(opts.cookie));\n                if (!isNaN(ckpos))\n                    initPos = ckpos;\n                $(window).bind(\"unload\", function() {\n                    var state = String(bar.css(opts.origin));   // current location of splitbar\n                    $.cookie(opts.cookie, state, {expires: opts.cookieExpires || 365,\n                        path: opts.cookiePath || document.location.pathname});\n                });\n            }\n            if (isNaN(initPos))   // King Solomon's algorithm\n                initPos = Math.round((splitter[0][opts.pxSplit] - splitter._PBA - bar._DA) / 2);\n\n            // Resize event propagation and splitter sizing\n            if (opts.anchorToWindow) {\n                // Account for margin or border on the splitter container and enforce min height\n                splitter._hadjust = dimSum(splitter, \"borderTopWidth\", \"borderBottomWidth\", \"marginBottom\");\n                splitter._hmin = Math.max(dimSum(splitter, \"minHeight\"), 20);\n                $(window).bind(\"resize\",\n                        function() {\n                            var top = splitter.offset().top;\n                            var wh = $(window).height();\n                            splitter.css(\"height\", Math.max(wh - top - splitter._hadjust, splitter._hmin) + \"px\");\n                            if (!$.browser.msie) splitter.trigger(\"resize\");\n                        }).trigger(\"resize\");\n            }\n            else if (opts.resizeToWidth && !$.browser.msie)\n                $(window).bind(\"resize\", function() {\n                    splitter.trigger(\"resize\");\n                });\n\n            // Resize event handler; triggered immediately to set initial position\n            splitter.bind(\"resize\",\n                    function(e, size) {\n                        // Custom events bubble in jQuery 1.3; don't Yo Dawg\n                        if (e.target != this) return;\n                        // Determine new width/height of splitter container\n                        splitter._DF = splitter[0][opts.pxFixed] - splitter._PBF;\n                        splitter._DA = splitter[0][opts.pxSplit] - splitter._PBA;\n                        // Bail if splitter isn't visible or content isn't there yet\n                        if (splitter._DF <= 0 || splitter._DA <= 0) return;\n                        // Re-divvy the adjustable dimension; maintain size of the preferred pane\n                        resplit(!isNaN(size) ? size : (!(opts.sizeRight || opts.sizeBottom) ? A[0][opts.pxSplit] :\n                                splitter._DA - B[0][opts.pxSplit] - bar._DA));\n                    }).trigger(\"resize\", [initPos]);\n        });\n    };\n\n})(jQuery);\n"
  },
  {
    "path": "dist/asset/docs/js/jquery.treeview.js",
    "content": "/*\n * Treeview 1.5pre - jQuery plugin to hide and show branches of a tree\n * \n * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/\n * http://docs.jquery.com/Plugins/Treeview\n *\n * Copyright (c) 2007 Jörn Zaefferer\n *\n * Dual licensed under the MIT and GPL licenses:\n *   http://www.opensource.org/licenses/mit-license.php\n *   http://www.gnu.org/licenses/gpl.html\n *\n * Revision: $Id: jquery.treeview.js 5759 2008-07-01 07:50:28Z joern.zaefferer $\n *\n */\n\n;(function($) {\n\n\t// TODO rewrite as a widget, removing all the extra plugins\n\t$.extend($.fn, {\n\t\tswapClass: function(c1, c2) {\n\t\t\tvar c1Elements = this.filter('.' + c1);\n\t\t\tthis.filter('.' + c2).removeClass(c2).addClass(c1);\n\t\t\tc1Elements.removeClass(c1).addClass(c2);\n\t\t\treturn this;\n\t\t},\n\t\treplaceClass: function(c1, c2) {\n\t\t\treturn this.filter('.' + c1).removeClass(c1).addClass(c2).end();\n\t\t},\n\t\thoverClass: function(className) {\n\t\t\tclassName = className || \"hover\";\n\t\t\treturn this.hover(function() {\n\t\t\t\t$(this).addClass(className);\n\t\t\t}, function() {\n\t\t\t\t$(this).removeClass(className);\n\t\t\t});\n\t\t},\n\t\theightToggle: function(animated, callback) {\n\t\t\tanimated ?\n\t\t\t\tthis.animate({ height: \"toggle\" }, animated, callback) :\n\t\t\t\tthis.each(function(){\n\t\t\t\t\tjQuery(this)[ jQuery(this).is(\":hidden\") ? \"show\" : \"hide\" ]();\n\t\t\t\t\tif(callback)\n\t\t\t\t\t\tcallback.apply(this, arguments);\n\t\t\t\t});\n\t\t},\n\t\theightHide: function(animated, callback) {\n\t\t\tif (animated) {\n\t\t\t\tthis.animate({ height: \"hide\" }, animated, callback);\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t\tif (callback)\n\t\t\t\t\tthis.each(callback);\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tprepareBranches: function(settings) {\n\t\t\tif (!settings.prerendered) {\n\t\t\t\t// mark last tree items\n\t\t\t\tthis.filter(\":last-child:not(ul)\").addClass(CLASSES.last);\n\t\t\t\t// collapse whole tree, or only those marked as closed, anyway except those marked as open\n\t\t\t\tthis.filter((settings.collapsed ? \"\" : \".\" + CLASSES.closed) + \":not(.\" + CLASSES.open + \")\").find(\">ul\").hide();\n\t\t\t}\n\t\t\t// return all items with sublists\n\t\t\treturn this.filter(\":has(>ul)\");\n\t\t},\n\t\tapplyClasses: function(settings, toggler) {\n\t\t\t// TODO use event delegation\n\t\t\tthis.filter(\":has(>ul):not(:has(>a))\").find(\">span\").unbind(\"click.treeview\").bind(\"click.treeview\", function(event) {\n\t\t\t\t// don't handle click events on children, eg. checkboxes\n\t\t\t\tif ( this == event.target )\n\t\t\t\t\ttoggler.apply($(this).next());\n\t\t\t}).add( $(\"a\", this) ).hoverClass();\n\t\t\t\n\t\t\tif (!settings.prerendered) {\n\t\t\t\t// handle closed ones first\n\t\t\t\tthis.filter(\":has(>ul:hidden)\")\n\t\t\t\t\t\t.addClass(CLASSES.expandable)\n\t\t\t\t\t\t.replaceClass(CLASSES.last, CLASSES.lastExpandable);\n\t\t\t\t\t\t\n\t\t\t\t// handle open ones\n\t\t\t\tthis.not(\":has(>ul:hidden)\")\n\t\t\t\t\t\t.addClass(CLASSES.collapsable)\n\t\t\t\t\t\t.replaceClass(CLASSES.last, CLASSES.lastCollapsable);\n\t\t\t\t\t\t\n\t            // create hitarea if not present\n\t\t\t\tvar hitarea = this.find(\"div.\" + CLASSES.hitarea);\n\t\t\t\tif (!hitarea.length)\n\t\t\t\t\thitarea = this.prepend(\"<div class=\\\"\" + CLASSES.hitarea + \"\\\"/>\").find(\"div.\" + CLASSES.hitarea);\n\t\t\t\thitarea.removeClass().addClass(CLASSES.hitarea).each(function() {\n\t\t\t\t\tvar classes = \"\";\n\t\t\t\t\t$.each($(this).parent().attr(\"class\").split(\" \"), function() {\n\t\t\t\t\t\tclasses += this + \"-hitarea \";\n\t\t\t\t\t});\n\t\t\t\t\t$(this).addClass( classes );\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\t// apply event to hitarea\n\t\t\tthis.find(\"div.\" + CLASSES.hitarea).click( toggler );\n\t\t},\n\t\ttreeview: function(settings) {\n\t\t\t\n\t\t\tsettings = $.extend({\n\t\t\t\tcookieId: \"treeview\"\n\t\t\t}, settings);\n\t\t\t\n\t\t\tif ( settings.toggle ) {\n\t\t\t\tvar callback = settings.toggle;\n\t\t\t\tsettings.toggle = function() {\n\t\t\t\t\treturn callback.apply($(this).parent()[0], arguments);\n\t\t\t\t};\n\t\t\t}\n\t\t\n\t\t\t// factory for treecontroller\n\t\t\tfunction treeController(tree, control) {\n\t\t\t\t// factory for click handlers\n\t\t\t\tfunction handler(filter) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\t// reuse toggle event handler, applying the elements to toggle\n\t\t\t\t\t\t// start searching for all hitareas\n\t\t\t\t\t\ttoggler.apply( $(\"div.\" + CLASSES.hitarea, tree).filter(function() {\n\t\t\t\t\t\t\t// for plain toggle, no filter is provided, otherwise we need to check the parent element\n\t\t\t\t\t\t\treturn filter ? $(this).parent(\".\" + filter).length : true;\n\t\t\t\t\t\t}) );\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// click on first element to collapse tree\n\t\t\t\t$(\"a:eq(0)\", control).click( handler(CLASSES.collapsable) );\n\t\t\t\t// click on second to expand tree\n\t\t\t\t$(\"a:eq(1)\", control).click( handler(CLASSES.expandable) );\n\t\t\t\t// click on third to toggle tree\n\t\t\t\t$(\"a:eq(2)\", control).click( handler() ); \n\t\t\t}\n\t\t\n\t\t\t// handle toggle event\n\t\t\tfunction toggler() {\n\t\t\t\t$(this)\n\t\t\t\t\t.parent()\n\t\t\t\t\t// swap classes for hitarea\n\t\t\t\t\t.find(\">.hitarea\")\n\t\t\t\t\t\t.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )\n\t\t\t\t\t\t.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )\n\t\t\t\t\t.end()\n\t\t\t\t\t// swap classes for parent li\n\t\t\t\t\t.swapClass( CLASSES.collapsable, CLASSES.expandable )\n\t\t\t\t\t.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )\n\t\t\t\t\t// find child lists\n\t\t\t\t\t.find( \">ul\" )\n\t\t\t\t\t// toggle them\n\t\t\t\t\t.heightToggle( settings.animated, settings.toggle );\n\t\t\t\tif ( settings.unique ) {\n\t\t\t\t\t$(this).parent()\n\t\t\t\t\t\t.siblings()\n\t\t\t\t\t\t// swap classes for hitarea\n\t\t\t\t\t\t.find(\">.hitarea\")\n\t\t\t\t\t\t\t.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )\n\t\t\t\t\t\t\t.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )\n\t\t\t\t\t\t.end()\n\t\t\t\t\t\t.replaceClass( CLASSES.collapsable, CLASSES.expandable )\n\t\t\t\t\t\t.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )\n\t\t\t\t\t\t.find( \">ul\" )\n\t\t\t\t\t\t.heightHide( settings.animated, settings.toggle );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.data(\"toggler\", toggler);\n\t\t\t\n\t\t\tfunction serialize() {\n\t\t\t\tfunction binary(arg) {\n\t\t\t\t\treturn arg ? 1 : 0;\n\t\t\t\t}\n\t\t\t\tvar data = [];\n\t\t\t\tbranches.each(function(i, e) {\n\t\t\t\t\tdata[i] = $(e).is(\":has(>ul:visible)\") ? 1 : 0;\n\t\t\t\t});\n\t\t\t\t$.cookie(settings.cookieId, data.join(\"\"), settings.cookieOptions );\n\t\t\t}\n\t\t\t\n\t\t\tfunction deserialize() {\n\t\t\t\tvar stored = $.cookie(settings.cookieId);\n\t\t\t\tif ( stored ) {\n\t\t\t\t\tvar data = stored.split(\"\");\n\t\t\t\t\tbranches.each(function(i, e) {\n\t\t\t\t\t\t$(e).find(\">ul\")[ parseInt(data[i]) ? \"show\" : \"hide\" ]();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// add treeview class to activate styles\n\t\t\tthis.addClass(\"treeview\");\n\t\t\t\n\t\t\t// prepare branches and find all tree items with child lists\n\t\t\tvar branches = this.find(\"li\").prepareBranches(settings);\n\t\t\t\n\t\t\tswitch(settings.persist) {\n\t\t\tcase \"cookie\":\n\t\t\t\tvar toggleCallback = settings.toggle;\n\t\t\t\tsettings.toggle = function() {\n\t\t\t\t\tserialize();\n\t\t\t\t\tif (toggleCallback) {\n\t\t\t\t\t\ttoggleCallback.apply(this, arguments);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tdeserialize();\n\t\t\t\tbreak;\n\t\t\tcase \"location\":\n\t\t\t\tvar current = this.find(\"a\").filter(function() {\n\t\t\t\t\treturn this.href.toLowerCase() == location.href.toLowerCase();\n\t\t\t\t});\n\t\t\t\tif ( current.length ) {\n\t\t\t\t\t// TODO update the open/closed classes\n\t\t\t\t\tvar items = current.addClass(\"selected\").parents(\"ul, li\").add( current.next() ).show();\n\t\t\t\t\tif (settings.prerendered) {\n\t\t\t\t\t\t// if prerendered is on, replicate the basic class swapping\n\t\t\t\t\t\titems.filter(\"li\")\n\t\t\t\t\t\t\t.swapClass( CLASSES.collapsable, CLASSES.expandable )\n\t\t\t\t\t\t\t.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )\n\t\t\t\t\t\t\t.find(\">.hitarea\")\n\t\t\t\t\t\t\t\t.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )\n\t\t\t\t\t\t\t\t.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tbranches.applyClasses(settings, toggler);\n\t\t\t\t\n\t\t\t// if control option is set, create the treecontroller and show it\n\t\t\tif ( settings.control ) {\n\t\t\t\ttreeController(this, settings.control);\n\t\t\t\t$(settings.control).show();\n\t\t\t}\n\t\t\t\n\t\t\treturn this;\n\t\t}\n\t});\n\t\n\t// classes used by the plugin\n\t// need to be styled via external stylesheet, see first example\n\t$.treeview = {};\n\tvar CLASSES = ($.treeview.classes = {\n\t\topen: \"open\",\n\t\tclosed: \"closed\",\n\t\texpandable: \"expandable\",\n\t\texpandableHitarea: \"expandable-hitarea\",\n\t\tlastExpandableHitarea: \"lastExpandable-hitarea\",\n\t\tcollapsable: \"collapsable\",\n\t\tcollapsableHitarea: \"collapsable-hitarea\",\n\t\tlastCollapsableHitarea: \"lastCollapsable-hitarea\",\n\t\tlastCollapsable: \"lastCollapsable\",\n\t\tlastExpandable: \"lastExpandable\",\n\t\tlast: \"last\",\n\t\thitarea: \"hitarea\"\n\t});\n\t\n})(jQuery);\n"
  },
  {
    "path": "dist/asset/docs/js/jquery.xml2json.js",
    "content": "/*\n ### jQuery XML to JSON Plugin v1.3 - 2013-02-18 ###\n * http://www.fyneworks.com/ - diego@fyneworks.com\n\t* Licensed under http://en.wikipedia.org/wiki/MIT_License\n ###\n Website: http://www.fyneworks.com/jquery/xml-to-json/\n*//*\n # INSPIRED BY: http://www.terracoder.com/\n           AND: http://www.thomasfrank.se/xml_to_json.html\n\t\t\t\t\t\t\t\t\t\t\tAND: http://www.kawa.net/works/js/xml/objtree-e.html\n*//*\n This simple script converts XML (document of code) into a JSON object. It is the combination of 2\n 'xml to json' great parsers (see below) which allows for both 'simple' and 'extended' parsing modes.\n*/\n// Avoid collisions\n;if(window.jQuery) (function($){\n \n // Add function to jQuery namespace\n $.extend({\n  \n  // converts xml documents and xml text to json object\n  xml2json: function(xml, extended) {\n   if(!xml) return {}; // quick fail\n   \n   //### PARSER LIBRARY\n   // Core function\n   function parseXML(node, simple){\n    if(!node) return null;\n    var txt = '', obj = null, att = null;\n    var nt = node.nodeType, nn = jsVar(node.localName || node.nodeName);\n    var nv = node.text || node.nodeValue || '';\n    /*DBG*/ //if(window.console) console.log(['x2j',nn,nt,nv.length+' bytes']);\n    if(node.childNodes){\n     if(node.childNodes.length>0){\n      /*DBG*/ //if(window.console) console.log(['x2j',nn,'CHILDREN',node.childNodes]);\n      $.each(node.childNodes, function(n,cn){\n       var cnt = cn.nodeType, cnn = jsVar(cn.localName || cn.nodeName);\n       var cnv = cn.text || cn.nodeValue || '';\n       /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>a',cnn,cnt,cnv]);\n       if(cnt == 8){\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>b',cnn,'COMMENT (ignore)']);\n        return; // ignore comment node\n       }\n       else if(cnt == 3 || cnt == 4 || !cnn){\n        // ignore white-space in between tags\n        if(cnv.match(/^\\s+$/)){\n         /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>c',cnn,'WHITE-SPACE (ignore)']);\n         return;\n        };\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>d',cnn,'TEXT']);\n        txt += cnv.replace(/^\\s+/,'').replace(/\\s+$/,'');\n\t\t\t\t\t\t\t\t// make sure we ditch trailing spaces from markup\n       }\n       else{\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>e',cnn,'OBJECT']);\n        obj = obj || {};\n        if(obj[cnn]){\n         /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>f',cnn,'ARRAY']);\n         \n\t\t\t\t\t\t\t\t\t// http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child\n\t\t\t\t\t\t\t\t\tif(!obj[cnn].length) obj[cnn] = myArr(obj[cnn]);\n\t\t\t\t\t\t\t\t\tobj[cnn] = myArr(obj[cnn]);\n         \n\t\t\t\t\t\t\t\t\tobj[cnn][ obj[cnn].length ] = parseXML(cn, true/* simple */);\n         obj[cnn].length = obj[cnn].length;\n        }\n        else{\n         /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>g',cnn,'dig deeper...']);\n         obj[cnn] = parseXML(cn);\n        };\n       };\n      });\n     };//node.childNodes.length>0\n    };//node.childNodes\n    if(node.attributes){\n     if(node.attributes.length>0){\n      /*DBG*/ //if(window.console) console.log(['x2j',nn,'ATTRIBUTES',node.attributes])\n      att = {}; obj = obj || {};\n      $.each(node.attributes, function(a,at){\n       var atn = jsVar(at.name), atv = at.value;\n       att[atn] = atv;\n       if(obj[atn]){\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'attr>',atn,'ARRAY']);\n        \n\t\t\t\t\t\t\t\t// http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child\n\t\t\t\t\t\t\t\t//if(!obj[atn].length) obj[atn] = myArr(obj[atn]);//[ obj[ atn ] ];\n        obj[cnn] = myArr(obj[cnn]);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tobj[atn][ obj[atn].length ] = atv;\n        obj[atn].length = obj[atn].length;\n       }\n       else{\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'attr>',atn,'TEXT']);\n        obj[atn] = atv;\n       };\n      });\n      //obj['attributes'] = att;\n     };//node.attributes.length>0\n    };//node.attributes\n    if(obj){\n     obj = $.extend( (txt!='' ? new String(txt) : {}),/* {text:txt},*/ obj || {}/*, att || {}*/);\n     //txt = (obj.text) ? (typeof(obj.text)=='object' ? obj.text : [obj.text || '']).concat([txt]) : txt;\n     txt = (obj.text) ? ([obj.text || '']).concat([txt]) : txt;\n     if(txt) obj.text = txt;\n     txt = '';\n    };\n    var out = obj || txt;\n    //console.log([extended, simple, out]);\n    if(extended){\n     if(txt) out = {};//new String(out);\n     txt = out.text || txt || '';\n     if(txt) out.text = txt;\n     if(!simple) out = myArr(out);\n    };\n    return out;\n   };// parseXML\n   // Core Function End\n   // Utility functions\n   var jsVar = function(s){ return String(s || '').replace(/-/g,\"_\"); };\n   \n\t\t\t// NEW isNum function: 01/09/2010\n\t\t\t// Thanks to Emile Grau, GigaTecnologies S.L., www.gigatransfer.com, www.mygigamail.com\n\t\t\tfunction isNum(s){\n\t\t\t\t// based on utility function isNum from xml2json plugin (http://www.fyneworks.com/ - diego@fyneworks.com)\n\t\t\t\t// few bugs corrected from original function :\n\t\t\t\t// - syntax error : regexp.test(string) instead of string.test(reg)\n\t\t\t\t// - regexp modified to accept  comma as decimal mark (latin syntax : 25,24 )\n\t\t\t\t// - regexp modified to reject if no number before decimal mark  : \".7\" is not accepted\n\t\t\t\t// - string is \"trimmed\", allowing to accept space at the beginning and end of string\n\t\t\t\tvar regexp=/^((-)?([0-9]+)(([\\.\\,]{0,1})([0-9]+))?$)/\n\t\t\t\treturn (typeof s == \"number\") || regexp.test(String((s && typeof s == \"string\") ? jQuery.trim(s) : ''));\n\t\t\t};\n\t\t\t// OLD isNum function: (for reference only)\n\t\t\t//var isNum = function(s){ return (typeof s == \"number\") || String((s && typeof s == \"string\") ? s : '').test(/^((-)?([0-9]*)((\\.{0,1})([0-9]+))?$)/); };\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   var myArr = function(o){\n    \n\t\t\t\t// http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child\n\t\t\t\t//if(!o.length) o = [ o ]; o.length=o.length;\n    if(!$.isArray(o)) o = [ o ]; o.length=o.length;\n\t\t\t\t\n\t\t\t\t// here is where you can attach additional functionality, such as searching and sorting...\n    return o;\n   };\n   // Utility functions End\n   //### PARSER LIBRARY END\n   \n   // Convert plain text to xml\n   if(typeof xml=='string') xml = $.text2xml(xml);\n   \n   // Quick fail if not xml (or if this is a node)\n   if(!xml.nodeType) return;\n   if(xml.nodeType == 3 || xml.nodeType == 4) return xml.nodeValue;\n   \n   // Find xml root node\n   var root = (xml.nodeType == 9) ? xml.documentElement : xml;\n   \n   // Convert xml to json\n   var out = parseXML(root, true /* simple */);\n   \n   // Clean-up memory\n   xml = null; root = null;\n   \n   // Send output\n   return out;\n  },\n  \n  // Convert text to XML DOM\n  text2xml: function(str) {\n   // NOTE: I'd like to use jQuery for this, but jQuery makes all tags uppercase\n   //return $(xml)[0];\n   \n   /* prior to jquery 1.9 */\n   /*\n   var out;\n   try{\n    var xml = ((!$.support.opacity && !$.support.style))?new ActiveXObject(\"Microsoft.XMLDOM\"):new DOMParser();\n    xml.async = false;\n   }catch(e){ throw new Error(\"XML Parser could not be instantiated\") };\n   try{\n    if((!$.support.opacity && !$.support.style)) out = (xml.loadXML(str))?xml:false;\n    else out = xml.parseFromString(str, \"text/xml\");\n   }catch(e){ throw new Error(\"Error parsing XML string\") };\n   return out;\n   */\n\n   /* jquery 1.9+ */\n   return $.parseXML(str);\n  }\n\t\t\n }); // extend $\n\n})(jQuery);\n"
  },
  {
    "path": "dist/asset/docs/js/menu.js",
    "content": "var timeout    = 500;\nvar closetimer = 0;\nvar ddmenuitem = 0;\n\nfunction menu_open() {\n    menu_canceltimer();\n    menu_close();\n    ddmenuitem = $(this).find('ul').css('visibility', 'visible');\n}\n\nfunction menu_close() {\n    if (ddmenuitem) ddmenuitem.css('visibility', 'hidden');\n}\n\nfunction menu_timer() {\n    closetimer = window.setTimeout(menu_close, timeout);\n}\n\nfunction menu_canceltimer() {\n    if (closetimer) {\n        window.clearTimeout(closetimer);\n        closetimer = null;\n    }\n}\n\n$(document).ready(function() {\n    $('#file-nav > li').bind('mouseover', menu_open);\n    $('#file-nav > li').bind('mouseout', menu_timer);\n});\n\ndocument.onclick = menu_close;\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-apollo.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"com\",/^#[^\\n\\r]*/,null,\"#\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,null,'\"']],[[\"kwd\",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\\s/,\nnull],[\"typ\",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\\*?|2?DEC\\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\\s/,null],[\"lit\",/^'(?:-*(?:\\w|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?)?/],[\"pln\",/^-*(?:[!-z]|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?/],[\"pun\",/^[^\\w\\t\\n\\r \"'-);\\\\\\xa0]+/]]),[\"apollo\",\"agc\",\"aea\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-clj.js",
    "content": "/*\n Copyright (C) 2011 Google Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nvar a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"opn\",/^[([{]+/,a,\"([{\"],[\"clo\",/^[)\\]}]+/,a,\")]}\"],[\"com\",/^;[^\\n\\r]*/,a,\";\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,a,\"\\t\\n\\r \\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,a,'\"']],[[\"kwd\",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\\b/,a],\n[\"typ\",/^:[\\dA-Za-z-]+/]]),[\"clj\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-css.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\f\\r ]+/,null,\" \\t\\r\\n\f\"]],[[\"str\",/^\"(?:[^\\n\\f\\r\"\\\\]|\\\\(?:\\r\\n?|\\n|\\f)|\\\\[\\S\\s])*\"/,null],[\"str\",/^'(?:[^\\n\\f\\r'\\\\]|\\\\(?:\\r\\n?|\\n|\\f)|\\\\[\\S\\s])*'/,null],[\"lang-css-str\",/^url\\(([^\"')]*)\\)/i],[\"kwd\",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\\w-]|$)/i,null],[\"lang-css-kw\",/^(-?(?:[_a-z]|\\\\[\\da-f]+ ?)(?:[\\w-]|\\\\\\\\[\\da-f]+ ?)*)\\s*:/i],[\"com\",/^\\/\\*[^*]*\\*+(?:[^*/][^*]*\\*+)*\\//],[\"com\",\n/^(?:<\\!--|--\\>)/],[\"lit\",/^(?:\\d+|\\d*\\.\\d+)(?:%|[a-z]+)?/i],[\"lit\",/^#[\\da-f]{3,6}/i],[\"pln\",/^-?(?:[_a-z]|\\\\[\\da-f]+ ?)(?:[\\w-]|\\\\\\\\[\\da-f]+ ?)*/i],[\"pun\",/^[^\\s\\w\"']+/]]),[\"css\"]);PR.registerLangHandler(PR.createSimpleLexer([],[[\"kwd\",/^-?(?:[_a-z]|\\\\[\\da-f]+ ?)(?:[\\w-]|\\\\\\\\[\\da-f]+ ?)*/i]]),[\"css-kw\"]);PR.registerLangHandler(PR.createSimpleLexer([],[[\"str\",/^[^\"')]+/]]),[\"css-str\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-go.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"pln\",/^(?:\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])+(?:'|$)|`[^`]*(?:`|$))/,null,\"\\\"'\"]],[[\"com\",/^(?:\\/\\/[^\\n\\r]*|\\/\\*[\\S\\s]*?\\*\\/)/],[\"pln\",/^(?:[^\"'/`]|\\/(?![*/]))+/]]),[\"go\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-hs.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t-\\r ]+/,null,\"\\t\\n\u000b\f\\r \"],[\"str\",/^\"(?:[^\\n\\f\\r\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,null,'\"'],[\"str\",/^'(?:[^\\n\\f\\r'\\\\]|\\\\[^&])'?/,null,\"'\"],[\"lit\",/^(?:0o[0-7]+|0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)/i,null,\"0123456789\"]],[[\"com\",/^(?:--+[^\\n\\f\\r]*|{-(?:[^-]|-+[^}-])*-})/],[\"kwd\",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\\d'A-Za-z]|$)/,\nnull],[\"pln\",/^(?:[A-Z][\\w']*\\.)*[A-Za-z][\\w']*/],[\"pun\",/^[^\\d\\t-\\r \"'A-Za-z]+/]]),[\"hs\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-lisp.js",
    "content": "var a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"opn\",/^\\(+/,a,\"(\"],[\"clo\",/^\\)+/,a,\")\"],[\"com\",/^;[^\\n\\r]*/,a,\";\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,a,\"\\t\\n\\r \\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,a,'\"']],[[\"kwd\",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\\b/,a],\n[\"lit\",/^[+-]?(?:[#0]x[\\da-f]+|\\d+\\/\\d+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:[de][+-]?\\d+)?)/i],[\"lit\",/^'(?:-*(?:\\w|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?)?/],[\"pln\",/^-*(?:[_a-z]|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?/i],[\"pun\",/^[^\\w\\t\\n\\r \"'-);\\\\\\xa0]+/]]),[\"cl\",\"el\",\"lisp\",\"scm\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-lua.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"str\",/^(?:\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])*(?:'|$))/,null,\"\\\"'\"]],[[\"com\",/^--(?:\\[(=*)\\[[\\S\\s]*?(?:]\\1]|$)|[^\\n\\r]*)/],[\"str\",/^\\[(=*)\\[[\\S\\s]*?(?:]\\1]|$)/],[\"kwd\",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,null],[\"lit\",/^[+-]?(?:0x[\\da-f]+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:e[+-]?\\d+)?)/i],\n[\"pln\",/^[_a-z]\\w*/i],[\"pun\",/^[^\\w\\t\\n\\r \\xa0][^\\w\\t\\n\\r \"'+=\\xa0-]*/]]),[\"lua\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-ml.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"com\",/^#(?:if[\\t\\n\\r \\xa0]+(?:[$_a-z][\\w']*|``[^\\t\\n\\r`]*(?:``|$))|else|endif|light)/i,null,\"#\"],[\"str\",/^(?:\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])(?:'|$))/,null,\"\\\"'\"]],[[\"com\",/^(?:\\/\\/[^\\n\\r]*|\\(\\*[\\S\\s]*?\\*\\))/],[\"kwd\",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\\b/],\n[\"lit\",/^[+-]?(?:0x[\\da-f]+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:e[+-]?\\d+)?)/i],[\"pln\",/^(?:[_a-z][\\w']*[!#?]?|``[^\\t\\n\\r`]*(?:``|$))/i],[\"pun\",/^[^\\w\\t\\n\\r \"'\\xa0]+/]]),[\"fs\",\"ml\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-n.js",
    "content": "var a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"str\",/^(?:'(?:[^\\n\\r'\\\\]|\\\\.)*'|\"(?:[^\\n\\r\"\\\\]|\\\\.)*(?:\"|$))/,a,'\"'],[\"com\",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\\b|[^\\n\\r]*)/,a,\"#\"],[\"pln\",/^\\s+/,a,\" \\r\\n\\t\\xa0\"]],[[\"str\",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,a],[\"str\",/^<#[^#>]*(?:#>|$)/,a],[\"str\",/^<(?:(?:(?:\\.\\.\\/)*|\\/?)(?:[\\w-]+(?:\\/[\\w-]+)+)?[\\w-]+\\.h|[a-z]\\w*)>/,a],[\"com\",/^\\/\\/[^\\n\\r]*/,a],[\"com\",/^\\/\\*[\\S\\s]*?(?:\\*\\/|$)/,\na],[\"kwd\",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\\b/,\na],[\"typ\",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\\b/,a],[\"lit\",/^@[$_a-z][\\w$@]*/i,a],[\"typ\",/^@[A-Z]+[a-z][\\w$@]*/,a],[\"pln\",/^'?[$_a-z][\\w$@]*/i,a],[\"lit\",/^(?:0x[\\da-f]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+-]?\\d+)?)[a-z]*/i,a,\"0123456789\"],[\"pun\",/^.[^\\s\\w\"-$'./@`]*/,a]]),[\"n\",\"nemerle\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-proto.js",
    "content": "PR.registerLangHandler(PR.sourceDecorator({keywords:\"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true\",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\\b/,cStyleComments:!0}),[\"proto\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-scala.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"str\",/^\"(?:\"\"(?:\"\"?(?!\")|[^\"\\\\]|\\\\.)*\"{0,3}|(?:[^\\n\\r\"\\\\]|\\\\.)*\"?)/,null,'\"'],[\"lit\",/^`(?:[^\\n\\r\\\\`]|\\\\.)*`?/,null,\"`\"],[\"pun\",/^[!#%&(--:-@[-^{-~]+/,null,\"!#%&()*+,-:;<=>?@[\\\\]^{|}~\"]],[[\"str\",/^'(?:[^\\n\\r'\\\\]|\\\\(?:'|[^\\n\\r']+))'/],[\"lit\",/^'[$A-Z_a-z][\\w$]*(?![\\w$'])/],[\"kwd\",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\\b/],\n[\"lit\",/^(?:true|false|null|this)\\b/],[\"lit\",/^(?:0(?:[0-7]+|x[\\da-f]+)l?|(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:e[+-]?\\d+)?f?|l?)|\\\\.\\d+(?:e[+-]?\\d+)?f?)/i],[\"typ\",/^[$_]*[A-Z][\\d$A-Z_]*[a-z][\\w$]*/],[\"pln\",/^[$A-Z_a-z][\\w$]*/],[\"com\",/^\\/(?:\\/.*|\\*(?:\\/|\\**[^*/])*(?:\\*+\\/?)?)/],[\"pun\",/^(?:\\.+|\\/)/]]),[\"scala\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-sql.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"str\",/^(?:\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/,null,\"\\\"'\"]],[[\"com\",/^(?:--[^\\n\\r]*|\\/\\*[\\S\\s]*?(?:\\*\\/|$))/],[\"kwd\",/^(?:add|all|alter|and|any|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|merge|national|nocheck|nonclustered|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|percent|plan|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rule|save|schema|select|session_user|set|setuser|shutdown|some|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|union|unique|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|writetext)(?=[^\\w-]|$)/i,\nnull],[\"lit\",/^[+-]?(?:0x[\\da-f]+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:e[+-]?\\d+)?)/i],[\"pln\",/^[_a-z][\\w-]*/i],[\"pun\",/^[^\\w\\t\\n\\r \"'\\xa0][^\\w\\t\\n\\r \"'+\\xa0-]*/]]),[\"sql\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-tex.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"],[\"com\",/^%[^\\n\\r]*/,null,\"%\"]],[[\"kwd\",/^\\\\[@-Za-z]+/],[\"kwd\",/^\\\\./],[\"typ\",/^[$&]/],[\"lit\",/[+-]?(?:\\.\\d+|\\d+(?:\\.\\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],[\"pun\",/^[()=[\\]{}]+/]]),[\"latex\",\"tex\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-vb.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0\\u2028\\u2029]+/,null,\"\\t\\n\\r �\\xa0  \"],[\"str\",/^(?:[\"\\u201c\\u201d](?:[^\"\\u201c\\u201d]|[\"\\u201c\\u201d]{2})(?:[\"\\u201c\\u201d]c|$)|[\"\\u201c\\u201d](?:[^\"\\u201c\\u201d]|[\"\\u201c\\u201d]{2})*(?:[\"\\u201c\\u201d]|$))/i,null,'\"“”'],[\"com\",/^['\\u2018\\u2019].*/,null,\"'‘’\"]],[[\"kwd\",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\\b/i,\nnull],[\"com\",/^rem.*/i],[\"lit\",/^(?:true\\b|false\\b|nothing\\b|\\d+(?:e[+-]?\\d+[dfr]?|[dfilrs])?|(?:&h[\\da-f]+|&o[0-7]+)[ils]?|\\d*\\.\\d+(?:e[+-]?\\d+)?[dfr]?|#\\s+(?:\\d+[/-]\\d+[/-]\\d+(?:\\s+\\d+:\\d+(?::\\d+)?(\\s*(?:am|pm))?)?|\\d+:\\d+(?::\\d+)?(\\s*(?:am|pm))?)\\s+#)/i],[\"pln\",/^(?:(?:[a-z]|_\\w)\\w*|\\[(?:[a-z]|_\\w)\\w*])/i],[\"pun\",/^[^\\w\\t\\n\\r \"'[\\]\\xa0\\u2018\\u2019\\u201c\\u201d\\u2028\\u2029]+/],[\"pun\",/^(?:\\[|])/]]),[\"vb\",\"vbs\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-vhdl.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r �\\xa0\"]],[[\"str\",/^(?:[box]?\"(?:[^\"]|\"\")*\"|'.')/i],[\"com\",/^--[^\\n\\r]*/],[\"kwd\",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\\w-]|$)/i,\nnull],[\"typ\",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\\w-]|$)/i,null],[\"typ\",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\\w-]|$)/i,null],[\"lit\",/^\\d+(?:_\\d+)*(?:#[\\w.\\\\]+#(?:[+-]?\\d+(?:_\\d+)*)?|(?:\\.\\d+(?:_\\d+)*)?(?:e[+-]?\\d+(?:_\\d+)*)?)/i],\n[\"pln\",/^(?:[a-z]\\w*|\\\\[^\\\\]*\\\\)/i],[\"pun\",/^[^\\w\\t\\n\\r \"'\\xa0][^\\w\\t\\n\\r \"'\\xa0-]*/]]),[\"vhdl\",\"vhd\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-wiki.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\d\\t a-gi-z\\xa0]+/,null,\"\\t �\\xa0abcdefgijklmnopqrstuvwxyz0123456789\"],[\"pun\",/^[*=[\\]^~]+/,null,\"=*~^[]\"]],[[\"lang-wiki.meta\",/(?:^^|\\r\\n?|\\n)(#[a-z]+)\\b/],[\"lit\",/^[A-Z][a-z][\\da-z]+[A-Z][a-z][^\\W_]+\\b/],[\"lang-\",/^{{{([\\S\\s]+?)}}}/],[\"lang-\",/^`([^\\n\\r`]+)`/],[\"str\",/^https?:\\/\\/[^\\s#/?]*(?:\\/[^\\s#?]*)?(?:\\?[^\\s#]*)?(?:#\\S*)?/i],[\"pln\",/^(?:\\r\\n|[\\S\\s])[^\\n\\r#*=A-[^`h{~]*/]]),[\"wiki\"]);\nPR.registerLangHandler(PR.createSimpleLexer([[\"kwd\",/^#[a-z]+/i,null,\"#\"]],[]),[\"wiki.meta\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-xq.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"var pln\",/^\\$[\\w-]+/,null,\"$\"]],[[\"pln\",/^[\\s=][<>][\\s=]/],[\"lit\",/^@[\\w-]+/],[\"tag\",/^<\\/?[a-z](?:[\\w-.:]*\\w)?|\\/?>$/i],[\"com\",/^\\(:[\\S\\s]*?:\\)/],[\"pln\",/^[(),/;[\\]{}]$/],[\"str\",/^(?:\"(?:[^\"\\\\{]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\{]|\\\\[\\S\\s])*(?:'|$))/,null,\"\\\"'\"],[\"kwd\",/^(?:xquery|where|version|variable|union|typeswitch|treat|to|then|text|stable|sortby|some|self|schema|satisfies|returns|return|ref|processing-instruction|preceding-sibling|preceding|precedes|parent|only|of|node|namespace|module|let|item|intersect|instance|in|import|if|function|for|follows|following-sibling|following|external|except|every|else|element|descending|descendant-or-self|descendant|define|default|declare|comment|child|cast|case|before|attribute|assert|ascending|as|ancestor-or-self|ancestor|after|eq|order|by|or|and|schema-element|document-node|node|at)\\b/],\n[\"typ\",/^(?:xs:yearMonthDuration|xs:unsignedLong|xs:time|xs:string|xs:short|xs:QName|xs:Name|xs:long|xs:integer|xs:int|xs:gYearMonth|xs:gYear|xs:gMonthDay|xs:gDay|xs:float|xs:duration|xs:double|xs:decimal|xs:dayTimeDuration|xs:dateTime|xs:date|xs:byte|xs:boolean|xs:anyURI|xf:yearMonthDuration)\\b/,null],[\"fun pln\",/^(?:xp:dereference|xinc:node-expand|xinc:link-references|xinc:link-expand|xhtml:restructure|xhtml:clean|xhtml:add-lists|xdmp:zip-manifest|xdmp:zip-get|xdmp:zip-create|xdmp:xquery-version|xdmp:word-convert|xdmp:with-namespaces|xdmp:version|xdmp:value|xdmp:user-roles|xdmp:user-last-login|xdmp:user|xdmp:url-encode|xdmp:url-decode|xdmp:uri-is-file|xdmp:uri-format|xdmp:uri-content-type|xdmp:unquote|xdmp:unpath|xdmp:triggers-database|xdmp:trace|xdmp:to-json|xdmp:tidy|xdmp:subbinary|xdmp:strftime|xdmp:spawn-in|xdmp:spawn|xdmp:sleep|xdmp:shutdown|xdmp:set-session-field|xdmp:set-response-encoding|xdmp:set-response-content-type|xdmp:set-response-code|xdmp:set-request-time-limit|xdmp:set|xdmp:servers|xdmp:server-status|xdmp:server-name|xdmp:server|xdmp:security-database|xdmp:security-assert|xdmp:schema-database|xdmp:save|xdmp:role-roles|xdmp:role|xdmp:rethrow|xdmp:restart|xdmp:request-timestamp|xdmp:request-status|xdmp:request-cancel|xdmp:request|xdmp:redirect-response|xdmp:random|xdmp:quote|xdmp:query-trace|xdmp:query-meters|xdmp:product-edition|xdmp:privilege-roles|xdmp:privilege|xdmp:pretty-print|xdmp:powerpoint-convert|xdmp:platform|xdmp:permission|xdmp:pdf-convert|xdmp:path|xdmp:octal-to-integer|xdmp:node-uri|xdmp:node-replace|xdmp:node-kind|xdmp:node-insert-child|xdmp:node-insert-before|xdmp:node-insert-after|xdmp:node-delete|xdmp:node-database|xdmp:mul64|xdmp:modules-root|xdmp:modules-database|xdmp:merging|xdmp:merge-cancel|xdmp:merge|xdmp:md5|xdmp:logout|xdmp:login|xdmp:log-level|xdmp:log|xdmp:lock-release|xdmp:lock-acquire|xdmp:load|xdmp:invoke-in|xdmp:invoke|xdmp:integer-to-octal|xdmp:integer-to-hex|xdmp:http-put|xdmp:http-post|xdmp:http-options|xdmp:http-head|xdmp:http-get|xdmp:http-delete|xdmp:hosts|xdmp:host-status|xdmp:host-name|xdmp:host|xdmp:hex-to-integer|xdmp:hash64|xdmp:hash32|xdmp:has-privilege|xdmp:groups|xdmp:group-serves|xdmp:group-servers|xdmp:group-name|xdmp:group-hosts|xdmp:group|xdmp:get-session-field-names|xdmp:get-session-field|xdmp:get-response-encoding|xdmp:get-response-code|xdmp:get-request-username|xdmp:get-request-user|xdmp:get-request-url|xdmp:get-request-protocol|xdmp:get-request-path|xdmp:get-request-method|xdmp:get-request-header-names|xdmp:get-request-header|xdmp:get-request-field-names|xdmp:get-request-field-filename|xdmp:get-request-field-content-type|xdmp:get-request-field|xdmp:get-request-client-certificate|xdmp:get-request-client-address|xdmp:get-request-body|xdmp:get-current-user|xdmp:get-current-roles|xdmp:get|xdmp:function-name|xdmp:function-module|xdmp:function|xdmp:from-json|xdmp:forests|xdmp:forest-status|xdmp:forest-restore|xdmp:forest-restart|xdmp:forest-name|xdmp:forest-delete|xdmp:forest-databases|xdmp:forest-counts|xdmp:forest-clear|xdmp:forest-backup|xdmp:forest|xdmp:filesystem-file|xdmp:filesystem-directory|xdmp:exists|xdmp:excel-convert|xdmp:eval-in|xdmp:eval|xdmp:estimate|xdmp:email|xdmp:element-content-type|xdmp:elapsed-time|xdmp:document-set-quality|xdmp:document-set-property|xdmp:document-set-properties|xdmp:document-set-permissions|xdmp:document-set-collections|xdmp:document-remove-properties|xdmp:document-remove-permissions|xdmp:document-remove-collections|xdmp:document-properties|xdmp:document-locks|xdmp:document-load|xdmp:document-insert|xdmp:document-get-quality|xdmp:document-get-properties|xdmp:document-get-permissions|xdmp:document-get-collections|xdmp:document-get|xdmp:document-forest|xdmp:document-delete|xdmp:document-add-properties|xdmp:document-add-permissions|xdmp:document-add-collections|xdmp:directory-properties|xdmp:directory-locks|xdmp:directory-delete|xdmp:directory-create|xdmp:directory|xdmp:diacritic-less|xdmp:describe|xdmp:default-permissions|xdmp:default-collections|xdmp:databases|xdmp:database-restore-validate|xdmp:database-restore-status|xdmp:database-restore-cancel|xdmp:database-restore|xdmp:database-name|xdmp:database-forests|xdmp:database-backup-validate|xdmp:database-backup-status|xdmp:database-backup-purge|xdmp:database-backup-cancel|xdmp:database-backup|xdmp:database|xdmp:collection-properties|xdmp:collection-locks|xdmp:collection-delete|xdmp:collation-canonical-uri|xdmp:castable-as|xdmp:can-grant-roles|xdmp:base64-encode|xdmp:base64-decode|xdmp:architecture|xdmp:apply|xdmp:amp-roles|xdmp:amp|xdmp:add64|xdmp:add-response-header|xdmp:access|trgr:trigger-set-recursive|trgr:trigger-set-permissions|trgr:trigger-set-name|trgr:trigger-set-module|trgr:trigger-set-event|trgr:trigger-set-description|trgr:trigger-remove-permissions|trgr:trigger-module|trgr:trigger-get-permissions|trgr:trigger-enable|trgr:trigger-disable|trgr:trigger-database-online-event|trgr:trigger-data-event|trgr:trigger-add-permissions|trgr:remove-trigger|trgr:property-content|trgr:pre-commit|trgr:post-commit|trgr:get-trigger-by-id|trgr:get-trigger|trgr:document-scope|trgr:document-content|trgr:directory-scope|trgr:create-trigger|trgr:collection-scope|trgr:any-property-content|thsr:set-entry|thsr:remove-term|thsr:remove-synonym|thsr:remove-entry|thsr:query-lookup|thsr:lookup|thsr:load|thsr:insert|thsr:expand|thsr:add-synonym|spell:suggest-detailed|spell:suggest|spell:remove-word|spell:make-dictionary|spell:load|spell:levenshtein-distance|spell:is-correct|spell:insert|spell:double-metaphone|spell:add-word|sec:users-collection|sec:user-set-roles|sec:user-set-password|sec:user-set-name|sec:user-set-description|sec:user-set-default-permissions|sec:user-set-default-collections|sec:user-remove-roles|sec:user-privileges|sec:user-get-roles|sec:user-get-description|sec:user-get-default-permissions|sec:user-get-default-collections|sec:user-doc-permissions|sec:user-doc-collections|sec:user-add-roles|sec:unprotect-collection|sec:uid-for-name|sec:set-realm|sec:security-version|sec:security-namespace|sec:security-installed|sec:security-collection|sec:roles-collection|sec:role-set-roles|sec:role-set-name|sec:role-set-description|sec:role-set-default-permissions|sec:role-set-default-collections|sec:role-remove-roles|sec:role-privileges|sec:role-get-roles|sec:role-get-description|sec:role-get-default-permissions|sec:role-get-default-collections|sec:role-doc-permissions|sec:role-doc-collections|sec:role-add-roles|sec:remove-user|sec:remove-role-from-users|sec:remove-role-from-role|sec:remove-role-from-privileges|sec:remove-role-from-amps|sec:remove-role|sec:remove-privilege|sec:remove-amp|sec:protect-collection|sec:privileges-collection|sec:privilege-set-roles|sec:privilege-set-name|sec:privilege-remove-roles|sec:privilege-get-roles|sec:privilege-add-roles|sec:priv-doc-permissions|sec:priv-doc-collections|sec:get-user-names|sec:get-unique-elem-id|sec:get-role-names|sec:get-role-ids|sec:get-privilege|sec:get-distinct-permissions|sec:get-collection|sec:get-amp|sec:create-user-with-role|sec:create-user|sec:create-role|sec:create-privilege|sec:create-amp|sec:collections-collection|sec:collection-set-permissions|sec:collection-remove-permissions|sec:collection-get-permissions|sec:collection-add-permissions|sec:check-admin|sec:amps-collection|sec:amp-set-roles|sec:amp-remove-roles|sec:amp-get-roles|sec:amp-doc-permissions|sec:amp-doc-collections|sec:amp-add-roles|search:unparse|search:suggest|search:snippet|search:search|search:resolve-nodes|search:resolve|search:remove-constraint|search:parse|search:get-default-options|search:estimate|search:check-options|prof:value|prof:reset|prof:report|prof:invoke|prof:eval|prof:enable|prof:disable|prof:allowed|ppt:clean|pki:template-set-request|pki:template-set-name|pki:template-set-key-type|pki:template-set-key-options|pki:template-set-description|pki:template-in-use|pki:template-get-version|pki:template-get-request|pki:template-get-name|pki:template-get-key-type|pki:template-get-key-options|pki:template-get-id|pki:template-get-description|pki:need-certificate|pki:is-temporary|pki:insert-trusted-certificates|pki:insert-template|pki:insert-signed-certificates|pki:insert-certificate-revocation-list|pki:get-trusted-certificate-ids|pki:get-template-ids|pki:get-template-certificate-authority|pki:get-template-by-name|pki:get-template|pki:get-pending-certificate-requests-xml|pki:get-pending-certificate-requests-pem|pki:get-pending-certificate-request|pki:get-certificates-for-template-xml|pki:get-certificates-for-template|pki:get-certificates|pki:get-certificate-xml|pki:get-certificate-pem|pki:get-certificate|pki:generate-temporary-certificate-if-necessary|pki:generate-temporary-certificate|pki:generate-template-certificate-authority|pki:generate-certificate-request|pki:delete-template|pki:delete-certificate|pki:create-template|pdf:make-toc|pdf:insert-toc-headers|pdf:get-toc|pdf:clean|p:status-transition|p:state-transition|p:remove|p:pipelines|p:insert|p:get-by-id|p:get|p:execute|p:create|p:condition|p:collection|p:action|ooxml:runs-merge|ooxml:package-uris|ooxml:package-parts-insert|ooxml:package-parts|msword:clean|mcgm:polygon|mcgm:point|mcgm:geospatial-query-from-elements|mcgm:geospatial-query|mcgm:circle|math:tanh|math:tan|math:sqrt|math:sinh|math:sin|math:pow|math:modf|math:log10|math:log|math:ldexp|math:frexp|math:fmod|math:floor|math:fabs|math:exp|math:cosh|math:cos|math:ceil|math:atan2|math:atan|math:asin|math:acos|map:put|map:map|map:keys|map:get|map:delete|map:count|map:clear|lnk:to|lnk:remove|lnk:insert|lnk:get|lnk:from|lnk:create|kml:polygon|kml:point|kml:interior-polygon|kml:geospatial-query-from-elements|kml:geospatial-query|kml:circle|kml:box|gml:polygon|gml:point|gml:interior-polygon|gml:geospatial-query-from-elements|gml:geospatial-query|gml:circle|gml:box|georss:point|georss:geospatial-query|georss:circle|geo:polygon|geo:point|geo:interior-polygon|geo:geospatial-query-from-elements|geo:geospatial-query|geo:circle|geo:box|fn:zero-or-one|fn:years-from-duration|fn:year-from-dateTime|fn:year-from-date|fn:upper-case|fn:unordered|fn:true|fn:translate|fn:trace|fn:tokenize|fn:timezone-from-time|fn:timezone-from-dateTime|fn:timezone-from-date|fn:sum|fn:subtract-dateTimes-yielding-yearMonthDuration|fn:subtract-dateTimes-yielding-dayTimeDuration|fn:substring-before|fn:substring-after|fn:substring|fn:subsequence|fn:string-to-codepoints|fn:string-pad|fn:string-length|fn:string-join|fn:string|fn:static-base-uri|fn:starts-with|fn:seconds-from-time|fn:seconds-from-duration|fn:seconds-from-dateTime|fn:round-half-to-even|fn:round|fn:root|fn:reverse|fn:resolve-uri|fn:resolve-QName|fn:replace|fn:remove|fn:QName|fn:prefix-from-QName|fn:position|fn:one-or-more|fn:number|fn:not|fn:normalize-unicode|fn:normalize-space|fn:node-name|fn:node-kind|fn:nilled|fn:namespace-uri-from-QName|fn:namespace-uri-for-prefix|fn:namespace-uri|fn:name|fn:months-from-duration|fn:month-from-dateTime|fn:month-from-date|fn:minutes-from-time|fn:minutes-from-duration|fn:minutes-from-dateTime|fn:min|fn:max|fn:matches|fn:lower-case|fn:local-name-from-QName|fn:local-name|fn:last|fn:lang|fn:iri-to-uri|fn:insert-before|fn:index-of|fn:in-scope-prefixes|fn:implicit-timezone|fn:idref|fn:id|fn:hours-from-time|fn:hours-from-duration|fn:hours-from-dateTime|fn:floor|fn:false|fn:expanded-QName|fn:exists|fn:exactly-one|fn:escape-uri|fn:escape-html-uri|fn:error|fn:ends-with|fn:encode-for-uri|fn:empty|fn:document-uri|fn:doc-available|fn:doc|fn:distinct-values|fn:distinct-nodes|fn:default-collation|fn:deep-equal|fn:days-from-duration|fn:day-from-dateTime|fn:day-from-date|fn:data|fn:current-time|fn:current-dateTime|fn:current-date|fn:count|fn:contains|fn:concat|fn:compare|fn:collection|fn:codepoints-to-string|fn:codepoint-equal|fn:ceiling|fn:boolean|fn:base-uri|fn:avg|fn:adjust-time-to-timezone|fn:adjust-dateTime-to-timezone|fn:adjust-date-to-timezone|fn:abs|feed:unsubscribe|feed:subscription|feed:subscribe|feed:request|feed:item|feed:description|excel:clean|entity:enrich|dom:set-pipelines|dom:set-permissions|dom:set-name|dom:set-evaluation-context|dom:set-domain-scope|dom:set-description|dom:remove-pipeline|dom:remove-permissions|dom:remove|dom:get|dom:evaluation-context|dom:domains|dom:domain-scope|dom:create|dom:configuration-set-restart-user|dom:configuration-set-permissions|dom:configuration-set-evaluation-context|dom:configuration-set-default-domain|dom:configuration-get|dom:configuration-create|dom:collection|dom:add-pipeline|dom:add-permissions|dls:retention-rules|dls:retention-rule-remove|dls:retention-rule-insert|dls:retention-rule|dls:purge|dls:node-expand|dls:link-references|dls:link-expand|dls:documents-query|dls:document-versions-query|dls:document-version-uri|dls:document-version-query|dls:document-version-delete|dls:document-version-as-of|dls:document-version|dls:document-update|dls:document-unmanage|dls:document-set-quality|dls:document-set-property|dls:document-set-properties|dls:document-set-permissions|dls:document-set-collections|dls:document-retention-rules|dls:document-remove-properties|dls:document-remove-permissions|dls:document-remove-collections|dls:document-purge|dls:document-manage|dls:document-is-managed|dls:document-insert-and-manage|dls:document-include-query|dls:document-history|dls:document-get-permissions|dls:document-extract-part|dls:document-delete|dls:document-checkout-status|dls:document-checkout|dls:document-checkin|dls:document-add-properties|dls:document-add-permissions|dls:document-add-collections|dls:break-checkout|dls:author-query|dls:as-of-query|dbk:convert|dbg:wait|dbg:value|dbg:stopped|dbg:stop|dbg:step|dbg:status|dbg:stack|dbg:out|dbg:next|dbg:line|dbg:invoke|dbg:function|dbg:finish|dbg:expr|dbg:eval|dbg:disconnect|dbg:detach|dbg:continue|dbg:connect|dbg:clear|dbg:breakpoints|dbg:break|dbg:attached|dbg:attach|cvt:save-converted-documents|cvt:part-uri|cvt:destination-uri|cvt:basepath|cvt:basename|cts:words|cts:word-query-weight|cts:word-query-text|cts:word-query-options|cts:word-query|cts:word-match|cts:walk|cts:uris|cts:uri-match|cts:train|cts:tokenize|cts:thresholds|cts:stem|cts:similar-query-weight|cts:similar-query-nodes|cts:similar-query|cts:shortest-distance|cts:search|cts:score|cts:reverse-query-weight|cts:reverse-query-nodes|cts:reverse-query|cts:remainder|cts:registered-query-weight|cts:registered-query-options|cts:registered-query-ids|cts:registered-query|cts:register|cts:query|cts:quality|cts:properties-query-query|cts:properties-query|cts:polygon-vertices|cts:polygon|cts:point-longitude|cts:point-latitude|cts:point|cts:or-query-queries|cts:or-query|cts:not-query-weight|cts:not-query-query|cts:not-query|cts:near-query-weight|cts:near-query-queries|cts:near-query-options|cts:near-query-distance|cts:near-query|cts:highlight|cts:geospatial-co-occurrences|cts:frequency|cts:fitness|cts:field-words|cts:field-word-query-weight|cts:field-word-query-text|cts:field-word-query-options|cts:field-word-query-field-name|cts:field-word-query|cts:field-word-match|cts:entity-highlight|cts:element-words|cts:element-word-query-weight|cts:element-word-query-text|cts:element-word-query-options|cts:element-word-query-element-name|cts:element-word-query|cts:element-word-match|cts:element-values|cts:element-value-ranges|cts:element-value-query-weight|cts:element-value-query-text|cts:element-value-query-options|cts:element-value-query-element-name|cts:element-value-query|cts:element-value-match|cts:element-value-geospatial-co-occurrences|cts:element-value-co-occurrences|cts:element-range-query-weight|cts:element-range-query-value|cts:element-range-query-options|cts:element-range-query-operator|cts:element-range-query-element-name|cts:element-range-query|cts:element-query-query|cts:element-query-element-name|cts:element-query|cts:element-pair-geospatial-values|cts:element-pair-geospatial-value-match|cts:element-pair-geospatial-query-weight|cts:element-pair-geospatial-query-region|cts:element-pair-geospatial-query-options|cts:element-pair-geospatial-query-longitude-name|cts:element-pair-geospatial-query-latitude-name|cts:element-pair-geospatial-query-element-name|cts:element-pair-geospatial-query|cts:element-pair-geospatial-boxes|cts:element-geospatial-values|cts:element-geospatial-value-match|cts:element-geospatial-query-weight|cts:element-geospatial-query-region|cts:element-geospatial-query-options|cts:element-geospatial-query-element-name|cts:element-geospatial-query|cts:element-geospatial-boxes|cts:element-child-geospatial-values|cts:element-child-geospatial-value-match|cts:element-child-geospatial-query-weight|cts:element-child-geospatial-query-region|cts:element-child-geospatial-query-options|cts:element-child-geospatial-query-element-name|cts:element-child-geospatial-query-child-name|cts:element-child-geospatial-query|cts:element-child-geospatial-boxes|cts:element-attribute-words|cts:element-attribute-word-query-weight|cts:element-attribute-word-query-text|cts:element-attribute-word-query-options|cts:element-attribute-word-query-element-name|cts:element-attribute-word-query-attribute-name|cts:element-attribute-word-query|cts:element-attribute-word-match|cts:element-attribute-values|cts:element-attribute-value-ranges|cts:element-attribute-value-query-weight|cts:element-attribute-value-query-text|cts:element-attribute-value-query-options|cts:element-attribute-value-query-element-name|cts:element-attribute-value-query-attribute-name|cts:element-attribute-value-query|cts:element-attribute-value-match|cts:element-attribute-value-geospatial-co-occurrences|cts:element-attribute-value-co-occurrences|cts:element-attribute-range-query-weight|cts:element-attribute-range-query-value|cts:element-attribute-range-query-options|cts:element-attribute-range-query-operator|cts:element-attribute-range-query-element-name|cts:element-attribute-range-query-attribute-name|cts:element-attribute-range-query|cts:element-attribute-pair-geospatial-values|cts:element-attribute-pair-geospatial-value-match|cts:element-attribute-pair-geospatial-query-weight|cts:element-attribute-pair-geospatial-query-region|cts:element-attribute-pair-geospatial-query-options|cts:element-attribute-pair-geospatial-query-longitude-name|cts:element-attribute-pair-geospatial-query-latitude-name|cts:element-attribute-pair-geospatial-query-element-name|cts:element-attribute-pair-geospatial-query|cts:element-attribute-pair-geospatial-boxes|cts:document-query-uris|cts:document-query|cts:distance|cts:directory-query-uris|cts:directory-query-depth|cts:directory-query|cts:destination|cts:deregister|cts:contains|cts:confidence|cts:collections|cts:collection-query-uris|cts:collection-query|cts:collection-match|cts:classify|cts:circle-radius|cts:circle-center|cts:circle|cts:box-west|cts:box-south|cts:box-north|cts:box-east|cts:box|cts:bearing|cts:arc-intersection|cts:and-query-queries|cts:and-query-options|cts:and-query|cts:and-not-query-positive-query|cts:and-not-query-negative-query|cts:and-not-query|css:get|css:convert|cpf:success|cpf:failure|cpf:document-set-state|cpf:document-set-processing-status|cpf:document-set-last-updated|cpf:document-set-error|cpf:document-get-state|cpf:document-get-processing-status|cpf:document-get-last-updated|cpf:document-get-error|cpf:check-transition|alert:spawn-matching-actions|alert:rule-user-id-query|alert:rule-set-user-id|alert:rule-set-query|alert:rule-set-options|alert:rule-set-name|alert:rule-set-description|alert:rule-set-action|alert:rule-remove|alert:rule-name-query|alert:rule-insert|alert:rule-id-query|alert:rule-get-user-id|alert:rule-get-query|alert:rule-get-options|alert:rule-get-name|alert:rule-get-id|alert:rule-get-description|alert:rule-get-action|alert:rule-action-query|alert:remove-triggers|alert:make-rule|alert:make-log-action|alert:make-config|alert:make-action|alert:invoke-matching-actions|alert:get-my-rules|alert:get-all-rules|alert:get-actions|alert:find-matching-rules|alert:create-triggers|alert:config-set-uri|alert:config-set-trigger-ids|alert:config-set-options|alert:config-set-name|alert:config-set-description|alert:config-set-cpf-domain-names|alert:config-set-cpf-domain-ids|alert:config-insert|alert:config-get-uri|alert:config-get-trigger-ids|alert:config-get-options|alert:config-get-name|alert:config-get-id|alert:config-get-description|alert:config-get-cpf-domain-names|alert:config-get-cpf-domain-ids|alert:config-get|alert:config-delete|alert:action-set-options|alert:action-set-name|alert:action-set-module-root|alert:action-set-module-db|alert:action-set-module|alert:action-set-description|alert:action-remove|alert:action-insert|alert:action-get-options|alert:action-get-name|alert:action-get-module-root|alert:action-get-module-db|alert:action-get-module|alert:action-get-description|zero-or-one|years-from-duration|year-from-dateTime|year-from-date|upper-case|unordered|true|translate|trace|tokenize|timezone-from-time|timezone-from-dateTime|timezone-from-date|sum|subtract-dateTimes-yielding-yearMonthDuration|subtract-dateTimes-yielding-dayTimeDuration|substring-before|substring-after|substring|subsequence|string-to-codepoints|string-pad|string-length|string-join|string|static-base-uri|starts-with|seconds-from-time|seconds-from-duration|seconds-from-dateTime|round-half-to-even|round|root|reverse|resolve-uri|resolve-QName|replace|remove|QName|prefix-from-QName|position|one-or-more|number|not|normalize-unicode|normalize-space|node-name|node-kind|nilled|namespace-uri-from-QName|namespace-uri-for-prefix|namespace-uri|name|months-from-duration|month-from-dateTime|month-from-date|minutes-from-time|minutes-from-duration|minutes-from-dateTime|min|max|matches|lower-case|local-name-from-QName|local-name|last|lang|iri-to-uri|insert-before|index-of|in-scope-prefixes|implicit-timezone|idref|id|hours-from-time|hours-from-duration|hours-from-dateTime|floor|false|expanded-QName|exists|exactly-one|escape-uri|escape-html-uri|error|ends-with|encode-for-uri|empty|document-uri|doc-available|doc|distinct-values|distinct-nodes|default-collation|deep-equal|days-from-duration|day-from-dateTime|day-from-date|data|current-time|current-dateTime|current-date|count|contains|concat|compare|collection|codepoints-to-string|codepoint-equal|ceiling|boolean|base-uri|avg|adjust-time-to-timezone|adjust-dateTime-to-timezone|adjust-date-to-timezone|abs)\\b/],\n[\"pln\",/^[\\w:-]+/],[\"pln\",/^[\\t\\n\\r \\xa0]+/]]),[\"xq\",\"xquery\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/prettify/lang-yaml.js",
    "content": "var a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"pun\",/^[:>?|]+/,a,\":|>?\"],[\"dec\",/^%(?:YAML|TAG)[^\\n\\r#]+/,a,\"%\"],[\"typ\",/^&\\S+/,a,\"&\"],[\"typ\",/^!\\S*/,a,\"!\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\.)*(?:\"|$)/,a,'\"'],[\"str\",/^'(?:[^']|'')*(?:'|$)/,a,\"'\"],[\"com\",/^#[^\\n\\r]*/,a,\"#\"],[\"pln\",/^\\s+/,a,\" \\t\\r\\n\"]],[[\"dec\",/^(?:---|\\.\\.\\.)(?:[\\n\\r]|$)/],[\"pun\",/^-/],[\"kwd\",/^\\w+:[\\n\\r ]/],[\"pln\",/^\\w+/]]),[\"yaml\",\"yml\"]);\n"
  },
  {
    "path": "dist/asset/docs/js/sidebar.js",
    "content": "jQuery.expr[':'].Contains = function(a, i, m) {\n    return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;\n};\n\n$(function() {\n    $(\"#sidebar-nav\").accordion({\n        autoHeight: false,\n        navigation: true,\n        collapsible: true\n    }).accordion(\"activate\", false)\n            .find('a.link').unbind('click').click(\n            function(ev) {\n                ev.cancelBubble = true; // IE\n                if (ev.stopPropagation) {\n                    ev.stopPropagation(); // the rest\n                }\n\n                return true;\n            }).prev().prev().remove();\n\n    $(\"#sidebar-nav>h3\").click(function() {\n        if ($(this).attr('initialized') == 'true') return;\n\n        $(this).next().find(\".sidebar-nav-tree\").treeview({\n            collapsed: true,\n            persist: \"cookie\"\n        });\n        $(this).attr('initialized', true);\n    });\n});\n\nfunction tree_search(input) {\n    treeview = $(input).parent().parent().next();\n\n    // Expand all items\n    treeview.find('.expandable-hitarea').click();\n\n    // make all items visible again\n    treeview.find('li:hidden').show();\n\n    // hide all items that do not match the given search criteria\n    if ($(input).val()) {\n        treeview.find('li').not(':has(a:Contains(' + $(input).val() + '))').hide();\n    }\n}\n"
  },
  {
    "path": "dist/asset/docs/js/template.js",
    "content": "$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());\n$.browser.ipad   = /ipad/.test(navigator.userAgent.toLowerCase());\n\n/**\n * Initializes page contents for progressive enhancement.\n */\nfunction initializeContents()\n{\n    // hide all more buttons because they are not needed with JS\n    $(\".element a.more\").hide();\n\n    $(\".clickable.class,.clickable.interface,.clickable.trait\").click(function() {\n        document.location = $(\"a.more\", this).attr('href');\n    });\n\n    // change the cursor to a pointer to make it more explicit that this it clickable\n    // do a background color change on hover to emphasize the clickability eveb more\n    // we do not use CSS for this because when JS is disabled this behaviour does not\n    // apply and we do not want the hover\n    $(\".element.method,.element.function,.element.class.clickable,.element.interface.clickable,.element.trait.clickable,.element.property.clickable\")\n        .css(\"cursor\", \"pointer\")\n        .hover(function() {\n            $(this).css('backgroundColor', '#F8FDF6')\n        }, function(){\n            $(this).css('backgroundColor', 'white')}\n        );\n\n    $(\"ul.side-nav.nav.nav-list li.nav-header\").contents()\n        .filter(function(){return this.nodeType == 3 && $.trim($(this).text()).length > 0})\n        .wrap('<span class=\"side-nav-header\" />');\n\n    $(\"ul.side-nav.nav.nav-list li.nav-header span.side-nav-header\")\n        .css(\"cursor\", \"pointer\");\n\n    // do not show tooltips on iPad; it will cause the user having to click twice\n    if (!$.browser.ipad) {\n        $('.btn-group.visibility,.btn-group.view,.btn-group.type-filter,.icon-custom')\n            .tooltip({'placement':'bottom'});\n        $('.element').tooltip({'placement':'left'});\n    }\n\n    $('.btn-group.visibility,.btn-group.view,.btn-group.type-filter')\n        .show()\n        .css('display', 'inline-block')\n        .find('button')\n        .find('i').click(function(){ $(this).parent().click(); });\n\n    // set the events for the visibility buttons and enable by default.\n    function toggleVisibility(event)\n    {\n        // because the active class is toggled _after_ this event we toggle it for the duration of this event. This\n        // will make the next piece of code generic\n        if (event) {\n            $(this).toggleClass('active');\n        }\n\n        $('.element.public,.side-nav li.public').toggle($('.visibility button.public').hasClass('active'));\n        $('.element.protected,.side-nav li.protected').toggle($('.visibility button.protected').hasClass('active'));\n        $('.element.private,.side-nav li.private').toggle($('.visibility button.private').hasClass('active'));\n        $('.element.public.inherited,.side-nav li.public.inherited').toggle(\n            $('.visibility button.public').hasClass('active') && $('.visibility button.inherited').hasClass('active')\n        );\n        $('.element.protected.inherited,.side-nav li.protected.inherited').toggle(\n            $('.visibility button.protected').hasClass('active') && $('.visibility button.inherited').hasClass('active')\n        );\n        $('.element.private.inherited,.side-nav li.private.inherited').toggle(\n            $('.visibility button.private').hasClass('active') && $('.visibility button.inherited').hasClass('active')\n        );\n\n        // and untoggle the active class again so that bootstrap's default handling keeps working\n        if (event) {\n            $(this).toggleClass('active');\n        }\n    }\n    $('.visibility button.public').on(\"click\", toggleVisibility);\n    $('.visibility button.protected').on(\"click\", toggleVisibility);\n    $('.visibility button.private').on(\"click\", toggleVisibility);\n    $('.visibility button.inherited').on(\"click\", toggleVisibility);\n    toggleVisibility();\n\n    $('.type-filter button.critical').click(function() {\n        packageContentDivs = $('.package-contents');\n        packageContentDivs.show();\n        $('tr.critical').toggle($(this).hasClass('active'));\n        packageContentDivs.each(function() {\n            var rowCount = $(this).find('tbody tr:visible').length;\n\n            $(this).find('.badge-info').html(rowCount);\n            $(this).toggle(rowCount > 0);\n        });\n    });\n    $('.type-filter button.error').click(function(){\n        packageContentDivs = $('.package-contents');\n        packageContentDivs.show();\n        $('tr.error').toggle($(this).hasClass('active'));\n        packageContentDivs.each(function() {\n            var rowCount = $(this).find('tbody tr:visible').length;\n\n            $(this).find('.badge-info').html(rowCount);\n            $(this).toggle(rowCount > 0);\n        });\n    });\n    $('.type-filter button.notice').click(function(){\n        packageContentDivs = $('.package-contents');\n        packageContentDivs.show();\n        $('tr.notice').toggle($(this).hasClass('active'));\n        packageContentDivs.each(function() {\n            var rowCount = $(this).find('tbody tr:visible').length;\n\n            $(this).find('.badge-info').html(rowCount);\n            $(this).toggle(rowCount > 0);\n        });\n    });\n\n    $('.view button.details').click(function(){\n        $('.side-nav li.view-simple').removeClass('view-simple');\n    }).button('toggle').click();\n\n    $('.view button.simple').click(function(){\n        $('.side-nav li').addClass('view-simple');\n    });\n    \n    $('ul.side-nav.nav.nav-list li.nav-header span.side-nav-header').click(function(){\n        $(this).siblings('ul').collapse('toggle');\n    });\n\n// sorting example\n//    $('ol li').sort(\n//        function(a, b) { return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1; }\n//    ).appendTo('ol');\n}\n\n$(document).ready(function() {\n    prettyPrint();\n\n    initializeContents();\n\n    // do not show tooltips on iPad; it will cause the user having to click twice\n    if(!$.browser.ipad) {\n        $(\".side-nav a\").tooltip({'placement': 'top'});\n    }\n\n    // chrome cannot deal with certain situations; warn the user about reduced features\n    if ($.browser.chrome && (window.location.protocol == 'file:')) {\n        $(\"body > .container\").prepend(\n            '<div class=\"alert alert-error\"><a class=\"close\" data-dismiss=\"alert\">×</a>' +\n            'You are using Google Chrome in a local environment; AJAX interaction has been ' +\n            'disabled because Chrome cannot <a href=\"http://code.google.com/p/chromium/issues/detail?id=40787\">' +\n            'retrieve files using Ajax</a>.</div>'\n        );\n    }\n\n    $('ul.nav-namespaces li a, ul.nav-packages li a').click(function(){\n        // Google Chrome does not do Ajax locally\n        if ($.browser.chrome && (window.location.protocol == 'file:'))\n        {\n            return true;\n        }\n\n        $(this).parents('.side-nav').find('.active').removeClass('active');\n        $(this).parent().addClass('active');\n        $('div.namespace-contents').load(\n            this.href + ' div.namespace-contents', function(){\n                initializeContents();\n                $(window).scrollTop($('div.namespace-contents').position().top);\n            }\n        );\n        $('div.package-contents').load(\n            this.href + ' div.package-contents', function(){\n                initializeContents();\n                $(window).scrollTop($('div.package-contents').position().top);\n            }\n        );\n\n        return false;\n    });\n\n    function filterPath(string)\n    {\n        return string\n            .replace(/^\\//, '')\n            .replace(/(index|default).[a-zA-Z]{3,4}$/, '')\n            .replace(/\\/$/, '');\n    }\n\n    var locationPath = filterPath(location.pathname);\n\n    // the ipad already smoothly scrolls and does not detect the scrollable\n    // element if top=0; as such we disable this behaviour for the iPad\n    if (!$.browser.ipad) {\n        $('a[href*=#]').each(function ()\n        {\n            var thisPath = filterPath(this.pathname) || locationPath;\n            if (locationPath == thisPath && (location.hostname == this.hostname || !this.hostname) && this.hash.replace(/#/, ''))\n            {\n                var target = decodeURIComponent(this.hash.replace(/#/,''));\n                // note: I'm using attribute selector, because id selector can't match elements with '$' \n                var $target = $('[id=\"'+target+'\"]');\n\n                if ($target.length > 0)\n                {\n                    $(this).click(function (event)\n                    {\n                        var scrollElem = scrollableElement('html', 'body');\n                        var targetOffset = $target.offset().top;\n\n                        event.preventDefault();\n                        $(scrollElem).animate({scrollTop:targetOffset}, 400, function ()\n                        {\n                            location.hash = target;\n                        });\n                    });\n                }\n            }\n        });\n    }\n\n    // use the first element that is \"scrollable\"\n    function scrollableElement(els)\n    {\n        for (var i = 0, argLength = arguments.length; i < argLength; i++)\n        {\n            var el = arguments[i], $scrollElement = $(el);\n            if ($scrollElement.scrollTop() > 0)\n            {\n                return el;\n            }\n            else\n            {\n                $scrollElement.scrollTop(1);\n                var isScrollable = $scrollElement.scrollTop() > 0;\n                $scrollElement.scrollTop(0);\n                if (isScrollable)\n                {\n                    return el;\n                }\n            }\n        }\n        return [];\n    }\n\n    // Hide API Documentation menu if it's empty\n    $('.nav .dropdown a[href=#api]').next().filter(function(el) {\n        if ($(el).children().length == 0) {\n            return true;\n        }\n    }).parent().hide();\n});\n"
  },
  {
    "path": "dist/asset/docs/markers.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; Markers\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <div class=\"row\">\n        <div class=\"span4\">\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">Navigation</li>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </div>\n\n        <div class=\"span8\">\n\n            <ul class=\"breadcrumb\">\n                <li><a href=\"?\"><i class=\"icon-map-marker\"></i></a><span class=\"divider\">\\</span></li>\n                <li>Markers</li>\n            </ul>\n\n                            <div class=\"alert alert-info\">No markers have been found in this project.</div>\n            \n            <div id=\"marker-accordion\">\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </div>\n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/namespaces/default.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Namespaces\n                </li>\n                <a href=\"../namespaces/default.html\" title=\"\\\">\n                    <i class=\"icon-th\"></i> \\\n                </a>\n                <ul class=\"nav nav-list nav-namespaces\">\n                        \n        <li>\n        <a href=\"../namespaces/semantic.html\" title=\"semantic\">\n            <i class=\"icon-th\"></i> semantic\n        </a>\n        <ul class=\"nav nav-list nav-namespaces\">\n                \n        <li>\n        <a href=\"../namespaces/semantic.walker.html\" title=\"walker\">\n            <i class=\"icon-th\"></i> walker\n        </a>\n        <ul class=\"nav nav-list nav-namespaces\">\n                \n    \n        </ul>\n    </li>\n    \n        </ul>\n    </li>\n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 namespace-contents\">\n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/default.html\">\\</a>\n    </li>\n\n        </ul>\n\n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-function\"></i> Functions</h3>\n                                        <div id=\"function_template_part\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_part .collapse\">\n        <h1>template_part<a href=\"../namespaces/default.html#function_template_part\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_template_part()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Supports overrides via template_use_part()</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_template_part\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$slug</h4>\n                                                <code>string</code><p><p>The slug name for the generic template.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_part\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_template_part__load\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_part__load .collapse\">\n        <h1>template_part__load<a href=\"../namespaces/default.html#function_template_part__load\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; load_template()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Supports overrides via template_use_part()</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/load_template\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$template_file</h4>\n                                                <code>string</code><p><p>Path to template file.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$require_once</h4>\n                                                <code>boolean</code><p><p>Whether to require_once or require. Default true.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$identifier</h4>\n                                                <code>string</code><p><p>The slug/action identifier to load</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the loaded file</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_part__load\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_template_part__locate\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_part__locate .collapse\">\n        <h1>template_part__locate<a href=\"../namespaces/default.html#function_template_part__locate\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; locate_template()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is almost entirely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Uses is_file() instead of file_exists()</li>\n<li>Better Debugging</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/locate_template\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$template_names</h4>\n                                                <code>string|array</code><p><p>Template file(s) to search for, in order.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$load</h4>\n                                                <code>boolean</code><p><p>If true the template file will be loaded if it is found.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$require_once</h4>\n                                                <code>boolean</code><p><p>Whether to require_once or require. Default true. Has no effect if $load is false.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The   template filename if one is located.</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_part__locate\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_template_use_part\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_use_part .collapse\">\n        <h1>template_use_part<a href=\"../namespaces/default.html#function_template_use_part\">¶</a></h1>\n        <p class=\"short_description\">This allows you to replace anything that hasn&#039;t been fetched by template_part()\nyet, and you know the $slug to.</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_template_part\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$slug</h4>\n                                                <code>string</code><p><p>The slug name to replace for the generic template.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$replacement</h4>\n                                                <code>string</code><p><p>The slug name of the replacement for the generic template.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>TRUE if the part was successfully added, FALSE otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_use_part\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_theme_footer\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_theme_footer .collapse\">\n        <h1>theme_footer<a href=\"../namespaces/default.html#function_theme_footer\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_footer()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Supports overrides via template_use_part()</li>\n<li>Also checks content directory</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_footer\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_theme_footer\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_theme_header\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_theme_header .collapse\">\n        <h1>theme_header<a href=\"../namespaces/default.html#function_theme_header\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_header()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Support overrides via template_use_part()</li>\n<li>Also checks content directory</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_header\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_theme_header\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_theme_sidebar\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_theme_sidebar .collapse\">\n        <h1>theme_sidebar<a href=\"../namespaces/default.html#function_theme_sidebar\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_sidebar()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Support overrides via template_use_part()</li>\n<li>Also checks content directory</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_sidebar\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_theme_sidebar\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n        \n        \n            \n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">Base Class</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_debug\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_debug .collapse\">\n        <h1>debug<a href=\"../classes/semantic.debug.html\">¶</a></h1>\n        <p class=\"short_description\">This class carries out all the debug functionality</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.debug.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_integrations\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_integrations .collapse\">\n        <h1>integrations<a href=\"../classes/semantic.integrations.html\">¶</a></h1>\n        <p class=\"short_description\">WordPress integrations class</p>\n        <div class=\"details collapse\">\n                            <p>This class class holds all the functions that integrate directly with WordPress</p>\n                    </div>\n        <a href=\"../classes/semantic.integrations.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_shutdown\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_shutdown .collapse\">\n        <h1>shutdown<a href=\"../classes/semantic.shutdown.html\">¶</a></h1>\n        <p class=\"short_description\">Shutdown Class</p>\n        <div class=\"details collapse\">\n                            <p>This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</p>\n                    </div>\n        <a href=\"../classes/semantic.shutdown.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_theme\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_theme .collapse\">\n        <h1>theme<a href=\"../classes/semantic.theme.html\">¶</a></h1>\n        <p class=\"short_description\">Theme Class</p>\n        <div class=\"details collapse\">\n                            <p>This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</p>\n                    </div>\n        <a href=\"../classes/semantic.theme.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_abstract_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_nav_menu .collapse\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_nav_menu .collapse\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n    \n    \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/namespaces/semantic.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\semantic\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Namespaces\n                </li>\n                <a href=\"../namespaces/semantic.html\" title=\"semantic\">\n                    <i class=\"icon-th\"></i> semantic\n                </a>\n                <ul class=\"nav nav-list nav-namespaces\">\n                        \n        <li>\n        <a href=\"../namespaces/semantic.walker.html\" title=\"walker\">\n            <i class=\"icon-th\"></i> walker\n        </a>\n        <ul class=\"nav nav-list nav-namespaces\">\n                \n    \n        </ul>\n    </li>\n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 namespace-contents\">\n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">Base Class</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_debug\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_debug .collapse\">\n        <h1>debug<a href=\"../classes/semantic.debug.html\">¶</a></h1>\n        <p class=\"short_description\">This class carries out all the debug functionality</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.debug.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_integrations\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_integrations .collapse\">\n        <h1>integrations<a href=\"../classes/semantic.integrations.html\">¶</a></h1>\n        <p class=\"short_description\">WordPress integrations class</p>\n        <div class=\"details collapse\">\n                            <p>This class class holds all the functions that integrate directly with WordPress</p>\n                    </div>\n        <a href=\"../classes/semantic.integrations.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_shutdown\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_shutdown .collapse\">\n        <h1>shutdown<a href=\"../classes/semantic.shutdown.html\">¶</a></h1>\n        <p class=\"short_description\">Shutdown Class</p>\n        <div class=\"details collapse\">\n                            <p>This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</p>\n                    </div>\n        <a href=\"../classes/semantic.shutdown.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_theme\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_theme .collapse\">\n        <h1>theme<a href=\"../classes/semantic.theme.html\">¶</a></h1>\n        <p class=\"short_description\">Theme Class</p>\n        <div class=\"details collapse\">\n                            <p>This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</p>\n                    </div>\n        <a href=\"../classes/semantic.theme.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_abstract_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_nav_menu .collapse\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_nav_menu .collapse\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n    \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/namespaces/semantic.walker.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\semantic\\walker\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Namespaces\n                </li>\n                <a href=\"../namespaces/semantic.walker.html\" title=\"walker\">\n                    <i class=\"icon-th\"></i> walker\n                </a>\n                <ul class=\"nav nav-list nav-namespaces\">\n                        \n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 namespace-contents\">\n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_abstract_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_nav_menu .collapse\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_nav_menu .collapse\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/docs/packages/default.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\Default\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Packages\n                </li>\n                <a href=\"../packages/Default.html\" title=\"Default\">\n                    <i class=\"icon-th\"></i> Default\n                </a>\n                <ul class=\"nav nav-list nav-packages\">\n                        \n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 package-contents\">\n                \n    <ul class=\"breadcrumb\">\n        <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n            \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../packages/Default.html\">Default</a>\n    </li>\n\n    </ul>\n\n    \n                    <div class=\"package-indent\">\n                <h3><i class=\"icon-custom icon-function\"></i> Functions</h3>\n                                        <div id=\"theme_footer\" class=\"element ajax clickable function\">\n        <h1>theme_footer<a href=\"../namespaces/default.html#function_theme_footer\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_footer()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Supports overrides via template_use_part()\n  - Also checks content directory</div>\n        <a href=\"../namespaces/default.html#function_theme_footer\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_part__load\" class=\"element ajax clickable function\">\n        <h1>template_part__load<a href=\"../namespaces/default.html#function_template_part__load\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; load_template()</p>\n        <div class=\"details collapse\">Improvements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Supports overrides via template_use_part()</div>\n        <a href=\"../namespaces/default.html#function_template_part__load\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_use_part\" class=\"element ajax clickable function\">\n        <h1>template_use_part<a href=\"../namespaces/default.html#function_template_use_part\">¶</a></h1>\n        <p class=\"short_description\">This allows you to replace anything that hasn&#039;t been fetched by template_part()\nyet, and you know the $slug to.</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../namespaces/default.html#function_template_use_part\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"theme_sidebar\" class=\"element ajax clickable function\">\n        <h1>theme_sidebar<a href=\"../namespaces/default.html#function_theme_sidebar\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_sidebar()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Support overrides via template_use_part()\n  - Also checks content directory</div>\n        <a href=\"../namespaces/default.html#function_theme_sidebar\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_part\" class=\"element ajax clickable function\">\n        <h1>template_part<a href=\"../namespaces/default.html#function_template_part\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_template_part()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Supports overrides via template_use_part()</div>\n        <a href=\"../namespaces/default.html#function_template_part\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"theme_header\" class=\"element ajax clickable function\">\n        <h1>theme_header<a href=\"../namespaces/default.html#function_theme_header\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_header()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Support overrides via template_use_part()\n  - Also checks content directory</div>\n        <a href=\"../namespaces/default.html#function_theme_header\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_part__locate\" class=\"element ajax clickable function\">\n        <h1>template_part__locate<a href=\"../namespaces/default.html#function_template_part__locate\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; locate_template()</p>\n        <div class=\"details collapse\">NOTE: This is almost entirely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Uses is_file() instead of file_exists()\n  - Better Debugging</div>\n        <a href=\"../namespaces/default.html#function_template_part__locate\" class=\"more\">« More »</a>\n    </div>\n\n                            </div>\n        \n        \n                    <div class=\"package-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"abstract_base\" class=\"element ajax clickable class\">\n        <h1>abstract_base<a href=\"../classes/semantic.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">Base Class</p>\n        <div class=\"details collapse\">This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</div>\n        <a href=\"../classes/semantic.abstract_base.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"abstract_base\" class=\"element ajax clickable class\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"abstract_nav_menu\" class=\"element ajax clickable class\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"debug\" class=\"element ajax clickable class\">\n        <h1>debug<a href=\"../classes/semantic.debug.html\">¶</a></h1>\n        <p class=\"short_description\">This class carries out all the debug functionality</p>\n        <div class=\"details collapse\">This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</div>\n        <a href=\"../classes/semantic.debug.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"integrations\" class=\"element ajax clickable class\">\n        <h1>integrations<a href=\"../classes/semantic.integrations.html\">¶</a></h1>\n        <p class=\"short_description\">WordPress integrations class</p>\n        <div class=\"details collapse\">This class class holds all the functions that integrate directly with WordPress</div>\n        <a href=\"../classes/semantic.integrations.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"nav_menu\" class=\"element ajax clickable class\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"shutdown\" class=\"element ajax clickable class\">\n        <h1>shutdown<a href=\"../classes/semantic.shutdown.html\">¶</a></h1>\n        <p class=\"short_description\">Shutdown Class</p>\n        <div class=\"details collapse\">This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</div>\n        <a href=\"../classes/semantic.shutdown.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"theme\" class=\"element ajax clickable class\">\n        <h1>theme<a href=\"../classes/semantic.theme.html\">¶</a></h1>\n        <p class=\"short_description\">Theme Class</p>\n        <div class=\"details collapse\">This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</div>\n        <a href=\"../classes/semantic.theme.html\" class=\"more\">« More »</a>\n    </div>\n\n                            </div>\n            \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "dist/asset/image/subtle-patterns/LICENSE",
    "content": "Subtle Patterns © Atle Mo\n\nThe images located in this folder are from sunbtle-patterns.com and the\ncopyright for each of the images is is owned by Atle Mo.\n\nAll of these images are license under: CC BY-SA 3.0\nYou can view the simplified license here: http://creativecommons.org/licenses/by-sa/3.0/\nYou can view the complete license here: http://creativecommons.org/licenses/by-sa/3.0/legalcode\n"
  },
  {
    "path": "dist/asset/script/main.js",
    "content": "WebFont.load({\n\tgoogle: {families: [\n\t\t'Open+Sans:400,600,700,700italic:latin', // General Text\n\t\t'Roboto:400,300,500,700:latin', // Header Text\n\t\t'Droid+Sans+Mono::latin' // Monospace Text\n\t]}\n});\n\n$(document).ready(function() {\n\t// Semantic UI inits\n\t$('.ui.accordion').accordion();\n\t$('.ui.dropdown').dropdown({\n\t\ton: 'hover'\n\t});\n\t$('.ui.checkbox').checkbox();\n\t$('.ui.modal').modal();\n\t$('.ui.popup').popup();\n\t$('.ui.rating').rating();\n\t$('.shape').shape();\n\t$('.ui.sidebar').sidebar();\n\t\n\t// don't show invalid images\n\t$(\"img\").error(function () { \n\t\t$(this).css({visibility:\"hidden\"}); // reserve area if dimensions are set\n\t\t// $(this).css({display:\"none\"}); // never reserve area\n\t});\n\t\n\t// Syntax Highlighter\n\thljs.configure({tabReplace: '\\t'}); // Tab size can be controlled in most browsers\n\t$('pre code').each(function(i, e) {\n\t\thljs.highlightBlock(e);\n\t});\n\t\n\tMousetrap.bind(['ctrl+shift+l'], function(e) {\n\t\t$('#semantic-debug-log').modal('show');\n\t\treturn false;\n\t});\n});\n"
  },
  {
    "path": "dist/asset/script/theme-options.js",
    "content": "// By default, jQuery in the WordPress dashboard runs in \"safe mode\" which means\n// the '$' shortcut is not available. Since these scripts are only run in the\n// dashboard, any tracking should be disabled/removed.\njQuery(document).ready(function() {\n\t// Semantic UI inits\n\tjQuery('.ui.accordion').accordion();\n\tjQuery('.ui.dropdown').dropdown();\n\tjQuery('.ui.hover.dropdown').dropdown({\n\t\ton: 'hover'\n\t});\n\tjQuery('.ui.checkbox').checkbox();\n\tjQuery('.ui.modal').modal();\n\tjQuery('.ui.popup').popup();\n\tjQuery('.ui.rating').rating();\n\tjQuery('.shape').shape();\n\tjQuery('.ui.sidebar').sidebar();\n\t\n\tjQuery('.message .close').on('click', function() {\n\t\tjQuery(this).closest('.message').fadeOut();\n\t});\n\t\n\t// Disabled until nag is completed\n\t// jQuery('#issue-tracker-nag').nag('show');\n\t\n\tjQuery('#theme-options-tabs .menu .item').tab({\n\t\tcontext: jQuery('#theme-options-tabs')\n\t});\n\t\n\t// don't show invalid images\n\tjQuery(\"img\").error(function () { \n\t\tjQuery(this).css({visibility:\"hidden\"}); // reserve area if dimensions are set\n\t\t// jQuery(this).css({display:\"none\"}); // never reserve area\n\t});\n\t\n\t// Syntax Highlighter\n\thljs.configure({tabReplace: '\\t'}); // Tab size can be controlled in most browsers\n\tjQuery('pre code').each(function(i, e) {\n\t\thljs.highlightBlock(e);\n\t});\n\t\n\tMousetrap.bind(['ctrl+shift+l'], function(e) {\n\t\tjQuery('#semantic-debug-log').modal('show');\n\t\treturn false;\n\t});\n});\n"
  },
  {
    "path": "dist/asset/semantic-ui/LICENSE.md",
    "content": "# The MIT License\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "dist/asset/semantic-ui/README.md",
    "content": "![Semantic](http://www.semantic-ui.com/images/logo.png)\n\n# Semantic UI\n\n[![Join the chat at https://gitter.im/Semantic-Org/Semantic-UI](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Semantic-Org/Semantic-UI?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n[![ProjectTalk Messageboard](http://www.projecttalk.io/images/gh_badge-3e578a9f437f841de7446bab9a49d103.svg?vsn=d)]\n(http://www.projecttalk.io/boards/Semantic-Org%2FSemantic-UI?utm_campaign=gh-badge&utm_medium=badge&utm_source=github)\n\nSemantic is a UI framework designed for theming.\n\nKey Features\n* 50+ UI elements\n* 3000 + CSS variables\n* 3 Levels of variable inheritance (similar to SublimeText)\n* Built with EM values for responsive design\n* Flexbox friendly\n\n## 2.1 Release\n\nSemantic UI `2.1` is now available. Read up on [what's new](http://www.semantic-ui.com/introduction/new.html) in the docs.\n\nMigration info from `1.x` can be found in the [2.0 release notes](https://github.com/Semantic-Org/Semantic-UI/blob/master/RELEASE-NOTES.md#version-200---march-xx-2015)\n\n## Install\n\n#### Recommended Install\n```bash\nnpm install semantic-ui  # Use themes, import build/watch tasks into your own gulpfile.\n```\n\nSemantic UI includes an interactive installer to help setup your project\n![Getting Started](https://dl.dropboxusercontent.com/u/2657007/install.gif)\n\n* For more details on setup visit our [getting started guide](http://semantic-ui.com/introduction/getting-started.html).\n* To learn more about theming please read our [theming guide](http://www.semantic-ui.com/usage/theming.html)\n\n#### Additional Versions\n\nEnvironment | Install Script | Repo\n--- | --- | --- |\nCSS Only | `npm install semantic-ui-css` | [CSS Repo](https://github.com/Semantic-Org/Semantic-UI-CSS)\n[LESS](https://github.com/less/less.js/) Only | `npm install semantic-ui-less` | [LESS Repo](https://github.com/Semantic-Org/Semantic-UI-LESS)\n[LESS](https://github.com/less/less.js/) plugin | `npm install less-plugin-semantic-ui` | [LESS Plugin Repo](https://github.com/bassjobsen/less-plugin-semantic-ui/)\n[EmberJS](http://emberjs.com/) | `ember install:addon semantic-ui-ember` | [Ember Repo](https://github.com/Semantic-Org/Semantic-UI-Ember)\n|[Meteor](https://www.meteor.com/) - [LESS](https://github.com/less/less.js/) | `meteor add semantic:ui` | [Meteor Repo](https://github.com/Semantic-Org/Semantic-UI-Meteor) |\n|[Meteor](https://www.meteor.com/) - CSS | `meteor add semantic:ui-css` | [CSS Repo](https://github.com/Semantic-Org/Semantic-UI-CSS) |\n[Bower](http://bower.io/) | `bower install semantic-ui` |\n\nCheck out our [integration wiki](https://github.com/Semantic-Org/Semantic-UI/wiki/Integration) for more options.\n\n#### Browser Support\n\n* Last 2 Versions FF, Chrome, IE 10+, Safari Mac\n* IE 10+\n* Android 4.4+, Chrome for Android 44+\n* iOS Safari 7+\n\nAlthough some components will work in IE9, [grids](http://semantic-ui.com/collections/grid.html) and other [flexbox](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes) components are not supported by IE9 and may not appear correctly.\n\n## Community\n\n#### Getting Help\nPlease **do not post** usage questions to GitHub Issues. For these types of questions use [StackOverflow](http://stackoverflow.com/questions/tagged/semantic-ui), [ProjectTalk](http://www.projecttalk.io/boards/Semantic-Org%2FSemantic-UI) or join our [Gitter chatroom](https://gitter.im/Semantic-Org/Semantic-UI).\n\n#### Submitting Bugs and Enhancements\n[GitHub Issues](https://github.com/Semantic-Org/Semantic-UI/issues) is for suggesting enhancements and reporting bugs. Before submiting a bug make sure you do the following:\n* Check out our [contributing guide](https://github.com/Semantic-Org/Semantic-UI/blob/master/CONTRIBUTING.md) for info on our release cycle\n* [Fork this boilerplate JSFiddle](http://jsfiddle.net/efp8z6Ln/) to create a test case for your bug. If a bug is demonstratable from the docs, that's ok as well. Only bugs that include a test case can be triaged.\n\n\n#### Pull Requests\n\nWhen adding pull requests be sure to merge into [next](https://github.com/Semantic-Org/Semantic-UI/tree/next) branch. If you need to demonstrate a fix in ``next`` release, you can use [this jsfiddle](http://jsfiddle.net/rduvhn8u/1/)\n\n\n#### International\n\n* **Chinese** A Chinese mirror site is available at [http://www.semantic-ui.cn](http://www.semantic-ui.cn)\n* **Right-to-Left (RTL)** An RTL version can be created using our build tools by selecting `rtl` from the install script\n* **Translation** To help translate see the [Wiki Guide](https://github.com/Semantic-Org/Semantic-UI/wiki/Translating-Semantic-UI-Docs) for translations\n\n#### Resources\n\nResource | Description\n--- | --- |\nBugs & Feature Requests |  All bug submission **require** a link to a test case, and a set of steps to reproduce the issue. You can make a test case by forking this [jsfiddle](http://jsfiddle.net/efp8z6Ln/), then submit your [bug report on GitHub Issues](https://github.com/Semantic-Org/Semantic-UI/issues)\nLive Chat | Join our [Gitter.im Room](https://gitter.im/Semantic-Org/Semantic-UI)\nMessage Board | [ProjectTalk Board](http://www.projecttalk.io/boards/Semantic-Org%2FSemantic-UI)\nNewsletter Updates | Sign up for updates at [semantic-ui.com](http://www.semantic-ui.com)\nAdditional Resources  | Submit a question on [StackOverflow](http://stackoverflow.com/questions/tagged/semantic-ui) or ask our [Google Group](https://groups.google.com/forum/#!forum/semantic-ui)\n\n#### Places to Help\n\nProject | How To Help | Next Step\n--- | --- | --- |\nLocalization | Help us translate Semantic UI into your language | [Join our Translation Community](https://github.com/Semantic-Org/Semantic-UI/wiki/Translating-Semantic-UI-Docs)\n[SCSS](http://sass-lang.com/) | SASS needs PR to support variables inside `@import` | [Add Pull Request](https://github.com/sass/sass/pulls) for [#739](https://github.com/sass/sass/issues/739#issuecomment-73984809)\n[Angular](https://angularjs.org/) | Help develop angular bindings | Reach Out on [GitHub Issues](https://github.com/Semantic-Org/Semantic-UI-Angular/issues/8)\nGuides & Tutorials | Help write guides and tutorials | [Join the discussion](https://github.com/Semantic-Org/Semantic-UI/issues/1571)\n\n#### Reaching Out\n\nIf you'd like to start a conversation about Semantic feel free to e-mail me at [jack@semantic-ui.com](mailto:jack@semantic-ui.com)\n\n[![Flattr This](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=jlukic&url=https%3A%2F%2Fgithub.com%2Fjlukic%2FSemantic-UI)\n\n<a href=\"http://packagequality.com/#?package=semantic-ui\"><img src=\"http://npm.packagequality.com/badge/semantic-ui.png\"/></a>\n"
  },
  {
    "path": "dist/asset/semantic-ui/RELEASE-NOTES.md",
    "content": "## RELEASE NOTES\n\n### Version 2.1.6 - Nov 6, 2015\n\n**Bug Fixes**\n- **Checkbox/Dropdown/Search** - Fixed issue where dropdown/checkbox `change` events were not bubbling. (Dispatched events were swapped to use native `document.creatEvent` in `2.1.5` unfortunately the flag to bubble events was mistakenly off.)\n\n### Version 2.1.5 - Nov 1, 2015\n\n**Docs Enhancements**\n- **Examples** - All code examples now have a \"copy to clipboard\" button **Thanks @xiwc and @zenorocha for clipboard.js**\n\n**Minor Enhancements**\n- **Form** - Adds `equal width form` and `equal width fields` for simpler grouped fields\n- **Modal** - `onHide` callback can now cancel event by returning false [#3168](https://github.com/Semantic-Org/Semantic-UI/issues/3168) **Thanks @mdehoog**\n- **Dropdown** - Added `onLabelRemove` callback that allows value removal to be cancelled by callback **Thanks @goloveychuk**\n- **Table** - Added `selectable` on table cell, allowing for full table-cell links\n- **Popup** Added three new variables for `arrow` background color based on position, top, center or bottom. This makes it easier to use gradient backgrounds with popups and still match arrow colors.\n- **Popup** - Added behaviors `get popup` and `change content` to more easily determine popup from activating element and change text\n\n**Major Bug Fixes**\n- **Checkbox/Dropdown/Search** - Fixed issue where using `.trigger('change')` would not fire native `change` event. Only triggering event handlers attached with jQuery [#3108](https://github.com/Semantic-Org/Semantic-UI/issues/3108)\n- **Transition** - Fixed bug where static transitions (those that dont animate in/out of view) would not fire `onComplete` event\n- **Sticky** - Fixes bug where sticky would stick at incorrect times when using a different scroll container than `body` and scrollTop is not 0 on page load.\n\n**Bugs**\n- **Divider/Step/Modal/AD** - Fixes 1px jump at `@mobileBreakpoint` caused by incorrect edge conditions in media query [#3180](https://github.com/Semantic-Org/Semantic-UI/issues/3180) **THanks @mdehoog**\n- **Dimmer** - Dimmer can now works correctly with `opacity: 0` [#3167](https://github.com/Semantic-Org/Semantic-UI/issues/3167) **Thanks @mdehoog**\n- **Dropdown** - Fixed condition where focusing on dropdown would show a blank menu when \"no results\" was reached and the dropdown was refocused\n- **Dropdown** - Search dropdowns will now correctly filter by current search term on re-focus\n- **Dropdown** - Fixed issue where tabindex was being removed incorrectly with `selection dropdown` in some cases. [#3002](https://github.com/Semantic-Org/Semantic-UI/issues/3002)\n- **Dropdown** - Added `remoteValues` as a possible `field` setting. Allowing users to return API results using arbitrary JSON object groupings. [#3080](https://github.com/Semantic-Org/Semantic-UI/issues/3080)\n- **Dropdown** - Added ability to pass in `keys` as a setting, to avoid issues with languages where comma delimiter may be a different keycode [#3016](https://github.com/Semantic-Org/Semantic-UI/issues/3016)\n- **Dropdown** - `search dropdown` will now initialize with `autocomplete=\"off\"` to avoid triggering native autocomplete menu\n- **Form Validation** - Fixes error on `blur` or `change` when using a blank validation object [#3131](https://github.com/Semantic-Org/Semantic-UI/issues/3131) **Thanks @listepo**\n- **Form Validation** - Fixes some issues with form integer validation [#3053](https://github.com/Semantic-Org/Semantic-UI/issues/3053) **Thanks @maturano**\n- **Form Validation** - `decimal` rule now **only matches decimals**, to match any number use `number` rule. [#3060](https://github.com/Semantic-Org/Semantic-UI/issues/3060)\n- **Form** - Removed `divider` spacing as part of `ui form`, this caused inheritance issues when using special divider types [#3092](https://github.com/Semantic-Org/Semantic-UI/issues/3092)\n- **Grid** - Fixes attached segment 1px offset inside grid column [#3226](https://github.com/Semantic-Org/Semantic-UI/issues/3226)\n- **Grid** - Fixes some inconsistencies with `widescreen only` class [#3161](https://github.com/Semantic-Org/Semantic-UI/issues/3161) **Thanks @mdehoog**\n- **Header** - Sub headers now force `display: block` [#3020](https://github.com/Semantic-Org/Semantic-UI/issues/3020)\n- **Popup** - Fixes positioning issue when `movePopup: false` [#3213](https://github.com/Semantic-Org/Semantic-UI/issues/3213) **Thanks @parisholley**\n- **Popup** - Popup now works with `svg` elements [#3043](https://github.com/Semantic-Org/Semantic-UI/issues/3043)\n- **Progress* - Calling `reset` will now reset `value` to 0, so increment starts again at 0\n- **Search** - Fixes `onSearchQuery` not firing when results are cached **Thanks @mnquintana**\n- **Search** - Fixes `url` parameter not working correctly due to typo in source **Thanks @fabienb4**\n- **Segment** - Fixes border on `horizontal segment` when they are `:first-child` inside `segments` group\n**Docs Bugs**\n- Thanks to everyone who has submitted PRs for typos, grammatical changes. These are too numerous to count, but really help improve the quality of our docs.\n- **Progress** - Progress example code no longer shows accidental inline css\n- **Sticky** - Fixed issue where pressing home/end button would cause sticky to break due to internal logic not allowing immediate jump from bottom attached to top attached, experienced most likely when pressing \"home\" or \"end\" key [#3011](https://github.com/Semantic-Org/Semantic-UI/issues/3011)\n\n### Version 2.1.4 - Sep 13, 2015\n\n**Critical Bugfixes**\n- **Build** - Fixed issue where using a packaged theme without a `site.variables` would cause build to fail [#3009](https://github.com/Semantic-Org/Semantic-UI/issues/3009) [#3010](https://github.com/Semantic-Org/Semantic-UI/issues/3010)\n\n**Enhancements**\n- **Form Validation** - Form validation now supports a brand new shorthand which is drastically simpler to specify [#2579](https://github.com/Semantic-Org/Semantic-UI/issues/2579)\n```javascript\n// expands out using default prompts and identifier matching property label\n$('.ui.form')\n  .form({\n    fields: {\n      name     : 'empty',\n      gender   : 'empty',\n      username : 'empty',\n      password : ['minLength[6]', 'empty'],\n      skills   : ['minCount[2]', 'empty'],\n      terms    : 'checked'\n    }\n  })\n;\n```\n- **Form Validation** - `identifier` and `prompt` are now optional for all form validation rules. Default prompt values have been added for all rule types, and identifier will now automatically match on the named value for rule if no ID is specified. [#3001](https://github.com/Semantic-Org/Semantic-UI/issues/3001) [#2579](https://github.com/Semantic-Org/Semantic-UI/issues/2579)\n- **Form Validation** - All form prompts now support templates values, `{value}`, `{name}`,  `{ruleValue}`, and `{identifier}` [#3001](https://github.com/Semantic-Org/Semantic-UI/issues/3001)\n\n**Bugfixes**\n- **Dropdown** - Fixed issue with ',' key not being allowed in dropdown due to user tagging shortcut key [#3016](https://github.com/Semantic-Org/Semantic-UI/issues/3016)\n- **Message** - `ui list` used inside `ui message` now aligns properly in all conditions [#2958](https://github.com/Semantic-Org/Semantic-UI/issues/2958)\n- **Form Validation** - Validation messages in `error message` group are now correctly removed when invalid field revalidates on blur\n- **Label** - Labels no longer force single line using `word-wrap: nowrap` [#3006](https://github.com/Semantic-Org/Semantic-UI/issues/3006)\n- **Table** - Fixed issue where `(x) column segment table` was inheriting accidentally inheriting some grid styles\n- **Grid** - Fixed `middle aligned grid` not applying to columns [#2959](https://github.com/Semantic-Org/Semantic-UI/issues/2959)\n- **Menu** - Fixed issue where `right menu` was not floating correctly inside a `menu > container` on mobile [#2969](https://github.com/Semantic-Org/Semantic-UI/issues/2969)\n- **Button** - Fixes `right labeled icon button` with a `right` named icon (for example `right arrow`) having incorrect margin on icon. [#2973](https://github.com/Semantic-Org/Semantic-UI/issues/2973)\n\n### Version 2.1.3 - Sep 03, 2015\n\n**Bugfixes**\n- **Embed** - Fixes issue with `?=` appearing before parameters instead of `?` [#2956](https://github.com/Semantic-Org/Semantic-UI/issues/2956) **Thanks @AgentShark**\n- **Input** - Fixes regression where `ui icon input` inside forms were not correct width [#2953](https://github.com/Semantic-Org/Semantic-UI/issues/2953)\n- **Input** - Fixes typo in focused placeholder text color preventing the value from being used [#2939](https://github.com/Semantic-Org/Semantic-UI/issues/2939)\n- **Input** - `action input` now correctly show focused border on button side, and avoids duplicating borders\n\n### Version 2.1.2 - Sep 02, 2015\n\n**Bugfix**\n- **Form Validation** - Fixes callbacks on `onSuccess` so as to not break backwards compatibility. #2945 #2944\n\n### Version 2.1.1 - Sep 02, 2015\n\n**Bugfix**\n- **Build Tools** - Fixes [issue](https://github.com/Semantic-Org/Semantic-UI/commit/3d20d5e9796e05cc100af73370173f3383cf1d81) causing comment banner to incorrectly show version `2.0.7` in `dist/`\n\n### Version 2.1.0 - Sep 02, 2015\n\n#### Features\n\n**New UI Features**\n\n- **API** - Added `encodeParameters` option to enable/disable parameters being encoded with `encodeURIComponent` [#2752](https://github.com/Semantic-Org/Semantic-UI/issues/2752)\n- **API** Added new setting `hideError`, defaults to `auto` (will automatically hide error for elements that are not forms). [#2586](https://github.com/Semantic-Org/Semantic-UI/issues/2586)\n- **Build Tools** - Packaged `.overrides` file are now an optional include\n- **Button** - `colored basic` button are now colored before `:hover` in the default theme, this is more in line with common usage across other websites.\n- **Button** - Added `labeled button` variation for display a count next to a button.\n- **Cards** - Added documentation for `stackable` cards which was available but undocumented in previous versions.\n- **Checkbox** - Added 4 new callbacks `beforeChecked`, `beforeUnchecked`, `beforeDeterminate`, `beforeIndeterminate`. You can now cancel a state change by returning false from these callbacks.\n- **Divider** - Vertical divider can now be used multiple times in a single column row (not just 50/50 split). [#2808](https://github.com/Semantic-Org/Semantic-UI/issues/2808)\n- **Dropdown**  - Dropdown using remote data, can now customize the property names returned by api call using `fields` (similar to search).\n- **Dropdown** - Dropdown will now automatically update selected values when hidden input value changes (so long as `change` event is triggered) [#2626](https://github.com/Semantic-Org/Semantic-UI/issues/2626)\n- **Dropdown** - Dropdown with user additions now will use custom templated messages to distinguish added choice from preselected choice [#2923](https://github.com/Semantic-Org/Semantic-UI/issues/2923)\n- **Form Validation** - Added credit card validation, supports array of card types, and international cards including non luhn cards like China UnionPay [#2729](https://github.com/Semantic-Org/Semantic-UI/issues/2729)\n- **Form Validation** - Updated appearance of form validation prompts to use a more lightweight style. Added variables for controlling error validation prompt styles in `form.variables`\n- **Grid** - Added new responsive [`reversed`](http://www.semantic-ui.com/collections/grid.html#responsive-order) variations for reversing column order, these are also compatible with other grid types like `divided` and `celled` by device [#2685](https://github.com/Semantic-Org/Semantic-UI/issues/2685)\n- **Icon** - Added `fitted` icon variation, and new small sizes `tiny` and `mini`\n- **Input** - Added `disabled` state for inputs [#2694](https://github.com/Semantic-Org/Semantic-UI/issues/2694)\n- **Input** - Added ability for labeled input to be attached to both sides [#2922 **Thanks @maturano**](https://github.com/Semantic-Org/Semantic-UI/issues/no**)\n- **Label** - Added a new  `basic label` style, works symbiotically with other label types to provide a more lightweight style label\n- **Menu** - Added new `tabular` menu types, `right tabular`, `bottom tabular`, added many new `tabular` menu variables for customizing\n- **Menu** - Appearance of `labeled icon menu` has been modified. Horizontal menus now have icons above text, and icons are slightly larger than before.\n- **Search** - Search now can use any server response mapping, use the `fields` parameter to pass in a mapping of server response to content **thanks @anibalmf1** [#2645](https://github.com/Semantic-Org/Semantic-UI/issues/2645)\n- **Site** - Added global variable `@focusedFormBorderColor` for controlling form focus border color\n- **Table** - New `fixed` table variation added for use with `table-layout: fixed;`. This also supports \"...\" ellipsis when used with `single line` content\n\n**[Additional Features](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **Breadcrumb** - Breadcrumb no longer receives vertical spacing by default. This may often cause vertical alignment issues when displayed next to other `inline-block` content.\n- **Dropdown** - Added `get default text` and `get placeholder text` behaviors for returning text values.\n- **Dropdown** - Pointing dropdown (dropdown with arrows) now support `upward`, and will automatically move pointer arrows when appearing upward [#2733](https://github.com/Semantic-Org/Semantic-UI/issues/2733)\n- **Form** - `inverted form` now remove input border, added new variables for controlling inverted form input styles\n- **GitHub Theme** - Added github icon theme with port of Octicons.\n- **Label** - Added `basic` label variation, useful for item counts\n- **Menu** - `inverted menu` now support `colored` individual items **Thanks @maturano** [#2850](https://github.com/Semantic-Org/Semantic-UI/issues/2850)\n- **Menu** - `text menu` now uses padding for hitboxes to make target area for links larger\n\n**[Community Added Features](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **Build Tools** - `gulp build` now correctly calls `callback`, allowing those importing tasks to chain it correctly [#2836 **Thanks @artemkaint**](https://github.com/Semantic-Org/Semantic-UI/issues/nt**)\n- **Dropdown** - Dropdown `show` and `hide` are now cancellable by returning `false` from `onShow` or `onHide` callbacks.\n- **Flag** - England flag alias is now correctly set [#2770 **Thanks @eduardom**](https://github.com/Semantic-Org/Semantic-UI/issues/om**)\n- **Form Validation** - Added `number` and `decimal` validations to form **Thanks @TonnyORG** [#2537](https://github.com/Semantic-Org/Semantic-UI/issues/2537)\n- **Form Validation** - Form `onSuccess` and `onFailure` now receive current form fields as a parameter **Thanks @guodong**\n- **Popup** - Popup will now look for inline popup as any next adjacent sibling [#2772 **Thanks @malacalypse**](https://github.com/Semantic-Org/Semantic-UI/issues/se**)\n\n#### Bugs\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **Accordion** - Added missing notation for accordion docs [#2812](https://github.com/Semantic-Org/Semantic-UI/issues/2812)\n- **Build Tools** - Fixed bug where `gulp version` would show `x.x` [#2875 [#2920](https://github.com/Semantic-Org/Semantic-UI/issues/2920)\n- **Build Tools** - Fixes issue where component glob `{tab, table}` caused table to be included twice in concatenated source **\n- **Button** - Fixes inverted button missing an `active` and `active focus` state [#2635](https://github.com/Semantic-Org/Semantic-UI/issues/2635)\n- **Button** - Fixes issue where `basic button` would not have focus color text when colored [#2264](https://github.com/Semantic-Org/Semantic-UI/issues/2264)\n- **Checkbox** - Clicking a link inside an initialized checkbox `label` will now work correctly, and will not toggle the checkbox. [#2804](https://github.com/Semantic-Org/Semantic-UI/issues/2804)\n- **Container** - Fix issue with `fluid container` being `100% + gutter` at mobile resolution (causing overflow)\n- **Dropdown** - `forceSelection` no longer sets current value in search selection when current query is blank [#2058](https://github.com/Semantic-Org/Semantic-UI/issues/2058)\n- **Dropdown** - Dropdown `@arrowSize` will now automatically reposition itself if size is changed with variable\n- **Dropdown** - Dropdown arrow now has a variable `@dropdownArrowSize`, and is slightly smaller than previously\n- **Dropdown** - Fix `left menu` inside `ui menu` appearing horizontally [#2778](https://github.com/Semantic-Org/Semantic-UI/issues/2778)\n- **Dropdown** - Fixed error where menu would disappear when entering spaced words using `allowAdditions: true` caused by value matching its own whitespace-trimed value [#2853](https://github.com/Semantic-Org/Semantic-UI/issues/2853)\n- **Dropdown** - Fixed issue where \"no results\" message would be still be visible before search query on input focus [#2824](https://github.com/Semantic-Org/Semantic-UI/issues/2824)\n- **Dropdown** - Fixed issue where `onChange` would not fire when using `action: 'hide'`. [#2818](https://github.com/Semantic-Org/Semantic-UI/issues/2818)\n- **Dropdown** - Fixed issue where selected item would not be shown when being re-shown after filtering with single search selection [#2824](https://github.com/Semantic-Org/Semantic-UI/issues/2824)\n- **Dropdown** - Fixes issues with setting \"\" (empty quote) values when `placeholder: false` is used. Fixes issues with using `clear` and `restore defaults` without placeholders. [#2637](https://github.com/Semantic-Org/Semantic-UI/issues/2637)\n- **Dropdown** - Remove use of `trim` which causes issues IE 11 and below [#2806](https://github.com/Semantic-Org/Semantic-UI/issues/2806)\n- **Embed** - Remove accidental `console.log` statements in js [#2760](https://github.com/Semantic-Org/Semantic-UI/issues/2760)\n- **Form / Input** - Fixes `::placeholder` text color for `ui error input`, modifies form error placeholder color to distinguish from form value error color [#2786](https://github.com/Semantic-Org/Semantic-UI/issues/2786)\n- **Form / Input** - Fixes issue where `ui input` would sometimes collapse to `0px` width, especially when used inside an `inline field` [#2705 [#2621 [#2821](https://github.com/Semantic-Org/Semantic-UI/issues/2821)\n- **Form** - `disabled field(s)` now remove `pointer-events` allowing it to disable checkbox and dropdown functionality  [#555](https://github.com/Semantic-Org/Semantic-UI/issues/#555)\n- **Form** - Date input and other special input in chrome now are the same height as normal input (adds custom vendor shadow dom styling) [#2704](https://github.com/Semantic-Org/Semantic-UI/issues/2704)\n- **Form** - Form will no longer show messages that are empty in `error`, `warning`, or `success` state.\n- **Grid** - Fixed issue where `relaxed stackable grid` would have incorrect margin on mobile width\n- **Grid** - Fixed issue where nested `stackable grid` would have incorrect margin on mobile.\n- **Header** - Fixed `attached header` to have the correct bottom border on `top attached` and `attached` variations. [#2798](https://github.com/Semantic-Org/Semantic-UI/issues/2798)\n- **Icon** - Fixed typo in cube icon alias caused by bad grep [#2765](https://github.com/Semantic-Org/Semantic-UI/issues/2765)\n- **Input** - Fixed issue with appearance of `left corner labeled left icon input` [#2782](https://github.com/Semantic-Org/Semantic-UI/issues/2782)\n- **Item** - Fixed `bottom aligned` not working in item due to incorrect flex value [#2826](https://github.com/Semantic-Org/Semantic-UI/issues/2826)\n- **List** - Lists can now be `right floated` or `left floated`\n- **Menu** - Fixed `(x) column` nested grid with alignment stacking vertically (wrong flex-direction) [#2810](https://github.com/Semantic-Org/Semantic-UI/issues/2810)\n- **Menu** - Sub menus now work correctly and are correctly spaced inside `secondary menu` and text menu` [#2862](https://github.com/Semantic-Org/Semantic-UI/issues/2862)\n- **Modal** - Fix autofocus setting in modal not working due to improper selector [#2737](https://github.com/Semantic-Org/Semantic-UI/issues/2737)\n- **Modal** - Increased `close` specificity, modal will now only close on `> .close` [#2736](https://github.com/Semantic-Org/Semantic-UI/issues/2736)\n- **Popup** - Fixes issue where variation would not be added to a pre-existing popup even if specified in javascript [#26011](https://github.com/Semantic-Org/Semantic-UI/issues/6011)\n- **Search** - Calling `.search('show results')` no longer fails when input is not focused [#2842](https://github.com/Semantic-Org/Semantic-UI/issues/2842)\n- **Table/Label** - `ribbon labels` will now automatically position themselves when used inside a table [#1930](https://github.com/Semantic-Org/Semantic-UI/issues/1930)\n- **Transition** - Transition callbacks now all have the correct `this` set. [#2758](https://github.com/Semantic-Org/Semantic-UI/issues/2758)\n\n**[Community Bug Fixes](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **API** - API debug is now `false` by default, like other modules. [#2817](https://github.com/Semantic-Org/Semantic-UI/issues/2817)\n- **Build Tools** - Removed octal literals from install scripts (for color escaping), and uses of future ECMAScript reserved words [#2838 [#2839 **Thanks @artemkaint**](https://github.com/Semantic-Org/Semantic-UI/issues/nt**)\n- **Dropdown** - Fixed issue where label could not be removed when using a numeric value due to mismatched types [#2754 [#2755 **Thanks @dgurkaynak**](https://github.com/Semantic-Org/Semantic-UI/issues/ak**)\n- **Menu** - Fixes tabular menu missing variable for background. **Thanks @frontdevde**\n- **Step** - Fixed issue with display of step groups with only one step having incorrect border radius **Thanks @elliotisonfire** [#2869](https://github.com/Semantic-Org/Semantic-UI/issues/2869)\n- **Sticky** - Sticky now sets width and height with `!important` to avoid inheritance issues in some cases **Thanks @lauri-elevant** [#2710](https://github.com/Semantic-Org/Semantic-UI/issues/2710)\n- **Tab** - Fixed issue where simple path would be tested before full path, i.e. `first/` vs `/second/first/` causing tab to not open in some cases **Thanks @habibutsu** [#2843](https://github.com/Semantic-Org/Semantic-UI/issues/2843)\n\n**Additional Bugs**\n- **API** - API now will use automatically use `form` action if no api event is specified now  when form is `stateContext` but not intialized element\n- **Build Tools** - Fixes issue on `win` platform where packaged theme would not correctly update when using watch due to regExp not matching windows path separators.\n- **Dropdown** - Dropdown will no longer fire native `onchange` event on hidden input when setting value during initial load (unless `fireOnInit: true`) #2795 **Thanks @lauri-elevant**\n- **Dropdown** - Fixed issue where `forceSelection` would not occur when `pageLostFocus` (clicked into another tab and back)\n- **Dropdown** - Fixed issue where using the specific value `value=\"false\"` would cause an option to not be removable from a multiple select\n- **Dropdown** - When `useLabels: false` placeholder text will now show up when 0 items selected, instead of the text \"0 items selected\"\n- **Dropdown/Tab** - Fixed an instance where `metadata` was not referencing settings metadata value\n- **Form Validation** - Fixed issue with `get value(s)` where unchecked checkboxes would not correctly retrieve values\n- **Form** - Dropdown in `inline field` now use auto width instead of 100%\n- **Grid / Container** - `ui relaxed grid container` and `ui very relaxed grid container` will now all render at same container width\n- **Grid** - Fixed `stackable celled grid` having doubled border width between rows\n- **Header** - Fixed issue with em sizing of `chubby` and `bookish` header themes appearing too large\n- **Icons** - Fixed issue where `active icon` or `emphasized icon` would not adjust opacity inside menus\n- **Input** - `labeled input` now keeps border on label edge so that focus color appears correctly\n- **Input** - Input now will reset `font-weight` and `font-style` if set on parent;\n- **Input** `action input` and `labeled input` now have focused border on inner edge with label/button\n- **Label** - `pointing` and `attached` labels are *now word order sensitive* to allow them to work correctly with other directional variations.\n- **Label** - `pointint label` now rounds to exact pixel em value, should align correctly in more cases\n- **Menu** - `@pressedItemColor` has been renamed to `@pressedItemTextColor` to match naming conventions of other variables\n- **Menu** - Added `flex: 0 0 auto` to menu item to make sure menu do not collapse text content to reduce space\n- **Menu** - Fix text align on `dropdown item` inside `icon menu`\n- **Menu** - Fixed hybrid initialization not creating `menu` correctly. Fixed docs example of hybrid `<select>` initialization\n- **Menu** - Fixed issue with `labeled input` text inside menu not appearing vertically centered\n- **Popup** - Fixed `onRemove` firing even when popup is not removed\n- **Reveal** - Reveal now uses `display: inherit` instead of forcing `inline-block`\n\n### Version 2.0.8 - August 10, 2015\n\n**All UI** - This release should fix issues caused when importing individual component using `require` when using [single component repos](https://github.com/Semantic-Org/). See discussion in [#2816](https://github.com/Semantic-Org/Semantic-UI/pull/2816), and previously [#1156](https://github.com/Semantic-Org/Semantic-UI/pull/1156), and [#1878](https://github.com/Semantic-Org/Semantic-UI/pull/1878)\n\n### Version 2.0.7 - July 23, 2015\n\n**Important Note**\nThis release should fix bugs some may have encountered with `npm install semantic-ui` hanging after set-up. See [this thread](https://github.com/Semantic-Org/Semantic-UI/issues/1816) for more details.\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.7+is%3Aclosed)**\n- **API** - Fixed some cases where `onComplete`, `onSuccess` and `onFailure` would receive XHR as first parameter and not `response`. [#2713](https://github.com/Semantic-Org/Semantic-UI/issues/2713)\n- **API** - Fixed issue where `onFailure` would pass response as stringified JSON and not a JS object [#2713](https://github.com/Semantic-Org/Semantic-UI/issues/2713)\n- **Build Tools** - Fixed some cases of `npm install` with CI or tests. Install will not stop to ask questions if project has an existing `semantic.json` file (more quiet options to come) [#1816](https://github.com/Semantic-Org/Semantic-UI/issues/1816)\n- **Dropdown** - Fixed border radius on `circular labeled icon button`  [#2700](https://github.com/Semantic-Org/Semantic-UI/issues/2700)\n- **Dropdown** - Fixed issue where dropdown nested inside `label` would not open. [#2711](https://github.com/Semantic-Org/Semantic-UI/issues/2711)\n- **Popup** - Fixed issue where popup would not open on tablets with both touchscreen and mouse on mouseenter. [#2715](https://github.com/Semantic-Org/Semantic-UI/issues/2715)\n\n**[Merged PR](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.7+is%3Aclosed)**\n- **Build Tools** - Fixed autoprefixer not correctly setting `last 2 versions` [#2717](https://github.com/Semantic-Org/Semantic-UI/pull/2717) **Thanks @frontdevde**\n- **Gulp Import** - Fixes error `Cannot find module 'gulp-help'` which may occur when importing gulp tasks [#2653](https://github.com/Semantic-Org/Semantic-UI/issues/2653) [#2668](https://github.com/Semantic-Org/Semantic-UI/pull/2668) **Thanks @fholzer**\n\n**Docs**\n- **Recipes** - Add links to Sketch files for SUI. Add example repo on how to import gulp tasks.\n\n\n**Minor Enhancements**\n- **API** - All API callbacks now recieve `xhr` from API request as the third calback parameter\n\n**Additional Fixes**\n- **Checkbox** - Fix checkbox \"check\" appearing italicized when included inside italicized text\n- **Popup** - Fixed terribly typo where popup `onShow` was mistakenly being called instead of `onHide` when hiding popup\n- **Popup** - Popup on `touchstart` now occurs immediately without waiting for `delay.show`\n\n### Version 2.0.6 - July 22, 2015\n\n**Important Notes**\n- **Form Validation** - In `2.0.4` `length` rules were corrected to match \"exact length\" and not \"minimum length\". This may have caused issues for those who were using this rule as min length previously. We've remedied any breaking changes introduced by by returning `length` to functioning as \"minimum length\" and added a new rule `exactLenght` for matching exact length. #2681\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.6+is%3Aclosed)**\n- **Dropdown** - Fixed issue where `disabled` dropdown would still receive focus [#2699](https://github.com/Semantic-Org/Semantic-UI/issues/2699)\n- **Dropdown** - Fixed `restore value` sometimes now working correctly due to \"animating out\" label still being mistaken for selected. [#2690](https://github.com/Semantic-Org/Semantic-UI/issues/2690)\n- **Dropdown** - Added `set exactly` to remedy confusion of `set selected` not removing current selections with multiple [#2689](https://github.com/Semantic-Org/Semantic-UI/issues/2689)\n- **List**- Fixed issue where using an image variation like `ui image label` as a direct child of an `item` would remove right padding [#2691](https://github.com/Semantic-Org/Semantic-UI/issues/2691)\n\n**Additional Fixes**\n- **Dropdown** - Fixed issue where using text labels, `useLabels: false`, would cause selection count to appear incorrect.\n- **Dropdown** - Text labels, `useLabels: false`, now works correctly with `maxSelections`, and receives special UX considerations\n\n### Version 2.0.5 - July 20, 2015\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.5+is%3Aclosed)**\n\n- **API** - Data replaced in urls, `urlData`, will now be url encoded by default. Additionally checks were added to avoid double encoding already encoded values. [#2394](https://github.com/Semantic-Org/Semantic-UI/issues/2394)\n- **Checkbox** - Fix issue with `onChange` not firing when space key is used. Checkbox keyboard shortcuts now occur on `keydown` but cancel events correctly on `keyup` [#2676](https://github.com/Semantic-Org/Semantic-UI/issues/2676)\n- **Radio Checkbox** - Fixed regression causing radio checkboxes to all appear selected in chrome due to `:indeterminate` selector [#2505](https://github.com/Semantic-Org/Semantic-UI/issues/2505)\n- **Dropdown** - Fixed issue causing `multiple search dropdown` using [`search` inside menu](http://www.semantic-ui.com/modules/dropdown.html#search-in-menu) to break when multiple [#2666](https://github.com/Semantic-Org/Semantic-UI/issues/2666)\n- **Message** - Fixed issues where icon would overlap in `icon message` when at mobile resolutions due to `flex-collapse` value being incorrect [#2665](https://github.com/Semantic-Org/Semantic-UI/issues/2665)\n\n**Additional Fixes**\n- **Dropdown** - `<select>` dropdowns intialized without `multiple` property set on `<select>` will now produce an error to alert users selection will not be preserved correctly. Related [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n- **Dropdown** - Dropdown `<option>` added with `userAddition` now recieve class name `addition` to distinguish from original `<select>` options. [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n- **Dropdown** - User additions now have their `<option>` removed if a user deselects an addition. [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n\n### Version 2.0.4 - July 17, 2015\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.4+is%3Aclosed)**\n- **Build Tools** - Fixed issue where sub tasks were undefined when importing SUI's `build` and `watch` tasks into custom gulpfile #2648\n- **Button** - Fixed `fluid buttons` not working correctly with `<button>` due to button tags not supporting `flex` rules. [#2617](https://github.com/Semantic-Org/Semantic-UI/issues/2617)\n- **Button** - Fixed colored vertical basic buttons appearing 2px offset [#2655](https://github.com/Semantic-Org/Semantic-UI/issues/2655)\n- **Checkbox** - Checkbox now focuses after click, allowing for tab navigation from current position [#2610](https://github.com/Semantic-Org/Semantic-UI/issues/2610)\n- **Checkbox** - Fixed checkbox not using javascript having incorrect colors on focus [#2607](https://github.com/Semantic-Org/Semantic-UI/issues/2607)\n- **Dropdown** - Fixed `search selection` appearing incorrectly inside menu (default text would not disappear) [#2624](https://github.com/Semantic-Org/Semantic-UI/issues/2624)\n- **Form** - Added `doesntContain` and `doesntContainExactly` [#2638](https://github.com/Semantic-Org/Semantic-UI/issues/2638)\n- **Form** - Fixed issue with `minLength[1]` validation not behaving same as `minLength > 2` [#2636](https://github.com/Semantic-Org/Semantic-UI/issues/2636).\n- **Form** - Fixes errors when a field identifier is named `identifier` [#2629](https://github.com/Semantic-Org/Semantic-UI/issues/2629)\n- **Form** - Form fields will now error when a non-string identifier is used\n- **Formatting** - Fixed several source files that had `CR LF` (Windows) line endings [#2649](https://github.com/Semantic-Org/Semantic-UI/issues/2649)\n- **Input** - Fixed `left action input` displaying with incorrect `input` border radius inside `ui form` [#2638](https://github.com/Semantic-Org/Semantic-UI/issues/2638)\n- **Modal** - Modal `action` now uses a more specific selector to prevent modifying `comment action`\n- **Popup** - `fluid` popup with `setFluidWidth: true` (default value), will now use `parent` width and not `offsetContext` width [#2526](https://github.com/Semantic-Org/Semantic-UI/issues/2526)\n- **Popup** - Fixed issues where rounding could cause elements that are against edge of page from not appearing. Add new `jitter` setting for allowing popups to escape page boundaries by a small margin [#2526](https://github.com/Semantic-Org/Semantic-UI/issues/2526)\n- **Segment** - Added additional variables for `inverted` segment.\n- **Segment* - `horizontal segments` in IE will no longer stretch to the natural width of child imgs [#2550](https://github.com/Semantic-Org/Semantic-UI/issues/2550) [flexbug [#1](h](https://github.com/Semantic-Org/Semantic-UI/issues/1](h)ttps://github.com/philipwalton/flexbugs[#1-mi](https://github.com/Semantic-Org/Semantic-UI/issues/1-mi)nimum-content-sizing-of-flex-items-not-honored)\n- **Sidebar** - `right`, `top`, and `bottom` sidebar will not have their direction removed on `destroy` [#2644](https://github.com/Semantic-Org/Semantic-UI/issues/2644)\n- **Sticky** - Fixed `sticky` element that cannot fit in viewport not scrolling correctly when fixed to viewport [#2605](https://github.com/Semantic-Org/Semantic-UI/issues/2605)\n- **Transition** - Fixed issue where animating same element in its own `onComplete` would fail because animation had not yet called `force visible/hidden` [#2583](https://github.com/Semantic-Org/Semantic-UI/issues/2583)\n- **Visibility** - `refreshOnResize` now correctly includes a default value [#2615](https://github.com/Semantic-Org/Semantic-UI/issues/2615)\n- **Menu/Segment/Table** - Consolidated `attached` logic for all components using attached. [#2599](https://github.com/Semantic-Org/Semantic-UI/issues/2599)\n\n**Additional Bugs**\n- **Checkbox** - Fixed `space` shortcut causing checkbox to trigger twice\n- **Checkbox** - Updated `colored` theme to add new focus color variables.\n- **Popup** - `wide` and `very wide` popup will now limit themselves to normal popup widths on mobile so that they still appear on screen.\n- **Message** - Fixes `attached icon message` not using `flex`\n- **Sticky** - Fixed `sticky` content jumping from `fixed` to `bount bottom` when scroll position has surpassed bottom of container during page refresh.\n- **Sticky** - Sticky no longer uses `bottomPadding` to determine bottom edge of container.\n- **Steps** - Updated `basic` steps theme to appear correctly\n\n**Docs**\n- Fixed theme previews appearing incorrectly in all UI in docs. Regex parsing `.variable` files would ignore first variable after a comment.\n- Added individual examples of all form validation rules\n- Partial rewriite of sidebar documentation\n- Updated example in theme guide to include checkbox focus colors\n\n### Version 2.0.3 - July 8, 2015\n\n**Docs Updates**\n- **Examples** - Source code examples have been greatly improved. Required class names for each example will be highlighted in yellow. Other UI elements used in examples will now link out to their definition pages.\n\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.3+is%3Aclosed)**\n- **Checkbox** - Checkbox initialized with JS and with `for/id` matching would cause toggle to occur twice on click (making it seem as if nothing was updated) **thanks @malacalypse** [#2572](https://github.com/Semantic-Org/Semantic-UI/issues/2572)\n- **Divider/Grid** - `vertical divider` no longer has inexplicable right border when stacked on mobile [#2558](https://github.com/Semantic-Org/Semantic-UI/issues/2558)\n- **Dropdown** - Dropdown using `<select>` and `apiSettings` will now correctly add new `<option>` value when selections are made [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n- **Icon** - `black icon` have been added back as a color option [#2556](https://github.com/Semantic-Org/Semantic-UI/issues/2556)\n- **Icon** - Adds missing `square` and `square outline` icon [#2532](https://github.com/Semantic-Org/Semantic-UI/issues/2532)\n- **Input** - Fixed errored input field having incorrect border radius with `labeled input`\n- **Modal** - Modal that is larger than page height will now correctly reset body height on remove [#2576](https://github.com/Semantic-Org/Semantic-UI/issues/2576)\n- **Popup** - Popup `preserve` setting (which preserves popup in DOM to avoid regenerating on each show/hide) was set to `true` by default causing generated popups to remain in DOM. [#1369](https://github.com/Semantic-Org/Semantic-UI/issues/1369)\n- **Steps** - Fixed `github` theme for steps not displaying correctly in 2.0 [#2545](https://github.com/Semantic-Org/Semantic-UI/issues/2545)\n- **Steps** - Last `step` no longer incorrectly shows arrow [#2552](https://github.com/Semantic-Org/Semantic-UI/issues/2552)\n- **Transition** - Fixes `get current animation` erroring when `module cache` is cleared. [#2469](https://github.com/Semantic-Org/Semantic-UI/issues/2469)\n\n**Additional Bugs**\n- **Form** - URL regexp will now match now works correctly, and matches against non `http://` prefixed urls like `www.google.com`\n\n### Version 2.0.2 - July 7, 2015\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.2+is%3Aclosed)**\n\n- **Dropdown** - Fixed regression in `2.0.1` causing search dropdown not to clear values correctly [#2533](https://github.com/Semantic-Org/Semantic-UI/issues/2533)\n- **Site** - Sizing variables now are relative to `@emSize` adjusting all sizing variationss proportionately as `@emSize` changes [#2538](https://github.com/Semantic-Org/Semantic-UI/issues/2538)\n- **Dropdown** - Dropdown icon will now always toggle menu visibility [#2510](https://github.com/Semantic-Org/Semantic-UI/issues/2510)\n- **Dropdown** -  Pressing same key on dropdown with multiple choices with same first letter will now cycle selections. For example \"California\" then \"Colorado\" when pressing C [#2516](https://github.com/Semantic-Org/Semantic-UI/issues/2516)\n- **Dropdown** - Dropdown now changes text before calling `onChange` callback so that callback reflects new dropdown conditions [#2539](https://github.com/Semantic-Org/Semantic-UI/issues/2539)\n\n**Additional Bugs**\n- **Dropdown** - Clicking on label, or deleting a label will no longer trigger dropdown menu toggling\n- **Dropdown** - Multiselect that do use text labels (e.g. \"5 selected\") will now remove filters on selection and scroll to last selected value\n\n### Version 2.0.1 - July 6, 2015\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.1+is%3Aclosed)**\n- **Label** - Attached labels now use a border-radius for corner-edges that matches more closely [#2500](https://github.com/Semantic-Org/Semantic-UI/issues/2500)\n- **Label** - Fixes incorrect label sizing for `large` and bigger sizes [#2486](https://github.com/Semantic-Org/Semantic-UI/issues/2486)\n- **Segment** - Fixed incorrect margin set on `attached segment` [#2503](https://github.com/Semantic-Org/Semantic-UI/issues/2503)\n- **Card** - `centered cards` variation now works similar to `centered card`. [#2520](https://github.com/Semantic-Org/Semantic-UI/issues/2520)\n- **Checkbox** - Fixed issue in chrome where radio checkbox would appear incorrectly when no default value was selected [#2505](https://github.com/Semantic-Org/Semantic-UI/issues/2505)\n- **Dropdown** - Fixed transparent tap color not being set correctly. Removed toggle behavior from touch events on multiple dropdown. [#2524](https://github.com/Semantic-Org/Semantic-UI/issues/2524)\n- **Checkbox** - Fixed issue where radio checkbox were not properly receiving `checked` class [#2506](https://github.com/Semantic-Org/Semantic-UI/issues/2506)\n- **Tab** - Tab now correctly obeys `cache` setting. Removed use of API's local caching by default. [#2493](https://github.com/Semantic-Org/Semantic-UI/issues/2493)\n- **Form** - `reset` will no longer clear values if no default value is found [#2504](https://github.com/Semantic-Org/Semantic-UI/issues/2504)\n\n**Additional Bugs**\n- **Dimmer** - Dimmer now removes variations like `blurring` and `inverted` when `destroy` is called.\n- **Dropdown** - `restore defaults` in dropdown when used with multiple will now correctly clear other values selected that were not there on page load.\n- **Dropdown** - Removes accidental console.log statement in dropdown\n- **Dropdown** - Dropdown no longer closes after max selections reached and enter key used for selection.\n- **Dropdown** - Dropdown will now show correctly when menu only includes a message with no other items\n- **Menu** - Fixed `pointing menu` arrow color slightly off\n- **Progress** - Progress included `debug: true` by default. This has been now correctly set to `false`\n- **Modal** - `scrolling modal` now correctly inherits rules so that it appears at top of screen on mobile\n- **Menu** - Inverted menu no longer includes a 1px transparent border.\n- **Menu** - Fixes `compact vertical menu` using `flex` style incorrectly\n- **Menu** - Fixes `border-top` not appearing on `bottom fixed` menu\n- **Tab** - Fixed bug where remote loaded tab content would not show `loading tab` on first load.\n\n**Docs**\n- **Form** - Clarified usage for `reset` in form docs [#2504](https://github.com/Semantic-Org/Semantic-UI/issues/2504)\n- **Docs** - `1.0` docs are now available at [http://1.semantic-ui.com](http://1.semantic-ui.com) Link in footer has been fixed.\n- **Image** - Fixed `mini image` having wrong pixel size in docs [#2521](https://github.com/Semantic-Org/Semantic-UI/issues/2521)\n- **Image** - Added docs for missing `fluid image` variation\n- **Modal** - Removed legacy JS animation settings still accidentally in docs\n- **Tab** - Added new examples for `evaluateScripts` and HTML5 state tabs\n\n### Version 2.0.0 - June 30, 2015\n\n**Migration Guide**\n\n- **Modal** - If you are using a modal with image content, you will need to use `image content` on the parent element. This is because `flex` rules require parent styling that the previous `table-row` rules did not.\n- **Modal** - Modal will now only close on buttons matching `deny` or `approve` selector. Any button that should hide modal on click should either match one of these selectors, or call `$('.ui.modal').modal('hide')` `onclick`.\n- **Grid** - `page grid` has been deprecated.  `page grids` used percentage gutters which made it unnecessarily difficult to style responsive page content. Moving forward we recommend using `ui container` a fixed width responsive container for holding page contents.\n- **Dropdown** - Dropdowns will now change opening directions automatically based on available screen space. If you need  to force a dropdown direction use `dropdown({ direction: 'upward'})`\n- **Form Validation** - Form validation now passes settings through a `fields` object. This is to make form initialization match other components. The previous syntax will continue to work but will produce deprecation notices in console\n- **Checkbox** - Checkbox `fireOnInit` now defaults to false. Checkboxes now also *do not require javascript* to function.\n- **Dropdown** - Dropdown item `description` now are floated in default theme and should be included before other `item` content\n- **Form** - `grouped inline field` no longer display horizontally. Use `inline field` instead for horizontal inline field groups.\n- **Input** - `pointer-events` have been removed from `icon` in `icon input` unless a `link icon` is used. This is to make sure the hitbox for focusing an input includes the icon.\n- **Popup** - Popups are no longer exclusive by default. Opening a popup will not necessarily close other visible popups. You can change this behavior by using the setting `exclusive: true`. Additionally the default theme now uses `1rem` size for standard popups.\n- **Colors** - Default colors have been adjusted, which may cause slight changes in your design. New colors have also been added to fill in missing gaps in [color naming](http://en.wikipedia.org/wiki/Linguistic_relativity_and_the_color_naming_debate#Berlin_and_Kay).\n- **Segment** - Segment no longer includes a [clearfix](http://learnlayout.com/clearfix.html) by default. You will need to specify a `clearing segment` to clear floated content.\n- **Rail** - Rail now uses `border-box` instead of `content-box`. This means manually specified rail widths will now need to account for padding. This was added to fix issues where rail `height: 100%` would incorrectly match content when a rail had padding.\n- **Menu** - `tiered menu` has been removed in `2.0`. This may be rewritten in the future, but was not up to the standards of the rest of the library and has been removed.\n- **Tab** - `onTabInit` and `onTabLoad` have been renamed to `onFirstLoad` and `onLoad` respectively. This is to conform to the naming conventions of other modules (no self reference). Previous callbacks will continue to work but will produce deprecation notices in console. Two new callbacks `onVisible` and `onRequest` have been added as well.\n- **Button** - `wide` variations using numbers `2 wide`, `3 wide` have been removed due to incompatibilities with some build tools. Please use `two wide`, or `three wide` instead.\n- **Video** - The undocumented `video` module has been renamed to `embed`. Behaviors remain the same, but users need to adjust their javascript init to `$('.ui.embed').embed();`\n- **API** - API `onFailure` will now be called **in all failure conditions**, when a request is errored (504, 404 etc), aborted (page change or CORS), or JSON does not pass `successTest` function. `onError` and `onAbort` will also fire for each specific failure condition.\n\n**New UI**\n- **Container** - Containers are fixed width containers meant for holding page contents, and are a simpler alternative to `ui page grid`, view more [examples in docs](http://www.semantic-ui.com/elements/container.html#examples)\n- **Multiselect** - New `multiple` dropdown types have been added. Many new dropdown improvements have been added including tagging/tokenizing features and loading data through API requests.\n- **Embed** - New embed component allows for responsive iframe embeds that maintain their aspect ratio. Embed can be used with YouTube or Vimeo videos, along with placeholder content to avoid loading third party libraries until a user chooses to interact with the video.\n\n**Major Enhancements (Please Read)**\n- **Site** - Added new colors `olive`, `violet`, `brown` and `grey`. These are available in all elements with color variations.  **Thanks @lemartialou**\n- **API** - API can now be used with mocked responses, and custom AJAX requests. `mockResponse` has been added to resolve request with a prespecified JSON object, or a synchronous function callback.\n- **API** `mockResponseAsync` has been added for custom asynchronous requests. This allows you to specify a custom async callback to resolve an API request, helping with integration with libraries like Ember or Angular that may wrap AJAX requests.\n- **API** - API callbacks now have an `onResponse` callback that can adjust a servers response before it is parsed by other callbacks for success or failure conditions. **Thanks @mnquintana**\n- **API** - API now provides a local caching setting to avoid server roundtrips for identical urls by using `cache: 'local'`. This is not enabled by default.  Local caching is useful for results that should return the same values across a single session, for example when querying an autocomplete.\n- **Card** - Cards now support multiple custom `content` blocks. Content blocks and images can now appear in any order.\n- **Checkbox** - Checkbox no longer require javascript to function.\n- **Checkbox** - Added support for `indeterminate` checkboxes, along with new stylings.\n- **Checkbox** - Now includes separate behaviors for triggering state changes without invoking callbacks `set checked` vs `checked`\n- **Dropdown** - Added remote API integration with dropdown, to allow `search selection` to query against a remote dataset.\n- **Dimmer** - Dimmers now have a `blurring` variation which apply a glass-like effect when dimmed\n- **Dropdown** - Dropdowns now automatically observe changes in `menu` and will update selector cache with new additions\n- **Dropdowns** - Added ability to add custom choices to all search selection dropdowns (multi/single) using `allowAdditions: true` setting. Search now displays error messages on no results in all cases.\n- **Dropdown** - Keyboard shortcuts have been added for selecting dropdown choices, for example \"N\" will scroll to \"New York\" in a state selection list, similar to native `<select>` behavior.\n- **Dropdown** - Added new dropdown variation `scrolling dropdown` and `scrolling menu`, this can be used to include a scrollable section inside a dropdown menu.\n- **Dropdown** - Dropdown will automatically animate upward if there is not enough space to appear below.\n- **Dropdown** - Using `page up` and `page down` keys will now scroll menus by a page at a time\n- **Form** - Forms now use `flexbox` for creating field groups. Inline fields now support `(x) wide` sizing using `flex`\n- **Grid** - Grids now use `flexbox`, columns are now all equal height by default. New flexbox alignment types like `stretch` have been added for easier vertical alignment.\n- **Multiple UI** - Many components now use flexbox, which means previous confusing fixes like `font-size: 0;` to remove [white-space from inline block](https://css-tricks.com/fighting-the-space-between-inline-block-elements/) is no longer necessary. Removing this hack, now means any element can be a direct child of `grid` or `menu`.\n- **Modal** - Added new settings `blurring` and `inverted` which automatically set a modal's dimmer to either inverted or blurring.\n- **Menu** - Menu now uses flexbox. This allows menu items to match each others heights regardless of each items content size. `right menu` content should now follow other menu content instead of preceding it (no longer uses float).\n- **Grid** - Grids are now `flexbox` and `equal height` by default, the `equal height` variation can safely be removed\n- **Popup** - Popup has been rewritten to drastically improve performance, especially when testing multiple positions.\n- **Transition** - Fallback javascript animations have been removed from UI components like dropdown and popup to increase performance. This removes need for expensive pseudo selectors like `:visible`, `:animated` and `:hidden` and reduces filesize.\n- **Form Validation** - Form validation now uses a single `settings` object like other modules. Using `(fields, settings)` will continue to work but will produce a deprecation notifications in `console`\n- **Form Validation** - Form validation now supports many new validation rules, including some specifically for use with multiple select values.\n- **Item** - Items now uses `flexbox` for layout.\n- **Message** - `icon message` now uses `flexbox` for layout\n- **Menu** - `vertical tabular menu`, a vertical tab menu, has been added\n- **Input** - All `input` types use `flexbox` for layout\n- **Segment** - Segments now support complex nesting, many new rules for how segment groups should appear inside groups\n- **Segment** - New `horizontal segment` groups make laying out auto resizing text columns much easier.\n- **Sidebar** - iOS will now correctly report `scrollTop` values for `document` or `body` when using a sidebar. Chrome on iOS no longer has issues with fixed content not sticking immediately when using a sidebar.\n- **Shapes** - Shapes now correctly adjusts for margin on `sides`\n- **Steps** - Steps now use `flexbox`, fluid steps now center content inside each step\n- **Steps** - Steps no longer need `item count` and will automatically divide evenly\n- **Transition** - Transition code has been optimized to increase performance. 100% improvement on first animation, and 40% improvement on subsequent animations.\n- **Visibility** - Using `.visibility({ type: 'fixed'})` will now automatically add a placeholder element which will swap places with an element when it is attached to the viewport. This should make fixed content drastically simpler.\n- **Visibility** - Visibility and sticky now use a more performant [pub/sub pattern](http://davidwalsh.name/pubsub-javascript) that will only attach a single event to context `scroll`.\n- **Visibility** - Added two new visibility callbacks `onOnScreen` and `onOffScreen`, which occur, most obviously when an element first appears in or out of a browser's viewport.\n\n**Enhancements**\n- **Site** - Added many new site variables, including the ability to control input size across all UI `inputPadding`, along with more border colors, accents, and colors.\n- **Accordion** - adds `onOpening` and `onClosing` callback (before animation) to go with `onOpen`, `onClose` (after animation) **Thanks @cluppric**\n- **Accordion** - Added `on` setting for specifying accordion trigger event.\n- **Activity Feed** - Activity feed has been rewritten to use `flexbox`\n- **API** - API now has new settings `throttleFirstRequest` and `interruptRequests`. Interrupt requests will abort a previous request on an element when making a new request. `throttleFirstRequest`, sets whether the first request or only subsequent requests should be throttled when a `throttle` duration is specified.\n- **Build Tools** - Build tools will now display pre-specified errors when a theme file is missing or an element specifies an unavailable theme.\n- **Build Tools** - Adjusting `site.variables` will now rebuild all UI, instead of just `site.less`\n- **Button** - Added `:focus` styles for all button types, all button examples in docs now are keyboard focusable using either `<button>` or `tabindex` where appropriate.\n- **Card** - Card now includes a `centered` variation\n- **Checkbox** - Checkbox will now gracefully correct behaviors invoked on the child input element instead of the `ui checkbox`.\n- **Checkbox** - Reduced kb size of icon font\n- **Divider** - `vertical divider` inside `ui grid` now accounts for column padding\n- **Dropdown** - Nested `scrolling` menus now support keyboard selection, e.g. pressing \"A\" for apple, and keyboard scrolling.\n- **Dropdown** - Dropdowns now have `match` setting to specify whether to match on `text`, `value` or `both`\n- **Dropdown** - Multi select dropdowns now have new settings for specifying maximum selection count\n- **Dropdown** - Dropdown has new `placeholder` setting for setting placeholder text in javascript\n- **Dropdown** - Added `showOnFocus` option that lets you specify whether dropdown menu should show on focus\n- **Dropdown** - `fullTextSearch: true` now uses fuzzy search (same as `ui search`)\n- **Dropdown** - Page down and page up now works with dropdown menus\n- **Dropdown** - Dropdown initialized with `disabled` prop on an `option` will now correctly appear disabled\n- **Dropdown** - Added `disabled item` state, disabled items will automatically be skipped with keyboard selection\n- **Form** - Added a host of new styles for form fields autocompleted by your browser, including autocompleted error, and focus states\n- **Form** - Added placeholder color rules for IE, `ms-input-placeholder`\n- **Form** - Fix `errored field` dropdown keyboard selection color\n- **Form** - Adds form `success` state\n- **Form Validation** - Added `is valid` behavior, returns `true/false` if form is valid\n- **Form Validation** - Added `different[field]` rule which requires a field to be different than another field\n- **Form Validation** - `data-validate` now takes precedence over other validation matching schemes like `name` or `id`\n- **Form Validation** - New rules for matching against custom regular expressions\n- **Form Validation** - Form validation now has `minCount`, `maxCount`, and `exactCount` for validating multiple selections\n- **Grid** - `celled grid` now removes internal cells on mobile and tablet when used with `doubling` grid responsive variation.\n- **Grid** - Added `large screen only` and `widescreen only` responsive variations for grid.\n- **Grid** - `equal width` grids now works without `row` wrappers\n- **Grid** - rows can now be `stretched` as well as `middle aligned`, `bottom aligned` and `top aligned`!\n- **Grid** - Fixed margins on `internally celled` grid\n- **Grid** - `celled` and `internally celled` grid now use flexbox instead of `display: table;`\n- **Headers** - Added new header type `sub header`, useful for displaying small headers alongside text content. See examples [in the header docs](http://www.semantic-ui.com/elements/header.html#sub-headers)\n- **Image** - Images now include a `spaced` variation for adding whitespace around images when used inline with text.\n- **Input** - Added placeholder color rules for IE, `ms-input-placeholder`\n- **Input** - Action input now supports multiple buttons, and dropdown\n- **Label** - Labels now have `active` and `active hover` states\n- **Label** - Label now sets an `img` height even when not using an `image label`\n- **List** - Any content inside a `ui list` can now be vertically aligned\n- **Menu** - Add examples/documentation for `fixed menu`\n- **Menu** - Added `stackable` menu variation for simple responsive menus\n- **Menu** - Added many new variables to menu\n- **Menu** - Fixed several inheritance issues for `dropdown item` inside `menu` appearing as `menu item`.\n- **Menu** - Horizontal menus now set a default image size for images / logos\n- **Menu** - Menus items are now slightly more padded\n- **Menu** - The hover/active state of `dropdown item` have been adjusted to match `item`. Dropdown styles can be themed specifically inside `menu`.\n- **Menu** - Vertical dropdown menus are no longer 100% `min-width`\n- **Modal** - Modal now uses an adjusted `scale in` transition in the default theme, that should be more subtle and work better with long modal content.\n- **Modal** - Modal `onApprove` and `onDeny` now receive the activating element as the first parameter. Added documentation about using `return false` to avoid hiding element on click.\n- **Modal** - Modal content now uses flex, image content now requires `image content` class on parent to allow for flex stylings.\n- **Popup** - Popup now defines a `transform-origin` so animations will be affected by the direction the element is placed\n- **Popup** - `onShow` and `onHide` callback can now cancel popup from showing or hiding by returning false\n- **Popup** - Added more size variations for popup `mini`, `tiny`\n- **Progress** - `indicating` labels now are more legible use separate css variables from `indicating` bar color\n- **Reveal** - Added new `active` state that allows you to show `reveal` programatically\n- **Search** - Cache can now be cleared using `$('.search').search('clear cache')`\n- **Segment** - Added `padded` and `very padded` segment variations\n- **Search** - Search now operates off a unique id generated by result position to retrieve results. For example category #1's first result is 'A1' . Previously result titles were used as their \"id\", which could cause issues with duplicate titles, or results that do not contain a title.\n- **Search** - Search will now automatically add class `category` when using `type: category`.\n- **Search** - Search will now generate `results` container if one is not present on init\n- **Search** - Search now uses `em` for resizes, making sure it will resize with the surrounding content\n- **Search** - Search `prompt` now has focus styles defined if not using `ui input`\n- **Segment** - Added `clearing` segment for cases that need a [clearfix](http://learnlayout.com/clearfix.html).\n- **Sidebar** - Improved animation performance through performance debugging. Sidebar now caches, width, height, rtl direction on load.\n- **Site** - Fixed mixed globals `@defaultDuration` and `@transitionDuration` usage to use a single variable across all UI `@defaultDuration`, the same for `@defaultEasing` and `@transitionEasing`\n- **Site** - Added in `pageOverflowX` variable, default theme hides horizontal scrollbars on `body`\n- **Site** - Added default `focus` colors for all color variations\n- **Site** - All floating/raised variations now inherit from a global `@floatedShadow` making theming easier\n- **Sticky** - Sticky now internally caches current scroll position when `cantFit = true` to avoid getting DOM property  on scroll.\n- **Statistic** - Added new evenly divided group variation, for example `three statistics` shows 3 per row\n- **Statistic** - Statitic group now use `flex`. Styles have been updated.\n- **Steps** - Added `attached` steps, which can now be attached to other UI like `segment`\n- **Tabs** - Tab will now manually correct page scroll position when linking to an in-page anchor in a hidden tab\n- **Tabs** - Added new callbacks `onTabVisible` and `onRequest`\n- **Tabs** - Added `parseScripts` option, defaults to `once` parsing inline scripts only first load\n- **Table** - Adds `selectable table` variation, which shows hover effect on row when hovering\n- **Table** - Added `vertical alignment` variations to `ui table`\n- **Table** - Added `single line` table variation which prevents text from wrapping\n- **Transition** - Adjusting `style` or `class` during a transition, will no longer reset the change after transition completes.\n- **Transition** - Transition will no longer force visible/hidden with inline styles if `onComplete` callback sets visibility.\n- **Visibility/Sticky** - Visibility and sticky now refresh automatically after page content loading to deal with changes in position from images loading\n- **Visibility/Sticky** - Visibility now uses pub/sub pattern to greatly improve scroll performance when attaching multiple events\n- **Visibility** - Visiblity includes a new setting `checkOnRefresh` which detemrines whether visibility callbacks should occur on resize or refresh\n- **Visibility** - Visibility `image` will now wait to lazy load images that are *above* the current screen position, not just below.\n\n**Bugs**\n- **All Modules** - Performance logging now delays 500ms instead of 100ms for console logging to ensure all logs are captured in one group\n- **All Modules/Transition** - Transitions no longer use `rotateZ(0deg)` to trigger GPU display of visible state. This causes issues with `transform` creating new stacking context that can disrupt `z-index`.\n- **Accordion** - Fixed bug where `exclusive: true` could sometimes cause other accordion element animations to get stuck when animating rapidly\n- **API** - API longer uses `readyState = 0` as sole check for request abort, this may accidentally trigger with `JSONP` or `CORS` requests.\n- **API** - Fixed `this` context of `beforeSend` to use `stateContext` not `element`\n- **API** - Fixed `loadingDuration` not correctly delaying requests when invoking with  `.api('query')`\n- **Build Tools** - Fixes issue with out of date minify dependency causing rules with `background: inherit;` to be removed.\n- **Button** - Fixed `attached buttons` 1px offset when attached to segment and menu (border vs box shadow border)\n- **Card** - IE11 now can correctly use  `flexbox` cards **THanks @Widcket**\n- **Checkbox** - Fix `disabled checkbox` sometimes displaying hand cursor\n- **Checkbox** - Fixes nested `dropdown` inside `checkbox` causing issues\n- **Checkbox** - Fix `:focus` styles only applying if checkbox is unchecked\n- **Divider**  - Hidden divider now correctly hides vertical dividers\n- **Divider** - Fixes single icon alignment inside `vertical divider` or `horizontal divider`\n- **Divider** - Fixed slight offset in `vertical divider` when it automatically adjusts to `horizontal divider` inside a `stackable grid`\n- **Dropdown** - `focus` after changing tabs will no longer cause menu to re-open **Thanks @trevorharwell**\n- **Dropdown** - Fix issue with search dropdown refocusing on self the first time after \"tabbing\" away in Chrome\n- **Dropdown** - Fixes issue with headers disappearing inside of `ui dropdown` when nested in `ui menu`\n- **Dropdown** - Fixes `onChange` to fire when input value changes, not just when menu UI changes\n- **Dropdown** - Dropdowns with `transition: none` now work correctly.\n- **Dropdown** - Fixed issue where `sortSelect` was relying on object key enumeration order which is browser dependent and unreliable. It now uses a sort function which functions the same in all browsers\n- **Dropdown** - Fixed issue with `search selection` not changing text when reselecting same value from list\n- **Dropdown** - Fixed `min-width` issues causing background to not appear behind unwrapped text with `white-space: nowrap`\n- **Dropdown** - Dropdown `menu` now use same font size as dropdown\n- **Dropdown** - Fixed dropdown `metadata` attribute caching causing issues with React integration\n- **Dropdown** - Fixed border radius on `sub menu` when aligned `left`\n- **Dropdown** - Fixed `inline dropdown` icon not aligning with content\n- **Dropdown** - Fixed behaviors called on `<select>` after initialization not being correctly applied to `ui dropdown`\n- **Dropdown** - Fixed issue with matching boolean values, and using `set selected` with `true` or `false`\n- **Dropdown** - Fixed `search dropdown` submitting parent form when enter shortcut pressed\n- **Dropdown** - Fixed dropdown menu items should not center inside of a center aligned container.\n- **Dropdown** - Fixed some cases where onChange would not occur for values matching equality against '', for example `0`\n- **Form** - Form will no longer set a height for `textarea` using the `rows` property\n- **Form** - `inline fields` are now `1em` and do not match label's reduced size\n- **Form** - `field` inside `fields` no longer produce double sized margins.\n- **Form** - Form sizes and input sizes now inherit from `site.variables`\n- **Form Validation** - Fixed bug causing `match` rule not to work as expected.\n- **Form Validation** - Fixed `clear` and `reset` causing validation error to appear on checkbox if empty rule was set on checkbox.\n- **Form Validation** - Form validation now validates correctly on `<select>` change\n- **Form** - Fixed autocompleted `ui selection dropdown` having dropdown icon z-index issues\n- **Form/Input** - `ui labeled input` inside `form` will no longer escape column width. `ui fluid input` will now use input widths shorter than browser default.\n- **Grid** - Fixed responsive styling for grid types, more consistent display for `divided`, `celled,` on mobile\n- **Grid** - Fix `doubling row` not working correctly inside a different `doubling grid` (css spec issue)\n- **Grid** - Fix `doubling grid` incorrectly applying width to `(x) column row`\n- **Grid** - First column on `stackable grid` no longer receives top margin\n- **Grid** - `x column wide` inside `equal width/height` now cannot grow beyond column size\n- **Grid** - Fixes colored grid columns not appearing when not nested in rows\n- **Icon** - Fixes `ascending` and `descending` icon being swapped\n- **Icon** - Fixes phone icon only appearing as alias `call`\n- **Image** - `rounded image` and `circular image` now apply border radius to all child elements, fixing dimmers, and other content rounding\n- **Input** - Fixed improper left padding on `transparent left icon input` **Thanks @zxfwinder**\n- **Input** - Fixed `placeholder` color not changing correctly on focus **Thanks @zxfwinder**\n- **Input** - Fixed right padding on `labeled input` that were not `corner labeled`\n- **Label** - Labels inside `header` now vertical align better by accounting for line height offset\n- **List** - `horizontal list` are now aligned `middle` by default, while vertical lists are aligned `top`.\n- **List** - Fixes numbers not appearing when using `inverted ordered list` **Thanks @pcj**\n- **List** - `a` elements inside a `ui list` will no longer apply styles on `ui` elements like `button` **Thanks @ahtinurme**\n- **List** - Fixed `divided bulleted list` child lists getting wrong indent\n- **List** - Bullets and numbers are no longer selectable in `bulleted list` and `ordered list`\n- **List** - Fixed `inverted bulleted list` bullet color\n- **List** - Fix first element touches border on `ui horizontal celled list`\n- **List** - Added many new variables for link stylings inside list, added separate variables and defaults for child-list spacing\n- **Loader** - Fix position of `inline centered loader` to be centered correctly\n- **Message** - Message now uses `@lineHeight` from `site.variables`\n- **Menu** - Fixed menus like `left fixed` `right fixed` are all now class order dependent.\n- **Menu** - Fixed 1px border on last element of inline menus like `pagination menu` or `compact menu`\n- **Modal** - Modal no longer hides page scroll bar causing dimmed page content to jump positions.\n- **Modal** - Fixed bug where clicking an element detached from dom would cause modal to hide prematurely\n- **Modal** - Clicking on other modals will no longer close open modal when `allowMultiple: true`\n- **Modal** - Fixed `scrolling` class not being removed after opening a normal modal after a `scrolling` modal.\n- **Message** - Updated all message colors for legibility\n- **Message** - Close icon position adjusted to align with headers\n- **Menu** - Fixes divider appears on last element of `(x) item menu`\n- **Menu** - Fixed `top attached menu` not having margin-top, and `bottom attached menu` not having `margin-bottom`\n- **Menu** - Menu now has a `min-height` that matches standard item padding\n- **Menu** - `dropdown menu` in a `secondary pointing menu` or `tabular menu` now receive distinct active styling from other `active item`\n- **Menu** - Fixed arrow position in `pointing menu` to be more consistent, round to exact pixels and account for arrow border width\n- **Menu** - Fix issue with `pointing` arrow having too high a `z-index` and appearing above `ui dropdown menu`\n- **Modal** - `scrollable modal` now correctly adds padding below modal\n- **Modal** - Modal with `detachable: false` inside `ui sidebar`  `pusher` element will now show correctly\n- **Popup** - Popup now correctly adjusts if `data` attributes change\n- **Popup** - Fixes issue with `min-width` in firefox exceeding `max-width` causing element to not wrap correctly\n- **Popup** - Popup will now produce an error message and not mistakenly appear in the top left corner of page, if called with a `popup` or `target` that does not exist.\n- **Popup** - Popup will no longer appear incorrectly if the targeted element is not visible on page\n- **Popup** - Fixed bug which could cause pre-existing inline popup to be removed from DOM after hiding\n- **Popup** - Fixes popup offstage position calculations with pages including horizontal scrollbars\n- **Popup** - Added `addTouchEvents` to specify whether touch events should be added to trigger popup on mobile\n- **Progress** - Fixed bug where percentage complete values between 0-1% would display incorrectly (0.5% would show as 50%)\n- **Rail** - Rail 100% height now uses `border-box` to ensure exact height match to container\n- **Rating** - Rating now correctly adjusts if `data` attributes change\n- **Reveal** - Removed `masked` reveal, all reveals are masked by default\n- **RTL** - Fixed `rtl: 'both'` in `semantic.json` not building both versions of source correctly.\n- **Search** - Search will no longer incorrectly produce an error when API settings are passed through metadata\n- **Sidebar** - Top/Bottom sidebar will now show scroll bars correctly when taller than 100% page height\n- **Sidebar** - Fixed bug where having a `style[title]` in page causing page not to be pushed correctly\n- **Sidebar** - Last menu item now has a border when sidebar and menu are used together\n- **Segment** - Segment groups can now be `raised` or `piled` or `stacked`\n- **Search** - Fixed `category search` not applying active styles correctly to category names\n- **Search** - Fixed `onSelect` not returning the correct value when using `type: category`\n- **Search** - Fixed `onSelect` returning the first term that matches the beginining of the selected value not the exact value.\n- **Search** - Fix `loading search` with an `icon button` causing double loaders.\n- **Search** - `searchFields` setting now correctly replaces default fields instead of adding the user fields to defaults\n- **Search** - Calls to `set value` or `query` now obey `minCharacterLength`\n- **Search** - Search API calls now use the same level debug settings as search\n- **Steps** - Fixes bug where `ordered steps` had smaller numbers in `IE10`\n- **Steps** - Fixed bug where `stackable steps` were not working correctly\n- **Sticky** - Fix issue with sticky content scroll css transition causing element to scroll too slowly when cannot fit on screen.\n- **Sticky** - Fix issues when `pushing: true` with sticky content having incorrect bottom spacing, when container has bottom padding\n- **Sticky** - Fixed issue with sticky content animating width on display in some cases.\n- **Tab** - multiple tab groups initialized together with `context: 'parent'` will now each use their own parent\n- **Tab** - Tabs now use the standard component design pattern internally\n- **Table** - Fixes `sorted` column are not correctly centered with `center aligned` due to margin on sort icon\n- **Table** - Fixes `ascending` and `descending` icons were reversed in table\n- **Table** - `very basic table` now works together with `padded table`\n- **Table** - Fix inheritance of text alignment and vertical alignment\n- **Transition** - Fixed bug where transition out would cause unwanted focus event in IE if element has focus\n- **Transition** - Calling an `out` animation during an `in` animation with `queue: false` now correctly calls the `complete` event of the original animation\n- **Transition** - Fixed bug where transition could sometimes not occur when an element was determined to always be hidden\n\n**Changes**\n- **All Modules** - All modules now default to `verbose: false`\n- **Accordion** - Accordion no longer sets a `font-size` to better couple with other components defaults\n- **Button** - Button focus color now uses hoverColor background instead of blue box shadow\n- **Button** - `basic colored button` now grow their border size to 2px in default theme on hover\n- **Breadcrumb** - Fixed breadcrumb `em` rounding, adjusted distance in default theme\n- **Card** - Card styles have been adjusted, `link card` now raise to show selection. Colored variations now have shadows.\n- **Checkbox** - Toggle now uses `@primaryColor`\n- **Dropdown** - Dropdown padding values now resolve to exact pixel values from em\n- **Dropdown** - `item` `description` is now floated by default\n- **Feed** - Removed `extra text` pointer border\n- **Form** - `set value` no longer automatically calls `validate form`\n- **Grid** - Small computer `page grid` gutters have been adjusted from 8% to 3% to allow for roomier layouts on small screens.\n- **Grid** - Vertically divided grids now double row spacing to account for dividers\n- **Grid** - `center aligned` no longer centers rows, just text. Use `centered grid` to center a grid column on the page.\n- **Header/Table/Divider** - These components now pull border color defaults from `site.variables` instead of using their own values\n- **Image** - `avatar image` size has been slightly decreased\n- **Image** - `mini image` default width has been increased to `35px`\n- **Item** - item `description` now longer sets a `max-width`\n- **Icon** - `disabled icon` now have `pointer-events` again.\n- **Label** - Label size now varies by type. `pointing label` are now `1em` by default.\n- **Label** - Padding on `corner label` has been increased\n- **Input** - Input now use `em` instead of `rem` so they will inherit the size of the elements they are nested inside\n- **Progress** - Update contrast on `indicating`, update default styles. Fixed some examples\n- **Menu** - Menu now uses `border` for borders instead of `box-shadow`\n- **Menu** - `secondary pointing menu` has had some slight design tweaks, thinner lines, more padding\n- **Menu** - Active sub-menu items are now `bold`\n- **Menu** - Menus no longer have additional borders on `active item` in the default theme\n- **Menu** - `tiered menu` has been removed\n- **Menu** - Increased contrast on `inverted` menu selection for legibility\n- **Modal** - Modals now used fixed widths and not percentage widths. Widths might be slightly different.\n- **Modal** - Modal no longer observes DOM changes by default, added setting to enable\n- **Message** - Slightly increases `box-shadow`\n- **Popup** - Popups now default to `exclusive: false` and will not hide other popups when opening\n- **Popup** - Popup no longer produces a console error when a position cannot be found on the page.\n- **Rating** - Rating styles have been adjusted to use subtle transitions and tweaked color values.\n- **Segment** - **Clearfix** has been removed from `ui segment`\n- **Sidebar** - Sidebar `legacy` animations have been removed. 3D transforms are now available in all supported browsers.\n- **Search** - Slightly adjusted search result theme for clarity\n- **Segment** - Segment now uses `border` for border instead of a second `box-shadow`, this may adjust position by 1pixel\n- **Statistic** - Statistic label styles have been updated\n- **Site** - Additional font variables have been added to site to help clarify variable purpose.\n- **Site** - Increase contrast on default hovered/down colors for colored variations\n- **Site** - Page background is now `#FFFFFF` by default instead of an offwhite `#F7F7F7`\n- **Site** - Adjusted global line height to the closest even pixel value\n- **Table** - Table header colors and padding defaults have been slightly adjusted\n- **Table** - Horizontal cell padding has been slightly reduced, and cell borders are slightly lighter.\n- **Transition** - Transition no longer checks for vendor prefixed `animation-name` css property. This was introduced in jQuery `1.8`\n- **Transition** - Some transition have been modified so that the `in` animation is more telegraphed than the `out` animation, which may now recede more gently.\n- **Visibility** - In returned `calculations` object, `visible` and `hidden` are renamed to `onScreen` and `offScreen`, since this describes more accurately what the value represents.\n\n### Version 1.12.3 - May 20, 2015\n\n**Announcement**\nVersion 2.0 will be launching on June 1st, which will include 100+ bug fixes, enhancements, new ui, and default theme improvements.\n\n**Bugs**\n- **Grid** - Fixes bug causing colored variations not to work on columns without row wrappers. Backport from `2.x`\n\n### Version 1.12.2 - May 4, 2015\n\n**Bugs**\n- **Dropdown** - Fixed `left` and `right` arrow does not move input cursor with `visible selection dropdown`. Event accidentally prevented by `sub menu` shortcut keys.\n\n### Version 1.12.1 - April 26, 2015\n\n**Bugs**\n- **Dropdown** - Fixes issue with chained dropdown methods used on a `<select>` not applying to the generated `ui dropdown` **Backport from 2.0**\n- **Input** - Fixes labeled inputs not adjusting correctly with flex. **Backported from 2.0**\n- **Input** - Fixes placeholder text color prefixes for `webkit` **Backport from 2.0**\n- **Progress* - Fixes rounding error in precision settings *Thanks @aaroncox*\n- **Popup** - Removes `min-width: moz-max-content` from popups, which may cause display differences between chrome and FF\n\n### Version 1.12.0 - April 13, 2015\n\n**Enhancements**\n- **Visibility** - Adds updated visibility module from `2.x` channel. Visibility will automatically refresh by default after images load on page refresh. Fixes issues with element positions after image loading.\n- **Sticky** - Adds sticky module from `2.x` branch. Sticky elements now use pub/sub with drastically improved performance. Sticky elements that do not fit on page will now scroll at the same speed as the page is scrolled instead of slower.\n\n**Changes**\n- **Popup** - Popup no longer produces a console error when it cannot find an adequate position in the browser viewport.\n\n**Bugs**\n- **Build Tools** - Fixes issue with component glob matching twice (causing build to include file twice) if duplicate values found in `semantic.json` component.\n- **Input** - Backports fix from `2.x` for `ui fluid input` not appearing correctly.\n- **Visibility** - Fixed issue where `precache` behavior was missing from visibility causing `image` lazy loading to fail\n\n### Version 1.11.8 - April 13, 2015\n\n**Bugs**\n- **Build Tools** - Fixed `npm install` without `semantic.json` to merge changes with site theme and packaged themes in a similar fashion to `npm update`\n- **Build** - `gulp build` now properly warns against missing `semantic.json` **Thanks @rudyrk**\n\n### Version 1.11.7 - April 13, 2015\n\n**Bugs**\n\n- **Sticky** - Fixes errant `console.log` statement appearing in source\n- **Card** - Fixes card `flex` display issues in IE\n- **Build Tools** - Fixes issue where `npm update` install scripts would remove custom themes from `src/themes/` during copy after updating Semantic UI\n\n### Version 1.11.6 - March 27, 2015\n\nMore critical bug backports from `2.x` branch, as well as fixes for browserify\n\n**Bugs**\n- **Menu/Dropdown** - Fix dropdown headers disappearing inside menus\n- **Dropdown** - Fix unescaped character in css property causing css validation errors\n- **Form** - Fix `grouped required` fields display issues **Thanks @palmsey**\n- **All UI** - Fix `index.js` npm build to work with browserify in individual component repos **Thanks @sdimit**\n- **LESS Repo** - Add missing `semantic.less` file to less repo for importing components\n\n### Version 1.11.5 - March 23, 2015\n\nThis version backports several bugs that were being packed in `2.0` to `1.x`.\n2.0 will be coming in the next 1-2 weeks.\n\n**Bugs**\n- **Build Tools** - Adjusting site.variables will now rebuild all UI, instead of just site.less\n- **Build Tools** - LESS will now throw errors correctly in `watch`\n- **Card** - Fixes dimmer background shorthand property causes transparent dimmer in minified version\n- **Dimmer** - Fixed `variation` setting not working correctly\n- **Dropdown** - `onChange` no longer fires when reselecting same value\n- **Dropdown** - Fix bug where element will not blur on tab key when search selection and no selection made\n- **Dropdown** - Dropdown init on `select` now returns `ui dropdown` created for chaining\n- **Dropdown** - Dropdown `focus` color has been adjusted to match forms more closely\n- **Dropdown** - Fixes IE10 scrollbar width in menu (calc was being precompiled in LESS) **Thanks @gabormeszoly**\n\n### Version 1.11.3-4 - March 6, 2015\n\n**Enhancements**\n- **Grid** - Added opt-in `stretched` variation for `equal height` instead of forcing `flex` on all `equal height columns` which may cause layout issues due to changes in rendering with `flexbox`.\n\n**Fixes**\n- **Build Tools** - Fix issues with minified CSS `@import` not being on top of minified semantic ui concatenated release due to [bug in clean-css](https://github.com/jakubpawlowicz/clean-css/issues/476)\n- **Grid** - Fixes `stackable` `equal height/width` grid to remove `flex` on mobile when stacking\n- **Grid** - Fixed `right/left/center aligned` to adjust `align-items` in flex containers like `equal height/width`\n\n### Version 1.11.2 - March 6, 2015\n\n**Enhancements**\n- **Accordion** - Accordion can now specify a trigger element instead of `title`, added an [example in docs](http://www.semantic-ui.com/modules/accordion.html#changing-trigger)\n- **Accordion** - Accordion can now hide while opening animation is still occurring\n- **Grid** - Equal width grids will now make column content stretch to full height, not just the column itself (requires flexbox). See examples [in the grid docs](http://www.semantic-ui.com/collections/grid.html#equal-height)\n- **Header** - Labels inside headers have been slightly increased in size\n- **Search** - Search now uses internally [fuzzy search](https://github.com/bevacqua/fuzzysearch) as its new full text search algorithm.\n\n**Important Fixes**\n- **Build Tools** - Fix issues with minified component CSS `@import` not always being on top of files due to [bug in clean-css](https://github.com/jakubpawlowicz/clean-css/issues/476)\n\n**Bugs**\n- **Accordion** - Removed mistaken extra `1px` top border on nested `styled accordion`\n- **Modal** - Fixes modal `buttons` on mobile devices to not have extra bottom padding.\n- **Card/Dimmer** - Fix dimmer z-index being too high when inside a `ui card`. Added variable for specifying default dimmer color inside card.\n- **Site** - `h1-h5` now have no top margin when `first-child` and no bottom margin when `last-child`\n- **Dropdown** - Fix issue in `setup reference` (added in `1.11.1`) where chaining would not return `ui dropdown` immediately after initialization\n\n### Version 1.11.1 - March 5, 2015\n\n**Enhancements**\n- **Dropdown** - Calling behaviors on a dropdown `select` will now automatically route them to the appropriate parent `ui dropdown`\n\n**Bugs**\n\n- **Grid** - Fix issue in `centered grid` not centering `column` inside `row`\n- **Dropdown** - Added select styles for elements before they are initialized instead of FOIC (Flash of invisible content)\n\n### Version 1.11.0 - March 3, 2015\n\n**New Components**\n- **Visibiliity** - Attach callbacks to elements visibility conditions like `top visible` `bottom visible`, `passing`. Useful for things like: image lazy loading, infinite scroll content, and recording tracking metrics.\n\n[See the examples](http://www.semantic-ui.com/behaviors/visibility.html#/examples) online for a demonstration.\n\n**Enhancements**\n- **Menu** - Horizontal menus now use flexbox so they can resize automatically to content size.\n- **Form** - `<select>` now receive error formatting on `form error` **Thanks @davialexandre**\n- **Transition** - Added more reasonable default durations for each animation\n- **Loader** - `inline loader` now has a `centered` variation\n- **Modal** - Modal no longer hides and reshows dimmer when opening a modal with another modal open with `exclusive: true`\n- **Popup** - Added `exclusive` parameter to automatically close other popups on open\n- **Transition** - Added `toggle` behavior and docs for `show` and `hide`\n- **Transition** - transition now has `stop`, `stop all`, and `clear queue` for removing transitions, (undocumented method `stop`, and `start` renamed to `enable` and `disable`)\n- **Dimmer** - Add `opacity` setting to override css value. Add to docs several undocumented settings, like `useCSS`, and `variation`.\n- **Icon** - added `@src` variable to make it adjustable with themes that dont support all types like `woff2`\n\n**Deprecations**\n- **Menu** - `ui tiered menu` has been deprecated. It has been removed from the docs, and will be removed eventually in `2.0`\n\n**Bugs**\n- **Input** - Fix bug with vertical centering of `ui action input` inside `menu` due to `flexbox` changes\n- **Dropdown** - Fixes issue where dropdown would not open after restoring previus value on failed `search dropdown` search\n- **Dropdown** - Fixes issue where dropdown would not open after restoring previous value on failed `search dropdown` search\n- **Grid** - Fixes specificity of grid `column` colors to not affect other elements with columns\n- **Icon** - Fix `clockwise rotated icon` causing `clockwise` icon to appear\n- **Popup** - Fix issue with `popup` not re-opening until another element gains focus on a mobile touchscreen\n- **Modal** - Fixed issue with modal not appearing when calling `show` during another modal `hide`\n- **Popup** - Popup will now fire `onHidden` when an element is hidden by opening a different popup\n- **Popup** - Fix popup not namespacing `window` events and unbinding on `destroy` **Thanks @revov**\n- **Table** - Fixes table on `mobile` sizes can surpass parent container width\n- **Transition** - Fixes `swing out` animations not working correctly\n- **Transition** - Fixed display state other than `block` not determined when using `show` and `hide` without an animation\n- **Transition** - Fix bug in `remove looping` causing next animation to use same duration\n- **Segment** - Fix first/last margins on `ui segments`\n- **Search** - Fix special characters not searching correctly with local search\n- **Search** - Fix a bug with `onSelect` returning `null` when `minCharacters: 0`\n- **Search** - Fix a bug with `onSelect returning `null` when results retrieved from cached API query\n- **Sticky** - Fixed sticky position when page loads and content is below sticky content.\n- **Sticky** - Fix bottom attached position not adjusting for bottom padding on container element\n- **Menu** - Fix vertical pointing menu, sub menu arrow color\n- **Item ** - `img` inside of `ui item content` now do not receive size formatting by default\n- **Form** - Added `input[type=\"search\"]` styles to `ui form`\n\n**Docs**\n- **Transition** - Adds examples of `hide, `show`, `toggle`, `stop`, `stop all`, and `clear queue`\n- **Item** - Significant rewrite of `ui item` documentation\n\n### Version 1.10.4 - February 28, 2015\n\n- **API** - Remove console error message when no API url is specified but element is a `form` (defaults to `form` action)\n- **API** - `api` check for [serialize object](https://github.com/macek/jquery-serialize-object) optional dependency no longer produces error when `serializeForm: true` and dependency is not found.\n\n### Version 1.10.3 - February 27, 2015\n\n**Bugs**\n- **Build Tools** - All UI components now have component name in comment banners and release version\n- **Menu** - Fixes dropdown menu item not having a hover state inside inverted menu\n- **Search** - Fixes bug in category search causing item selection to sometimes produce a javascript error.\n- **Button** - Fixes `<button>` inside `vertical buttons` not taking full container width\n\n### Version 1.10.1-2 - February 24, 2015\n\nNo changes, fixes stale pm component builds\n\n### Version 1.10.0 - February 23, 2015\n\n**New Features**\n- **Transition** - Transitions now have `interval` to allow grouped elements to animate one by one with a delay between each animation. Grouped animations determine order based on transition direction to avoid reflows, or can manually be reversed by using <code>reverse: true</code> [See Examples](http://www.semantic-ui.com/modules/transition.html#grouped-transitions) for more details.\n\n**Critical Fixes**\n- **Transition** - Webkit `failSafe` used for [Chromium Bug #437860](https://code.google.com/p/chromium/issues/detail?id=437860) now also works for queued animations\n\n**Enhancements**\n- **Form Validation** - Adds `containsExactly`, `notExactly`, `isExactly` case sensitive validation rules, make `contains`, `not`, `is` case insensitive.\n- **Form Validation** - `contains` rule is now case insensitive\n- **Form Validation** - Validation messages no longer increase field height on `inline fields` like checkboxes after error appears\n- **API** - Added `was cancelled` to determine whether request was cancelled by `beforeSend`\n- **Image* - Added `hidden image` state\n\n**Fixes**\n- **Build Tools** - Fixed issue with recursive merge for site themes in update scripts, [details here](https://github.com/Semantic-Org/Semantic-UI/pull/1845) Thanks @derekslife\n- **Cards** - Fix `.ui.cards > .ui.card` margins to match `.ui.cards > .card` margins\n- **Cards** - Fix consecutive card groups to preserve row flow (similar to consecutive grids)\n- **Sidebar** - Sidebar using `exclusive: true` now queue animations after hiding previous sidebar (unless `overlay`) to avoid rendering issues\n- **State** - Text states now handle `cancelled` API requests correctly\n- **Search** - Category search no longer displays unnecessary error message about maxResults\n- **Composer** - Composer.json should now read version from tags, adjusted some fields.\n- **Grid** - Stackable grid now has horizontal padding by default on mobile unless nested inside a `ui grid` or `ui segment` (not vertical)\n- **Menu** - Fixes pointing menu displaying under dropdown menu\n\n-**Docs**\n-**Transition** - `useFailSafe` was incorrectly shown as `false` by default\n\n### Version 1.9.3 - February 20, 2015\n\n**Bugs**\n- **RTL** - Fixes `rtl` tasks not running correctly on `gulp build` due to name typo, `build rtl` instead of `build-rtl`\n- **Tab** - Fixed bug when loading `remote` content with `tab` where current tab would not hide while another tab is loading\n- **Tab** - Tab with remote content and `auto: true` now removes duplicate slashes from url path\n- **API** - Simplified `api` debug output to console to more clearly label url and data sent\n\n**Docs**\n- **Tab** - Added new tab remote content example with stubbed AJAX using SinonJS\n\n### Version 1.9.2 - February 19, 2015\n\nAdded new repositories for css and less only versions, can be installed with\n```bash\nnpm install semantic-ui-less\nnpm install semantic-ui-css\n```\n\n**Bug Fixes**\n\n- **Modal** - Fixes typo causing `middle aligned` image not to work correctly.\n- **Build** - `gulp watch` now compiles concatenated css (missing in `1.9.1` only)\n\n### Version 1.9.1 - February 18, 2015\n\n**LESS Changes**\n\nImporting individual components into other less files now requires scoping. This is to prevent issues with variable scope that cannot be resolved inside definitions.\n\n```less\n/* Import a specific component */\n& { @import 'src/definitions/elements/button'; }\n```\n\nImporting `semantic.less` still does not require any special syntax\n@import 'src/semantic';\n\n\n**Bugs**\n- Fixed issue directly importing `semantic.less` caused by variable scoping in `.loadOverrides()`.\n- Fix bug where `equal height` row could not be `centered`, or less than full width\n\n### Version 1.9.0 - February 17, 2015\n\n### Build Tools\n\n##### NPM Install\n\n- `npm install semantic-ui` is now the recommended path for getting Semantic UI\n- Added `npm` `post-install` scripts which automatically install or update semantic\n\n##### Gulp Task Imports\n\n- Semantic tasks are now each defined [in their own file](https://github.com/Semantic-Org/Semantic-UI/tree/master/tasks), and can be directly imported into external gulpfiles. Read more about [importing tasks here](https://github.com/Semantic-Org/Semantic-UI/blob/next/src/README.md)\n- If you are using Grunt, you may be able to import these tasks using [Grunt-gulp](https://www.npmjs.com/package/grunt-gulp)\n\n##### LESS Component Imports\n\n- Semantic LESS files can now be directly included in other LESS files.\n* You can import all UI with `@import 'src/semantic';`\n* You can also import individual definitions using `@import 'src/definitions/elements/button'`.\n\n### UI Changes\n**Major Enhancements**\n- **Card** - Cards now equalize height by default using `display: flex`. No longer are card heights required to be specified manually to align\n- **Flag** - Reduced the file size of flag sprite to a measly 28kb (500%+ file size reduction)\n- **Icon** - Added Font Awesome 4.3 including many new icons\n- **Input** - Input with dropdowns is now much easier, see docs. `action input` and `labeled input` now use `display: flex`. `ui action input` now supports `<button>` tag usage (!) which support `flex` but not `table-cell`\n- **Segment** - Added plural variation `ui segments` that stack together in groups without using additional class names\n\n**Enhancement**\n- **API** - API now has an ``onRequest`` callback setting that receives the XHR promise after initializing the request\n- **Button** - Loading buttons no longer receive `pointer-events` in default theme. Added variable for `loading button` opacity.\n- **Card** - Card now has colored variations **Thanks @romuloctba**\n- **Dropdown** - `search selection dropdown` will now close the menu when a `dropdown icon` is clicked\n- **Dropdown** - Added new dropdown setting, `forceSelection` which forces `search selection` to a selected value on blur. Defaults to `true`.\n- **Flag** - Updated Burma/Myanmar flag to current flag (was pre-2010 flag)\n- **Form** - Input rules now apply to `input[type=\"time\"]`\n- **Form Validation** - `get values`, `set values` now support multiple select e.g. `field[]`\n- **Form Validation** - Dropdown and checkbox will now validate after interaction with `on: 'blur'`\n- **Headers** - Headers can now contain images alongside text, added examples to docs\n- **Icon** - Added woff2 icon files for supported browsers (20% file-size decrease) **Thanks FontAwesome**\n- **Label** - `ribbon label` can now be used inside `ui image` and `ui card` correctly\n- **Sidebar** - Sidebars in IE now work correctly with `context` specified\n- **Rating** - Vertical alignment of `ui rating` with inline content now accounts for parent line height\n\n**Bugs**\n- **All Modules** - Fixed bug where element `destroy` could remove third party events when re-initialized\n- **Breadcrumb** - Breadcrumb icon now has exact px value to alleviate vertical align issues\n- **Card** - Star / Like button colors have been fixed to match `ui rating` inside `card`\n- **Card** - Hiding a card with `display: none` no longer causes layout issues with `(x) cards`\n- **Card** - `image` inside `content` no longer has a fixed size **Thanks @romuloctba**\n- **Form** - `info message` are no longer hidden by default inside `ui form`\n- **Form** - Lightened error dropdown hover text color to be more legible\n- **Dropdown** - Upward dropdown now has upward arrow icon\n- **Icon** - `external link` and `external link square` has been renamed to `external icon` to no longer receive `link` styles by default\n- **Modal** - Modal now swaps to `scrolling modal` when `close icon` no longer can be displayed, instead of modal `content`\n- **Steps** - Fixed bug where evenly divided steps were no longer fluid\n- **Transition** - Fixes bug where `moduleNamespace` was being omitted\n- **Transition** - Transitions with direction now use word order dependency to prevent conflict with component directions, for example `bottom left popup slide down in transition\n\n**Docs**\n- Fixed bug with chinese mirror modal appearing on every page load when selecting chinese language\n\n### Version 1.8.1 - January 26, 2015\n\n**Bugs**\n- **Grid** - Removed `text-align: left` from column definition. Now inherits from grid.\n- **Input** - `ui labeled input` now uses  `flex` added example in ui docs with dropdown\n- **Input** - Fix border radius on `ui action input` with button groups, aka `ui buttons`\n- **Popup** - Popup `hide all` will now use transition set in `settings.transition` when closing other popups\n- **Grid** - Fix `doubling grid` setting `100% width` which may cause\n\n### Version 1.8.0 - January 23, 2015\n\n[View Closed Issues](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A1.8.0+is%3Aclosed+sort%3Acomments-desc)\n[View Commits](https://github.com/Semantic-Org/Semantic-UI/compare/1.7.3...1.8.0)\n\n**Key Features**\n\n- **Form** - Form now has new methods `reset`, `clear`, `set value(s)`, and `read value(s)` for modifying and reading form data. Check docs for details on implementation. **Thanks @mktm**\n- **Search** - Search `onSelect` now receives JSON object matching currently selected element, you can now programmatically retrieve result JSON using `.search('get result', 'query')` or `.search('get results')`. `get result` will default to current value unless specified as first parameter.\n- **Transition** - Added many new transitions, and new directions for existing transitions **Thanks @ph7vc**\n- **Dropdown** - Dropdown now stores `placeholder text` (prompt text) as separate from `default text` (text set on page load). You can now reset placeholder conditions using `$('.ui.dropdown').dropdown('clear');``\n\n**Enhancements**\n- **API** - Added new behavior `$.api('abort')` which cancels current request\n- **Dropdown** - Keyboard navigation will now allow opening of sub menus with right/left arrow. Enter will open sub-menus on an unselectable category (`allowCategorySelection: false`) as well.\n- **Dropdown** - Mutation observers will now observe changed in `<select>` values after initialization, and will automatically update dropdown menu when changed\n- **Dropdown** - Dropdown behavior `set selected` will now also call `set value` automatically, so you do not have to invoke two behaviors to update a `selection dropdown` **Thanks @mktm**\n- **Form** - Form will now prevent browsers from resubmitting form repeatedly when keydown is pressed on input field.\n- **Header** - Content headers now inherit `@h1-h6` sizes from `site.variables`\n- **Header** - Sub headers now adjust in size depending on header size, added new variables for subheader resizing\n- **Search** - Greatly reduced search delay from `300ms` to `100ms`. Previous request will automatically abort `xhr` when new request made\n- **Search** - Search `onSelect` and `onResultsAdd` can now cancel default actions by returning `false`.\n- **Transition** - Transition duration now defaults to what is specified in `css`, to set custom duration you can still pass at run-time as a different value. Animation duration no longer set by default during animation.\n- **Transition** - Transition will now prevent repeated animations when using an inferred direction i.e. animation without `in` or `out` specified. When `queue: true` only animations with explicit direction, e.g. `fade in`, will be ignored when called repeatedly.\n\n**Bugs**\n- **API** - Fixed bug where `$.api('get xhr')` was not correctly returning xhr promise\n- **API** - Fixed bug where API would query resource immediately when specifying `on: false`\n- **Button** - ``ui vertical basic buttons` now have dividers in default theme\n- **Button** - Fixes formatting for `disabled button` inside `ui buttons`\n- **Checkbox** - Checkbox now only modifies `input[type=\"radio\"]` and `input[type=\"checkbox\"]` ignoring any other inputs\n- **Dropdown** - Dropdown no longer will not show menu when no `item` are present in menu. Dropdown will now only filter results for `ui search dropdown` #1632 **Thanks PSyton**.\n- **Dropdown** - Dropdown will now produce an error if behaviors on an initialized `<select>` are not invoked on `ui dropdown`\n- **Dropdown** - Fixed bug where link items would not open in sub-menus due to `event.preventDefault`\n- **Label** - Fixed `ui corner label` appearing on-top of `ui dropdown` menu due to issue in z-index hierarchy\n- **Label** - Fixed issue with `ui ribbon label` not positioning itself correctly when using sizes like `small` or `large`\n- **List** - `relaxed list` and `very relaxed list` no longer add padding to child menu items\n- **Popup** - Popup will now only use a max of one element when `settings.popup` mistakingly passes multiple DOM elements\n- **Popup** - Popups will now by default appear over all UI content, even dimmers.\n- **Search** - Search results no longer hide/show when user changes tab or page loses focus\n- **Sidebar** - Fixed bug with `pusher` inheriting first child margins due to `margin-collapse`\n- **Sidebar** - Mobile `is mobile` was using RegExp `test()` which would return an incorrect value when called multiple times\n- **Sidebar** - Sidebar will now only close if you click on `pusher` or underlayed `body` (scale out). Clicking on fixed elements will not close sidebar.\n- **Transition** - Fixed bug with animations that contain the strings 'in' or 'out' as part of their names, for example \"swing\"\n- **Sticky** - Fixes issue with container size not being set explicitly on rail due to improper method renaming\n\n### Version 1.7.3 - January 16, 2015\n\n- **Installer** - Fix issue with component list in `semantic.json` not correctly overriding default components\n\n### Version 1.7.(1-2) - January 15, 2015\n\n**Bugs**\n\n- **Installer** - Fixes installer not including RTL parameter correctly\n- **UI** - Fixes `progress`, `ad`, and `sidebar` not loading `.override` files correctly\n- Removed undocumented components from `theme.config.example`\n\n### Version 1.7.0 - January 14, 2015\n\n**Major Changes**\n- **Project** - Right-to-left (RTL) support added. New gulp tasks for RTL file generation and install setting. Docs however do not yet support RTL.*Thanks @MohammadYounes for constant support with RTL!*.\n- **Project** - Install now let you specify the outputted file permissions (express/custom install)\n\n**Enhancements / Changes**\n- **Grid** - Added `equal width` variation using `flex-box`, `equal height` now also uses `flex-box` (this may have to be removed if causes unexpected browser issues)\n- **Sidebar** - Having a sidebar visible on page load is now much simpler. You can include ``ui visible sidebar`` on page load to have a sidebar element appear on page load. To close call `$('.ui.sidebar').sidebar('hide')`\n- **Sidebar** - Added documentation on using sidebar on a custom context. Sidebars using a custom context no longer add background colors like those initialized on `body`\n- **Site** - Form input highlighting color added (helps differentiate form colors with autocompleted fields). Default text highlighting color moved from highlighter yellow to a mellow blue.\n- **Dropdown** - Javascript Dropdown can now be disabled by adding ``disabled` class. No need to call `destroy`. **Thanks Psyton**\n- **Dropdown** - Search dropdown input can now have backgrounds. Fixes issues with autocompleted search dropdowns which have forced yellow \"autocompleted\" bg.\n- **Dropdown** - Fix issue with search selection not correctly matching when values are not strings\n- **Progress** - Progress bars can now display percent or amount left using `{value}` in text templates\n- **Dropdown** - New `upward dropdown` variation, which opens its menu upward. Default animation now uses ``settings.transition = 'auto'` and determines direction of animation based on menu direction\n- **Dropdown** - Dropdown matching fields without values now trims whitespace by default\n- **Checkbox** - Checkbox now toggles on spacebar when focused (previously only toggled on enter key).\n- **Popup** - Popup now uses its own custom method for determining `offsetParent` meaning 3D contexts (like inside an animation) no longer should break positioning\n- **Popup** - Popup now uses `preserve: false` by default, this is slightly less performant but will reduce page clutter caused by leaving generated elements in the DOM\n\n**Code / Build**\n- **Build** - `Dist/` files now set file permissions in build. `644` by default. Can adjust in `semantic.json` or during gulp install. You will need to run `npm install` to add the new gulp-chmod dependency *Thanks @PeterDaveHello*\n- **Sidebar** - `setup layout` not occurs synchronously if you initialize a sidebar without the proper html. This makes sure calls to sidebar will occur correctly before the page is setup. A new setting `delaySetup` will override this, increasing performance.\n- **Modules** - Remove use of deprecated `.size()` for `.length` across all modules\n- **Modules** - Use of `$.proxy` swapped to native `function.call()` for performance gains across all modules\n\n**Bugs**\n- **Video** - Video component now uses `//` instead of defaulting to `http`\n- **Dropdown** - `restore defaults` will now set placeholder styling and remove active element. Added example in docs.\n- **Dropdown** - Fixed bug where sub menus may sometimes have dropdown icon overlap text\n- **Dropdown** - Fixes dropdown search input from filtering text values when input is inside menu, i.e \"In-Menu Search\"\n- **Dropdown** - Fix issue with search selection not correctly creating RegExp when select values are not strings **Thanks @alufers**\n- **Dropdown** - Fix issue with `left floated` and `right floated` content sometimes not applying correctly\n- **Popup** - `wide` and `very wide` popup will now appear when screen size is below their `max-width`\n- **Popup** - Popup no longer blurs element on popup hide\n- **Segment** - ``ui tabular menu`` now correctly aligns with attached segment when using fluid variation *Thanks @MohammadYounes*\n- **Segment** - `basic segment` no longer removes padding on first and last elements\n- **Steps** - Steps now use ``table-cell`` to allow steps to be equal height by default, even with different content height.\n- **Button** - Fix issue with labeled icon groups in material theme\n- **Progress** - Fixes bug with progress that use ``total`` and ``value`` receiving the wrong values for text templates\n- **List** - Fix some styling issues with `ui list` inside `ui menu`\n\n### Version 1.6.4 - January 12, 2015\n\n- `1.6.3` contained an unintentional character at beginning of `label.less` re-released as `1.6.4`\n\n**Bugs**\n- **Build** - Fix CSS property typo in list icon, and label causing issues with some custom build tools\n\n### Version 1.6.3 - January 12, 2015\n\n- `1.6.3` contained an unintentional character at beginning of `label.less` re-released as `1.6.4`\n\n**Bugs**\n- **Build** - Fix CSS property typo in list icon, and label causing issues with some custom build tools\n- **Label** - Fix attached labels to have correct border radius inside of attached segments of all kinds\n\n### Version 1.6.2 - January 06, 2015\n\n**Site Variables**\n- **Site** - EM values for `small` `large` etc are now all calculated from ``@emSize`` allowing you to only change one variable.\n\n**Bugs**\n- **Button** - Fixes active orange button color\n- **Menu** - Fixes ``fluid text menu`` to have correct margins\n\n### Version 1.6.1 - January 05, 2015\n\n**Bugs**\n- **Accordion** - Accordion now uses ``useFailSafe: true`` to avoid callbacks not occurring because of race conditions with `transitionend` in webkit\n\n### Version 1.6.0 - January 05, 2015\n\n**Build**\n- **Dist** - Build will now output version number in comment banner\n\n**Updates / Enhancements**\n- **Accordion** - Child element animations now use ``$.fn.transition`` and css animations by default (if available)\n- **Accordion** - Added ``animateChildren`` option to disable/enable opacity animation on child elements\n- **Accordion** - Accordion now uses `easeOutQuint`` instead of ``easeInOutQuint`` to increase perceived responsiveness of drawers\n- **Grid** - ``stackable grid`` now only adds horizontal padding when using ``stackable page grid``, otherwise content will take up full width of parent element\n\n**Bugs**\n- **Tab/Segment** - Fixes first tab being 1pixel taller than all other tabs\n- **Popup** - Fix issue with `ui popup` receiving error ``$offsetParent is undefined`` when using a pre-defined popup\n- **Popup** - Fix issue with ``ui popup` not appearing with ``ui flowing popup`` due to newly added ``min-width: max-content``\n- **Form** - ``ui search dropdown`` inside a form has incorrect focus style\n- **Menu** - Fixes ``ui fluid labeled icon menu`` to not have `min-width`\n\n### Version 1.5.2 - January 02, 2015\n\n**Bugs**\n- **Sidebar** - Fix bug with `useLegacy` introduced in `1.5.1`\n\n### Version 1.5.1 - January 01, 2015\n\n**Bugs**\n- **Button** - Fixed vertical alignment of ``ui animated button``\n- **Search** - Fixed issue with local search returning all results due to improper regexp\n\n### Version 1.5.0 - December 30, 2014\n\n**Critical Bugs**\n- **Build Tools** `1.4.0` introduced a bug with concatenated uncompressed ``dist/`` release including minified code. This would occur only when no components were specified in installer or ``semantic.json``.\n\n**Enhancements**\n- **Dropdown** - New setting ``allowCategorySelection`` lets menu items with sub menus be selected. Added example in docs.\n- **Reset** - Reset now inherits ``box-sizing`` [from html tag](http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/)\n- **Label** - ``ui ribbon label`` can now appear on the right side of content when specifying ``ui right ribbon label``\n- **Checkbox** - Checkboxes now can handle labels with multiple lines of text\n- **Progress** - Progress bars now display all intermediary percentage values when animating. Improved performance when progress bar is rapidly updated.\n- **Popup** - Popup now uses the new property ``min-width: max-content`` to allow for better display with ``inline`` in some circumstances where it escapes parent element.\n- **Table** - Table now has coupling with image to make sure size is preserved correctly with table sizing when used inside a table cell.\n- **Menu** - ``ui fixed menu`` now defaults to ``ui top fixed menu``\n\n**Bugs**\n- **Form** - Fixed (x) wide field not having correct bottom field margin when in ``fields`` group on tablet or mobile\n- **Tab** - Calls to global ``$.tab()`` would not pass arguments correctly\n- **Dropdown/Search** - Fixed issues with ``ui search`` and ``ui search dropdown`` using ``RegExp test`` which [advances pointer on match](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test) causing results to display incorrectly\n- **Form** - ``ui input`` now receives the same formatting as a normal input inside an ``inline field``\n- **Grid** - Fix display of equal height stackable grid. Add padding to divided stackable grid for dividers\n- **Input** - Fixed bug when ``ui action input`` uses a ``ui icon button``, button was receiving `i.icon` formatting.\n- **List** - Fixed bug when using ``ui icon button`` or ``ui icon header`` causing element to receive icon formatting\n- **Grid** - Fixed issues where negative margins on ``ui stackable grid`` could cause horizontal scroll bars on mobile\n- **Popup** - Popup destroy will now also destroy any unfired timers (show/hide delay)\n- **Popup** - Popup now moves to the same offset context to avoid positioning errors when using a named pre-existing popup.\n\n### Version 1.4.1 - December 23, 2014\n\n**Build Tools**\n- ``gulp build`` will now only build `dist/components/` for components selected in install\n- Fixed bug where interactive installer was not correctly setting components in ``express`` and ``custom`` install\n\n**Bugs**\n- **Dropdown** - ``<select>`` elements will now preserve original ``<option>`` order by default. Added ``sortSelect`` setting (disabled by default) to automatically sort ``<option>`` on initialization\n- **Button** - Fixes issue with ``will-change`` property added to ``ui button`` causing layout z-indexing issues (dropdown button)\n\n### Version 1.4.0 - December 22, 2014\n\n[Browse Issues for 1.4.0](https://github.com/Semantic-Org/Semantic-UI/issues?q=milestone%3A1.4.0)\n\n**Enhancements**\n- **Modal** - Modal now accepts custom dimmer settings with setting `dimmerSettings``\n- **Form** - Form inputs without ``type`` specified are now formatted **Thanks PSyton**\n- **Accordion** - Added inverted accordion variation\n\n**Bugs**\n- **Progress** - Fixes bug where ``ui indicating progress`` would not update its label immediately in webkit\n- **Button** - Fix Chrome bug with buttons sometimes not correctly repainting (particularly evenly divided groups)\n- **Menu** - Fix border radius of dropdown menu inside `ui vertical menu`\n- **Menu** - Fix formatting of ``ui selection dropdown`` inside ``menu``\n\n**Docs**\n- Improved documentation for API and Tab to be slightly more comprehensive\n\n### Version 1.3.2 - December 17, 2014\n\n- **Modal** - Fixed issue with modal dimmer appearing cut off in some browsers, and not hiding\n\n### Version 1.3.1 - December 17, 2014\n\n- **Button** - Dist version of button accidentally included ``chubby`` theme instead of ``default`` theme\n\n### Version 1.3.0 - December 17, 2014\n\n[Browse Closed Issues for 1.3.0](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A1.2.1+is%3Aclosed)\n\n**Critical Bugs**\n- **Build Tools** - Fixed issue with ``theme.config`` causing ``gulp watch`` to throw an error\n\n**Enhancement**\n- **Dropdown** - Dropdown can now specify which direction a menu should appear left/right, dropdown icons can also appear on the left\n- **Dropdown** - Full text search now defaults to ``false``, meaning search terms will return only results beginning with letters\n- **Dropdown** - Search Dropdown is now much more responsive, js improvements and input throttling added.Throttling defaults to `50ms` and can be modified with settings ``delay.search``\n- **Dropdown** - Search Dropdown now correctly replaces placeholder text when backspacing to empty value\n- **Dropdown** - Search Dropdown now has a callback when all results filtered ``onNoResults``\n- **Dropdown** - Search dropdown will now strip html before searching values when searching html\n- **Dropdown** - Search now has keyboard shortcut to open dropdown on arrow down\n- **Form** - Form will no longer process validation rules on disabled fields\n- **Label** - Corner attached labels now display correctly inside of attached segments\n- **Steps** - Steps are now responsive for mobile by default, and have optional responsive styles for tablet\n- **Table** - Table has now variations to remove responsive stylings, specify responsiveness for tablet\n- **Table** - Table now has a ``structured table`` type, which removes some formatting considerations to support complex table layouts with ``colspan`` and ``rowspan``\n\n**Bugs**\n- **Button** - Button \"or\" positioning variables have been adjusted to be automatically calculated without magic numbers\n- **Dropdown** - Dropdown now always scrolls to active element on menu open, calculates position with new ``loading`` class\n- **Dropdown** - Fix bug in position of sub menus with ``floating dropdown``\n- **Form** - Fixed positioning of horizontal field groups, aka ``fields`` for mobile.\n- **Grid** - ``stackable grid`` now display correctly when nested inside a different ``stackable grid``\n- **Image** - UI image now works with SVG\n- **Modal** - Fixed issue with modal losing scroll position on mobile\n- **Modal/Dimmer** - Fixed issues with modal hiding during showing and showing during hiding, fixed issues with \"hiding other\" modals while a modal is mid-animation.\n- **Segment** - Vertical segments now have padding on first/last element, fixing issues when using with grids\n- **Sidebar** - Mobile sidebars now only set ``overflow`` on page's ``html`` when browsing from ``iOS`` devices. Using overflow caused issues with page's scroll being lost when resizing a browser to mobile widths. This also affected modules that used  `$(window).scrollTop()`` at mobile screen sizes\n- **Step** - Fix issue with completed ordered step icon alignment\n- **Table** - Fix responsive styles when applied to ``definition table``.\n- **All UI** - Adds error message when triggering an invalid module behavior i.e. typos ``$('.dropdown').dropdown('hid');``\n\n**Docs**\n- **Button** - Add tabindex /keyboard nav documentation\n- **Grid** - Add another grid example\n- Updates to reflect all new changes to UI listed above\n\n### Version 1.2.0 - December 08, 2014\n\n[Browse Closed Issues](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A1.1.3+is%3Aclosed)\n\n**Enhancement**\n- **Form** - Form validation now has parameter ``optional`` which will only validate a field against a set of rules if the user does not leave it blank **Thanks DHNCarlos**\n- **Fonts** - Add font subset variable for ``site.variables`` **Thanks gabormeszoly**\n- **Modal** - Default modal shadow now more subtle\n- **Sidebar** - Now has behaviors ``is open/closed`` that are aliases for ``is visible/hidden``\n- **Checkbox** - JS Checkbox now handles several variations of html. Labels can be before inputs, after, or not included at all. This should work better with server side form generation.\n- **Progress** - Adds ``limitValues`` setting to adjust values outside of 0-100 automatically to within range, defaults to true\n\n**Bugs**\n- **Grid** - Fixes ``ui stackable grid`` sometimes not aligning correctly at mobile sizes with ``ui page grid``\n- **Progress** - Fixes issues with setting progress to 0% not working as expected\n- **Modal** - Fixes issues with multiple modals sometimes not closing dimmers\n- **Modal** - When a second modal that is not scrolling is opened after a scrolling modal it no longer causes the first modal to not be scrollable\n- **Modal** - \"Hammer\" clicking multiple times on a hiding dimmer no longer causes animation issues\n- **Sidebar** - Fixes issue with multiple sidebars sometimes causing dimmer to close prematurely\n- **Sidebar** - Dimmer can now be clicked even before sidebar has finished showing to immediately close sidebar\n- **Item/Card** - Default link formatting inside element simplified to avoid adjusting other nested ``ui`` link styles\n- **Dropdown** - Fixes bug with dropdown converted from ``select`` that use ``<option`` values with capital letters not being selectable\n- **Form** - Fixes required checkbox asterisks formatting incorrect\n\n**Docs / Build**\n- Fixed documentation on dropdown actions, form field widths, form validation types, and many odds & ends\n- Adds components to semantic.json.example\n- Theme.config.example now links to final site folder\n\n### Version 1.1.2 - December 03, 2014\n\n- **NPM** - Fixes issue with ``dist/`` not being included when using NPM due to ``.gitignore``\n\n### Version 1.1.1 - December 03, 2014\n\n**Bugs**\n- **Step** - Fixes step content appearing overlapped due to use of ``em`` instead of ``rem`` for line-height.\n- **Sidebar** - Fixes issue that may cause sidebars to stay open in some circumstances when using multiple sidebars\n\n### Version 1.1.0 - December 02, 2014\n\n**Enhancements**\n- **Transition** - Transition's caching of final display state and animation existence now has improved performance.\n- **Popup** - Popup now has a ``settings.prefer`` that defaults to ``adjacent``. This setting sets prefered next placement when a popup cannot fit on screen in the chosen placement. ``prefer`` can also be set to ``opposite`` to prefer the same position on the opposite side\n- **Popup** - Popup can now use a setting ``lastResort``. When set to a position it will be used as a last resort even if popup does not entirely fit on the page. Setting this to ``false`` will produce an error when a popup cannot fit on screen.\n- **Transition** now has ``useFailSafe`` parameter (off by default) to ensure transition callback fires even if native ``onAnimationEnd`` event does not fire due to element visibility. [Chromium Bug Report by Product Manager @ Mozilla](https://code.google.com/p/chromium/issues/detail?id=135350#c2) and [this open issue](https://code.google.com/p/chromium/issues/detail?id=437860)\n- **All UI** - Many ``em`` measurements adjusted slightly to calculate out as exact pixel values (Fixes 1px rounding errors)\n- **Steps** - Now use global border color\n- **Progress** - Progress now has sizing variations\n- **Input** - ``transparent input`` can now be ``inverted``\n- **Dropdown** - Dropdown ``onChange`` callback now fires when calling ``setSelected`` programatically.\n\n**Bugs**\n- **Build Tools** - NPM now correctly pins dependencies instead of using bleeding-edge versions which may break builds\n- **Transition** - Transition now correctly detects missing animations, errors do not cause future image transitions to break\n- **Menu/Segment** Fixes double border on pointing menu with attached segment **Thanks davialexandre**\n- **Progress** - Fixes indicating progress appearing incorrectly at 100% complete **Thanks ordepdev**\n- **Icon** - ``remove icon`` is now formatted correctly when used as ``remove link icon``\n- **Input** - ``ui action input`` can now accomodate ``ui button`` that adjust padding from default\n- **Dropdown** - Fix ``action input`` used inside ``ui dropdown`` to appear correctly **Thanks ordepdev**\n\n**Docs**\n- **Progress** - Added missing settings docs for progress module\n\n### Version 1.0.1 - November 28, 2014\n\n**Bugs**\n- **Site** - Add protocol variable for Google Font loader to avoid issues with ``//`` when loading locally causing freezing\n- **Icon** - Fix horizontal centering of circular icon\n- **Transition** - Fix vertical flip not working due to css typo **Thanks cgroner**\n- **Menu** - Removes missing image loader variable **Thanks ryan-mahoney**\n- **Card/Item** - Fix generic link stylings erroneously affecting linked ui elements like buttons\n- **Table** - Fixes table cell transition animating all properties\n\n### Version 1.0.0 - November 24, 2014\n\n**Breaking Changes**\n- **Word Order** - Many multi word variations now require proper word order, for example ``left aligned`` or ``right floated`` classnames must be adjacent. This is to prevent conflicts with other multiple word variations\n- **Form** - Date field has been removed, use a ``ui icon input`` with a ``calendar icon`` instead\n- **Label** - Corner labels no longer support text, only icons.\n- **Dropdown** - Sub menus inside dropdowns now need a wrapping div **text** around sub-menu descriptions\n- **Checkbox** - Checkbox \"enable\" and \"disable\" have been replaced with \"check\" and \"uncheck\"\n- **Modal** - Modal ``left`` and ``right`` sections are now replaced with ``image`` and ``description``\n- **Accordion** - Accordions are now unstyled by default allowing for simpler coupling with other UI without having to override styles. Styled accordions are now included as a variation ``ui styled accordion``\n- **List** - List item selectors are now more strict, list items must be immediate children of ``ui list`` or ``ui list list``\n- **Item** - 0.x.x's UI card has been adjusted heavily. Vertically listed content should use ``ui item`` while floated grouped content should continue to use ``ui card``. Some 'card' view content has been slightly adjusted. Please refer to documentation\n- **Header / Icon** - Inverted headers and icons no longer invert background colors, but instead use a lighter version of colors more legible on dark backgrounds. Inverted circular icons, still however invert the color of the circle.\n- **Input** - Labeled inputs now have ``corner`` ``left`` and ``top`` label types. Any labeled inputs should be converted to ``corner labeled input`` to preserve functionality from ``0.x``\n- **Modal** - allowMultiple (allowing multiple modals at once) is now set to **false** by default.\n- **Table** - Tables are no longer striped by default, instead you must specify the 'striped' variation\n- **Transition** - Complete, and Start callbacks are now ``onComplete`` and ``onStart``\n\n**Enhancements**\n- **General** - CSS animations now hint with will change properties to increase performance in supported browsers\n- **General** - Many modules now use DOM Mutations and event delegation to allow content adjustment after initialization\n- **Accordion** - Accordion now includes all icons in an embedded font instead of requiring icons\n- **Button** - Now has compact form, used for fitting into tight spaces\n- **Button** - Now has CSS loaders to allow loading state to maintain other styles\n- **Checkbox** - Now correctly handles read-only and disabled, has read-only and disabled states\n- **Checkbox** - All styles have been redone. Standard checkboxes are now based around PX and not EM making sure there are no unusual circles or rounding issues. Checkboxes also now use a custom font for glyphs instead of CSS tricks.\n- **Checkbox** - Checkbox now have a ``fireOnInit`` setting for firing callbacks on page load\n- **Checkbox** - Checkbox now receive a ``checked`` class when checked, making it easier to write css selectors on checked checkboxes, for example when using sibling selectors ``.ui.checked.checkbox + .content { // style }``\n- **Dropdown** - New dropdown type, searchable selection for large lists of choices\n- **Dropdown** - Dropdowns can now be initialized directly on a ``<select>`` element without any html\n- **Dropdown** - New action combo will change text of adjacent button, select will select element but not change text\n- **Dropdown** - Many new content types now work inside dropdowns, headers, dividers, images, inputs, labels and more\n- **Form** - Form now has a success state which will automatically display success messages\n- **Dimmer** - Dimmer will now automatically determine whether click-to-close is enabled by ``settings.on``\n- **Dimmer** - Multiple dimmers can now be used on the same context with ``dimmerName``\n- **Dimmer** - Dimmer variations can be specified when creating a dimmer from javascript using ``variation`` setting.\n- **Form** - Grouped fields and inline fields can now have labels\n- **Form** - Forms in 'success' state will now show success messages inside\n- **Form** - Inputs now use 1em font size and correctly match selection dropdown height\n- **Form** - Inverted form now properly styles loader\n- **Form** - New field type ``required`` formats labels to show filling out field is mandatory\n- **Grid** - ``ui divider`` can now be used inside of row columns as well as ``vertically divided grid`` variation\n- **Grid** - Grid rows and columns now support color variations\n- **Grid** - Grid has been rewritten to automatically create row flow without row wrappers\n- **Grid** - Divided and celled grids can now be inverted for dark backgrounds\n- **Grid** - Elements inside a grid that are not rows or columns will now align properly\n- **Grid** - Fixed page grid allows for fixed pixel size containers used with a grid instead of percentage\n- **Grid** - Vertically divided grid now does not include left/right gutters in divider\n- **Header** - Linked headers now receive link colors\n- **Image** - New ``bordered image`` variation\n- **Item** - Items now have a horizontal list view for content lists\n- **Label** - Added tag label and empty circular label style\n- **Label** - Now has compact form, for fitting into tight spaces\n- **Label** - Now has more sizes available\n- **List** - Child lists can now be formatted to sit inside text content\n- **List** - List images can now specify vertical alignment\n- **List** - List spacing defaults have been adjusted to be more consistent\n- **Popup** - Popup can now allow itself not to be closed when hovered over\n- **Popup** - A popup element can now be specified on initialization.\n- **Reveal** - Reveals now all use css properties with GPU acceleration\n- **Popup** - Positioned popups will now extend in the opposite direction to fit better with floated content\n- **Rating** - Rating now uses an embedded icon font to maximize compatibility\n- **Rating** - Rating can now automatically generate icons without including them\n- **Rating** - Rating can use data attributes to specify individual ratings\n- **Sidebar** - Sidebar now has tall / very tall variations for resizing top/bottom sidebars\n- **Shape** - Shape now is better at calculating sizes when animating\n- **Shape** - You can now disable repeated animations by setting, so animation wont queue if side is currently visible\n- **Steps** - Steps can now have icons, descriptions and titles. Step default theme has been modified significantly to be more flexible.\n- **Table** - Tables now have 'basic' and 'very' basic variations\n- **Transition** - Transition will now keep block position of elements hidden with visibility hidden\n- **Transition** - Transitions now will handle multiple display types more consistently\n- **Transition** - Transition now has a new ``start`` callback, before animation starts\n- **Transition** - Complete callback now does not occur if animation is interrupted before completing\n- **Transition** - You can now specify the final displayType of a transitioning element in metadata or settings (not just automatically detected)\n- **More [untracked changes](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+label%3AEnhancement+is%3Aclosed) added as well**\n\n** Bug Fixes **\n- See Closed GitHub Issues\n\n### Version 0.19.3 - Sep 11, 2014\n\n**Bug Fixes**\n\n- **Grid** - Fixes issue where some responsive grid stylings were being overridden by other variations (for example stackable overriding )\n\n### Version 0.19.2 - Sep 11, 2014\n\n**Bug Fixes**\n\n- **Grid** - (Backport from 1.0 branch) Fixes issue where some combinations of (tablet/mobile/computer) only does not function correctly\n\n### Version 0.19.1 - Sep 5, 2014\n\n**Bug Fixes**\n\n- **Modal** - (Backport from 1.0 branch) Fixes issue where modal sometimes appears too low on second show\n\n### Version 0.19.0 - July 3, 2014\n\n**Enhancements**\n- **Transition** - Adds \"fade in left/right\" variations to match \"fade up/down\" **Thanks AdamMaras**\n\n**Fixes**\n- **Accordion** - Fixes incompatibilities with ``ui list`` when used inside a ``ui accordion``, fixes issues with menu accordion display in some circumstances\n- **Menu** - Fixes ``ui inverted secondary pointing menu`` to have correct pointer color for all color variations **Thanks AdamMaras**\n- **Docs** - Language clarified for menu/rating definition **Thanks jnbt/ewiner**\n\n### Version 0.18.0 - June 6, 2014\n\n**Enhancements**\n- **Modal** - Modals now focus on first input if available **Thanks Knotix**\n- **RTL** - RTL now uses RTLCSS instead of CSSJanus **Thanks MohammadYounes**\n\n**Fixes**\n\n- **Menu** - Fixes bug where pointing menu would sometimes appear below content **Thanks Skysplit**\n- **Dropdown** - Fixes dropdown 'is animating' with dropdowns when CSS animations were not included **Thanks nathankot**\n- **Accordion** - Accordion title does not know have to be :first-child to receive proper border **Thanks BigBlueHat**\n- **Popup** - Fixes javascript animation of popup missing easing dependency\n- **Label** - Fixes border radius on bottom left label\n\n**Docs**\n- **Modal** - Docs now have HTML examples\n- **Docs** - Fixes issue with overview mode not clearing code examples\n- **CSS Guide** - Fixes typos in css guide\n\n\n### Version 0.17.0 - May 9, 2014\n\n**Enhancements**\n- **Dropdown** - Dropdowns can now receive focus and be navigated with a keyboard **Thanks Musatov**\n- **Popup** - Popup now has an ``onRemove`` callback after removing element from DOM\n\n**Fixes**\n- **Modal** - Element does not accurately close other modals when initialized at different times **Thanks nojhamster**\n- **Modal** - Fixes javascript error for browsers that don't support CSS animations if jquery.easing is not included\n- **Form, Input** - Fixes ``ui input`` to work correctly inside ``inline field``\n\n### Version 0.16.1 - April 22, 2014\n\n**Fixes**\n- **Transition** - Fixes bug where transition could accidentally hide element on show due to error when determining original display type\n\n### Version 0.16.0 - April 22, 2014\n\n**Enhancements**\n- **Form** - Fields can now be aligned to a grid **Thanks seralex-vi**\n\n**Critical Fixes**\n- **Modal** - Fixes issue where position sometimes appeared too low on second show\n- **Reveal** - Fixes reveal being broken in Chrome in ``0.15.5`` due to poor fix for reveal selectability\n\n**Fixes**\n- **Transition** - Fixes issue where transition hidden was sometimes overwritten by UI styles causing the element to stay visible\n- **Checkbox** - Fixes issue where checkboxes with multiple line labels were appearing formatted incorrectly.\n\n\n### Version 0.15.5 - April 11, 2014\n\n**Critical Fixes**\n- **Checkbox** - Fixes ``ui checkbox`` to obey ``disabled`` property of input\n\n**Fixes**\n- **Reveal** - Hidden content now can be selected on reveal\n- **Message** - Fixes hidden/visible class to work with animations\n- **Message** - Fixes hidden/visible class to set proper display on ``ui icon message``\n- **Message** - Fixes hitbox/position of ``close icon`` inside message\n\n### Version 0.15.4 - April 04, 2014\n\n**Fixes**\n- **Rating** - Fixes issue where rating was behaving erratically in Chrome\n\n### Version 0.15.3 - April 04, 2014\n\n**Changes**\n- **Transition** - CSS Transitions now work in legacy FF (FF > 12)\n- **All UI** - Adds support for legacy FF vendor prefixes (FF > 12)\n\n**Docs**\n- Adds more examples for static checkbox/radio boxes with HTML only\n- Fixes a variety of issues with malformed examples (thanks community)\n\n### Version 0.15.2 - Mar 28, 2014\n\n**Changes**\n- **All Modules** - Debug is now disabled by default\n\n**Fixes**\n- **Step** - Fixes issue with border radius on vertical steps\n- **Icon** - Orange color is now available for icon\n- **Menu** - Fixes formatting of attached segments with menus\n\n### Version 0.15.1 - Mar 14, 2014\n\n**Critical Fixes**\n- **Dropdown** - Typo in dropdown css was causing selection dropdowns not to appear\n\n### Version 0.15.0 - Mar 14, 2014\n\n**Enhancements**\n- **Step** - Vertical Steps now have option to have two line items\n- **Form** - Forms, Dropdowns, and Inputs now have matching padding size, and use 1em font size to appear same size as surrounding text\n- **Icon** - Icons on dark backgrounds should render better in OSX\n- **Modal** - Modals now have an onVisible and onHidden callback for after animation ends\n- **Form Validation** - Form validation now automatically revalidates a selection dropdown on change when invalid\n\n**Critical Fixes**\n- **Modal** - Browsers without RequestAnimationFrame (Opera) were erroring on modal show\n- **Dropdown** - Element's with numeric ``data-text`` values were erroring when selected\n\n**Fixes**\n- **Modal** - Modal onShow and onHide occurs before transition starts, allowing for class name changes not to be reset\n- **Dropdown** - Default selection text was not appearing when a dropdown had a value that was ``false`` or ``0``\n- **Input** - Fixes slight error in corner label rounding **Thanks MohammadYounes**\n- **Reveal** - Reveals will now show on active, for touch devices **Thanks Illyism**\n- **Table** - Fixes rounding on tables with multiple tfoot elements **Thanks webdesserts**\n- **Icon** - Hide and unhide icon were accidentally given opposite names\n- **Checkbox** - Checkboxes can now have multiple inputs inside, for use with .NET and other languages that insert their own hidden inputs\n\n**Project**\n- **iOS** - Active styles, for example pressed in buttons, now appear in docs on touch devices\n\n### Version 0.14.0 - Mar 03, 2014\n\n**Enhancements**\n- **Modal** - Modal now uses requestAnimationFrame instead of debounced callback\n- **Dropdown** - Dropdown now has error state **Thanks Musatov**\n- **Form** - Form fields with errors will now properly style dropdown elements **Thanks Musatov**\n- **Step** - Steps can now appear vertically\n\n**Fixes**\n- **List** - Bulleted and horizontal lists now appear correctly in IE10-11\n\n**Project**\n- **NPM** - Docpad is now moved to a dev dependency **Thanks kapouer**\n\n### Version 0.13.1 - Feb 28, 2014\n\n**Fixes**\n- **Modal** - Fixes modal positioning appearing slightly below center on second load\n- **Checkbox** - Fixes checkbox appearance inside inverted forms\n- **Input** - Fixes ui input to inherit form sizing\n- **Accordion** - Fixes issues with accordion rules being too specific, causing several common usages of accordions to break\n- **Form Validation** -  Fixes form validation regular expression matching **Thanks icefox0801**\n\n\n### Version 0.13.0 - Feb 20, 2014\n\n**Enhancements**\n- **Label** - Corner labels now are coupled to have rounded edges with components with rounded edges like input\n- **Form** - Grouped form fields now have responsive styles for mobile\n- **Modal** - Modal will now work when modal is taller than page's content\n- **Checkbox** - Checkboxes now also trigger DOM ``change`` event\n- **Accordion** - Accordions now preserve inline styles when animating\n- **Form Validation** - Form validation now rechecks on all form change events, not just input change\n\n**Fixes**\n- **Menu** - Fixes 2px border on last element in horizontal menus\n- **Menu** - Fixes dropdown formatting when used **inside* a menu item\n- **Menu** - Fixes formatting of grouped icon buttons inside menus\n- **Modal** - Fixes z-index of modal close to appear above ``relative/absolute`` modal content on mobile\n- **Dimmer** - Dimmers are less buggy when used with ``on: 'hover``\n\n\n### Version 0.12.5 - Feb 04, 2014\n\n**Enhancement**\n- **Button** - Or buttons can now have text specified using ``<div class=\"or\" data-text\"text\">`` with alternate text *Thanks MohammadYounes*\n\n**Fixes**\n- **Popup** - Fixes issue where popups using ``title`` attribute to store data were losing title content instead of correctly restoring it\n- **Modal** - Fixes an issue where modal may not position correctly in some cases *Thanks GianlucaGuarini*\n- **Modal** - Fixes modal throwing an error when transition is not included *Thanks robertoles*\n\n### Version 0.12.4 - Jan 29, 2014\n\n**Fixes**\n- **Form** - Fixes issue with onSuccess not allowing cancellation of form submit in form validation\n- **Input** - Fixes ``ui buttons`` to work inside an ``ui action input`` **Thanks MohammadYounes **\n- **Items** - Fixes ``ui horizontal items`` to work correctly, missing comma **Thanks mishak87**\n\n**Project**\n- **RTL** - Adds RTL hinting for some files **Thanks MohammadYounes**\n- **Specs** - Adds additional JSON spec files for future use with generators **Thanks brigand**\n\n### Version 0.12.3 - Jan 24, 2014\n\n**Fixes**\n- **Message** - Fixes some issues with margins sometimes not appearing with ``attached message`` **thanks joltmode**\n- **Item** - Fixes color repeating to be consistent for items **thanks skysplit**\n\n### Version 0.12.2 - Jan 21, 2014\n\n**Enhancement**\n- **Form Validation** - Adding custom validation is now simpler, uses syntax ``$('.form').form('add prompt', identifier, 'Error message');``\n\n**Fixes**\n- **Menu** - Slightly updates input sizes inside menus\n- **Grid** - Fixes grid ``only tablet/mobile/computer`` showing both devices on exact pixel of breakpoint, i.e. 768px\n- **Icon** - Fixes ascending alphabetic inheritance\n\n### Version 0.12.1 - Jan 15, 2014\n\n**Fixes**\n- **LESS** - Fixes typo breaking less parsing **thanks DVSoftware**\n- **Menu** - Fixes buttons using ``<a>`` tag from inheriting link styles. **thanks joltmode**\n- **Menu** - Fixes ``action input`` to work inside menus  **thanks joltmode**\n- **Modal** - Fixes possible race conditions in animations of modal **thanks dos1**\n- **Message** - Prevents close icon from being misformatted in icon message **thanks MohammadYounes**\n\n**Docs**\n- **Icons** - Fixes some icon code samples in docs **thanks mishak87**\nSome updates to docs formatting\n\n### Version 0.12.0 - Jan 06, 2014\n\n**Major Fixes**\n- **Dropdown** - Fixes dropdowns links not working on touch devices\n- **Input** - Fixes input placeholder styles to work (accidental regex replace)\n\n**Major Updates**\n- **Transition** - Transitions will now, by default, prevent the current animation from being queued while it is actively animating the same animation\n- **Modal** - New setting ``allowMultiple`` lets you specify whether multiple modals can be shown at once\n- **Modal** - New setting ``detachable`` allows you to specify whether modal DOM element can be moved (Thanks MohammadYounes)\n\n**Updates**\n- **Dropdown** - Default value is now stored on init, and can be restored using 'restore defaults' behavior\n- **Modal** - Buttons can now use both ``cancel/deny`` or ``ok/approve``, for approve/deny events to fire (Thanks MohammadYounes)\n- **Menu** - Fixed menu now adds padding on the next element if it is a grid\n- **Progress Bar** - Adds warning color\n\n**Fixes**\n- **Icon** - Fixes unnecessary formatting on thumbs up/down\n- **Dropdown** - Fixes touchmove event not clearing on touch devices causing unnecessary overhead\n- **Input** - Action inputs can now be fluid\n- **Sidebar** - Fixes issue where top sidebar was receiving left offset\n- **Menu** - Fixes z-index on fixed menu to exist just below modals\n- **Dropdown** - Fixes issue where last match was returned, not prioritizing value over text\n- **Form** - Fixes all validation input to be trimmed for whitespace\n\n### Version 0.11.0 - Dec 25, 2013\n\n### Merry Christmas!\n\n**Major Updates**\n\n-**Transition**: Transition has been completely rewritten, performance should be about 10x after first animation due to caching and use of request animation frame\n\n**New Features**\n\n-**Transition**: Transitions now work with **any display type** not just display: block, meaning transitions can be used on buttons and other inline elements without affecting display\n\n**Fixes**\n\n-**Transition**: Fixes typo in \"horizontal flip out\" causing opacity to be fading in\n\n-**Popup** - Fixes popup sometimes opening and closing when ``event:click`` is used and a user double clicks\n\n-**Modules**: Fixed error in all modules where calling invoke would modify instance outside of scope, making it impossible to access some data (for instance cached positions) from outside of module.\n\n-**Modal**: Fixes issues with modal in IE, IE11 can now use CSS animations with modals\n\n### Version 0.10.3 - Dec 22, 2013\n\n**Critical Fixes**\n- **Dropdown** - Fixes issue where dropdown animation does not occur sometimes (Thanks MohammadYounes)\n\n**Fixes**\n- **Popup** - Native browser popups no longer if using ``title`` attribute\n- **Grid** - Fixes issue where stackable grid was not working correctly when using (x) wide column\n- **Modal** - Fixes element detaching sometimes in case where it is already inside a dimmer\n- **Input** - Removes duplicate sizes\n\n### Version 0.10.2 - Dec 13, 2013\n\n**New**\n- **Button** - Adds VK button\n- **Input** - Action inputs now support button groups\n\n**Fixes**\n- **Rating** - Fixes vertical alignment with text\n- **Dropdown** - Fixes missing easing equations for dropdown javascript animations. Would cause an error when no css transitions were included and jquery easing was not available.\n\n### Version 0.10.1 - Dec 06, 2013\n\n**Fixes**\n- **Modal** - Fixes issue with modal animation regression in 0.10.0\n\n### Version 0.10.0 - Dec 05, 2013\n\n**New**\n- **Grid** - Adds ``doubling`` responsive variation which automatically formats content spacing based on device type\n- **Form Validation** - Adds two new parameters, to allow for changing of revalidation and delay on input\n\n**Updates**\n- **Grid** - Row padding is now EM not % based, this might shift layouts slightly\n- **Grid** - Grid columns not inside a row will automatically receive row padding now. This will allow for content to flow correctly when row count is unknown\n\n**Fixes**\n- **Grid** - Fixes margin on stackable grids\n- **Dropdown** - Value can be retrieved even in instances where forms arent used\n\n### Version 0.9.6 - Dec 04, 2013\n\n**Updates**\n- **Rating** - Ratings now receive class disabled when read only, instead of receiving ``active`` when rateable since active are much more common\n- **Grid** - Fixes some instances where grid column width ``x wide`` was being overruled by parent element ``x column``.\n- **Header, Grid, Segment** - Adds justified alignment\n- **Message** - Fixes issues with attached icon message (thanks overra)\n\n### Version 0.9.5 - Nov 25, 2013\n\n**New**\n- **Segment** - Segments now have a circular variation\n\n**Fixes**\n- LESS files now include vendor prefixes by default instead of only including them in css releases\n\n### Version 0.9.4 - Nov 24, 2013\n\n**Fixes**\n- **Dropdown** - Fixes issue where falsey value (i.e. 0) could not be selected\n- **Transition** - Fixes transition exists function from not being called\n- **Form** - Adds input type=\"url\" to forms\n- **Sidebar** - Fixes right sidebars to correctly allow for sizing (Thanks DveMac)\n- **Sidebar** - Typo in sidebar header (Thanks slobo)\n\n\n**Docs**\n- Fixes various typos and missing closing html tags\n\n### Version 0.9.3 - Nov 17, 2013\n\n**Fixes**\n- **Dropdown** - Fixes \"falsey\" values (like 0) not being processed correctly\n- **Segment** - Fixes segment text color when nested inside inverted segment\n- **Button** - Fixes improper active/visible state due to :not specificity (most noticeable in mousedown on a dropdown button)\n\n### Version 0.9.2 - Nov 8, 2013\n\n**Fixes** - Fixes popup not repositioning itself when offstage.\n\n### Version 0.9.1 - Nov 7, 2013\n\n**New**\n- **Popup** - Adds context option for popup (thanks jefmathiot)\n- **Accordion** - Adds formatting for nested accordions\n\n**Updates**\n- **Accordion** - Fixes issue with accordion events inside accordions\n\n### Version 0.9.0 - Nov 5, 2013\n\n**New**\n- **Button** - Basic icons now have inverted style\n- **Segment** - Segments can now be used with ``ui grid`` and ``ui grid column/row``\n- **List** - Adds animated list variation\n\n**Docs**\n- **Release** - Fixes issues with minification in grunt\n- **Examples** - Adds new homepage example to release zip\n- **Code Samples** - Updates ACE editor version\n\n**Updates**\n- **List** - Updated some list styles for greater flexibility\n- **Dropdown** - Dropdown now always receives pointer cursor in all types\n- **Form** - Darkens placeholder text color to be more visible\n- **Menu** - Dropdown position inside secondary menus should be more precise\n- **Input** - Labeled icons now have smaller corner labels\n- **Menu** - Floating dropdown menus now work inside menus\n- **Button** - UI buttons no longer have shadows, this helps match colored buttons in layouts\n\n**Fixes**\n- **Header** - Fixes alignment of solo icons in headers\n- **Button** - Fixes labeled icon placement in Chrome\n- **Modal** - Fixes use of unsupported comma separated :not selector\n- **Modal** - Fixes left/right ui content receiving modal styles inappropriately\n- **Menu** - Fixes some inverted menu stylings not applying correctly in some instances\n- **Grid** - Fixes comp/tablet/mobile only columns not working if not inside a row\n\n### Version 0.8.6 - Nov 2, 2013\n\n**Fixes**\n- **Modal** - Fixes issue with scrollable variation on mobile, updates mobile styles\n\n**Docs**\n- Fixes bug in jquery waypoint 2.0.3 causing menus to be lame\n\n### Version 0.8.5 - Nov 2, 2013\n\n**Fixes**\n- **Modal** - Fixed issue with modals not working in 0.8.4 due to mistake in transition invoke\n- **Modules** - Invoke now gives user's query in error message for method not found\n\n### Version 0.8.4 - Nov 1, 2013\n\n**Fixes**\n- **Modules** - Fixes bug where invoking a sentence behavior that has a single word match would always invoke single word match. I.e. ``show modal`` would mistakenly call ``show`` if it existed.\n- **Modules** - Adds CSS transition support detection to all modules using css transitions to allow for graceful degradation for IE8\n\n**Docs**\n- **Download** - Fixes issue where non minified source was being included with minified copy\n- **IE** - Fixed some issue with IE display in docs\n\n### Version 0.8.3 - Oct 30, 2013\n\n**Fixes**\n- **Modal** - Adds fixes for opening modals when other modals are opened, adds a few new API behaviors\n- **Form** - Fixes issues with form validation not escaping regex characters\n- **Form** - Errored fields now have their icons and corner labels colored appropriately\n- **Labels** - Fixes formatting of links inside labels\n\n### Version 0.8.2 - Oct 28, 2013\n\n**Fixes**\n- **Modal** - Quick Fix for modal events in IE\n- **Menu** - Fixes arrow direction on vertical menu dropdown\n- **Button** - Fixes button height issue with button groups including icon and normal buttons\n\n**Docs**\n- Fixes some missing closing tags\n\n### Version 0.8.1 - Oct 26, 2013\n\n**Fixes**\n- **Button** - Fixes colored version sometime losing white text color\n- **Button** - Fixes 1pixel jump on animated fade buttons\n\n**Docs**\n- Prefixer now used for prefixing in grunt\n- Spelling fixes\n\n### Version 0.8.0 - Oct 25, 2013\n\n**New**\n- **Button** - Default button styles have been significantly tweaked\n- **Button** - Evenly divided buttons can use number classes instead of words ``class=\"2 buttons\"``\n- **Button** - New animated button styles, fade, horizontal, and vertical\n\n**Fixes**\n- **Button** - Fixes \"or\" sizing to work for all sizes\n- **Dropdown** - Fixes border radius on non-selection dropdowns from changing on activation\n- **Input** - Action buttons now have tactile feedback like normal buttons\n\n**Docs**\n- Added more detailed contributing guide\n- Updates info on setting up server\n- Added new examples to button and input\n\n### Version 0.7.2 - Oct 23, 2013\n\n**Fixes**\n- **Modal** - Fixes issue with modal hiding twice onApprove\n\n### Version 0.7.1 - Oct 23, 2013\n\n**Fixes**\n- **Dropdown** - Fixes issue with dropdown icon position in chrome\n- **Popup** - Fixes issue with popup's using setting inline: true\n\n### Version 0.7.0 - Oct 22, 2013\n\n**New**\n- **Table** - Added awesome new responsive style to ui tables\n- **Button** - New social buttons for Instagram, LinkedIn, Google Plus, Pinterest\n- **List** - Adds documentation for module format\n- **List** - Adds onTabInit for local tabs on first load\n- **List** - Popups can now have a different target than itself\n- **Modal** - Modal hide can be cancelled from ``onApprove`` and ``onDeny`` by returning false from callback\n- **Transition** - onShow and onHide callbacks for visibility changing transitions\n- **Shape** - New 'cube' and 'text' shape type\n- **Shape** - Transition duration can now be set programatically\n- **Shape** - New beforeChange callback\n- **Sidebar** - Sidebar will now default to being exclusive and hiding other sidebars on show\n- **Sidebar** - Sidebar now has onChange, onShow, onHide callbacks\n- **Sidebar** - Sidebar now have several size variations, and a new styled variation that comes preformatted\n\n**Docs**\n- **Dimmer** - Adds more dimmer examples, fixes settings\n- **Modules** - New examples and docs for all modules\n- Adds sortable tables to docs\n- New tabbed doc style for modules\n- Code samples will now automatically format indention\n\n**Fixes**\n- **Button** - Fixes vertical fluid buttons not taking up full width\n- **Shape** - Shape now works with no additional stylings\n- **Shape** - Fixes calculation of next side size to work correctly by using offstage element\n- **Modules** - Fixed issue when altering settings using ``module('setting')`` with an object\n- **Dimmer** - Dimmer now obeys border radius of parent\n- **Dropdown** - Dropdown cannot display inside item image\n- **Dropdown** - Dropdown links were being prevented by event.preventDefault used for touch devices\n- **Dropdown** - Fixes issue with borders on selection dropdown\n- **Dropdown** - Fixes pointing dropdown to appear correctly in menu\n- **List** - Celled tables now have celled table headers\n- **Menu** - Fixes border radius on tabular menu, fixes one pixel jump on active state\n- **Menu** - Removes vertical label width missing units in menu\n- **Popup** - Popup .toggle() now always hides/shows popup correctly\n- **Popup** - Popup fixed a bug where \"top right\" placed popup might sometimes be too large\n- **Popup** - Popup will not reshow a visible popup on hover\n\n**Updates**\n- **Accordion** - Reduces vertical padding on basic accordion content\n- **Header** - Block header now uses RGBA instead of solid color by default\n- **Label** - Ribbon labels now have a shadow color\n- **List** - Horizontal padding on icon list slightly increased, fixes to icon position\n- **List** - Increased padding on attached labels\n- **List** - Leading on bulleted and ordered list slightly increased\n- **Message** - Increase opacity of icons on icon messages\n- **Modal** - Optimizes dimmer init on modal to occur on modal init and not modal show\n- **Popup** - Popup border now uses RGBA to look sexier on dark backgrounds\n- **Popup** - Popup default duration is now 200ms (slighty slower)\n- **Popup** - Popup metadata attribute arrowOffset is now offset for simplicities sake\n- **Popup** - Popup no-longer receives class name 'visible' on show, this allows popups to be used on dropdowns and other elements with a visible state\n- **Popup** - Popups are no longer inline by default\n- **Table** - Table headers are now darker to increase contrast with rainbow striped rows\n- **Sidebar** - Floating sidebar is slightly less heavily shadowed\n\n\n### Version 0.6.5 - Oct 18, 2013\n\n**Fixes**\n- Fixes issue where browser default action, like link clicking, was prevented on dropdown item click\n- Modal keyboard shortcuts now obey settings.closable (credit to luisrudge)\n\n\n### Version 0.6.4 - Oct 16, 2013\n\n**Fixes**\n- Fixes issue where browser default action, like link clicking, was prevented on dropdown item click\n\n### Version 0.6.3 - Oct 15, 2013\n\n**Deprecation**\n- Dropdown changeText and updateForm have been deprecated and will be removed in 1.0\n\n**Updates**\n- Dropdown hide no longer selects current item as active (useful for menus)\n- Simplified possible dropdown actions changeText and updateForm are now consolidated into activate which is the new default\n\n### Version 0.6.2 - Oct 15, 2013\n\n**Fixes**\n- Fixes touch+mouse like touchscreen laptops to work with dropdowns\n- Fixes input position inside menus with no other content\n- Fixes input sizing on small/large menus\n\n**Updates**\n- Dropdown vastly improved for touch, now can scroll with touch without closing dropdown\n- Dropdown active style now slightly more noticable\n\n### Version 0.6.1 - Oct 15, 2013\n\n**Updates**\n- Adds onApprove/onDeny callbacks to modal\n- Adds small/large sizing of modal, reformats default modal size to be slightly inset from page grid\n- Adds clockwise/counterclockwise rotated icon and default rotate\n- Adds orange label/segment\n- Adds automatic menu formatting for buttons inside menus\n- Dropdowns in vertical menu automatically receive proper triangle pointer direction\n\n**Fixes**\n- Fixes modal spacing on left/right content to match up with grid gutters\n- Fixes inheritance issues with rotated icon\n- Fixes tests not passing for modal/dimmer\n- Fixes overflow on item corner label\n- Fixes right menu formatting in secondary menus\n- Fixed shadow overlap on dropdown in menus\n\n### Version 0.6.0 - Oct 14, 2013\n\n**Updates**\n- Adds travis CI support with preliminary test coverage for all javascript modules\n\n**Fixes**\n- Minor Fixes caught with testing suite, related to ensuring proper destroy, init,\n- Minor fixes to edge cases with seting and retrieving internals/settings as default, init, or during run-time on some modules\n\n### Version 0.5.1 - Oct 11, 2013\n\n**Fixes**\n- Fixes issue with modal sometimes closing/opening multiple times caused by changes in 0.5.0\n\n**Updates**\n- Fixes vertical alignment of checkboxes\n\n### Version 0.5.0 - Oct 10, 2013\n\n**Critical Fixes**\n- Fixes in some UI modules, issue where settings being shared across elements initialized at the same time instead of each instance.\n- Fixes regression where popup was overriding variation class name on positioning\n\n**Fixes**\n- Fixes an issue where popup that was set to inline: false was being removed prematurely\n- Fixes inheritance issue where grid column may sometimes not appear the correct size\n- Fixes modal hide/show dependency issue where dimmer would not always hide modal and vice-versa\n\n**Updates**\n- Adds an example to popup where inline is set to false\n- Accordion now comes bundled with proper easing\n- Added onCreate to popup module\n\n### Version 0.4.3 - Oct 10, 2013\n\n**Fixes**\n- Updates dropdown to include proper invoke\n\n### Version 0.4.2 - Oct 9, 2013\n\n**Fixes**\n- Fixes issue with event bubbling being cancelled on dropdown item click\n\n### Version 0.4.1 - Oct 9, 2013\n\n**Fixes**\n- Fixes heart rating color\n\n### Version 0.4.0 - Oct 8, 2013\n\n**Updates**\n- Updated some checkbox stylings\n- Checkboxes markup now more semantic with default markup including only one label tag that can be inside ui checkbox\n\n### Version 0.3.8 - Oct 8, 2013\n\n**Fixes**\n- Display issues with accordion\n\n### Version 0.3.7 - Oct 8, 2013\n\n**Fixes**\n- Fixes modal show/hide action reversal in Webkit\n\n**Updates**\n- Dimmer can now take different durations for its show and hide\n\n### Version 0.3.6 - Oct 7, 2013\n\n**Fixes**\n- Fixes popup position sometimes appearing off-stage on second apperance\n- Fixes popup positions top left, top right, bottom left, bottom right being flipped\n\n**Docs**\n- Updates form and accordion docs\n\n**Updates**\n- Dropdown action default is now automatically determined based on type of dropdown, select dropdowns now will update form fields with default options\n- Adds fluid variation to accordion\n- Adds more html5 form support for forms (deneuxa)\n- Fields can include both field and another level of fields\n\n### Version 0.3.5 - Oct 2, 2013\n\n**Fixes**\n- Fixes radio checkboxes (again)\n- Fixes header content display in icon headers\n\n### Version 0.3.4 - Oct 2, 2013\n\n**Fixes**\n- Transitions now work in Safari versions that do not support animation-direction\n- Fixes accordion in safari styles getting stuck\n- Centering of content in icon header\n\n### Version 0.3.3 - Oct 2, 2013\n\n**Fixes**\n- Fixes modal not working due to destroy teardown in dimmer Issue #153\n- Fixes selector for checkbox to fix radio boxes Issue #154\n- Fixes issue with popup display in some edge cases Issue #128\n\n**Updates**\n- Headers and lists with icons now do not break with multiline content\n- Examples resize with browser width\n- Updates ACE editor library\n- Code samples now do not change after interacting with examples\n\n### Version 0.3.2 - Oct 2, 2013\n\n**Updates**\n- Dropdown now formats top and right arrow icons automatically with icon coupling with sub menus\n- Updates feed example with more feature examples\n- Adds more sizes to ratings\n- Makes active pagination item style more clear\n- Adds attach events method to modal for attaching modal events to other elements\n- Adds input focus/blur to modal, see Issue #124\n- Adds new methods to rating: 'get rating', 'clear rating', 'disable', 'enable', adds new setting 'clearable'\n\n**Fixes**\n- Fixes position of menu dropdowns in some cases\n- Updates modal to refocus elements after close\n- Right floated list content now receives left margin\n- List items display issues with icons + content\n- Fixes rating line height issue\n- Fixes rating not being sent as first callback parameter on 'onRate'\n- Lists items now auto clear floats\n- Fixes icon input inside a menu placement issues\n\n### Version 0.3.1 - Sep 30, 2013\n\n**Fixes**\n- Fixes Page Grid still receiving negative margin\n\n### Version 0.3.0 - Sep 30, 2013\n\n**Fixes**\n- Responsive Grid is now called \"Page Grid\". Responsive grids are now deprecated. This reduces confusion.\n- Negative margins are now automatically removed from grids that are descendents of body tag.\n\n### Version 0.2.5 - Sep 28, 2013\n\n**Fixes**\n- Fixes checkbox  selector issue with multiple inputs inside a checkbox\n- Modal no longer uses inline css to center when in fixed position mode\n- Fixes dropdown to now set active item to whatever hidden input field is when using action updateForm\n\n### Version 0.2.4 - Sep 28, 2013\n\n**Updates**\n\n- Fixes issue with display on Chromebook Pixel and some devices\n- Fixes issues with concatenated version receiving conflicted icon definitions causing icons to not function\n\n### Version 0.2.3 - Sep 28, 2013\n\n**Updates**\n\n- Fixes issues with modal not swapping to absoultely positioned from fixed when content cannot fit in viewport\n\n### Version 0.2.2 - Sep 28, 2013\n\n**Updates**\n\n- Fixes invoke returning found function instead of results of found function in dropdown, modal\n\n### Version 0.2.1 - Sep 28, 2013\n\n**Updates**\n\n- Modals can now have an icon in its left content that will be automatically formatted\n- Preserve 3D animations are now on by default for dimmers\n\n**Fixes**\n\n- Transition now forces browser repaint after animation\n- Refactored modal and dimmer components\n- Modal will now resize when browser window resizes if vertical height changes\n- Fixes issues with dimmer settings sticking between separate modals with the same dimmer.\n\n### Version 0.2.0 - Sep 28, 2013\n\n**New**\n\n- Adds responsive modal styling, modal always now sits with 5% gutters under page grid responsive styling\n- Adds basic modal variation\n\n**Fixes**\n\n- Issue with modal active state not being removed correctly from modals\n- Swaps modal and dropdown to use same variable naming pattern as rest of modules\n- Removed selector count from performance logs\n\n### Version 0.1.0 - Sep 25, 2013\n\n**New**\n\n- Added new font icon set using Font Awesome port\n- Adds dropdown icon sexiness to accordions, now with rotating pointing arrows\n- Added old icon set as a separate basic icon set\n- Added fluid input variation\n- Increased size of corner labels\n- Adds relaxed grid variation with increased gutters\n- Added relaxed and very relaxed list type with increased padding\n\n**Fixes**\n\n-  Rating icon missing font content with icon font update\n- Padding on side of rating\n- Adds horizontally padded, vertically padded menu item variations to allow menu items to remove padding\n- Added fixes to tabular menu especially with attached content\n- UI Loaders now positioned automatically in all circumstances, even with long text\n- Connected items no longer assume 3 items per row\n- Fixes display of left corner icon labels\n\n**Updates**\n\n- Updated documentation for sidebar, transition, and form validation\n- Updated list docs\n- Accordion settings documentation\n- Rating settings documentation\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/accordion.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Accordion\n*******************************/\n\n.ui.accordion,\n.ui.accordion .accordion {\n  max-width: 100%;\n}\n.ui.accordion .accordion {\n  margin: 1em 0em 0em;\n  padding: 0em;\n}\n\n/* Title */\n.ui.accordion .title,\n.ui.accordion .accordion .title {\n  cursor: pointer;\n}\n\n/* Default Styling */\n.ui.accordion .title:not(.ui) {\n  padding: 0.5em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Content */\n.ui.accordion .title ~ .content,\n.ui.accordion .accordion .title ~ .content {\n  display: none;\n}\n\n/* Default Styling */\n.ui.accordion:not(.styled) .title ~ .content:not(.ui),\n.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {\n  margin: '';\n  padding: 0.5em 0em 1em;\n}\n.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {\n  padding-bottom: 0em;\n}\n\n/* Arrow */\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  display: inline-block;\n  float: none;\n  opacity: 1;\n  width: 1.25em;\n  height: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n  padding: 0em;\n  font-size: 1em;\n  -webkit-transition: -webkit-transform 0.1s ease, opacity 0.1s ease;\n          transition: transform 0.1s ease, opacity 0.1s ease;\n  vertical-align: baseline;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n\n/* Menu */\n.ui.accordion.menu .item .title {\n  display: block;\n  padding: 0em;\n}\n.ui.accordion.menu .item .title > .dropdown.icon {\n  float: right;\n  margin: 0.21425em 0em 0em 1em;\n  -webkit-transform: rotate(180deg);\n      -ms-transform: rotate(180deg);\n          transform: rotate(180deg);\n}\n\n/* Header */\n.ui.accordion .ui.header .dropdown.icon {\n  font-size: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.accordion .active.title .dropdown.icon,\n.ui.accordion .accordion .active.title .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n.ui.accordion.menu .item .active.title > .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Styled\n---------------*/\n\n.ui.styled.accordion {\n  width: 600px;\n}\n.ui.styled.accordion,\n.ui.styled.accordion .accordion {\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15);\n}\n.ui.styled.accordion .title,\n.ui.styled.accordion .accordion .title {\n  margin: 0em;\n  padding: 0.75em 1em;\n  color: rgba(0, 0, 0, 0.4);\n  font-weight: bold;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n          transition: background 0.1s ease, color 0.1s ease;\n}\n.ui.styled.accordion > .title:first-child,\n.ui.styled.accordion .accordion .title:first-child {\n  border-top: none;\n}\n\n/* Content */\n.ui.styled.accordion .content,\n.ui.styled.accordion .accordion .content {\n  margin: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n.ui.styled.accordion .accordion .content {\n  padding: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n\n/* Hover */\n.ui.styled.accordion .title:hover,\n.ui.styled.accordion .active.title,\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Active */\n.ui.styled.accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n     Active\n---------------*/\n\n.ui.accordion .active.content,\n.ui.accordion .accordion .active.content {\n  display: block;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.accordion,\n.ui.fluid.accordion .accordion {\n  width: 100%;\n}\n\n/*--------------\n     Inverted\n---------------*/\n\n.ui.inverted.accordion .title:not(.ui) {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Accordion';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n/* Dropdown Icon */\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  font-family: Accordion;\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n.ui.accordion .title .dropdown.icon:before,\n.ui.accordion .accordion .title .dropdown.icon:before {\n  content: '\\f0da' /*rtl:'\\f0d9'*/;\n}\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/accordion.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.accordion = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.accordion.settings, parameters)\n          : $.extend({}, $.fn.accordion.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        $module  = $(this),\n        $title   = $module.find(selector.title),\n        $content = $module.find(selector.content),\n\n        element  = this,\n        instance = $module.data(moduleNamespace),\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous instance', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $title   = $module.find(selector.title);\n          $content = $module.find(selector.content);\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding delegated events');\n            $module\n              .on(settings.on + eventNamespace, selector.trigger, module.event.click)\n            ;\n          }\n        },\n\n        event: {\n          click: function() {\n            module.toggle.call(this);\n          }\n        },\n\n        toggle: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive && !isAnimating),\n            isOpening   = (!isActive && isAnimating)\n          ;\n          module.debug('Toggling visibility of content', $activeTitle);\n          if(isOpen || isOpening) {\n            if(settings.collapsible) {\n              module.close.call($activeTitle);\n            }\n            else {\n              module.debug('Cannot close accordion content collapsing is disabled');\n            }\n          }\n          else {\n            module.open.call($activeTitle);\n          }\n        },\n\n        open: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive || isAnimating)\n          ;\n          if(isOpen) {\n            module.debug('Accordion already open, skipping', $activeContent);\n            return;\n          }\n          module.debug('Opening accordion content', $activeTitle);\n          settings.onOpening.call($activeContent);\n          if(settings.exclusive) {\n            module.closeOthers.call($activeTitle);\n          }\n          $activeTitle\n            .addClass(className.active)\n          ;\n          $activeContent\n            .stop(true, true)\n            .addClass(className.animating)\n          ;\n          if(settings.animateChildren) {\n            if($.fn.transition !== undefined && $module.transition('is supported')) {\n              $activeContent\n                .children()\n                  .transition({\n                    animation   : 'fade in',\n                    queue       : false,\n                    useFailSafe : true,\n                    debug       : settings.debug,\n                    verbose     : settings.verbose,\n                    duration    : settings.duration\n                  })\n              ;\n            }\n            else {\n              $activeContent\n                .children()\n                  .stop(true, true)\n                  .animate({\n                    opacity: 1\n                  }, settings.duration, module.resetOpacity)\n              ;\n            }\n          }\n          $activeContent\n            .slideDown(settings.duration, settings.easing, function() {\n              $activeContent\n                .removeClass(className.animating)\n                .addClass(className.active)\n              ;\n              module.reset.display.call(this);\n              settings.onOpen.call(this);\n              settings.onChange.call(this);\n            })\n          ;\n        },\n\n        close: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating    = $activeContent.hasClass(className.animating),\n            isActive       = $activeContent.hasClass(className.active),\n            isOpening      = (!isActive && isAnimating),\n            isClosing      = (isActive && isAnimating)\n          ;\n          if((isActive || isOpening) && !isClosing) {\n            module.debug('Closing accordion content', $activeContent);\n            settings.onClosing.call($activeContent);\n            $activeTitle\n              .removeClass(className.active)\n            ;\n            $activeContent\n              .stop(true, true)\n              .addClass(className.animating)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $activeContent\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      queue       : false,\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $activeContent\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $activeContent\n              .slideUp(settings.duration, settings.easing, function() {\n                $activeContent\n                  .removeClass(className.animating)\n                  .removeClass(className.active)\n                ;\n                module.reset.display.call(this);\n                settings.onClose.call(this);\n                settings.onChange.call(this);\n              })\n            ;\n          }\n        },\n\n        closeOthers: function(index) {\n          var\n            $activeTitle = (index !== undefined)\n              ? $title.eq(index)\n              : $(this).closest(selector.title),\n            $parentTitles    = $activeTitle.parents(selector.content).prev(selector.title),\n            $activeAccordion = $activeTitle.closest(selector.accordion),\n            activeSelector   = selector.title + '.' + className.active + ':visible',\n            activeContent    = selector.content + '.' + className.active + ':visible',\n            $openTitles,\n            $nestedTitles,\n            $openContents\n          ;\n          if(settings.closeNested) {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $openContents = $openTitles.next($content);\n          }\n          else {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);\n            $openTitles   = $openTitles.not($nestedTitles);\n            $openContents = $openTitles.next($content);\n          }\n          if( ($openTitles.length > 0) ) {\n            module.debug('Exclusive enabled, closing other content', $openTitles);\n            $openTitles\n              .removeClass(className.active)\n            ;\n            $openContents\n              .removeClass(className.animating)\n              .stop(true, true)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $openContents\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $openContents\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $openContents\n              .slideUp(settings.duration , settings.easing, function() {\n                $(this).removeClass(className.active);\n                module.reset.display.call(this);\n              })\n            ;\n          }\n        },\n\n        reset: {\n\n          display: function() {\n            module.verbose('Removing inline display from element', this);\n            $(this).css('display', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n          opacity: function() {\n            module.verbose('Removing inline opacity from element', this);\n            $(this).css('opacity', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          module.debug('Changing internal', name, value);\n          if(value !== undefined) {\n            if( $.isPlainObject(name) ) {\n              $.extend(true, module, name);\n            }\n            else {\n              module[name] = value;\n            }\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.accordion.settings = {\n\n  name            : 'Accordion',\n  namespace       : 'accordion',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  on              : 'click', // event on title that opens accordion\n\n  observeChanges  : true,  // whether accordion should automatically refresh on DOM insertion\n\n  exclusive       : true,  // whether a single accordion content panel should be open at once\n  collapsible     : true,  // whether accordion content can be closed\n  closeNested     : false, // whether nested content should be closed when a panel is closed\n  animateChildren : true,  // whether children opacity should be animated\n\n  duration        : 350, // duration of animation\n  easing          : 'easeOutQuad', // easing equation for animation\n\n\n  onOpening       : function(){}, // callback before open animation\n  onOpen          : function(){}, // callback after open animation\n  onClosing       : function(){}, // callback before closing animation\n  onClose         : function(){}, // callback after closing animation\n  onChange        : function(){}, // callback after closing or opening animation\n\n  error: {\n    method : 'The method you called is not defined'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating'\n  },\n\n  selector    : {\n    accordion : '.accordion',\n    title     : '.title',\n    trigger   : '.title',\n    content   : '.content'\n  }\n\n};\n\n// Adds easing\n$.extend( $.easing, {\n  easeOutQuad: function (x, t, b, c, d) {\n    return -c *(t/=d)*(t-2) + b;\n  }\n});\n\n})( jQuery, window, document );\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/ad.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Ad\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2013 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n         Advertisement\n*******************************/\n\n.ui.ad {\n  display: block;\n  overflow: hidden;\n  margin: 1em 0em;\n}\n.ui.ad:first-child {\n  margin: 0em;\n}\n.ui.ad:last-child {\n  margin: 0em;\n}\n.ui.ad iframe {\n  margin: 0em;\n  padding: 0em;\n  border: none;\n  overflow: hidden;\n}\n\n/*--------------\n     Common\n---------------*/\n\n\n/* Leaderboard */\n.ui.leaderboard.ad {\n  width: 728px;\n  height: 90px;\n}\n\n/* Medium Rectangle */\n.ui[class*=\"medium rectangle\"].ad {\n  width: 300px;\n  height: 250px;\n}\n\n/* Large Rectangle */\n.ui[class*=\"large rectangle\"].ad {\n  width: 336px;\n  height: 280px;\n}\n\n/* Half Page */\n.ui[class*=\"half page\"].ad {\n  width: 300px;\n  height: 600px;\n}\n\n/*--------------\n     Square\n---------------*/\n\n\n/* Square */\n.ui.square.ad {\n  width: 250px;\n  height: 250px;\n}\n\n/* Small Square */\n.ui[class*=\"small square\"].ad {\n  width: 200px;\n  height: 200px;\n}\n\n/*--------------\n    Rectangle\n---------------*/\n\n\n/* Small Rectangle */\n.ui[class*=\"small rectangle\"].ad {\n  width: 180px;\n  height: 150px;\n}\n\n/* Vertical Rectangle */\n.ui[class*=\"vertical rectangle\"].ad {\n  width: 240px;\n  height: 400px;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.button.ad {\n  width: 120px;\n  height: 90px;\n}\n.ui[class*=\"square button\"].ad {\n  width: 125px;\n  height: 125px;\n}\n.ui[class*=\"small button\"].ad {\n  width: 120px;\n  height: 60px;\n}\n\n/*--------------\n   Skyscrapers\n---------------*/\n\n\n/* Skyscraper */\n.ui.skyscraper.ad {\n  width: 120px;\n  height: 600px;\n}\n\n/* Wide Skyscraper */\n.ui[class*=\"wide skyscraper\"].ad {\n  width: 160px;\n}\n\n/*--------------\n     Banners\n---------------*/\n\n\n/* Banner */\n.ui.banner.ad {\n  width: 468px;\n  height: 60px;\n}\n\n/* Vertical Banner */\n.ui[class*=\"vertical banner\"].ad {\n  width: 120px;\n  height: 240px;\n}\n\n/* Top Banner */\n.ui[class*=\"top banner\"].ad {\n  width: 930px;\n  height: 180px;\n}\n\n/* Half Banner */\n.ui[class*=\"half banner\"].ad {\n  width: 234px;\n  height: 60px;\n}\n\n/*--------------\n    Boards\n---------------*/\n\n\n/* Leaderboard */\n.ui[class*=\"large leaderboard\"].ad {\n  width: 970px;\n  height: 90px;\n}\n\n/* Billboard */\n.ui.billboard.ad {\n  width: 970px;\n  height: 250px;\n}\n\n/*--------------\n    Panorama\n---------------*/\n\n\n/* Panorama */\n.ui.panorama.ad {\n  width: 980px;\n  height: 120px;\n}\n\n/*--------------\n     Netboard\n---------------*/\n\n\n/* Netboard */\n.ui.netboard.ad {\n  width: 580px;\n  height: 400px;\n}\n\n/*--------------\n     Mobile\n---------------*/\n\n\n/* Large Mobile Banner */\n.ui[class*=\"large mobile banner\"].ad {\n  width: 320px;\n  height: 100px;\n}\n\n/* Mobile Leaderboard */\n.ui[class*=\"mobile leaderboard\"].ad {\n  width: 320px;\n  height: 50px;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/* Mobile Sizes */\n.ui.mobile.ad {\n  display: none;\n}\n@media only screen and (max-width: 767px) {\n  .ui.mobile.ad {\n    display: block;\n  }\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.centered.ad {\n  margin-left: auto;\n  margin-right: auto;\n}\n.ui.test.ad {\n  position: relative;\n  background: #545454;\n}\n.ui.test.ad:after {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  content: 'Ad';\n  color: #FFFFFF;\n  font-size: 1em;\n  font-weight: bold;\n}\n.ui.mobile.test.ad:after {\n  font-size: 0.85714286em;\n}\n.ui.test.ad[data-text]:after {\n  content: attr(data-text);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/api.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - API\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.api = $.fn.api = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n    moduleSelector = $allModules.selector || '',\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.api.settings, parameters)\n          : $.extend({}, $.fn.api.settings),\n\n        // internal aliases\n        namespace       = settings.namespace,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n        className       = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // element that creates request\n        $module         = $(this),\n        $form           = $module.closest(selector.form),\n\n        // context used for state\n        $context        = (settings.stateContext)\n          ? $(settings.stateContext)\n          : $module,\n\n        // request details\n        ajaxSettings,\n        requestSettings,\n        url,\n        data,\n        requestStartTime,\n\n        // standard module\n        element         = this,\n        context         = $context[0],\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          if(!methodInvoked) {\n            module.bind.events();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            var\n              triggerEvent = module.get.event()\n            ;\n            if( triggerEvent ) {\n              module.verbose('Attaching API events to element', triggerEvent);\n              $module\n                .on(triggerEvent + eventNamespace, module.event.trigger)\n              ;\n            }\n            else if(settings.on == 'now') {\n              module.debug('Querying API endpoint immediately');\n              module.query();\n            }\n          }\n        },\n\n        decode: {\n          json: function(response) {\n            if(response !== undefined && typeof response == 'string') {\n              try {\n               response = JSON.parse(response);\n              }\n              catch(e) {\n                // isnt json string\n              }\n            }\n            return response;\n          }\n        },\n\n        read: {\n          cachedResponse: function(url) {\n            var\n              response\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            response = sessionStorage.getItem(url);\n            module.debug('Using cached response', url, response);\n            response = module.decode.json(response);\n            return false;\n          }\n        },\n        write: {\n          cachedResponse: function(url, response) {\n            if(response && response === '') {\n              module.debug('Response empty, not caching', response);\n              return;\n            }\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            if( $.isPlainObject(response) ) {\n              response = JSON.stringify(response);\n            }\n            sessionStorage.setItem(url, response);\n            module.verbose('Storing cached response for url', url, response);\n          }\n        },\n\n        query: function() {\n\n          if(module.is.disabled()) {\n            module.debug('Element is disabled API request aborted');\n            return;\n          }\n\n          if(module.is.loading()) {\n            if(settings.interruptRequests) {\n              module.debug('Interrupting previous request');\n              module.abort();\n            }\n            else {\n              module.debug('Cancelling request, previous request is still pending');\n              return;\n            }\n          }\n\n          // pass element metadata to url (value, text)\n          if(settings.defaultData) {\n            $.extend(true, settings.urlData, module.get.defaultData());\n          }\n\n          // Add form content\n          if(settings.serializeForm) {\n            settings.data = module.add.formData(settings.data);\n          }\n\n          // call beforesend and get any settings changes\n          requestSettings = module.get.settings();\n\n          // check if before send cancelled request\n          if(requestSettings === false) {\n            module.cancelled = true;\n            module.error(error.beforeSend);\n            return;\n          }\n          else {\n            module.cancelled = false;\n          }\n\n          // get url\n          url = module.get.templatedURL();\n\n          if(!url && !module.is.mocked()) {\n            module.error(error.missingURL);\n            return;\n          }\n\n          // replace variables\n          url = module.add.urlData( url );\n\n          // missing url parameters\n          if( !url && !module.is.mocked()) {\n            return;\n          }\n\n\n          // look for jQuery ajax parameters in settings\n          ajaxSettings = $.extend(true, {}, settings, {\n            type       : settings.method || settings.type,\n            data       : data,\n            url        : settings.base + url,\n            beforeSend : settings.beforeXHR,\n            success    : function() {},\n            failure    : function() {},\n            complete   : function() {}\n          });\n\n          module.debug('Querying URL', ajaxSettings.url);\n          module.verbose('Using AJAX settings', ajaxSettings);\n\n          if(settings.cache === 'local' && module.read.cachedResponse(url)) {\n            module.debug('Response returned from local cache');\n            module.request = module.create.request();\n            module.request.resolveWith(context, [ module.read.cachedResponse(url) ]);\n            return;\n          }\n\n          if( !settings.throttle ) {\n            module.debug('Sending request', data, ajaxSettings.method);\n            module.send.request();\n          }\n          else {\n            if(!settings.throttleFirstRequest && !module.timer) {\n              module.debug('Sending request', data, ajaxSettings.method);\n              module.send.request();\n              module.timer = setTimeout(function(){}, settings.throttle);\n            }\n            else {\n              module.debug('Throttling request', settings.throttle);\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                if(module.timer) {\n                  delete module.timer;\n                }\n                module.debug('Sending throttled request', data, ajaxSettings.method);\n                module.send.request();\n              }, settings.throttle);\n            }\n          }\n\n        },\n\n        should: {\n          removeError: function() {\n            return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) );\n          }\n        },\n\n        is: {\n          disabled: function() {\n            return ($module.filter(selector.disabled).length > 0);\n          },\n          form: function() {\n            return $module.is('form') || $context.is('form');\n          },\n          mocked: function() {\n            return (settings.mockResponse || settings.mockResponseAsync);\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          loading: function() {\n            return (module.request && module.request.state() == 'pending');\n          },\n          abortedRequest: function(xhr) {\n            if(xhr && xhr.readyState !== undefined && xhr.readyState === 0) {\n              module.verbose('XHR request determined to be aborted');\n              return true;\n            }\n            else {\n              module.verbose('XHR request was not aborted');\n              return false;\n            }\n          },\n          validResponse: function(response) {\n            if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) {\n              module.verbose('Response is not JSON, skipping validation', settings.successTest, response);\n              return true;\n            }\n            module.debug('Checking JSON returned success', settings.successTest, response);\n            if( settings.successTest(response) ) {\n              module.debug('Response passed success test', response);\n              return true;\n            }\n            else {\n              module.debug('Response failed success test', response);\n              return false;\n            }\n          }\n        },\n\n        was: {\n          cancelled: function() {\n            return (module.cancelled || false);\n          },\n          succesful: function() {\n            return (module.request && module.request.state() == 'resolved');\n          },\n          failure: function() {\n            return (module.request && module.request.state() == 'rejected');\n          },\n          complete: function() {\n            return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') );\n          }\n        },\n\n        add: {\n          urlData: function(url, urlData) {\n            var\n              requiredVariables,\n              optionalVariables\n            ;\n            if(url) {\n              requiredVariables = url.match(settings.regExp.required);\n              optionalVariables = url.match(settings.regExp.optional);\n              urlData           = urlData || settings.urlData;\n              if(requiredVariables) {\n                module.debug('Looking for required URL variables', requiredVariables);\n                $.each(requiredVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(2, templatedString.length - 3)\n                      : templatedString.substr(1, templatedString.length - 2),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // remove value\n                  if(value === undefined) {\n                    module.error(error.requiredParameter, variable, url);\n                    url = false;\n                    return false;\n                  }\n                  else {\n                    module.verbose('Found required variable', variable, value);\n                    value = (settings.encodeParameters)\n                      ? module.get.urlEncodedValue(value)\n                      : value\n                    ;\n                    url = url.replace(templatedString, value);\n                  }\n                });\n              }\n              if(optionalVariables) {\n                module.debug('Looking for optional URL variables', requiredVariables);\n                $.each(optionalVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {/$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(3, templatedString.length - 4)\n                      : templatedString.substr(2, templatedString.length - 3),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // optional replacement\n                  if(value !== undefined) {\n                    module.verbose('Optional variable Found', variable, value);\n                    url = url.replace(templatedString, value);\n                  }\n                  else {\n                    module.verbose('Optional variable not found', variable);\n                    // remove preceding slash if set\n                    if(url.indexOf('/' + templatedString) !== -1) {\n                      url = url.replace('/' + templatedString, '');\n                    }\n                    else {\n                      url = url.replace(templatedString, '');\n                    }\n                  }\n                });\n              }\n            }\n            return url;\n          },\n          formData: function(data) {\n            var\n              canSerialize = ($.fn.serializeObject !== undefined),\n              formData     = (canSerialize)\n                ? $form.serializeObject()\n                : $form.serialize(),\n              hasOtherData\n            ;\n            data         = data || settings.data;\n            hasOtherData = $.isPlainObject(data);\n\n            if(hasOtherData) {\n              if(canSerialize) {\n                module.debug('Extending existing data with form data', data, formData);\n                data = $.extend(true, {}, data, formData);\n              }\n              else {\n                module.error(error.missingSerialize);\n                module.debug('Cant extend data. Replacing data with form data', data, formData);\n                data = formData;\n              }\n            }\n            else {\n              module.debug('Adding form data', formData);\n              data = formData;\n            }\n            return data;\n          }\n        },\n\n        send: {\n          request: function() {\n            module.set.loading();\n            module.request = module.create.request();\n            if( module.is.mocked() ) {\n              module.mockedXHR = module.create.mockedXHR();\n            }\n            else {\n              module.xhr = module.create.xhr();\n            }\n            settings.onRequest.call(context, module.request, module.xhr);\n          }\n        },\n\n        event: {\n          trigger: function(event) {\n            module.query();\n            if(event.type == 'submit' || event.type == 'click') {\n              event.preventDefault();\n            }\n          },\n          xhr: {\n            always: function() {\n              // nothing special\n            },\n            done: function(response, textStatus, xhr) {\n              var\n                context            = this,\n                elapsedTime        = (new Date().getTime() - requestStartTime),\n                timeLeft           = (settings.loadingDuration - elapsedTime),\n                translatedResponse = ( $.isFunction(settings.onResponse) )\n                  ? settings.onResponse.call(context, $.extend(true, {}, response))\n                  : false\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(translatedResponse) {\n                module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response);\n                response = translatedResponse;\n              }\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.validResponse(response) ) {\n                  module.request.resolveWith(context, [response, xhr]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'invalid']);\n                }\n              }, timeLeft);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                context     = this,\n                elapsedTime = (new Date().getTime() - requestStartTime),\n                timeLeft    = (settings.loadingDuration - elapsedTime)\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.abortedRequest(xhr) ) {\n                  module.request.rejectWith(context, [xhr, 'aborted', httpMessage]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'error', status, httpMessage]);\n                }\n              }, timeLeft);\n            }\n          },\n          request: {\n            done: function(response, xhr) {\n              module.debug('Successful API Response', response);\n              if(settings.cache === 'local' && url) {\n                module.write.cachedResponse(url, response);\n                module.debug('Saving server response locally', module.cache);\n              }\n              settings.onSuccess.call(context, response, $module, xhr);\n            },\n            complete: function(firstParameter, secondParameter) {\n              var\n                xhr,\n                response\n              ;\n              // have to guess callback parameters based on request success\n              if( module.was.succesful() ) {\n                response = firstParameter;\n                xhr      = secondParameter;\n              }\n              else {\n                xhr      = firstParameter;\n                response = module.get.responseFromXHR(xhr);\n              }\n              module.remove.loading();\n              settings.onComplete.call(context, response, $module, xhr);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                // pull response from xhr if available\n                response     = module.get.responseFromXHR(xhr),\n                errorMessage = module.get.errorFromRequest(response, status, httpMessage)\n              ;\n              if(status == 'aborted') {\n                module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);\n                settings.onAbort.call(context, status, $module, xhr);\n              }\n              else if(status == 'invalid') {\n                module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);\n              }\n              else if(status == 'error')  {\n                if(xhr !== undefined) {\n                  module.debug('XHR produced a server error', status, httpMessage);\n                  // make sure we have an error to display to console\n                  if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {\n                    module.error(error.statusMessage + httpMessage, ajaxSettings.url);\n                  }\n                  settings.onError.call(context, errorMessage, $module, xhr);\n                }\n              }\n\n              if(settings.errorDuration && status !== 'aborted') {\n                module.debug('Adding error state');\n                module.set.error();\n                if( module.should.removeError() ) {\n                  setTimeout(module.remove.error, settings.errorDuration);\n                }\n              }\n              module.debug('API Request failed', errorMessage, xhr);\n              settings.onFailure.call(context, response, $module, xhr);\n            }\n          }\n        },\n\n        create: {\n\n          request: function() {\n            // api request promise\n            return $.Deferred()\n              .always(module.event.request.complete)\n              .done(module.event.request.done)\n              .fail(module.event.request.fail)\n            ;\n          },\n\n          mockedXHR: function () {\n            var\n              // xhr does not simulate these properties of xhr but must return them\n              textStatus  = false,\n              status      = false,\n              httpMessage = false,\n              asyncCallback,\n              response,\n              mockedXHR\n            ;\n\n            mockedXHR = $.Deferred()\n              .always(module.event.xhr.complete)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n\n            if(settings.mockResponse) {\n              if( $.isFunction(settings.mockResponse) ) {\n                module.debug('Using mocked callback returning response', settings.mockResponse);\n                response = settings.mockResponse.call(context, settings);\n              }\n              else {\n                module.debug('Using specified response', settings.mockResponse);\n                response = settings.mockResponse;\n              }\n              // simulating response\n              mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n            }\n            else if( $.isFunction(settings.mockResponseAsync) ) {\n              asyncCallback = function(response) {\n                module.debug('Async callback returned response', response);\n\n                if(response) {\n                  mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n                }\n                else {\n                  mockedXHR.rejectWith(context, [{ responseText: response }, status, httpMessage]);\n                }\n              };\n              module.debug('Using async mocked response', settings.mockResponseAsync);\n              settings.mockResponseAsync.call(context, settings, asyncCallback);\n            }\n            return mockedXHR;\n          },\n\n          xhr: function() {\n            var\n              xhr\n            ;\n            // ajax request promise\n            xhr = $.ajax(ajaxSettings)\n              .always(module.event.xhr.always)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n            module.verbose('Created server request', xhr);\n            return xhr;\n          }\n        },\n\n        set: {\n          error: function() {\n            module.verbose('Adding error state to element', $context);\n            $context.addClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Adding loading state to element', $context);\n            $context.addClass(className.loading);\n            requestStartTime = new Date().getTime();\n          }\n        },\n\n        remove: {\n          error: function() {\n            module.verbose('Removing error state from element', $context);\n            $context.removeClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Removing loading state from element', $context);\n            $context.removeClass(className.loading);\n          }\n        },\n\n        get: {\n          responseFromXHR: function(xhr) {\n            return $.isPlainObject(xhr)\n              ? (settings.dataType == 'json' || settings.dataType == 'jsonp')\n                ? module.decode.json(xhr.responseText)\n                : xhr.responseText\n              : false\n            ;\n          },\n          errorFromRequest: function(response, status, httpMessage) {\n            return ($.isPlainObject(response) && response.error !== undefined)\n              ? response.error // use json error message\n              : (settings.error[status] !== undefined) // use server error message\n                ? settings.error[status]\n                : httpMessage\n            ;\n          },\n          request: function() {\n            return module.request || false;\n          },\n          xhr: function() {\n            return module.xhr || false;\n          },\n          settings: function() {\n            var\n              runSettings\n            ;\n            runSettings = settings.beforeSend.call(context, settings);\n            if(runSettings) {\n              if(runSettings.success !== undefined) {\n                module.debug('Legacy success callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.success);\n                runSettings.onSuccess = runSettings.success;\n              }\n              if(runSettings.failure !== undefined) {\n                module.debug('Legacy failure callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.failure);\n                runSettings.onFailure = runSettings.failure;\n              }\n              if(runSettings.complete !== undefined) {\n                module.debug('Legacy complete callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.complete);\n                runSettings.onComplete = runSettings.complete;\n              }\n            }\n            if(runSettings === undefined) {\n              module.error(error.noReturnedValue);\n            }\n            return (runSettings !== undefined)\n              ? runSettings\n              : settings\n            ;\n          },\n          urlEncodedValue: function(value) {\n            var\n              decodedValue   = window.decodeURIComponent(value),\n              encodedValue   = window.encodeURIComponent(value),\n              alreadyEncoded = (decodedValue !== value)\n            ;\n            if(alreadyEncoded) {\n              module.debug('URL value is already encoded, avoiding double encoding', value);\n              return value;\n            }\n            module.verbose('Encoding value using encodeURIComponent', value, encodedValue);\n            return encodedValue;\n          },\n          defaultData: function() {\n            var\n              data = {}\n            ;\n            if( !$.isWindow(element) ) {\n              if( module.is.input() ) {\n                data.value = $module.val();\n              }\n              else if( !module.is.form() ) {\n\n              }\n              else {\n                data.text = $module.text();\n              }\n            }\n            return data;\n          },\n          event: function() {\n            if( $.isWindow(element) || settings.on == 'now' ) {\n              module.debug('API called without element, no events attached');\n              return false;\n            }\n            else if(settings.on == 'auto') {\n              if( $module.is('input') ) {\n                return (element.oninput !== undefined)\n                  ? 'input'\n                  : (element.onpropertychange !== undefined)\n                    ? 'propertychange'\n                    : 'keyup'\n                ;\n              }\n              else if( $module.is('form') ) {\n                return 'submit';\n              }\n              else {\n                return 'click';\n              }\n            }\n            else {\n              return settings.on;\n            }\n          },\n          templatedURL: function(action) {\n            action = action || $module.data(metadata.action) || settings.action || false;\n            url    = $module.data(metadata.url) || settings.url || false;\n            if(url) {\n              module.debug('Using specified url', url);\n              return url;\n            }\n            if(action) {\n              module.debug('Looking up url for action', action, settings.api);\n              if(settings.api[action] === undefined && !module.is.mocked()) {\n                module.error(error.missingAction, settings.action, settings.api);\n                return;\n              }\n              url = settings.api[action];\n            }\n            else if( module.is.form() ) {\n              url = $module.attr('action') || $context.attr('action') || false;\n              module.debug('No url or action specified, defaulting to form action', url);\n            }\n            return url;\n          }\n        },\n\n        abort: function() {\n          var\n            xhr = module.get.xhr()\n          ;\n          if( xhr && xhr.state() !== 'resolved') {\n            module.debug('Cancelling API request');\n            xhr.abort();\n          }\n        },\n\n        // reset state\n        reset: function() {\n          module.remove.error();\n          module.remove.loading();\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                //'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.api.settings = {\n\n  name              : 'API',\n  namespace         : 'api',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  // object containing all templates endpoints\n  api               : {},\n\n  // whether to cache responses\n  cache             : true,\n\n  // whether new requests should abort previous requests\n  interruptRequests : true,\n\n  // event binding\n  on                : 'auto',\n\n  // context for applying state classes\n  stateContext      : false,\n\n  // duration for loading state\n  loadingDuration   : 0,\n\n  // whether to hide errors after a period of time\n  hideError         : 'auto',\n\n  // duration for error state\n  errorDuration     : 2000,\n\n  // whether parameters should be encoded with encodeURIComponent\n  encodeParameters  : true,\n\n  // API action to use\n  action            : false,\n\n  // templated URL to use\n  url               : false,\n\n  // base URL to apply to all endpoints\n  base              : '',\n\n  // data that will\n  urlData           : {},\n\n  // whether to add default data to url data\n  defaultData          : true,\n\n  // whether to serialize closest form\n  serializeForm        : false,\n\n  // how long to wait before request should occur\n  throttle             : 0,\n\n  // whether to throttle first request or only repeated\n  throttleFirstRequest : true,\n\n  // standard ajax settings\n  method            : 'get',\n  data              : {},\n  dataType          : 'json',\n\n  // mock response\n  mockResponse      : false,\n  mockResponseAsync : false,\n\n  // callbacks before request\n  beforeSend  : function(settings) { return settings; },\n  beforeXHR   : function(xhr) {},\n  onRequest   : function(promise, xhr) {},\n\n  // after request\n  onResponse  : false, // function(response) { },\n\n  // response was successful, if JSON passed validation\n  onSuccess   : function(response, $module) {},\n\n  // request finished without aborting\n  onComplete  : function(response, $module) {},\n\n  // failed JSON success test\n  onFailure   : function(response, $module) {},\n\n  // server error\n  onError     : function(errorMessage, $module) {},\n\n  // request aborted\n  onAbort     : function(errorMessage, $module) {},\n\n  successTest : false,\n\n  // errors\n  error : {\n    beforeSend        : 'The before send function has aborted the request',\n    error             : 'There was an error with your request',\n    exitConditions    : 'API Request Aborted. Exit conditions met',\n    JSONParse         : 'JSON could not be parsed during error handling',\n    legacyParameters  : 'You are using legacy API success callback names',\n    method            : 'The method you called is not defined',\n    missingAction     : 'API action used but no url was defined',\n    missingSerialize  : 'jquery-serialize-object is required to add form data to an existing data object',\n    missingURL        : 'No URL specified for api event',\n    noReturnedValue   : 'The beforeSend callback must return a settings object, beforeSend ignored.',\n    noStorage         : 'Caching responses locally requires session storage',\n    parseError        : 'There was an error parsing your request',\n    requiredParameter : 'Missing a required URL parameter: ',\n    statusMessage     : 'Server gave an error: ',\n    timeout           : 'Your request timed out'\n  },\n\n  regExp  : {\n    required : /\\{\\$*[A-z0-9]+\\}/g,\n    optional : /\\{\\/\\$*[A-z0-9]+\\}/g,\n  },\n\n  className: {\n    loading : 'loading',\n    error   : 'error'\n  },\n\n  selector: {\n    disabled : '.disabled',\n    form      : 'form'\n  },\n\n  metadata: {\n    action  : 'action',\n    url     : 'url'\n  }\n};\n\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/breadcrumb.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Breadcrumb\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Breadcrumb\n*******************************/\n\n.ui.breadcrumb {\n  line-height: 1;\n  display: inline-block;\n  margin: 0em 0em;\n  vertical-align: middle;\n}\n.ui.breadcrumb:first-child {\n  margin-top: 0em;\n}\n.ui.breadcrumb:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n          Content\n*******************************/\n\n\n/* Divider */\n.ui.breadcrumb .divider {\n  display: inline-block;\n  opacity: 0.7;\n  margin: 0em 0.21428571rem 0em;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n  vertical-align: baseline;\n}\n\n/* Link */\n.ui.breadcrumb a {\n  color: #4183C4;\n}\n.ui.breadcrumb a:hover {\n  color: #1e70bf;\n}\n\n/* Icon Divider */\n.ui.breadcrumb .icon.divider {\n  font-size: 0.85714286em;\n  vertical-align: baseline;\n}\n\n/* Section */\n.ui.breadcrumb a.section {\n  cursor: pointer;\n}\n.ui.breadcrumb .section {\n  display: inline-block;\n  margin: 0em;\n  padding: 0em;\n}\n\n/* Loose Coupling */\n.ui.breadcrumb.segment {\n  display: inline-block;\n  padding: 0.71428571em 1em;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.breadcrumb .active.section {\n  font-weight: bold;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.mini.breadcrumb {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.breadcrumb {\n  font-size: 0.85714286rem;\n}\n.ui.small.breadcrumb {\n  font-size: 0.92857143rem;\n}\n.ui.breadcrumb {\n  font-size: 1rem;\n}\n.ui.large.breadcrumb {\n  font-size: 1.14285714rem;\n}\n.ui.big.breadcrumb {\n  font-size: 1.28571429rem;\n}\n.ui.huge.breadcrumb {\n  font-size: 1.42857143rem;\n}\n.ui.massive.breadcrumb {\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/button.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Button\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Button\n*******************************/\n\n.ui.button {\n  cursor: pointer;\n  display: inline-block;\n  min-height: 1em;\n  outline: none;\n  border: none;\n  vertical-align: baseline;\n  background: #E0E1E2 none;\n  color: rgba(0, 0, 0, 0.6);\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em 0.25em 0em 0em;\n  padding: 0.78571429em 1.5em 0.78571429em;\n  text-transform: none;\n  text-shadow: none;\n  font-weight: bold;\n  line-height: 1em;\n  font-style: normal;\n  text-align: center;\n  text-decoration: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n          transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n  will-change: '';\n  -webkit-tap-highlight-color: transparent;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.button:hover {\n  background-color: #CACBCD;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.button:hover .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Focus\n---------------*/\n\n.ui.button:focus {\n  background-color: #CACBCD;\n  color: rgba(0, 0, 0, 0.8);\n  background-image: '' !important;\n  box-shadow: '' !important;\n}\n.ui.button:focus .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.button:active,\n.ui.active.button:active {\n  background-color: #BABBBC;\n  background-image: '';\n  color: rgba(0, 0, 0, 0.9);\n  box-shadow: 0px 0px 0px 1px transparent inset, none;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.button {\n  background-color: #C0C1C2;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.active.button:hover {\n  background-color: #C0C1C2;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.active.button:active {\n  background-color: #C0C1C2;\n  background-image: none;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n\n/* Specificity hack */\n.ui.loading.loading.loading.loading.loading.loading.button {\n  position: relative;\n  cursor: default;\n  text-shadow: none !important;\n  color: transparent !important;\n  opacity: 1;\n  pointer-events: auto;\n  -webkit-transition: all 0s linear, opacity 0.1s ease;\n          transition: all 0s linear, opacity 0.1s ease;\n}\n.ui.loading.button:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.15);\n}\n.ui.loading.button:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #FFFFFF transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n.ui.labeled.icon.loading.button .icon {\n  background-color: transparent;\n  box-shadow: none;\n}\n@-webkit-keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.ui.basic.loading.button:not(.inverted):before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n.ui.basic.loading.button:not(.inverted):after {\n  border-top-color: #767676;\n}\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.buttons .disabled.button,\n.ui.disabled.button,\n.ui.button:disabled,\n.ui.disabled.button:hover,\n.ui.disabled.active.button {\n  cursor: default;\n  opacity: 0.45 !important;\n  background-image: none !important;\n  box-shadow: none !important;\n  pointer-events: none;\n}\n\n/* Basic Group With Disabled */\n.ui.basic.buttons .ui.disabled.button {\n  border-color: rgba(34, 36, 38, 0.5);\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.button {\n  position: relative;\n  overflow: hidden;\n  padding-right: 0em !important;\n  vertical-align: middle;\n  z-index: 1;\n}\n.ui.animated.button .content {\n  will-change: transform, opacity;\n}\n.ui.animated.button .visible.content {\n  position: relative;\n  margin-right: 1.5em;\n}\n.ui.animated.button .hidden.content {\n  position: absolute;\n  width: 100%;\n}\n\n/* Horizontal */\n.ui.animated.button .visible.content,\n.ui.animated.button .hidden.content {\n  -webkit-transition: right 0.3s ease 0s;\n          transition: right 0.3s ease 0s;\n}\n.ui.animated.button .visible.content {\n  left: auto;\n  right: 0%;\n}\n.ui.animated.button .hidden.content {\n  top: 50%;\n  left: auto;\n  right: -100%;\n  margin-top: -0.5em;\n}\n.ui.animated.button:focus .visible.content,\n.ui.animated.button:hover .visible.content {\n  left: auto;\n  right: 200%;\n}\n.ui.animated.button:focus .hidden.content,\n.ui.animated.button:hover .hidden.content {\n  left: auto;\n  right: 0%;\n}\n\n/* Vertical */\n.ui.vertical.animated.button .visible.content,\n.ui.vertical.animated.button .hidden.content {\n  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;\n          transition: top 0.3s ease, transform 0.3s ease;\n}\n.ui.vertical.animated.button .visible.content {\n  -webkit-transform: translateY(0%);\n      -ms-transform: translateY(0%);\n          transform: translateY(0%);\n  right: auto;\n}\n.ui.vertical.animated.button .hidden.content {\n  top: -50%;\n  left: 0%;\n  right: auto;\n}\n.ui.vertical.animated.button:focus .visible.content,\n.ui.vertical.animated.button:hover .visible.content {\n  -webkit-transform: translateY(200%);\n      -ms-transform: translateY(200%);\n          transform: translateY(200%);\n  right: auto;\n}\n.ui.vertical.animated.button:focus .hidden.content,\n.ui.vertical.animated.button:hover .hidden.content {\n  top: 50%;\n  right: auto;\n}\n\n/* Fade */\n.ui.fade.animated.button .visible.content,\n.ui.fade.animated.button .hidden.content {\n  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;\n          transition: opacity 0.3s ease, transform 0.3s ease;\n}\n.ui.fade.animated.button .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n      -ms-transform: scale(1);\n          transform: scale(1);\n}\n.ui.fade.animated.button .hidden.content {\n  opacity: 0;\n  left: 0%;\n  right: auto;\n  -webkit-transform: scale(1.5);\n      -ms-transform: scale(1.5);\n          transform: scale(1.5);\n}\n.ui.fade.animated.button:focus .visible.content,\n.ui.fade.animated.button:hover .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 0;\n  -webkit-transform: scale(0.75);\n      -ms-transform: scale(0.75);\n          transform: scale(0.75);\n}\n.ui.fade.animated.button:focus .hidden.content,\n.ui.fade.animated.button:hover .hidden.content {\n  left: 0%;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n      -ms-transform: scale(1);\n          transform: scale(1);\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.button {\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  background: transparent none;\n  color: #FFFFFF;\n  text-shadow: none !important;\n}\n\n/* Group */\n.ui.inverted.buttons .button {\n  margin: 0px 0px 0px -2px;\n}\n.ui.inverted.buttons .button:first-child {\n  margin-left: 0em;\n}\n.ui.inverted.vertical.buttons .button {\n  margin: 0px 0px -2px 0px;\n}\n.ui.inverted.vertical.buttons .button:first-child {\n  margin-top: 0em;\n}\n\n/* States */\n\n/* Hover */\n.ui.inverted.button:hover {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active / Focus */\n.ui.inverted.button:focus,\n.ui.inverted.button.active {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active Focus */\n.ui.inverted.button.active:focus {\n  background: #DCDDDE;\n  box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n    Labeled Button\n--------------------*/\n\n.ui.labeled.button:not(.icon) {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  background: none !important;\n  padding: 0px !important;\n  border: none !important;\n  box-shadow: none !important;\n}\n.ui.labeled.button > .button {\n  margin: 0px;\n}\n.ui.labeled.button > .label {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  margin: 0px 0px 0px -1px !important;\n  padding: '';\n  font-size: 1em;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Tag */\n.ui.labeled.button > .tag.label:before {\n  width: 1.85em;\n  height: 1.85em;\n}\n\n/* Right */\n.ui.labeled.button:not([class*=\"left labeled\"]) > .button {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n.ui.labeled.button:not([class*=\"left labeled\"]) > .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n/* Left Side */\n.ui[class*=\"left labeled\"].button > .button {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n.ui[class*=\"left labeled\"].button > .label {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n/*-------------------\n       Social\n--------------------*/\n\n\n/* Facebook */\n.ui.facebook.button {\n  background-color: #3B5998;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.facebook.button:hover {\n  background-color: #304d8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.facebook.button:active {\n  background-color: #2d4373;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Twitter */\n.ui.twitter.button {\n  background-color: #0084B4;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.twitter.button:hover {\n  background-color: #00719b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.twitter.button:active {\n  background-color: #005f81;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Google Plus */\n.ui.google.plus.button {\n  background-color: #DC4A38;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.google.plus.button:hover {\n  background-color: #de321d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.google.plus.button:active {\n  background-color: #bf3322;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Linked In */\n.ui.linkedin.button {\n  background-color: #1F88BE;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.linkedin.button:hover {\n  background-color: #147baf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.linkedin.button:active {\n  background-color: #186992;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* YouTube */\n.ui.youtube.button {\n  background-color: #CC181E;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.youtube.button:hover {\n  background-color: #bd0d13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.youtube.button:active {\n  background-color: #9e1317;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Instagram */\n.ui.instagram.button {\n  background-color: #49769C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.instagram.button:hover {\n  background-color: #3d698e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.instagram.button:active {\n  background-color: #395c79;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Pinterest */\n.ui.pinterest.button {\n  background-color: #00ACED;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.pinterest.button:hover {\n  background-color: #0099d4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pinterest.button:active {\n  background-color: #0087ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* VK */\n.ui.vk.button {\n  background-color: #4D7198;\n  color: #FFFFFF;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.vk.button:hover {\n  background-color: #41648a;\n  color: #FFFFFF;\n}\n.ui.vk.button:active {\n  background-color: #3c5876;\n  color: #FFFFFF;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.button > .icon:not(.button) {\n  height: 0.85714286em;\n  opacity: 0.8;\n  margin: 0em 0.42857143em 0em -0.21428571em;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n  vertical-align: '';\n  color: '';\n}\n.ui.button > .right.icon:not(.button) {\n  margin: 0em -0.21428571em 0em 0.42857143em;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui[class*=\"left floated\"].buttons,\n.ui[class*=\"left floated\"].button {\n  float: left;\n  margin-left: 0em;\n  margin-right: 0.25em;\n}\n.ui[class*=\"right floated\"].buttons,\n.ui[class*=\"right floated\"].button {\n  float: right;\n  margin-right: 0em;\n  margin-left: 0.25em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.buttons .button,\n.ui.compact.button {\n  padding: 0.58928571em 1.125em 0.58928571em;\n}\n.ui.compact.icon.buttons .button,\n.ui.compact.icon.button {\n  padding: 0.58928571em 0.58928571em 0.58928571em;\n}\n.ui.compact.labeled.icon.buttons .button,\n.ui.compact.labeled.icon.button {\n  padding: 0.58928571em 3.69642857em 0.58928571em;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.buttons .button,\n.ui.mini.buttons .or,\n.ui.mini.button {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.buttons .button,\n.ui.tiny.buttons .or,\n.ui.tiny.button {\n  font-size: 0.85714286rem;\n}\n.ui.small.buttons .button,\n.ui.small.buttons .or,\n.ui.small.button {\n  font-size: 0.92857143rem;\n}\n.ui.buttons .button,\n.ui.buttons .or,\n.ui.button {\n  font-size: 1rem;\n}\n.ui.large.buttons .button,\n.ui.large.buttons .or,\n.ui.large.button {\n  font-size: 1.14285714rem;\n}\n.ui.big.buttons .button,\n.ui.big.buttons .or,\n.ui.big.button {\n  font-size: 1.28571429rem;\n}\n.ui.huge.buttons .button,\n.ui.huge.buttons .or,\n.ui.huge.button {\n  font-size: 1.42857143rem;\n}\n.ui.massive.buttons .button,\n.ui.massive.buttons .or,\n.ui.massive.button {\n  font-size: 1.71428571rem;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n.ui.icon.buttons .button,\n.ui.icon.button {\n  padding: 0.78571429em 0.78571429em 0.78571429em;\n}\n.ui.icon.buttons .button > .icon,\n.ui.icon.button > .icon {\n  opacity: 0.9;\n  margin: 0em;\n  vertical-align: top;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.buttons .button,\n.ui.basic.button {\n  background: transparent none !important;\n  color: rgba(0, 0, 0, 0.6) !important;\n  font-weight: normal;\n  border-radius: 0.28571429rem;\n  text-transform: none;\n  text-shadow: none !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons {\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n.ui.basic.buttons .button {\n  border-radius: 0em;\n}\n.ui.basic.buttons .button:hover,\n.ui.basic.button:hover {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons .button:focus,\n.ui.basic.button:focus {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons .button:active,\n.ui.basic.button:active {\n  background: #F8F8F8 !important;\n  color: rgba(0, 0, 0, 0.9) !important;\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons .active.button,\n.ui.basic.active.button {\n  background: rgba(0, 0, 0, 0.05) !important;\n  box-shadow: '' !important;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: rgba(34, 36, 38, 0.35);\n}\n.ui.basic.buttons .active.button:hover,\n.ui.basic.active.button:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n/* Vertical */\n.ui.basic.buttons .button:hover {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n.ui.basic.buttons .button:active {\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n.ui.basic.buttons .active.button {\n  box-shadow: rgba(34, 36, 38, 0.35) inset;\n}\n\n/* Standard Basic Inverted */\n.ui.basic.inverted.buttons .button,\n.ui.basic.inverted.button {\n  background-color: transparent !important;\n  color: #F9FAFB !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n}\n.ui.basic.inverted.buttons .button:hover,\n.ui.basic.inverted.button:hover {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n.ui.basic.inverted.buttons .button:focus,\n.ui.basic.inverted.button:focus {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n.ui.basic.inverted.buttons .button:active,\n.ui.basic.inverted.button:active {\n  background-color: rgba(255, 255, 255, 0.08) !important;\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important;\n}\n.ui.basic.inverted.buttons .active.button,\n.ui.basic.inverted.active.button {\n  background-color: rgba(255, 255, 255, 0.08);\n  color: #FFFFFF;\n  text-shadow: none;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;\n}\n.ui.basic.inverted.buttons .active.button:hover,\n.ui.basic.inverted.active.button:hover {\n  background-color: rgba(255, 255, 255, 0.15);\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n/* Basic Group */\n.ui.basic.buttons .button {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n.ui.basic.vertical.buttons .button {\n  border-left: none;\n}\n.ui.basic.vertical.buttons .button {\n  border-left-width: 0px;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.basic.vertical.buttons .button:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Labeled Icon\n---------------*/\n\n.ui.labeled.icon.buttons .button,\n.ui.labeled.icon.button {\n  position: relative;\n  padding-left: 4.07142857em !important;\n  padding-right: 1.5em !important;\n}\n\n/* Left Labeled */\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  position: absolute;\n  height: 100%;\n  line-height: 1;\n  border-radius: 0px;\n  border-top-left-radius: inherit;\n  border-bottom-left-radius: inherit;\n  text-align: center;\n  margin: 0em;\n  width: 2.57142857em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: '';\n  box-shadow: -1px 0px 0px 0px transparent inset;\n}\n\n/* Left Labeled */\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  top: 0em;\n  left: 0em;\n}\n\n/* Right Labeled */\n.ui[class*=\"right labeled\"].icon.button {\n  padding-right: 4.07142857em !important;\n  padding-left: 1.5em !important;\n}\n.ui[class*=\"right labeled\"].icon.button > .icon {\n  left: auto;\n  right: 0em;\n  border-radius: 0px;\n  border-top-right-radius: inherit;\n  border-bottom-right-radius: inherit;\n  box-shadow: 1px 0px 0px 0px transparent inset;\n}\n.ui.labeled.icon.buttons > .button > .icon:before,\n.ui.labeled.icon.button > .icon:before,\n.ui.labeled.icon.buttons > .button > .icon:after,\n.ui.labeled.icon.button > .icon:after {\n  display: block;\n  position: absolute;\n  width: 100%;\n  top: 50%;\n  text-align: center;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n}\n.ui.labeled.icon.buttons .button > .icon {\n  border-radius: 0em;\n}\n.ui.labeled.icon.buttons .button:first-child > .icon {\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n.ui.labeled.icon.buttons .button:last-child > .icon {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n.ui.vertical.labeled.icon.buttons .button:first-child > .icon {\n  border-radius: 0em;\n  border-top-left-radius: 0.28571429rem;\n}\n.ui.vertical.labeled.icon.buttons .button:last-child > .icon {\n  border-radius: 0em;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n/* Fluid Labeled */\n.ui.fluid[class*=\"left labeled\"].icon.button,\n.ui.fluid[class*=\"right labeled\"].icon.button {\n  padding-left: 1.5em !important;\n  padding-right: 1.5em !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n\n/* Toggle (Modifies active state to give affordances) */\n.ui.toggle.buttons .active.button,\n.ui.buttons .button.toggle.active,\n.ui.button.toggle.active {\n  background-color: #21BA45 !important;\n  box-shadow: none !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n.ui.button.toggle.active:hover {\n  background-color: #16ab39 !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.button {\n  border-radius: 10em;\n}\n.ui.circular.button > .icon {\n  width: 1em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n      Or Buttons\n--------------------*/\n\n.ui.buttons .or {\n  position: relative;\n  width: 0.3em;\n  height: 2.57142857em;\n  z-index: 3;\n}\n.ui.buttons .or:before {\n  position: absolute;\n  text-align: center;\n  border-radius: 500rem;\n  content: 'or';\n  top: 50%;\n  left: 50%;\n  background-color: #FFFFFF;\n  text-shadow: none;\n  margin-top: -0.89285714em;\n  margin-left: -0.89285714em;\n  width: 1.78571429em;\n  height: 1.78571429em;\n  line-height: 1.78571429em;\n  color: rgba(0, 0, 0, 0.4);\n  font-style: normal;\n  font-weight: bold;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n}\n.ui.buttons .or[data-text]:before {\n  content: attr(data-text);\n}\n\n/* Fluid Or */\n.ui.fluid.buttons .or {\n  width: 0em !important;\n}\n.ui.fluid.buttons .or:after {\n  display: none;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n\n/* Singular */\n.ui.attached.button {\n  position: relative;\n  display: block;\n  margin: 0em;\n  border-radius: 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;\n}\n\n/* Top / Bottom */\n.ui.attached.top.button {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.attached.bottom.button {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Left / Right */\n.ui.left.attached.button {\n  display: inline-block;\n  border-left: none;\n  text-align: right;\n  padding-right: 0.75em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui.right.attached.button {\n  display: inline-block;\n  text-align: left;\n  padding-left: 0.75em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/* Plural */\n.ui.attached.buttons {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  border-radius: 0em;\n  width: auto !important;\n  z-index: 2;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n.ui.attached.buttons .button {\n  margin: 0em;\n}\n.ui.attached.buttons .button:first-child {\n  border-radius: 0em;\n}\n.ui.attached.buttons .button:last-child {\n  border-radius: 0em;\n}\n\n/* Top / Bottom */\n.ui[class*=\"top attached\"].buttons {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui[class*=\"top attached\"].buttons .button:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui[class*=\"top attached\"].buttons .button:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui[class*=\"bottom attached\"].buttons {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].buttons .button:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].buttons .button:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Left / Right */\n.ui[class*=\"left attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-right: 0em;\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui[class*=\"left attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui[class*=\"left attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n.ui[class*=\"right attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-left: 0em;\n  margin-right: -1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui[class*=\"right attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui[class*=\"right attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.buttons,\n.ui.fluid.button {\n  width: 100%;\n}\n.ui.fluid.button {\n  display: block;\n}\n.ui.two.buttons {\n  width: 100%;\n}\n.ui.two.buttons > .button {\n  width: 50%;\n}\n.ui.three.buttons {\n  width: 100%;\n}\n.ui.three.buttons > .button {\n  width: 33.333%;\n}\n.ui.four.buttons {\n  width: 100%;\n}\n.ui.four.buttons > .button {\n  width: 25%;\n}\n.ui.five.buttons {\n  width: 100%;\n}\n.ui.five.buttons > .button {\n  width: 20%;\n}\n.ui.six.buttons {\n  width: 100%;\n}\n.ui.six.buttons > .button {\n  width: 16.666%;\n}\n.ui.seven.buttons {\n  width: 100%;\n}\n.ui.seven.buttons > .button {\n  width: 14.285%;\n}\n.ui.eight.buttons {\n  width: 100%;\n}\n.ui.eight.buttons > .button {\n  width: 12.500%;\n}\n.ui.nine.buttons {\n  width: 100%;\n}\n.ui.nine.buttons > .button {\n  width: 11.11%;\n}\n.ui.ten.buttons {\n  width: 100%;\n}\n.ui.ten.buttons > .button {\n  width: 10%;\n}\n.ui.eleven.buttons {\n  width: 100%;\n}\n.ui.eleven.buttons > .button {\n  width: 9.09%;\n}\n.ui.twelve.buttons {\n  width: 100%;\n}\n.ui.twelve.buttons > .button {\n  width: 8.3333%;\n}\n\n/* Fluid Vertical Buttons */\n.ui.fluid.vertical.buttons,\n.ui.fluid.vertical.buttons > .button {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: auto;\n}\n.ui.two.vertical.buttons > .button {\n  height: 50%;\n}\n.ui.three.vertical.buttons > .button {\n  height: 33.333%;\n}\n.ui.four.vertical.buttons > .button {\n  height: 25%;\n}\n.ui.five.vertical.buttons > .button {\n  height: 20%;\n}\n.ui.six.vertical.buttons > .button {\n  height: 16.666%;\n}\n.ui.seven.vertical.buttons > .button {\n  height: 14.285%;\n}\n.ui.eight.vertical.buttons > .button {\n  height: 12.500%;\n}\n.ui.nine.vertical.buttons > .button {\n  height: 11.11%;\n}\n.ui.ten.vertical.buttons > .button {\n  height: 10%;\n}\n.ui.eleven.vertical.buttons > .button {\n  height: 9.09%;\n}\n.ui.twelve.vertical.buttons > .button {\n  height: 8.3333%;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/*--- Black ---*/\n\n.ui.black.buttons .button,\n.ui.black.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.black.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.black.buttons .button:hover,\n.ui.black.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.black.buttons .button:focus,\n.ui.black.button:focus {\n  background-color: #2f3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.black.buttons .button:active,\n.ui.black.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.black.buttons .active.button,\n.ui.black.buttons .active.button:active,\n.ui.black.active.button,\n.ui.black.button .active.button:active {\n  background-color: #0f0f10;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.black.buttons .button,\n.ui.basic.black.button {\n  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;\n  color: #1B1C1D !important;\n}\n.ui.basic.black.buttons .button:hover,\n.ui.basic.black.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\n  color: #27292a !important;\n}\n.ui.basic.black.buttons .button:focus,\n.ui.basic.black.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #2f3032 inset !important;\n  color: #27292a !important;\n}\n.ui.basic.black.buttons .active.button,\n.ui.basic.black.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;\n  color: #343637 !important;\n}\n.ui.basic.black.buttons .button:active,\n.ui.basic.black.button:active {\n  box-shadow: 0px 0px 0px 1px #343637 inset !important;\n  color: #343637 !important;\n}\n.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.black.buttons .button,\n.ui.inverted.black.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover,\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus,\n.ui.inverted.black.buttons .button.active,\n.ui.inverted.black.button.active,\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover {\n  background-color: #000000;\n}\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus {\n  background-color: #000000;\n}\n.ui.inverted.black.buttons .active.button,\n.ui.inverted.black.active.button {\n  background-color: #000000;\n}\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  background-color: #000000;\n}\n\n/* Inverted Basic */\n.ui.inverted.black.basic.buttons .button,\n.ui.inverted.black.buttons .basic.button,\n.ui.inverted.black.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.black.basic.buttons .button:hover,\n.ui.inverted.black.buttons .basic.button:hover,\n.ui.inverted.black.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #545454 !important;\n}\n.ui.inverted.black.basic.buttons .active.button,\n.ui.inverted.black.buttons .basic.active.button,\n.ui.inverted.black.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.black.basic.buttons .button:active,\n.ui.inverted.black.buttons .basic.button:active,\n.ui.inverted.black.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.buttons .button,\n.ui.grey.button {\n  background-color: #767676;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.grey.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.grey.buttons .button:hover,\n.ui.grey.button:hover {\n  background-color: #838383;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.grey.buttons .button:focus,\n.ui.grey.button:focus {\n  background-color: #8a8a8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.grey.buttons .button:active,\n.ui.grey.button:active {\n  background-color: #909090;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.grey.buttons .active.button,\n.ui.grey.buttons .active.button:active,\n.ui.grey.active.button,\n.ui.grey.button .active.button:active {\n  background-color: #696969;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.grey.buttons .button,\n.ui.basic.grey.button {\n  box-shadow: 0px 0px 0px 1px #767676 inset !important;\n  color: #767676 !important;\n}\n.ui.basic.grey.buttons .button:hover,\n.ui.basic.grey.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #838383 inset !important;\n  color: #838383 !important;\n}\n.ui.basic.grey.buttons .button:focus,\n.ui.basic.grey.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8a8a8a inset !important;\n  color: #838383 !important;\n}\n.ui.basic.grey.buttons .active.button,\n.ui.basic.grey.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #696969 inset !important;\n  color: #909090 !important;\n}\n.ui.basic.grey.buttons .button:active,\n.ui.basic.grey.button:active {\n  box-shadow: 0px 0px 0px 1px #909090 inset !important;\n  color: #909090 !important;\n}\n.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.grey.buttons .button,\n.ui.inverted.grey.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover,\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus,\n.ui.inverted.grey.buttons .button.active,\n.ui.inverted.grey.button.active,\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover {\n  background-color: #cfd0d2;\n}\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus {\n  background-color: #c7c9cb;\n}\n.ui.inverted.grey.buttons .active.button,\n.ui.inverted.grey.active.button {\n  background-color: #cfd0d2;\n}\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  background-color: #c2c4c5;\n}\n\n/* Inverted Basic */\n.ui.inverted.grey.basic.buttons .button,\n.ui.inverted.grey.buttons .basic.button,\n.ui.inverted.grey.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.grey.basic.buttons .button:hover,\n.ui.inverted.grey.buttons .basic.button:hover,\n.ui.inverted.grey.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;\n  color: #DCDDDE !important;\n}\n.ui.inverted.grey.basic.buttons .active.button,\n.ui.inverted.grey.buttons .basic.active.button,\n.ui.inverted.grey.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.grey.basic.buttons .button:active,\n.ui.inverted.grey.buttons .basic.button:active,\n.ui.inverted.grey.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.buttons .button,\n.ui.brown.button {\n  background-color: #A5673F;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.brown.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.brown.buttons .button:hover,\n.ui.brown.button:hover {\n  background-color: #975b33;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.brown.buttons .button:focus,\n.ui.brown.button:focus {\n  background-color: #90532b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.brown.buttons .button:active,\n.ui.brown.button:active {\n  background-color: #805031;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.brown.buttons .active.button,\n.ui.brown.buttons .active.button:active,\n.ui.brown.active.button,\n.ui.brown.button .active.button:active {\n  background-color: #995a31;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.brown.buttons .button,\n.ui.basic.brown.button {\n  box-shadow: 0px 0px 0px 1px #A5673F inset !important;\n  color: #A5673F !important;\n}\n.ui.basic.brown.buttons .button:hover,\n.ui.basic.brown.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #975b33 inset !important;\n  color: #975b33 !important;\n}\n.ui.basic.brown.buttons .button:focus,\n.ui.basic.brown.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #90532b inset !important;\n  color: #975b33 !important;\n}\n.ui.basic.brown.buttons .active.button,\n.ui.basic.brown.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #995a31 inset !important;\n  color: #805031 !important;\n}\n.ui.basic.brown.buttons .button:active,\n.ui.basic.brown.button:active {\n  box-shadow: 0px 0px 0px 1px #805031 inset !important;\n  color: #805031 !important;\n}\n.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.brown.buttons .button,\n.ui.inverted.brown.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D67C1C inset !important;\n  color: #D67C1C;\n}\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover,\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus,\n.ui.inverted.brown.buttons .button.active,\n.ui.inverted.brown.button.active,\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover {\n  background-color: #c86f11;\n}\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus {\n  background-color: #c16808;\n}\n.ui.inverted.brown.buttons .active.button,\n.ui.inverted.brown.active.button {\n  background-color: #cc6f0d;\n}\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  background-color: #a96216;\n}\n\n/* Inverted Basic */\n.ui.inverted.brown.basic.buttons .button,\n.ui.inverted.brown.buttons .basic.button,\n.ui.inverted.brown.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.brown.basic.buttons .button:hover,\n.ui.inverted.brown.buttons .basic.button:hover,\n.ui.inverted.brown.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #c86f11 inset !important;\n  color: #D67C1C !important;\n}\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c16808 inset !important;\n  color: #D67C1C !important;\n}\n.ui.inverted.brown.basic.buttons .active.button,\n.ui.inverted.brown.buttons .basic.active.button,\n.ui.inverted.brown.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;\n  color: #D67C1C !important;\n}\n.ui.inverted.brown.basic.buttons .button:active,\n.ui.inverted.brown.buttons .basic.button:active,\n.ui.inverted.brown.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #a96216 inset !important;\n  color: #D67C1C !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.buttons .button,\n.ui.blue.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.blue.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.blue.buttons .button:hover,\n.ui.blue.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.blue.buttons .button:focus,\n.ui.blue.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.blue.buttons .button:active,\n.ui.blue.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.blue.buttons .active.button,\n.ui.blue.buttons .active.button:active,\n.ui.blue.active.button,\n.ui.blue.button .active.button:active {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.blue.buttons .button,\n.ui.basic.blue.button {\n  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;\n  color: #2185D0 !important;\n}\n.ui.basic.blue.buttons .button:hover,\n.ui.basic.blue.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;\n  color: #1678c2 !important;\n}\n.ui.basic.blue.buttons .button:focus,\n.ui.basic.blue.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;\n  color: #1678c2 !important;\n}\n.ui.basic.blue.buttons .active.button,\n.ui.basic.blue.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;\n  color: #1a69a4 !important;\n}\n.ui.basic.blue.buttons .button:active,\n.ui.basic.blue.button:active {\n  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;\n  color: #1a69a4 !important;\n}\n.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.blue.buttons .button,\n.ui.inverted.blue.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;\n  color: #54C8FF;\n}\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover,\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus,\n.ui.inverted.blue.buttons .button.active,\n.ui.inverted.blue.button.active,\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover {\n  background-color: #3ac0ff;\n}\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus {\n  background-color: #2bbbff;\n}\n.ui.inverted.blue.buttons .active.button,\n.ui.inverted.blue.active.button {\n  background-color: #3ac0ff;\n}\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  background-color: #21b8ff;\n}\n\n/* Inverted Basic */\n.ui.inverted.blue.basic.buttons .button,\n.ui.inverted.blue.buttons .basic.button,\n.ui.inverted.blue.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.blue.basic.buttons .button:hover,\n.ui.inverted.blue.buttons .basic.button:hover,\n.ui.inverted.blue.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;\n  color: #54C8FF !important;\n}\n.ui.inverted.blue.basic.buttons .active.button,\n.ui.inverted.blue.buttons .basic.active.button,\n.ui.inverted.blue.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n.ui.inverted.blue.basic.buttons .button:active,\n.ui.inverted.blue.buttons .basic.button:active,\n.ui.inverted.blue.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;\n  color: #54C8FF !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.buttons .button,\n.ui.green.button {\n  background-color: #21BA45;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.green.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.green.buttons .button:hover,\n.ui.green.button:hover {\n  background-color: #16ab39;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.green.buttons .button:focus,\n.ui.green.button:focus {\n  background-color: #0ea432;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.green.buttons .button:active,\n.ui.green.button:active {\n  background-color: #198f35;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.green.buttons .active.button,\n.ui.green.buttons .active.button:active,\n.ui.green.active.button,\n.ui.green.button .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.green.buttons .button,\n.ui.basic.green.button {\n  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;\n  color: #21BA45 !important;\n}\n.ui.basic.green.buttons .button:hover,\n.ui.basic.green.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;\n  color: #16ab39 !important;\n}\n.ui.basic.green.buttons .button:focus,\n.ui.basic.green.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;\n  color: #16ab39 !important;\n}\n.ui.basic.green.buttons .active.button,\n.ui.basic.green.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;\n  color: #198f35 !important;\n}\n.ui.basic.green.buttons .button:active,\n.ui.basic.green.button:active {\n  box-shadow: 0px 0px 0px 1px #198f35 inset !important;\n  color: #198f35 !important;\n}\n.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.green.buttons .button,\n.ui.inverted.green.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;\n  color: #2ECC40;\n}\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover,\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus,\n.ui.inverted.green.buttons .button.active,\n.ui.inverted.green.button.active,\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  box-shadlightOw: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover {\n  background-color: #22be34;\n}\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus {\n  background-color: #19b82b;\n}\n.ui.inverted.green.buttons .active.button,\n.ui.inverted.green.active.button {\n  background-color: #1fc231;\n}\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  background-color: #25a233;\n}\n\n/* Inverted Basic */\n.ui.inverted.green.basic.buttons .button,\n.ui.inverted.green.buttons .basic.button,\n.ui.inverted.green.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.green.basic.buttons .button:hover,\n.ui.inverted.green.buttons .basic.button:hover,\n.ui.inverted.green.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #22be34 inset !important;\n  color: #2ECC40 !important;\n}\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #19b82b inset !important;\n  color: #2ECC40 !important;\n}\n.ui.inverted.green.basic.buttons .active.button,\n.ui.inverted.green.buttons .basic.active.button,\n.ui.inverted.green.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #1fc231 inset !important;\n  color: #2ECC40 !important;\n}\n.ui.inverted.green.basic.buttons .button:active,\n.ui.inverted.green.buttons .basic.button:active,\n.ui.inverted.green.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #25a233 inset !important;\n  color: #2ECC40 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.buttons .button,\n.ui.orange.button {\n  background-color: #F2711C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.orange.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.orange.buttons .button:hover,\n.ui.orange.button:hover {\n  background-color: #f26202;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.orange.buttons .button:focus,\n.ui.orange.button:focus {\n  background-color: #e55b00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.orange.buttons .button:active,\n.ui.orange.button:active {\n  background-color: #cf590c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.orange.buttons .active.button,\n.ui.orange.buttons .active.button:active,\n.ui.orange.active.button,\n.ui.orange.button .active.button:active {\n  background-color: #f56100;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.orange.buttons .button,\n.ui.basic.orange.button {\n  box-shadow: 0px 0px 0px 1px #F2711C inset !important;\n  color: #F2711C !important;\n}\n.ui.basic.orange.buttons .button:hover,\n.ui.basic.orange.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f26202 inset !important;\n  color: #f26202 !important;\n}\n.ui.basic.orange.buttons .button:focus,\n.ui.basic.orange.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e55b00 inset !important;\n  color: #f26202 !important;\n}\n.ui.basic.orange.buttons .active.button,\n.ui.basic.orange.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f56100 inset !important;\n  color: #cf590c !important;\n}\n.ui.basic.orange.buttons .button:active,\n.ui.basic.orange.button:active {\n  box-shadow: 0px 0px 0px 1px #cf590c inset !important;\n  color: #cf590c !important;\n}\n.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.orange.buttons .button,\n.ui.inverted.orange.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF851B inset !important;\n  color: #FF851B;\n}\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover,\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus,\n.ui.inverted.orange.buttons .button.active,\n.ui.inverted.orange.button.active,\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover {\n  background-color: #ff7701;\n}\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus {\n  background-color: #f17000;\n}\n.ui.inverted.orange.buttons .active.button,\n.ui.inverted.orange.active.button {\n  background-color: #ff7701;\n}\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  background-color: #e76b00;\n}\n\n/* Inverted Basic */\n.ui.inverted.orange.basic.buttons .button,\n.ui.inverted.orange.buttons .basic.button,\n.ui.inverted.orange.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.orange.basic.buttons .button:hover,\n.ui.inverted.orange.buttons .basic.button:hover,\n.ui.inverted.orange.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f17000 inset !important;\n  color: #FF851B !important;\n}\n.ui.inverted.orange.basic.buttons .active.button,\n.ui.inverted.orange.buttons .basic.active.button,\n.ui.inverted.orange.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n.ui.inverted.orange.basic.buttons .button:active,\n.ui.inverted.orange.buttons .basic.button:active,\n.ui.inverted.orange.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #e76b00 inset !important;\n  color: #FF851B !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.buttons .button,\n.ui.pink.button {\n  background-color: #E03997;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.pink.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.pink.buttons .button:hover,\n.ui.pink.button:hover {\n  background-color: #e61a8d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pink.buttons .button:focus,\n.ui.pink.button:focus {\n  background-color: #e10f85;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pink.buttons .button:active,\n.ui.pink.button:active {\n  background-color: #c71f7e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pink.buttons .active.button,\n.ui.pink.buttons .active.button:active,\n.ui.pink.active.button,\n.ui.pink.button .active.button:active {\n  background-color: #ea158d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.pink.buttons .button,\n.ui.basic.pink.button {\n  box-shadow: 0px 0px 0px 1px #E03997 inset !important;\n  color: #E03997 !important;\n}\n.ui.basic.pink.buttons .button:hover,\n.ui.basic.pink.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e61a8d inset !important;\n  color: #e61a8d !important;\n}\n.ui.basic.pink.buttons .button:focus,\n.ui.basic.pink.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e10f85 inset !important;\n  color: #e61a8d !important;\n}\n.ui.basic.pink.buttons .active.button,\n.ui.basic.pink.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ea158d inset !important;\n  color: #c71f7e !important;\n}\n.ui.basic.pink.buttons .button:active,\n.ui.basic.pink.button:active {\n  box-shadow: 0px 0px 0px 1px #c71f7e inset !important;\n  color: #c71f7e !important;\n}\n.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.pink.buttons .button,\n.ui.inverted.pink.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;\n  color: #FF8EDF;\n}\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover,\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus,\n.ui.inverted.pink.buttons .button.active,\n.ui.inverted.pink.button.active,\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover {\n  background-color: #ff74d8;\n}\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus {\n  background-color: #ff65d3;\n}\n.ui.inverted.pink.buttons .active.button,\n.ui.inverted.pink.active.button {\n  background-color: #ff74d8;\n}\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  background-color: #ff5bd1;\n}\n\n/* Inverted Basic */\n.ui.inverted.pink.basic.buttons .button,\n.ui.inverted.pink.buttons .basic.button,\n.ui.inverted.pink.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.pink.basic.buttons .button:hover,\n.ui.inverted.pink.buttons .basic.button:hover,\n.ui.inverted.pink.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;\n  color: #FF8EDF !important;\n}\n.ui.inverted.pink.basic.buttons .active.button,\n.ui.inverted.pink.buttons .basic.active.button,\n.ui.inverted.pink.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n.ui.inverted.pink.basic.buttons .button:active,\n.ui.inverted.pink.buttons .basic.button:active,\n.ui.inverted.pink.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;\n  color: #FF8EDF !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.buttons .button,\n.ui.violet.button {\n  background-color: #6435C9;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.violet.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.violet.buttons .button:hover,\n.ui.violet.button:hover {\n  background-color: #5829bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.violet.buttons .button:focus,\n.ui.violet.button:focus {\n  background-color: #4f20b5;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.violet.buttons .button:active,\n.ui.violet.button:active {\n  background-color: #502aa1;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.violet.buttons .active.button,\n.ui.violet.buttons .active.button:active,\n.ui.violet.active.button,\n.ui.violet.button .active.button:active {\n  background-color: #5626bf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.violet.buttons .button,\n.ui.basic.violet.button {\n  box-shadow: 0px 0px 0px 1px #6435C9 inset !important;\n  color: #6435C9 !important;\n}\n.ui.basic.violet.buttons .button:hover,\n.ui.basic.violet.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5829bb inset !important;\n  color: #5829bb !important;\n}\n.ui.basic.violet.buttons .button:focus,\n.ui.basic.violet.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #4f20b5 inset !important;\n  color: #5829bb !important;\n}\n.ui.basic.violet.buttons .active.button,\n.ui.basic.violet.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5626bf inset !important;\n  color: #502aa1 !important;\n}\n.ui.basic.violet.buttons .button:active,\n.ui.basic.violet.button:active {\n  box-shadow: 0px 0px 0px 1px #502aa1 inset !important;\n  color: #502aa1 !important;\n}\n.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.violet.buttons .button,\n.ui.inverted.violet.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #A291FB inset !important;\n  color: #A291FB;\n}\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover,\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus,\n.ui.inverted.violet.buttons .button.active,\n.ui.inverted.violet.button.active,\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover {\n  background-color: #8a73ff;\n}\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus {\n  background-color: #7d64ff;\n}\n.ui.inverted.violet.buttons .active.button,\n.ui.inverted.violet.active.button {\n  background-color: #8a73ff;\n}\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  background-color: #7860f9;\n}\n\n/* Inverted Basic */\n.ui.inverted.violet.basic.buttons .button,\n.ui.inverted.violet.buttons .basic.button,\n.ui.inverted.violet.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.violet.basic.buttons .button:hover,\n.ui.inverted.violet.buttons .basic.button:hover,\n.ui.inverted.violet.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #7d64ff inset !important;\n  color: #A291FB !important;\n}\n.ui.inverted.violet.basic.buttons .active.button,\n.ui.inverted.violet.buttons .basic.active.button,\n.ui.inverted.violet.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n.ui.inverted.violet.basic.buttons .button:active,\n.ui.inverted.violet.buttons .basic.button:active,\n.ui.inverted.violet.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #7860f9 inset !important;\n  color: #A291FB !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.buttons .button,\n.ui.purple.button {\n  background-color: #A333C8;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.purple.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.purple.buttons .button:hover,\n.ui.purple.button:hover {\n  background-color: #9627ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.purple.buttons .button:focus,\n.ui.purple.button:focus {\n  background-color: #8f1eb4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.purple.buttons .button:active,\n.ui.purple.button:active {\n  background-color: #82299f;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.purple.buttons .active.button,\n.ui.purple.buttons .active.button:active,\n.ui.purple.active.button,\n.ui.purple.button .active.button:active {\n  background-color: #9724be;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.purple.buttons .button,\n.ui.basic.purple.button {\n  box-shadow: 0px 0px 0px 1px #A333C8 inset !important;\n  color: #A333C8 !important;\n}\n.ui.basic.purple.buttons .button:hover,\n.ui.basic.purple.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9627ba inset !important;\n  color: #9627ba !important;\n}\n.ui.basic.purple.buttons .button:focus,\n.ui.basic.purple.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important;\n  color: #9627ba !important;\n}\n.ui.basic.purple.buttons .active.button,\n.ui.basic.purple.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9724be inset !important;\n  color: #82299f !important;\n}\n.ui.basic.purple.buttons .button:active,\n.ui.basic.purple.button:active {\n  box-shadow: 0px 0px 0px 1px #82299f inset !important;\n  color: #82299f !important;\n}\n.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.purple.buttons .button,\n.ui.inverted.purple.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #DC73FF inset !important;\n  color: #DC73FF;\n}\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover,\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus,\n.ui.inverted.purple.buttons .button.active,\n.ui.inverted.purple.button.active,\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover {\n  background-color: #d65aff;\n}\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus {\n  background-color: #d24aff;\n}\n.ui.inverted.purple.buttons .active.button,\n.ui.inverted.purple.active.button {\n  background-color: #d65aff;\n}\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  background-color: #cf40ff;\n}\n\n/* Inverted Basic */\n.ui.inverted.purple.basic.buttons .button,\n.ui.inverted.purple.buttons .basic.button,\n.ui.inverted.purple.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.purple.basic.buttons .button:hover,\n.ui.inverted.purple.buttons .basic.button:hover,\n.ui.inverted.purple.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #d24aff inset !important;\n  color: #DC73FF !important;\n}\n.ui.inverted.purple.basic.buttons .active.button,\n.ui.inverted.purple.buttons .basic.active.button,\n.ui.inverted.purple.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n.ui.inverted.purple.basic.buttons .button:active,\n.ui.inverted.purple.buttons .basic.button:active,\n.ui.inverted.purple.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;\n  color: #DC73FF !important;\n}\n\n/*--- Red ---*/\n\n.ui.red.buttons .button,\n.ui.red.button {\n  background-color: #DB2828;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.red.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.red.buttons .button:hover,\n.ui.red.button:hover {\n  background-color: #d01919;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.red.buttons .button:focus,\n.ui.red.button:focus {\n  background-color: #ca1010;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.red.buttons .button:active,\n.ui.red.button:active {\n  background-color: #b21e1e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.red.buttons .active.button,\n.ui.red.buttons .active.button:active,\n.ui.red.active.button,\n.ui.red.button .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.red.buttons .button,\n.ui.basic.red.button {\n  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;\n  color: #DB2828 !important;\n}\n.ui.basic.red.buttons .button:hover,\n.ui.basic.red.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d01919 inset !important;\n  color: #d01919 !important;\n}\n.ui.basic.red.buttons .button:focus,\n.ui.basic.red.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;\n  color: #d01919 !important;\n}\n.ui.basic.red.buttons .active.button,\n.ui.basic.red.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d41515 inset !important;\n  color: #b21e1e !important;\n}\n.ui.basic.red.buttons .button:active,\n.ui.basic.red.button:active {\n  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;\n  color: #b21e1e !important;\n}\n.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.red.buttons .button,\n.ui.inverted.red.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF695E inset !important;\n  color: #FF695E;\n}\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover,\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus,\n.ui.inverted.red.buttons .button.active,\n.ui.inverted.red.button.active,\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover {\n  background-color: #ff5144;\n}\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus {\n  background-color: #ff4335;\n}\n.ui.inverted.red.buttons .active.button,\n.ui.inverted.red.active.button {\n  background-color: #ff5144;\n}\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  background-color: #ff392b;\n}\n\n/* Inverted Basic */\n.ui.inverted.red.basic.buttons .button,\n.ui.inverted.red.buttons .basic.button,\n.ui.inverted.red.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.red.basic.buttons .button:hover,\n.ui.inverted.red.buttons .basic.button:hover,\n.ui.inverted.red.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;\n  color: #FF695E !important;\n}\n.ui.inverted.red.basic.buttons .active.button,\n.ui.inverted.red.buttons .basic.active.button,\n.ui.inverted.red.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n.ui.inverted.red.basic.buttons .button:active,\n.ui.inverted.red.buttons .basic.button:active,\n.ui.inverted.red.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff392b inset !important;\n  color: #FF695E !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.buttons .button,\n.ui.teal.button {\n  background-color: #00B5AD;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.teal.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.teal.buttons .button:hover,\n.ui.teal.button:hover {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.teal.buttons .button:focus,\n.ui.teal.button:focus {\n  background-color: #008c86;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.teal.buttons .button:active,\n.ui.teal.button:active {\n  background-color: #00827c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.teal.buttons .active.button,\n.ui.teal.buttons .active.button:active,\n.ui.teal.active.button,\n.ui.teal.button .active.button:active {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.teal.buttons .button,\n.ui.basic.teal.button {\n  box-shadow: 0px 0px 0px 1px #00B5AD inset !important;\n  color: #00B5AD !important;\n}\n.ui.basic.teal.buttons .button:hover,\n.ui.basic.teal.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #009c95 !important;\n}\n.ui.basic.teal.buttons .button:focus,\n.ui.basic.teal.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #008c86 inset !important;\n  color: #009c95 !important;\n}\n.ui.basic.teal.buttons .active.button,\n.ui.basic.teal.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #00827c !important;\n}\n.ui.basic.teal.buttons .button:active,\n.ui.basic.teal.button:active {\n  box-shadow: 0px 0px 0px 1px #00827c inset !important;\n  color: #00827c !important;\n}\n.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.teal.buttons .button,\n.ui.inverted.teal.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;\n  color: #6DFFFF;\n}\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover,\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus,\n.ui.inverted.teal.buttons .button.active,\n.ui.inverted.teal.button.active,\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover {\n  background-color: #54ffff;\n}\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus {\n  background-color: #44ffff;\n}\n.ui.inverted.teal.buttons .active.button,\n.ui.inverted.teal.active.button {\n  background-color: #54ffff;\n}\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  background-color: #3affff;\n}\n\n/* Inverted Basic */\n.ui.inverted.teal.basic.buttons .button,\n.ui.inverted.teal.buttons .basic.button,\n.ui.inverted.teal.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .button:hover,\n.ui.inverted.teal.buttons .basic.button:hover,\n.ui.inverted.teal.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #44ffff inset !important;\n  color: #6DFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .active.button,\n.ui.inverted.teal.buttons .basic.active.button,\n.ui.inverted.teal.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .button:active,\n.ui.inverted.teal.buttons .basic.button:active,\n.ui.inverted.teal.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #3affff inset !important;\n  color: #6DFFFF !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.buttons .button,\n.ui.olive.button {\n  background-color: #B5CC18;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.olive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.olive.buttons .button:hover,\n.ui.olive.button:hover {\n  background-color: #a7bd0d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.olive.buttons .button:focus,\n.ui.olive.button:focus {\n  background-color: #a0b605;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.olive.buttons .button:active,\n.ui.olive.button:active {\n  background-color: #8d9e13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.olive.buttons .active.button,\n.ui.olive.buttons .active.button:active,\n.ui.olive.active.button,\n.ui.olive.button .active.button:active {\n  background-color: #aac109;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.olive.buttons .button,\n.ui.basic.olive.button {\n  box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;\n  color: #B5CC18 !important;\n}\n.ui.basic.olive.buttons .button:hover,\n.ui.basic.olive.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a7bd0d inset !important;\n  color: #a7bd0d !important;\n}\n.ui.basic.olive.buttons .button:focus,\n.ui.basic.olive.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a0b605 inset !important;\n  color: #a7bd0d !important;\n}\n.ui.basic.olive.buttons .active.button,\n.ui.basic.olive.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #aac109 inset !important;\n  color: #8d9e13 !important;\n}\n.ui.basic.olive.buttons .button:active,\n.ui.basic.olive.button:active {\n  box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;\n  color: #8d9e13 !important;\n}\n.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.olive.buttons .button,\n.ui.inverted.olive.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D9E778 inset !important;\n  color: #D9E778;\n}\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover,\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus,\n.ui.inverted.olive.buttons .button.active,\n.ui.inverted.olive.button.active,\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover {\n  background-color: #d8ea5c;\n}\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus {\n  background-color: #daef47;\n}\n.ui.inverted.olive.buttons .active.button,\n.ui.inverted.olive.active.button {\n  background-color: #daed59;\n}\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  background-color: #cddf4d;\n}\n\n/* Inverted Basic */\n.ui.inverted.olive.basic.buttons .button,\n.ui.inverted.olive.buttons .basic.button,\n.ui.inverted.olive.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.olive.basic.buttons .button:hover,\n.ui.inverted.olive.buttons .basic.button:hover,\n.ui.inverted.olive.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;\n  color: #D9E778 !important;\n}\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #daef47 inset !important;\n  color: #D9E778 !important;\n}\n.ui.inverted.olive.basic.buttons .active.button,\n.ui.inverted.olive.buttons .basic.active.button,\n.ui.inverted.olive.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #daed59 inset !important;\n  color: #D9E778 !important;\n}\n.ui.inverted.olive.basic.buttons .button:active,\n.ui.inverted.olive.buttons .basic.button:active,\n.ui.inverted.olive.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;\n  color: #D9E778 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.buttons .button,\n.ui.yellow.button {\n  background-color: #FBBD08;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.yellow.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.yellow.buttons .button:hover,\n.ui.yellow.button:hover {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.yellow.buttons .button:focus,\n.ui.yellow.button:focus {\n  background-color: #daa300;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.yellow.buttons .button:active,\n.ui.yellow.button:active {\n  background-color: #cd9903;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.yellow.buttons .active.button,\n.ui.yellow.buttons .active.button:active,\n.ui.yellow.active.button,\n.ui.yellow.button .active.button:active {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.yellow.buttons .button,\n.ui.basic.yellow.button {\n  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;\n  color: #FBBD08 !important;\n}\n.ui.basic.yellow.buttons .button:hover,\n.ui.basic.yellow.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #eaae00 !important;\n}\n.ui.basic.yellow.buttons .button:focus,\n.ui.basic.yellow.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #daa300 inset !important;\n  color: #eaae00 !important;\n}\n.ui.basic.yellow.buttons .active.button,\n.ui.basic.yellow.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #cd9903 !important;\n}\n.ui.basic.yellow.buttons .button:active,\n.ui.basic.yellow.button:active {\n  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;\n  color: #cd9903 !important;\n}\n.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.yellow.buttons .button,\n.ui.inverted.yellow.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;\n  color: #FFE21F;\n}\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover,\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus,\n.ui.inverted.yellow.buttons .button.active,\n.ui.inverted.yellow.button.active,\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover {\n  background-color: #ffdf05;\n}\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus {\n  background-color: #f5d500;\n}\n.ui.inverted.yellow.buttons .active.button,\n.ui.inverted.yellow.active.button {\n  background-color: #ffdf05;\n}\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  background-color: #ebcd00;\n}\n\n/* Inverted Basic */\n.ui.inverted.yellow.basic.buttons .button,\n.ui.inverted.yellow.buttons .basic.button,\n.ui.inverted.yellow.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.yellow.basic.buttons .button:hover,\n.ui.inverted.yellow.buttons .basic.button:hover,\n.ui.inverted.yellow.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;\n  color: #FFE21F !important;\n}\n.ui.inverted.yellow.basic.buttons .active.button,\n.ui.inverted.yellow.buttons .basic.active.button,\n.ui.inverted.yellow.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n.ui.inverted.yellow.basic.buttons .button:active,\n.ui.inverted.yellow.buttons .basic.button:active,\n.ui.inverted.yellow.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;\n  color: #FFE21F !important;\n}\n\n/*-------------------\n       Primary\n--------------------*/\n\n.ui.primary.buttons .button,\n.ui.primary.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.primary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.primary.buttons .button:hover,\n.ui.primary.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.primary.buttons .button:focus,\n.ui.primary.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.primary.buttons .button:active,\n.ui.primary.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.primary.buttons .active.button,\n.ui.primary.active.button {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*-------------------\n      Secondary\n--------------------*/\n\n.ui.secondary.buttons .button,\n.ui.secondary.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.secondary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.secondary.buttons .button:hover,\n.ui.secondary.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.secondary.buttons .button:focus,\n.ui.secondary.button:focus {\n  background-color: #2e3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.secondary.buttons .button:active,\n.ui.secondary.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.secondary.buttons .active.button,\n.ui.secondary.active.button {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n    Positive\n----------------*/\n\n.ui.positive.buttons .button,\n.ui.positive.button {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.positive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.positive.buttons .button:hover,\n.ui.positive.button:hover {\n  background-color: #16ab39 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.positive.buttons .button:focus,\n.ui.positive.button:focus {\n  background-color: #0ea432 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.positive.buttons .button:active,\n.ui.positive.button:active {\n  background-color: #198f35 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.positive.buttons .active.button,\n.ui.positive.active.button,\n.ui.positive.buttons .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n     Negative\n----------------*/\n\n.ui.negative.buttons .button,\n.ui.negative.button {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.negative.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.negative.buttons .button:hover,\n.ui.negative.button:hover {\n  background-color: #d01919 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.negative.buttons .button:focus,\n.ui.negative.button:focus {\n  background-color: #ca1010 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.negative.buttons .button:active,\n.ui.negative.button:active {\n  background-color: #b21e1e !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.negative.buttons .active.button,\n.ui.negative.active.button,\n.ui.negative.buttons .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n\n/*******************************\n            Groups\n*******************************/\n\n.ui.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  font-size: 0em;\n  vertical-align: baseline;\n  margin: 0em 0.25em 0em 0em;\n}\n.ui.buttons:not(.basic):not(.inverted) {\n  box-shadow: none;\n}\n\n/* Clearfix */\n.ui.buttons:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/* Standard Group */\n.ui.buttons .button {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  margin: 0em;\n  border-radius: 0em;\n  margin: 0px 0px 0px 0px;\n}\n.ui.buttons > .ui.button:not(.basic):not(.inverted),\n.ui.buttons:not(.basic):not(.inverted) > .button {\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.buttons .button:first-child {\n  border-left: none;\n  margin-left: 0em;\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n.ui.buttons .button:last-child {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n/* Vertical  Style */\n.ui.vertical.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n}\n.ui.vertical.buttons .button {\n  display: block;\n  float: none;\n  width: 100%;\n  margin: 0px 0px 0px 0px;\n  box-shadow: none;\n}\n.ui.vertical.buttons .button:first-child,\n.ui.vertical.buttons .mini.button:first-child,\n.ui.vertical.buttons .tiny.button:first-child,\n.ui.vertical.buttons .small.button:first-child,\n.ui.vertical.buttons .massive.button:first-child,\n.ui.vertical.buttons .huge.button:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n.ui.vertical.buttons .button:last-child,\n.ui.vertical.buttons .mini.button:last-child,\n.ui.vertical.buttons .tiny.button:last-child,\n.ui.vertical.buttons .small.button:last-child,\n.ui.vertical.buttons .massive.button:last-child,\n.ui.vertical.buttons .huge.button:last-child,\n.ui.vertical.buttons .gigantic.button:last-child {\n  margin-bottom: 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/card.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n      Card\n---------------*/\n\n.ui.cards > .card,\n.ui.card {\n  max-width: 100%;\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  width: 290px;\n  min-height: 0px;\n  background: #FFFFFF;\n  padding: 0em;\n  border: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;\n          transition: box-shadow 0.1s ease, transform 0.1s ease;\n  z-index: '';\n}\n.ui.card {\n  margin: 1em 0em;\n}\n.ui.cards > .card a,\n.ui.card a {\n  cursor: pointer;\n}\n.ui.card:first-child {\n  margin-top: 0em;\n}\n.ui.card:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Cards\n---------------*/\n\n.ui.cards {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: -0.875em -0.5em;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n}\n.ui.cards > .card {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 0.875em 0.5em;\n  float: none;\n}\n\n/* Clearing */\n.ui.cards:after,\n.ui.card:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n/* Consecutive Card Groups Preserve Row Spacing */\n.ui.cards ~ .ui.cards {\n  margin-top: 0.875em;\n}\n\n/*--------------\n  Rounded Edges\n---------------*/\n\n.ui.cards > .card > :first-child,\n.ui.card > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n  border-top: none !important;\n}\n.ui.cards > .card > :last-child,\n.ui.card > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n.ui.cards > .card > :only-child,\n.ui.card > :only-child {\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.cards > .card > .image,\n.ui.card > .image {\n  position: relative;\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  padding: 0em;\n  background: rgba(0, 0, 0, 0.05);\n}\n.ui.cards > .card > .image > img,\n.ui.card > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: inherit;\n}\n.ui.cards > .card > .image:not(.ui) > img,\n.ui.card > .image:not(.ui) > img {\n  border: none;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.cards > .card > .content,\n.ui.card > .content {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  background: none;\n  margin: 0em;\n  padding: 1em 1em;\n  box-shadow: none;\n  font-size: 1em;\n  border-radius: 0em;\n}\n.ui.cards > .card > .content:after,\n.ui.card > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.cards > .card > .content > .header,\n.ui.card > .content > .header {\n  display: block;\n  margin: '';\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n.ui.cards > .card > .content > .header:not(.ui),\n.ui.card > .content > .header:not(.ui) {\n  font-weight: bold;\n  font-size: 1.28571429em;\n  margin-top: -0.21425em;\n  line-height: 1.2857em;\n}\n.ui.cards > .card > .content > .meta + .description,\n.ui.cards > .card > .content > .header + .description,\n.ui.card > .content > .meta + .description,\n.ui.card > .content > .header + .description {\n  margin-top: 0.5em;\n}\n\n/*----------------\n Floated Content\n-----------------*/\n\n.ui.cards > .card [class*=\"left floated\"],\n.ui.card [class*=\"left floated\"] {\n  float: left;\n}\n.ui.cards > .card [class*=\"right floated\"],\n.ui.card [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n     Aligned\n---------------*/\n\n.ui.cards > .card [class*=\"left aligned\"],\n.ui.card [class*=\"left aligned\"] {\n  text-align: left;\n}\n.ui.cards > .card [class*=\"center aligned\"],\n.ui.card [class*=\"center aligned\"] {\n  text-align: center;\n}\n.ui.cards > .card [class*=\"right aligned\"],\n.ui.card [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.cards > .card .content img,\n.ui.card .content img {\n  display: inline-block;\n  vertical-align: middle;\n  width: '';\n}\n.ui.cards > .card img.avatar,\n.ui.cards > .card .avatar img,\n.ui.card img.avatar,\n.ui.card .avatar img {\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.cards > .card > .content > .description,\n.ui.card > .content > .description {\n  clear: both;\n  color: rgba(0, 0, 0, 0.68);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.cards > .card > .content p,\n.ui.card > .content p {\n  margin: 0em 0em 0.5em;\n}\n.ui.cards > .card > .content p:last-child,\n.ui.card > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.cards > .card .meta,\n.ui.card .meta {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.cards > .card .meta *,\n.ui.card .meta * {\n  margin-right: 0.3em;\n}\n.ui.cards > .card .meta :last-child,\n.ui.card .meta :last-child {\n  margin-right: 0em;\n}\n.ui.cards > .card .meta [class*=\"right floated\"],\n.ui.card .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n\n/* Generic */\n.ui.cards > .card > .content a:not(.ui),\n.ui.card > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .content a:not(.ui):hover,\n.ui.card > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n.ui.cards > .card > .content > a.header,\n.ui.card > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.cards > .card > .content > a.header:hover,\n.ui.card > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n.ui.cards > .card .meta > a:not(.ui),\n.ui.card .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.cards > .card .meta > a:not(.ui):hover,\n.ui.card .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Buttons\n---------------*/\n\n.ui.cards > .card > .buttons,\n.ui.card > .buttons,\n.ui.cards > .card > .button,\n.ui.card > .button {\n  margin: 0px -1px;\n  width: calc(100% +  2px );\n}\n\n/*--------------\n      Dimmer\n---------------*/\n\n.ui.cards > .card .dimmer,\n.ui.card .dimmer {\n  background-color: '';\n  z-index: 10;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n\n/*-----Star----- */\n\n\n/* Icon */\n.ui.cards > .card > .content .star.icon,\n.ui.card > .content .star.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .content .star.icon:hover,\n.ui.card > .content .star.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n.ui.cards > .card > .content .active.star.icon,\n.ui.card > .content .active.star.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n\n/* Icon */\n.ui.cards > .card > .content .like.icon,\n.ui.card > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .content .like.icon:hover,\n.ui.card > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n.ui.cards > .card > .content .active.like.icon,\n.ui.card > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.cards > .card > .extra,\n.ui.card > .extra {\n  max-width: 100%;\n  min-height: 0em !important;\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n      -ms-flex-positive: 0;\n          flex-grow: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;\n  position: static;\n  background: none;\n  width: auto;\n  margin: 0em 0em;\n  padding: 0.75em 1em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .extra a:not(.ui),\n.ui.card > .extra a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.cards > .card > .extra a:not(.ui):hover,\n.ui.card > .extra a:not(.ui):hover {\n  color: #1e70bf;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Centered\n--------------------*/\n\n.ui.centered.cards {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n.ui.centered.card {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.card {\n  width: 100%;\n  max-width: 9999px;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.cards a.card,\n.ui.link.cards .card,\na.ui.card,\n.ui.link.card {\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n}\n.ui.cards a.card:hover,\n.ui.link.cards .card:hover,\na.ui.card:hover,\n.ui.link.card:hover {\n  cursor: pointer;\n  z-index: 5;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transform: translateY(-3px);\n      -ms-transform: translateY(-3px);\n          transform: translateY(-3px);\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\n.ui.red.cards > .card,\n.ui.cards > .red.card,\n.ui.red.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.red.cards > .card:hover,\n.ui.cards > .red.card:hover,\n.ui.red.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Orange */\n.ui.orange.cards > .card,\n.ui.cards > .orange.card,\n.ui.orange.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.orange.cards > .card:hover,\n.ui.cards > .orange.card:hover,\n.ui.orange.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Yellow */\n.ui.yellow.cards > .card,\n.ui.cards > .yellow.card,\n.ui.yellow.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.yellow.cards > .card:hover,\n.ui.cards > .yellow.card:hover,\n.ui.yellow.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Olive */\n.ui.olive.cards > .card,\n.ui.cards > .olive.card,\n.ui.olive.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.olive.cards > .card:hover,\n.ui.cards > .olive.card:hover,\n.ui.olive.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Green */\n.ui.green.cards > .card,\n.ui.cards > .green.card,\n.ui.green.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.green.cards > .card:hover,\n.ui.cards > .green.card:hover,\n.ui.green.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Teal */\n.ui.teal.cards > .card,\n.ui.cards > .teal.card,\n.ui.teal.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.teal.cards > .card:hover,\n.ui.cards > .teal.card:hover,\n.ui.teal.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Blue */\n.ui.blue.cards > .card,\n.ui.cards > .blue.card,\n.ui.blue.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.blue.cards > .card:hover,\n.ui.cards > .blue.card:hover,\n.ui.blue.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Violet */\n.ui.violet.cards > .card,\n.ui.cards > .violet.card,\n.ui.violet.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.violet.cards > .card:hover,\n.ui.cards > .violet.card:hover,\n.ui.violet.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Purple */\n.ui.purple.cards > .card,\n.ui.cards > .purple.card,\n.ui.purple.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.purple.cards > .card:hover,\n.ui.cards > .purple.card:hover,\n.ui.purple.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Pink */\n.ui.pink.cards > .card,\n.ui.cards > .pink.card,\n.ui.pink.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.pink.cards > .card:hover,\n.ui.cards > .pink.card:hover,\n.ui.pink.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Brown */\n.ui.brown.cards > .card,\n.ui.cards > .brown.card,\n.ui.brown.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.brown.cards > .card:hover,\n.ui.cards > .brown.card:hover,\n.ui.brown.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Grey */\n.ui.grey.cards > .card,\n.ui.cards > .grey.card,\n.ui.grey.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.grey.cards > .card:hover,\n.ui.cards > .grey.card:hover,\n.ui.grey.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Black */\n.ui.black.cards > .card,\n.ui.cards > .black.card,\n.ui.black.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.black.cards > .card:hover,\n.ui.cards > .black.card:hover,\n.ui.black.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD;\n}\n\n/*--------------\n   Card Count\n---------------*/\n\n.ui.one.cards {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n.ui.one.cards > .card {\n  width: 100%;\n}\n.ui.two.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n.ui.two.cards > .card {\n  width: calc( 50%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n.ui.three.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n.ui.three.cards > .card {\n  width: calc( 33.33333333%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n.ui.four.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n.ui.four.cards > .card {\n  width: calc( 25%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n.ui.five.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n.ui.five.cards > .card {\n  width: calc( 20%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n.ui.six.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n.ui.six.cards > .card {\n  width: calc( 16.66666667%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n.ui.seven.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.seven.cards > .card {\n  width: calc( 14.28571429%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n.ui.eight.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.eight.cards > .card {\n  width: calc( 12.5%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 11px;\n}\n.ui.nine.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.nine.cards > .card {\n  width: calc( 11.11111111%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 10px;\n}\n.ui.ten.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.ten.cards > .card {\n  width: calc( 10%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n\n/* Mobily Only */\n@media only screen and (max-width: 767px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.five.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.six.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.seven.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.seven.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.nine.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.nine.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.ten.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.ten.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n}\n\n/* Tablet Only */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.five.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.six.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.eight.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n  .ui.eight.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n  .ui.nine.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n  .ui.nine.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n  .ui.ten.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n  .ui.ten.doubling.cards .card {\n    width: calc( 20%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.cards {\n    display: block !important;\n  }\n  .ui.stackable.cards .card:first-child {\n    margin-top: 0em !important;\n  }\n  .ui.stackable.cards > .card {\n    display: block !important;\n    height: auto !important;\n    margin: 1em 1em;\n    padding: 0 !important;\n    width: calc( 100%  -  2em ) !important;\n  }\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.cards > .card {\n  font-size: 1em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/checkbox.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Checkbox\n*******************************/\n\n\n/*--------------\n    Content\n---------------*/\n\n.ui.checkbox {\n  position: relative;\n  display: inline-block;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  outline: none;\n  vertical-align: baseline;\n  font-style: normal;\n  min-height: 17px;\n  font-size: 1rem;\n  line-height: 17px;\n  min-width: 17px;\n}\n\n/* HTML Checkbox */\n.ui.checkbox input[type=\"checkbox\"],\n.ui.checkbox input[type=\"radio\"] {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  opacity: 0 !important;\n  outline: none;\n  z-index: 3;\n  width: 17px;\n  height: 17px;\n}\n\n/*--------------\n      Box\n---------------*/\n\n.ui.checkbox .box,\n.ui.checkbox label {\n  cursor: auto;\n  position: relative;\n  display: block;\n  padding-left: 1.85714em;\n  outline: none;\n  font-size: 1em;\n}\n.ui.checkbox .box:before,\n.ui.checkbox label:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  content: '';\n  background: #FFFFFF;\n  border-radius: 0.21428571rem;\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n          transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n  border: 1px solid #D4D4D5;\n}\n\n/*--------------\n    Checkmark\n---------------*/\n\n.ui.checkbox .box:after,\n.ui.checkbox label:after {\n  position: absolute;\n  font-size: 14px;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  text-align: center;\n  opacity: 0;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n          transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n}\n\n/*--------------\n      Label\n---------------*/\n\n\n/* Inside */\n.ui.checkbox label,\n.ui.checkbox + label {\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n\n/* Outside */\n.ui.checkbox + label {\n  vertical-align: middle;\n}\n\n\n/*******************************\n           States\n*******************************/\n\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.checkbox .box:hover::before,\n.ui.checkbox label:hover::before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox label:hover,\n.ui.checkbox + label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.checkbox .box:active::before,\n.ui.checkbox label:active::before {\n  background: #F9FAFB;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox .box:active::after,\n.ui.checkbox label:active::after {\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.checkbox input:active ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Focus\n---------------*/\n\n.ui.checkbox input:focus ~ .box:before,\n.ui.checkbox input:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n.ui.checkbox input:focus ~ .box:after,\n.ui.checkbox input:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.checkbox input:focus ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.checkbox input:checked ~ .box:before,\n.ui.checkbox input:checked ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Indeterminate\n---------------*/\n\n.ui.checkbox input:indeterminate ~ .box:before,\n.ui.checkbox input:indeterminate ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Active Focus\n---------------*/\n\n.ui.checkbox input:indeterminate:focus ~ .box:before,\n.ui.checkbox input:indeterminate:focus ~ label:before,\n.ui.checkbox input:checked:focus ~ .box:before,\n.ui.checkbox input:checked:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n.ui.checkbox input:indeterminate:focus ~ .box:after,\n.ui.checkbox input:indeterminate:focus ~ label:after,\n.ui.checkbox input:checked:focus ~ .box:after,\n.ui.checkbox input:checked:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n    Read-Only\n---------------*/\n\n.ui.read-only.checkbox,\n.ui.read-only.checkbox label {\n  cursor: default;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.disabled.checkbox .box:after,\n.ui.disabled.checkbox label,\n.ui.checkbox input[disabled] ~ .box:after,\n.ui.checkbox input[disabled] ~ label {\n  cursor: default;\n  opacity: 0.5;\n  color: #000000;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n\n/* Initialized checkbox moves input below element\n to prevent manually triggering */\n.ui.checkbox input.hidden {\n  z-index: -1;\n}\n\n/* Selectable Label */\n.ui.checkbox input.hidden + label {\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n     Radio\n---------------*/\n\n.ui.radio.checkbox {\n  min-height: 15px;\n}\n.ui.radio.checkbox .box,\n.ui.radio.checkbox label {\n  padding-left: 1.85714em;\n}\n\n/* Box */\n.ui.radio.checkbox .box:before,\n.ui.radio.checkbox label:before {\n  content: '';\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  top: 1px;\n  left: 0px;\n}\n\n/* Bullet */\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  border: none;\n  content: '' !important;\n  width: 15px;\n  height: 15px;\n  line-height: 15px;\n}\n\n/* Radio Checkbox */\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  top: 1px;\n  left: 0px;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  -webkit-transform: scale(0.46666667);\n      -ms-transform: scale(0.46666667);\n          transform: scale(0.46666667);\n  background-color: rgba(0, 0, 0, 0.87);\n}\n\n/* Focus */\n.ui.radio.checkbox input:focus ~ .box:before,\n.ui.radio.checkbox input:focus ~ label:before {\n  background-color: #FFFFFF;\n}\n.ui.radio.checkbox input:focus ~ .box:after,\n.ui.radio.checkbox input:focus ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Indeterminate */\n.ui.radio.checkbox input:indeterminate ~ .box:after,\n.ui.radio.checkbox input:indeterminate ~ label:after {\n  opacity: 0;\n}\n\n/* Active */\n.ui.radio.checkbox input:checked ~ .box:before,\n.ui.radio.checkbox input:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n.ui.radio.checkbox input:checked ~ .box:after,\n.ui.radio.checkbox input:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Focus */\n.ui.radio.checkbox input:focus:checked ~ .box:before,\n.ui.radio.checkbox input:focus:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n.ui.radio.checkbox input:focus:checked ~ .box:after,\n.ui.radio.checkbox input:focus:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Slider\n---------------*/\n\n.ui.slider.checkbox {\n  min-height: 1.25rem;\n}\n\n/* Input */\n.ui.slider.checkbox input {\n  width: 3.5rem;\n  height: 1.25rem;\n}\n\n/* Label */\n.ui.slider.checkbox .box,\n.ui.slider.checkbox label {\n  padding-left: 4.5rem;\n  line-height: 1rem;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Line */\n.ui.slider.checkbox .box:before,\n.ui.slider.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  border: none !important;\n  left: 0em;\n  z-index: 1;\n  top: 0.4rem;\n  background-color: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 0.21428571rem;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease;\n          transition: background 0.3s ease;\n}\n\n/* Handle */\n.ui.slider.checkbox .box:after,\n.ui.slider.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: -0.25rem;\n  left: 0em;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  border-radius: 500rem;\n  -webkit-transition: left 0.3s ease;\n          transition: left 0.3s ease;\n}\n\n/* Focus */\n.ui.slider.checkbox input:focus ~ .box:before,\n.ui.slider.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n.ui.slider.checkbox .box:hover,\n.ui.slider.checkbox label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.slider.checkbox .box:hover::before,\n.ui.slider.checkbox label:hover::before {\n  background: rgba(0, 0, 0, 0.15);\n}\n\n/* Active */\n.ui.slider.checkbox input:checked ~ .box,\n.ui.slider.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.slider.checkbox input:checked ~ .box:before,\n.ui.slider.checkbox input:checked ~ label:before {\n  background-color: #545454 !important;\n}\n.ui.slider.checkbox input:checked ~ .box:after,\n.ui.slider.checkbox input:checked ~ label:after {\n  left: 2rem;\n}\n\n/* Active Focus */\n.ui.slider.checkbox input:focus:checked ~ .box,\n.ui.slider.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.slider.checkbox input:focus:checked ~ .box:before,\n.ui.slider.checkbox input:focus:checked ~ label:before {\n  background-color: #000000 !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n.ui.toggle.checkbox {\n  min-height: 1.5rem;\n}\n\n/* Input */\n.ui.toggle.checkbox input {\n  width: 3.5rem;\n  height: 1.5rem;\n}\n\n/* Label */\n.ui.toggle.checkbox .box,\n.ui.toggle.checkbox label {\n  min-height: 1.5rem;\n  padding-left: 4.5rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.toggle.checkbox label {\n  padding-top: 0.15em;\n}\n\n/* Switch */\n.ui.toggle.checkbox .box:before,\n.ui.toggle.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  z-index: 1;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  border: none;\n  top: 0rem;\n  background: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 1.5rem;\n  border-radius: 500rem;\n}\n\n/* Handle */\n.ui.toggle.checkbox .box:after,\n.ui.toggle.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: 0rem;\n  left: 0em;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease, left 0.3s ease;\n          transition: background 0.3s ease, left 0.3s ease;\n}\n.ui.toggle.checkbox input ~ .box:after,\n.ui.toggle.checkbox input ~ label:after {\n  left: -0.05rem;\n}\n\n/* Focus */\n.ui.toggle.checkbox input:focus ~ .box:before,\n.ui.toggle.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n.ui.toggle.checkbox .box:hover::before,\n.ui.toggle.checkbox label:hover::before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Active */\n.ui.toggle.checkbox input:checked ~ .box,\n.ui.toggle.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.toggle.checkbox input:checked ~ .box:before,\n.ui.toggle.checkbox input:checked ~ label:before {\n  background-color: #2185D0 !important;\n}\n.ui.toggle.checkbox input:checked ~ .box:after,\n.ui.toggle.checkbox input:checked ~ label:after {\n  left: 2.15rem;\n}\n\n/* Active Focus */\n.ui.toggle.checkbox input:focus:checked ~ .box,\n.ui.toggle.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.toggle.checkbox input:focus:checked ~ .box:before,\n.ui.toggle.checkbox input:focus:checked ~ label:before {\n  background-color: #0d71bb !important;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.checkbox .box,\n.ui.fitted.checkbox label {\n  padding-left: 0em !important;\n}\n.ui.fitted.toggle.checkbox,\n.ui.fitted.toggle.checkbox {\n  width: 3.5rem;\n}\n.ui.fitted.slider.checkbox,\n.ui.fitted.slider.checkbox {\n  width: 3.5rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Checkbox';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype');\n}\n\n/* Checkmark */\n.ui.checkbox label:after,\n.ui.checkbox .box:after {\n  font-family: 'Checkbox';\n}\n\n/* Checked */\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  content: '\\e800';\n}\n\n/* Indeterminate */\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  font-size: 12px;\n  content: '\\e801';\n}\n/*  UTF Reference\n.check:before { content: '\\e800'; }\n.dash:before  { content: '\\e801'; }\n.plus:before { content: '\\e802'; }\n*/\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/checkbox.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.checkbox = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = $.extend(true, {}, $.fn.checkbox.settings, parameters),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $label          = $(this).children(selector.label),\n        $input          = $(this).children(selector.input),\n        input           = $input[0],\n\n        initialLoad     = false,\n        shortcutPressed = false,\n        instance        = $module.data(moduleNamespace),\n\n        observer,\n        element         = this,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.verbose('Initializing checkbox', settings);\n\n          module.create.label();\n          module.bind.events();\n\n          module.set.tabbable();\n          module.hide.input();\n\n          module.observeChanges();\n          module.instantiate();\n          module.setup();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying module');\n          module.unbind.events();\n          module.show.input();\n          $module.removeData(moduleNamespace);\n        },\n\n        fix: {\n          reference: function() {\n            if( $module.is(selector.input) ) {\n              module.debug('Behavior called on <input> adjusting invoked element');\n              $module = $module.closest(selector.checkbox);\n              module.refresh();\n            }\n          }\n        },\n\n        setup: function() {\n          module.set.initialLoad();\n          if( module.is.indeterminate() ) {\n            module.debug('Initial value is indeterminate');\n            module.indeterminate();\n          }\n          else if( module.is.checked() ) {\n            module.debug('Initial value is checked');\n            module.check();\n          }\n          else {\n            module.debug('Initial value is unchecked');\n            module.uncheck();\n          }\n          module.remove.initialLoad();\n        },\n\n        refresh: function() {\n          $label = $module.children(selector.label);\n          $input = $module.children(selector.input);\n          input  = $input[0];\n        },\n\n        hide: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be unselectable');\n            $input.addClass(className.hidden);\n          }\n        },\n        show: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be selectable');\n            $input.removeClass(className.hidden);\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $element = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($element.length > 0) {\n            module.debug('Attaching checkbox events to element', selector, event);\n            $element\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound);\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            if( $target.is(selector.input) ) {\n              module.verbose('Using default check action on initialized checkbox');\n              return;\n            }\n            if( $target.is(selector.link) ) {\n              module.debug('Clicking link inside checkbox, skipping toggle');\n              return;\n            }\n            module.toggle();\n            $input.focus();\n            event.preventDefault();\n          },\n          keydown: function(event) {\n            var\n              key     = event.which,\n              keyCode = {\n                enter  : 13,\n                space  : 32,\n                escape : 27\n              }\n            ;\n            if(key == keyCode.escape) {\n              module.verbose('Escape key pressed blurring field');\n              $input.blur();\n              shortcutPressed = true;\n            }\n            else if(!event.ctrlKey && ( key == keyCode.space || key == keyCode.enter) ) {\n              module.verbose('Enter/space key pressed, toggling checkbox');\n              module.toggle();\n              shortcutPressed = true;\n            }\n            else {\n              shortcutPressed = false;\n            }\n          },\n          keyup: function(event) {\n            if(shortcutPressed) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        check: function() {\n          if( !module.should.allowCheck() ) {\n            return;\n          }\n          module.debug('Checking checkbox', $input);\n          module.set.checked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onChecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        uncheck: function() {\n          if( !module.should.allowUncheck() ) {\n            return;\n          }\n          module.debug('Unchecking checkbox');\n          module.set.unchecked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onUnchecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        indeterminate: function() {\n          if( module.should.allowIndeterminate() ) {\n            module.debug('Checkbox is already indeterminate');\n            return;\n          }\n          module.debug('Making checkbox indeterminate');\n          module.set.indeterminate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onIndeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        determinate: function() {\n          if( module.should.allowDeterminate() ) {\n            module.debug('Checkbox is already determinate');\n            return;\n          }\n          module.debug('Making checkbox determinate');\n          module.set.determinate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onDeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        enable: function() {\n          if( module.is.enabled() ) {\n            module.debug('Checkbox is already enabled');\n            return;\n          }\n          module.debug('Enabling checkbox');\n          module.set.enabled();\n          settings.onEnable.call(input);\n        },\n\n        disable: function() {\n          if( module.is.disabled() ) {\n            module.debug('Checkbox is already disabled');\n            return;\n          }\n          module.debug('Disabling checkbox');\n          module.set.disabled();\n          settings.onDisable.call(input);\n        },\n\n        get: {\n          radios: function() {\n            var\n              name = module.get.name()\n            ;\n            return $('input[name=\"' + name + '\"]').closest(selector.checkbox);\n          },\n          otherRadios: function() {\n            return module.get.radios().not($module);\n          },\n          name: function() {\n            return $input.attr('name');\n          }\n        },\n\n        is: {\n          initialLoad: function() {\n            return initialLoad;\n          },\n          radio: function() {\n            return ($input.hasClass(className.radio) || $input.attr('type') == 'radio');\n          },\n          indeterminate: function() {\n            return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');\n          },\n          checked: function() {\n            return $input.prop('checked') !== undefined && $input.prop('checked');\n          },\n          disabled: function() {\n            return $input.prop('disabled') !== undefined && $input.prop('disabled');\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          determinate: function() {\n            return !module.is.indeterminate();\n          },\n          unchecked: function() {\n            return !module.is.checked();\n          }\n        },\n\n        should: {\n          allowCheck: function() {\n            if(module.is.determinate() && module.is.checked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow check, checkbox is already checked');\n              return false;\n            }\n            if(settings.beforeChecked.apply(input) === false) {\n              module.debug('Should not allow check, beforeChecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowUncheck: function() {\n            if(module.is.determinate() && module.is.unchecked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow uncheck, checkbox is already unchecked');\n              return false;\n            }\n            if(settings.beforeUnchecked.apply(input) === false) {\n              module.debug('Should not allow uncheck, beforeUnchecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowIndeterminate: function() {\n            if(module.is.indeterminate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow indeterminate, checkbox is already indeterminate');\n              return false;\n            }\n            if(settings.beforeIndeterminate.apply(input) === false) {\n              module.debug('Should not allow indeterminate, beforeIndeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowDeterminate: function() {\n            if(module.is.determinate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow determinate, checkbox is already determinate');\n              return false;\n            }\n            if(settings.beforeDeterminate.apply(input) === false) {\n              module.debug('Should not allow determinate, beforeDeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          forceCallbacks: function() {\n            return (module.is.initialLoad() && settings.fireOnInit);\n          },\n          ignoreCallbacks: function() {\n            return (initialLoad && !settings.fireOnInit);\n          }\n        },\n\n        can: {\n          change: function() {\n            return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') );\n          },\n          uncheck: function() {\n            return (typeof settings.uncheckable === 'boolean')\n              ? settings.uncheckable\n              : !module.is.radio()\n            ;\n          }\n        },\n\n        set: {\n          initialLoad: function() {\n            initialLoad = true;\n          },\n          checked: function() {\n            module.verbose('Setting class to checked');\n            $module\n              .removeClass(className.indeterminate)\n              .addClass(className.checked)\n            ;\n            if( module.is.radio() ) {\n              module.uncheckOthers();\n            }\n            if(!module.is.indeterminate() && module.is.checked()) {\n              module.debug('Input is already checked, skipping input property change');\n              return;\n            }\n            module.verbose('Setting state to checked', input);\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', true)\n            ;\n            module.trigger.change();\n          },\n          unchecked: function() {\n            module.verbose('Removing checked class');\n            $module\n              .removeClass(className.indeterminate)\n              .removeClass(className.checked)\n            ;\n            if(!module.is.indeterminate() &&  module.is.unchecked() ) {\n              module.debug('Input is already unchecked');\n              return;\n            }\n            module.debug('Setting state to unchecked');\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', false)\n            ;\n            module.trigger.change();\n          },\n          indeterminate: function() {\n            module.verbose('Setting class to indeterminate');\n            $module\n              .addClass(className.indeterminate)\n            ;\n            if( module.is.indeterminate() ) {\n              module.debug('Input is already indeterminate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to indeterminate');\n            $input\n              .prop('indeterminate', true)\n            ;\n            module.trigger.change();\n          },\n          determinate: function() {\n            module.verbose('Removing indeterminate class');\n            $module\n              .removeClass(className.indeterminate)\n            ;\n            if( module.is.determinate() ) {\n              module.debug('Input is already determinate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to determinate');\n            $input\n              .prop('indeterminate', false)\n            ;\n          },\n          disabled: function() {\n            module.verbose('Setting class to disabled');\n            $module\n              .addClass(className.disabled)\n            ;\n            if( module.is.disabled() ) {\n              module.debug('Input is already disabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to disabled');\n            $input\n              .prop('disabled', 'disabled')\n            ;\n            module.trigger.change();\n          },\n          enabled: function() {\n            module.verbose('Removing disabled class');\n            $module.removeClass(className.disabled);\n            if( module.is.enabled() ) {\n              module.debug('Input is already enabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to enabled');\n            $input\n              .prop('disabled', false)\n            ;\n            module.trigger.change();\n          },\n          tabbable: function() {\n            module.verbose('Adding tabindex to checkbox');\n            if( $input.attr('tabindex') === undefined) {\n              $input.attr('tabindex', 0);\n            }\n          }\n        },\n\n        remove: {\n          initialLoad: function() {\n            initialLoad = false;\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n\n        create: {\n          label: function() {\n            if($input.prevAll(selector.label).length > 0) {\n              $input.prev(selector.label).detach().insertAfter($input);\n              module.debug('Moving existing label', $label);\n            }\n            else if( !module.has.label() ) {\n              $label = $('<label>').insertAfter($input);\n              module.debug('Creating label', $label);\n            }\n          }\n        },\n\n        has: {\n          label: function() {\n            return ($label.length > 0);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching checkbox events');\n            $module\n              .on('click'   + eventNamespace, module.event.click)\n              .on('keydown' + eventNamespace, selector.input, module.event.keydown)\n              .on('keyup'   + eventNamespace, selector.input, module.event.keyup)\n            ;\n          }\n        },\n\n        unbind: {\n          events: function() {\n            module.debug('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        uncheckOthers: function() {\n          var\n            $radios = module.get.otherRadios()\n          ;\n          module.debug('Unchecking other radios', $radios);\n          $radios.removeClass(className.checked);\n        },\n\n        toggle: function() {\n          if( !module.can.change() ) {\n            if(!module.is.radio()) {\n              module.debug('Checkbox is read-only or disabled, ignoring toggle');\n            }\n            return;\n          }\n          if( module.is.indeterminate() || module.is.unchecked() ) {\n            module.debug('Currently unchecked');\n            module.check();\n          }\n          else if( module.is.checked() && module.can.uncheck() ) {\n            module.debug('Currently checked');\n            module.uncheck();\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.checkbox.settings = {\n\n  name                : 'Checkbox',\n  namespace           : 'checkbox',\n\n  debug               : false,\n  verbose             : true,\n  performance         : true,\n\n  // delegated event context\n  uncheckable         : 'auto',\n  fireOnInit          : false,\n\n  onChange            : function(){},\n\n  beforeChecked       : function(){},\n  beforeUnchecked     : function(){},\n  beforeDeterminate   : function(){},\n  beforeIndeterminate : function(){},\n\n  onChecked           : function(){},\n  onUnchecked         : function(){},\n\n  onDeterminate       : function() {},\n  onIndeterminate     : function() {},\n\n  onEnabled           : function(){},\n  onDisabled          : function(){},\n\n  className       : {\n    checked       : 'checked',\n    indeterminate : 'indeterminate',\n    disabled      : 'disabled',\n    hidden        : 'hidden',\n    radio         : 'radio',\n    readOnly      : 'read-only'\n  },\n\n  error     : {\n    method       : 'The method you called is not defined'\n  },\n\n  selector : {\n    checkbox : '.ui.checkbox',\n    label    : 'label, .box',\n    input    : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    link     : 'a[href]'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/colorize.js",
    "content": "/*!\n * # Semantic UI 2.0.0 - Colorize\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n  \"use strict\";\n\n  $.fn.colorize = function(parameters) {\n    var\n      settings          = ( $.isPlainObject(parameters) )\n        ? $.extend(true, {}, $.fn.colorize.settings, parameters)\n        : $.extend({}, $.fn.colorize.settings),\n      // hoist arguments\n      moduleArguments = arguments || false\n    ;\n    $(this)\n      .each(function(instanceIndex) {\n\n        var\n          $module         = $(this),\n\n          mainCanvas      = $('<canvas />')[0],\n          imageCanvas     = $('<canvas />')[0],\n          overlayCanvas   = $('<canvas />')[0],\n\n          backgroundImage = new Image(),\n\n          // defs\n          mainContext,\n          imageContext,\n          overlayContext,\n\n          image,\n          imageName,\n\n          width,\n          height,\n\n          // shortucts\n          colors    = settings.colors,\n          paths     = settings.paths,\n          namespace = settings.namespace,\n          error     = settings.error,\n\n          // boilerplate\n          instance   = $module.data('module-' + namespace),\n          module\n        ;\n\n        module = {\n\n          checkPreconditions: function() {\n            module.debug('Checking pre-conditions');\n\n            if( !$.isPlainObject(colors) || $.isEmptyObject(colors) ) {\n              module.error(error.undefinedColors);\n              return false;\n            }\n            return true;\n          },\n\n          async: function(callback) {\n            if(settings.async) {\n              setTimeout(callback, 0);\n            }\n            else {\n              callback();\n            }\n          },\n\n          getMetadata: function() {\n            module.debug('Grabbing metadata');\n            image     = $module.data('image') || settings.image || undefined;\n            imageName = $module.data('name')  || settings.name  || instanceIndex;\n            width     = settings.width        || $module.width();\n            height    = settings.height       || $module.height();\n            if(width === 0 || height === 0) {\n              module.error(error.undefinedSize);\n            }\n          },\n\n          initialize: function() {\n            module.debug('Initializing with colors', colors);\n            if( module.checkPreconditions() ) {\n\n              module.async(function() {\n                module.getMetadata();\n                module.canvas.create();\n\n                module.draw.image(function() {\n                  module.draw.colors();\n                  module.canvas.merge();\n                });\n                $module\n                  .data('module-' + namespace, module)\n                ;\n              });\n            }\n          },\n\n          redraw: function() {\n            module.debug('Redrawing image');\n            module.async(function() {\n              module.canvas.clear();\n              module.draw.colors();\n              module.canvas.merge();\n            });\n          },\n\n          change: {\n            color: function(colorName, color) {\n              module.debug('Changing color', colorName);\n              if(colors[colorName] === undefined) {\n                module.error(error.missingColor);\n                return false;\n              }\n              colors[colorName] = color;\n              module.redraw();\n            }\n          },\n\n          canvas: {\n            create: function() {\n              module.debug('Creating canvases');\n\n              mainCanvas.width     = width;\n              mainCanvas.height    = height;\n              imageCanvas.width    = width;\n              imageCanvas.height   = height;\n              overlayCanvas.width  = width;\n              overlayCanvas.height = height;\n\n              mainContext    = mainCanvas.getContext('2d');\n              imageContext   = imageCanvas.getContext('2d');\n              overlayContext = overlayCanvas.getContext('2d');\n\n              $module\n                .append( mainCanvas )\n              ;\n              mainContext    = $module.children('canvas')[0].getContext('2d');\n            },\n            clear: function(context) {\n              module.debug('Clearing canvas');\n              overlayContext.fillStyle = '#FFFFFF';\n              overlayContext.fillRect(0, 0, width, height);\n            },\n            merge: function() {\n              if( !$.isFunction(mainContext.blendOnto) ) {\n                module.error(error.missingPlugin);\n                return;\n              }\n              mainContext.putImageData( imageContext.getImageData(0, 0, width, height), 0, 0);\n              overlayContext.blendOnto(mainContext, 'multiply');\n            }\n          },\n\n          draw: {\n\n            image: function(callback) {\n              module.debug('Drawing image');\n              callback = callback || function(){};\n              if(image) {\n                backgroundImage.src    = image;\n                backgroundImage.onload = function() {\n                  imageContext.drawImage(backgroundImage, 0, 0);\n                  callback();\n                };\n              }\n              else {\n                module.error(error.noImage);\n                callback();\n              }\n            },\n\n            colors: function() {\n              module.debug('Drawing color overlays', colors);\n              $.each(colors, function(colorName, color) {\n                settings.onDraw(overlayContext, imageName, colorName, color);\n              });\n            }\n\n          },\n\n          debug: function(message, variableName) {\n            if(settings.debug) {\n              if(variableName !== undefined) {\n                console.info(settings.name + ': ' + message, variableName);\n              }\n              else {\n                console.info(settings.name + ': ' + message);\n              }\n            }\n          },\n          error: function(errorMessage) {\n            console.warn(settings.name + ': ' + errorMessage);\n          },\n          invoke: function(methodName, context, methodArguments) {\n            var\n              method\n            ;\n            methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 );\n\n            if(typeof methodName == 'string' && instance !== undefined) {\n              methodName = methodName.split('.');\n              $.each(methodName, function(index, name) {\n                if( $.isPlainObject( instance[name] ) ) {\n                  instance = instance[name];\n                  return true;\n                }\n                else if( $.isFunction( instance[name] ) ) {\n                  method = instance[name];\n                  return true;\n                }\n                module.error(settings.error.method);\n                return false;\n              });\n            }\n            return ( $.isFunction( method ) )\n              ? method.apply(context, methodArguments)\n              : false\n            ;\n          }\n\n        };\n        if(instance !== undefined && moduleArguments) {\n          // simpler than invoke realizing to invoke itself (and losing scope due prototype.call()\n          if(moduleArguments[0] == 'invoke') {\n            moduleArguments = Array.prototype.slice.call( moduleArguments, 1 );\n          }\n          return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) );\n        }\n        // initializing\n        module.initialize();\n      })\n    ;\n    return this;\n  };\n\n  $.fn.colorize.settings = {\n    name      : 'Image Colorizer',\n    debug     : true,\n    namespace : 'colorize',\n\n    onDraw    : function(overlayContext, imageName, colorName, color) {},\n\n    // whether to block execution while updating canvas\n    async     : true,\n    // object containing names and default values of color regions\n    colors    : {},\n\n    metadata: {\n      image : 'image',\n      name  : 'name'\n    },\n\n    error: {\n      noImage         : 'No tracing image specified',\n      undefinedColors : 'No default colors specified.',\n      missingColor    : 'Attempted to change color that does not exist',\n      missingPlugin   : 'Blend onto plug-in must be included',\n      undefinedHeight : 'The width or height of image canvas could not be automatically determined. Please specify a height.'\n    }\n\n  };\n\n})( jQuery, window , document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/comment.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Comment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n    Comments\n---------------*/\n\n.ui.comments {\n  margin: 1.5em 0em;\n  max-width: 650px;\n}\n.ui.comments:first-child {\n  margin-top: 0em;\n}\n.ui.comments:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Comment\n---------------*/\n\n.ui.comments .comment {\n  position: relative;\n  background: none;\n  margin: 0.5em 0em 0em;\n  padding: 0.5em 0em 0em;\n  border: none;\n  border-top: none;\n  line-height: 1.2;\n}\n.ui.comments .comment:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\n\n/*--------------------\n    Nested Comments\n---------------------*/\n\n.ui.comments .comment .comments {\n  margin: 0em 0em 0.5em 0.5em;\n  padding: 1em 0em 1em 1em;\n}\n.ui.comments .comment .comments:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n.ui.comments .comment .comments .comment {\n  border: none;\n  border-top: none;\n  background: none;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.comments .comment .avatar {\n  display: block;\n  width: 2.5em;\n  height: auto;\n  float: left;\n  margin: 0.2em 0em 0em;\n}\n.ui.comments .comment img.avatar,\n.ui.comments .comment .avatar img {\n  display: block;\n  margin: 0em auto;\n  width: 100%;\n  height: 100%;\n  border-radius: 0.25rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.comments .comment > .content {\n  display: block;\n}\n\n/* If there is an avatar move content over */\n.ui.comments .comment > .avatar ~ .content {\n  margin-left: 3.5em;\n}\n\n/*--------------\n     Author\n---------------*/\n\n.ui.comments .comment .author {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n}\n.ui.comments .comment a.author {\n  cursor: pointer;\n}\n.ui.comments .comment a.author:hover {\n  color: #1e70bf;\n}\n\n/*--------------\n     Metadata\n---------------*/\n\n.ui.comments .comment .metadata {\n  display: inline-block;\n  margin-left: 0.5em;\n  color: rgba(0, 0, 0, 0.4);\n  font-size: 0.875em;\n}\n.ui.comments .comment .metadata > * {\n  display: inline-block;\n  margin: 0em 0.5em 0em 0em;\n}\n.ui.comments .comment .metadata > :last-child {\n  margin-right: 0em;\n}\n\n/*--------------------\n     Comment Text\n---------------------*/\n\n.ui.comments .comment .text {\n  margin: 0.25em 0em 0.5em;\n  font-size: 1em;\n  word-wrap: break-word;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.3;\n}\n\n/*--------------------\n     User Actions\n---------------------*/\n\n.ui.comments .comment .actions {\n  font-size: 0.875em;\n}\n.ui.comments .comment .actions a {\n  cursor: pointer;\n  display: inline-block;\n  margin: 0em 0.75em 0em 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.comments .comment .actions a:last-child {\n  margin-right: 0em;\n}\n.ui.comments .comment .actions a.active,\n.ui.comments .comment .actions a:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------------\n      Reply Form\n---------------------*/\n\n.ui.comments > .reply.form {\n  margin-top: 1em;\n}\n.ui.comments .comment .reply.form {\n  width: 100%;\n  margin-top: 1em;\n}\n.ui.comments .reply.form textarea {\n  font-size: 1em;\n  height: 12em;\n}\n\n\n/*******************************\n            State\n*******************************/\n\n.ui.collapsed.comments,\n.ui.comments .collapsed.comments,\n.ui.comments .collapsed.comment {\n  display: none;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------------\n        Threaded\n---------------------*/\n\n.ui.threaded.comments .comment .comments {\n  margin: -1.5em 0 -1em 1.25em;\n  padding: 3em 0em 2em 2.25em;\n  box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/*--------------------\n        Minimal\n---------------------*/\n\n.ui.minimal.comments .comment .actions {\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  -webkit-transition: opacity 0.2s ease;\n          transition: opacity 0.2s ease;\n  -webkit-transition-delay: 0.1s;\n          transition-delay: 0.1s;\n}\n.ui.minimal.comments .comment > .content:hover > .actions {\n  opacity: 1;\n}\n\n/*--------------------\n       Sizes\n---------------------*/\n\n.ui.small.comments {\n  font-size: 0.9em;\n}\n.ui.comments {\n  font-size: 1em;\n}\n.ui.large.comments {\n  font-size: 1.1em;\n}\n.ui.huge.comments {\n  font-size: 1.2em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/container.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Container\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Container\n*******************************/\n\n\n/* All Sizes */\n.ui.container {\n  display: block;\n  max-width: 100% !important;\n}\n\n/* Mobile */\n@media only screen and (max-width: 767px) {\n  .ui.container {\n    width: auto !important;\n    margin-left: 1em !important;\n    margin-right: 1em !important;\n  }\n  .ui.grid.container {\n    width: auto !important;\n  }\n  .ui.relaxed.grid.container {\n    width: auto !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: auto !important;\n  }\n}\n\n/* Tablet */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.container {\n    width: 723px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .ui.grid.container {\n    width: calc( 723px  +  2rem ) !important;\n  }\n  .ui.relaxed.grid.container {\n    width: calc( 723px  +  3rem ) !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: calc( 723px  +  5rem ) !important;\n  }\n}\n\n/* Small Monitor */\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.container {\n    width: 933px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .ui.grid.container {\n    width: calc( 933px  +  2rem ) !important;\n  }\n  .ui.relaxed.grid.container {\n    width: calc( 933px  +  3rem ) !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: calc( 933px  +  5rem ) !important;\n  }\n}\n\n/* Large Monitor */\n@media only screen and (min-width: 1200px) {\n  .ui.container {\n    width: 1127px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .ui.grid.container {\n    width: calc( 1127px  +  2rem ) !important;\n  }\n  .ui.relaxed.grid.container {\n    width: calc( 1127px  +  3rem ) !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: calc( 1127px  +  5rem ) !important;\n  }\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/* Text Container */\n.ui.text.container {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  max-width: 700px !important;\n  line-height: 1.5;\n}\n.ui.text.container {\n  font-size: 1.14285714rem;\n}\n\n/* Fluid */\n.ui.fluid.container {\n  width: 100%;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n.ui[class*=\"left aligned\"].container {\n  text-align: left;\n}\n.ui[class*=\"center aligned\"].container {\n  text-align: center;\n}\n.ui[class*=\"right aligned\"].container {\n  text-align: right;\n}\n.ui.justified.container {\n  text-align: justify;\n  -webkit-hyphens: auto;\n     -moz-hyphens: auto;\n      -ms-hyphens: auto;\n          hyphens: auto;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/dimmer.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Dimmer\n*******************************/\n\n.dimmable {\n  position: relative;\n}\n.ui.dimmer {\n  display: none;\n  position: absolute;\n  top: 0em !important;\n  left: 0em !important;\n  width: 100%;\n  height: 100%;\n  text-align: center;\n  vertical-align: middle;\n  background-color: rgba(0, 0, 0, 0.85);\n  opacity: 0;\n  line-height: 1;\n  -webkit-animation-fill-mode: both;\n          animation-fill-mode: both;\n  -webkit-animation-duration: 0.5s;\n          animation-duration: 0.5s;\n  -webkit-transition: background-color 0.5s linear;\n          transition: background-color 0.5s linear;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/* Dimmer Content */\n.ui.dimmer > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n}\n.ui.dimmer > .content > * {\n  display: table-cell;\n  vertical-align: middle;\n  color: #FFFFFF;\n}\n\n/* Loose Coupling */\n.ui.segment > .ui.dimmer {\n  border-radius: inherit !important;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.animating.dimmable:not(body),\n.dimmed.dimmable:not(body) {\n  overflow: hidden;\n}\n.dimmed.dimmable > .ui.animating.dimmer,\n.dimmed.dimmable > .ui.visible.dimmer,\n.ui.active.dimmer {\n  display: block;\n  opacity: 1;\n}\n.ui.disabled.dimmer {\n  width: 0 !important;\n  height: 0 !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n      Page\n---------------*/\n\n.ui.page.dimmer {\n  position: fixed;\n  -webkit-transform-style: '';\n          transform-style: '';\n  -webkit-perspective: 2000px;\n          perspective: 2000px;\n  -webkit-transform-origin: center center;\n      -ms-transform-origin: center center;\n          transform-origin: center center;\n}\nbody.animating.in.dimmable,\nbody.dimmed.dimmable {\n  overflow: hidden;\n}\nbody.dimmable > .dimmer {\n  position: fixed;\n}\n\n/*--------------\n    Blurring\n---------------*/\n\n.blurring.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(0px) grayscale(0);\n          filter: blur(0px) grayscale(0);\n  -webkit-transition: 800ms -webkit-filter ease, 800ms filter ease;\n          transition: 800ms filter ease;\n}\n.blurring.dimmed.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(5px) grayscale(0.7);\n          filter: blur(5px) grayscale(0.7);\n}\n\n/* Dimmer Color */\n.blurring.dimmable > .dimmer {\n  background-color: rgba(0, 0, 0, 0.6);\n}\n.blurring.dimmable > .inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.6);\n}\n\n/*--------------\n    Aligned\n---------------*/\n\n.ui.dimmer > .top.aligned.content > * {\n  vertical-align: top;\n}\n.ui.dimmer > .bottom.aligned.content > * {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n.ui.inverted.dimmer > .content > * {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Simple\n---------------*/\n\n\n/* Displays without javascript */\n.ui.simple.dimmer {\n  display: block;\n  overflow: hidden;\n  opacity: 1;\n  width: 0%;\n  height: 0%;\n  z-index: -100;\n  background-color: rgba(0, 0, 0, 0);\n}\n.dimmed.dimmable > .ui.simple.dimmer {\n  overflow: visible;\n  opacity: 1;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.85);\n  z-index: 1;\n}\n.ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0);\n}\n.dimmed.dimmable > .ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/dimmer.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dimmer = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dimmer.settings, parameters)\n          : $.extend({}, $.fn.dimmer.settings),\n\n        selector        = settings.selector,\n        namespace       = settings.namespace,\n        className       = settings.className,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        clickEvent      = ('ontouchstart' in document.documentElement)\n          ? 'touchstart'\n          : 'click',\n\n        $module = $(this),\n        $dimmer,\n        $dimmable,\n\n        element   = this,\n        instance  = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        preinitialize: function() {\n          if( module.is.dimmer() ) {\n\n            $dimmable = $module.parent();\n            $dimmer   = $module;\n          }\n          else {\n            $dimmable = $module;\n            if( module.has.dimmer() ) {\n              if(settings.dimmerName) {\n                $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);\n              }\n              else {\n                $dimmer = $dimmable.find(selector.dimmer);\n              }\n            }\n            else {\n              $dimmer = module.create();\n            }\n          }\n        },\n\n        initialize: function() {\n          module.debug('Initializing dimmer', settings);\n\n          module.bind.events();\n          module.set.dimmable();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', $dimmer);\n          module.unbind.events();\n          module.remove.variation();\n          $dimmable\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            if(settings.on == 'hover') {\n              $dimmable\n                .on('mouseenter' + eventNamespace, module.show)\n                .on('mouseleave' + eventNamespace, module.hide)\n              ;\n            }\n            else if(settings.on == 'click') {\n              $dimmable\n                .on(clickEvent + eventNamespace, module.toggle)\n              ;\n            }\n            if( module.is.page() ) {\n              module.debug('Setting as a page dimmer', $dimmable);\n              module.set.pageDimmer();\n            }\n\n            if( module.is.closable() ) {\n              module.verbose('Adding dimmer close event', $dimmer);\n              $dimmable\n                .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          events: function() {\n            $module\n              .removeData(moduleNamespace)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            module.verbose('Determining if event occured on dimmer', event);\n            if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {\n              module.hide();\n              event.stopImmediatePropagation();\n            }\n          }\n        },\n\n        addContent: function(element) {\n          var\n            $content = $(element)\n          ;\n          module.debug('Add content to dimmer', $content);\n          if($content.parent()[0] !== $dimmer[0]) {\n            $content.detach().appendTo($dimmer);\n          }\n        },\n\n        create: function() {\n          var\n            $element = $( settings.template.dimmer() )\n          ;\n          if(settings.variation) {\n            module.debug('Creating dimmer with variation', settings.variation);\n            $element.addClass(settings.variation);\n          }\n          if(settings.dimmerName) {\n            module.debug('Creating named dimmer', settings.dimmerName);\n            $element.addClass(settings.dimmerName);\n          }\n          $element\n            .appendTo($dimmable)\n          ;\n          return $element;\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Showing dimmer', $dimmer, settings);\n          if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {\n            module.animate.show(callback);\n            settings.onShow.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is already shown or disabled');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.dimmed() || module.is.animating() ) {\n            module.debug('Hiding dimmer', $dimmer);\n            module.animate.hide(callback);\n            settings.onHide.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is not visible');\n          }\n        },\n\n        toggle: function() {\n          module.verbose('Toggling dimmer visibility', $dimmer);\n          if( !module.is.dimmed() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              if(settings.opacity !== 'auto') {\n                module.set.opacity();\n              }\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' in',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.set.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.set.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Showing dimmer animation with javascript');\n              module.set.dimmed();\n              if(settings.opacity == 'auto') {\n                settings.opacity = 0.8;\n              }\n              $dimmer\n                .stop()\n                .css({\n                  opacity : 0,\n                  width   : '100%',\n                  height  : '100%'\n                })\n                .fadeTo(module.get.duration(), settings.opacity, function() {\n                  $dimmer.removeAttr('style');\n                  module.set.active();\n                  callback();\n                })\n              ;\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              module.verbose('Hiding dimmer with css');\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' out',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.remove.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.remove.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Hiding dimmer with javascript');\n              module.remove.dimmed();\n              $dimmer\n                .stop()\n                .fadeOut(module.get.duration(), function() {\n                  module.remove.active();\n                  $dimmer.removeAttr('style');\n                  callback();\n                })\n              ;\n            }\n          }\n        },\n\n        get: {\n          dimmer: function() {\n            return $dimmer;\n          },\n          duration: function() {\n            if(typeof settings.duration == 'object') {\n              if( module.is.active() ) {\n                return settings.duration.hide;\n              }\n              else {\n                return settings.duration.show;\n              }\n            }\n            return settings.duration;\n          }\n        },\n\n        has: {\n          dimmer: function() {\n            if(settings.dimmerName) {\n              return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);\n            }\n            else {\n              return ( $module.find(selector.dimmer).length > 0 );\n            }\n          }\n        },\n\n        is: {\n          active: function() {\n            return $dimmer.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );\n          },\n          closable: function() {\n            if(settings.closable == 'auto') {\n              if(settings.on == 'hover') {\n                return false;\n              }\n              return true;\n            }\n            return settings.closable;\n          },\n          dimmer: function() {\n            return $module.hasClass(className.dimmer);\n          },\n          dimmable: function() {\n            return $module.hasClass(className.dimmable);\n          },\n          dimmed: function() {\n            return $dimmable.hasClass(className.dimmed);\n          },\n          disabled: function() {\n            return $dimmable.hasClass(className.disabled);\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          page: function () {\n            return $dimmable.is('body');\n          },\n          pageDimmer: function() {\n            return $dimmer.hasClass(className.pageDimmer);\n          }\n        },\n\n        can: {\n          show: function() {\n            return !$dimmer.hasClass(className.disabled);\n          }\n        },\n\n        set: {\n          opacity: function(opacity) {\n            var\n              color      = $dimmer.css('background-color'),\n              colorArray = color.split(','),\n              isRGBA     = (colorArray && colorArray.length == 4)\n            ;\n            opacity    = settings.opacity === 0 ? 0 : settings.opacity || opacity;\n            if(isRGBA) {\n              colorArray[3] = opacity + ')';\n              color         = colorArray.join(',');\n            }\n            else {\n              color = 'rgba(0, 0, 0, ' + opacity + ')';\n            }\n            module.debug('Setting opacity to', opacity);\n            $dimmer.css('background-color', color);\n          },\n          active: function() {\n            $dimmer.addClass(className.active);\n          },\n          dimmable: function() {\n            $dimmable.addClass(className.dimmable);\n          },\n          dimmed: function() {\n            $dimmable.addClass(className.dimmed);\n          },\n          pageDimmer: function() {\n            $dimmer.addClass(className.pageDimmer);\n          },\n          disabled: function() {\n            $dimmer.addClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.addClass(variation);\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $dimmer\n              .removeClass(className.active)\n            ;\n          },\n          dimmed: function() {\n            $dimmable.removeClass(className.dimmed);\n          },\n          disabled: function() {\n            $dimmer.removeClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.removeClass(variation);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      module.preinitialize();\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.dimmer.settings = {\n\n  name        : 'Dimmer',\n  namespace   : 'dimmer',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  // name to distinguish between multiple dimmers in context\n  dimmerName  : false,\n\n  // whether to add a variation type\n  variation   : false,\n\n  // whether to bind close events\n  closable    : 'auto',\n\n  // whether to use css animations\n  useCSS      : true,\n\n  // css animation to use\n  transition  : 'fade',\n\n  // event to bind to\n  on          : false,\n\n  // overriding opacity value\n  opacity     : 'auto',\n\n  // transition durations\n  duration    : {\n    show : 500,\n    hide : 500\n  },\n\n  onChange    : function(){},\n  onShow      : function(){},\n  onHide      : function(){},\n\n  error   : {\n    method   : 'The method you called is not defined.'\n  },\n\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    dimmable   : 'dimmable',\n    dimmed     : 'dimmed',\n    dimmer     : 'dimmer',\n    disabled   : 'disabled',\n    hide       : 'hide',\n    pageDimmer : 'page',\n    show       : 'show'\n  },\n\n  selector: {\n    dimmer   : '> .ui.dimmer',\n    content  : '.ui.dimmer > .content, .ui.dimmer > .content > .center'\n  },\n\n  template: {\n    dimmer: function() {\n     return $('<div />').attr('class', 'ui dimmer');\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/divider.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Divider\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Divider\n*******************************/\n\n.ui.divider {\n  margin: 1rem 0rem;\n  line-height: 1;\n  height: 0em;\n  font-weight: bold;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: rgba(0, 0, 0, 0.85);\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.divider:not(.vertical):not(.horizontal) {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n\n/* Allow divider between each column row */\n.ui.grid > .column + .divider,\n.ui.grid > .row > .column + .divider {\n  left: auto;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.divider {\n  display: table;\n  white-space: nowrap;\n  height: auto;\n  margin: '';\n  overflow: hidden;\n  line-height: 1;\n  text-align: center;\n}\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  content: '';\n  display: table-cell;\n  position: relative;\n  top: 50%;\n  width: 50%;\n  background-repeat: no-repeat;\n}\n.ui.horizontal.divider:before {\n  background-position: right 1em top 50%;\n}\n.ui.horizontal.divider:after {\n  background-position: left 1em top 50%;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.divider {\n  position: absolute;\n  z-index: 2;\n  top: 50%;\n  left: 50%;\n  margin: 0rem;\n  padding: 0em;\n  width: auto;\n  height: 50%;\n  line-height: 0em;\n  text-align: center;\n  -webkit-transform: translateX(-50%);\n      -ms-transform: translateX(-50%);\n          transform: translateX(-50%);\n}\n.ui.vertical.divider:before,\n.ui.vertical.divider:after {\n  position: absolute;\n  left: 50%;\n  content: '';\n  z-index: 3;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(255, 255, 255, 0.1);\n  width: 0%;\n  height: calc(100% -  1rem );\n}\n.ui.vertical.divider:before {\n  top: -100%;\n}\n.ui.vertical.divider:after {\n  top: auto;\n  bottom: 0px;\n}\n\n/* Inside grid */\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider,\n  .ui.grid .stackable.row .ui.vertical.divider {\n    display: table;\n    white-space: nowrap;\n    height: auto;\n    margin: '';\n    overflow: hidden;\n    line-height: 1;\n    text-align: center;\n    position: static;\n    top: 0;\n    left: 0;\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n  }\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    position: static;\n    left: 0;\n    border-left: none;\n    border-right: none;\n    content: '';\n    display: table-cell;\n    position: relative;\n    top: 50%;\n    width: 50%;\n    background-repeat: no-repeat;\n  }\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before {\n    background-position: right 1em top 50%;\n  }\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-position: left 1em top 50%;\n  }\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.divider > .icon {\n  margin: 0rem;\n  font-size: 1rem;\n  height: 1em;\n  vertical-align: middle;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n    Hidden\n---------------*/\n\n.ui.hidden.divider {\n  border-color: transparent !important;\n}\n.ui.hidden.divider:before,\n.ui.hidden.divider:after {\n  display: none;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.divider.inverted,\n.ui.vertical.inverted.divider,\n.ui.horizontal.inverted.divider {\n  color: #FFFFFF;\n}\n.ui.divider.inverted,\n.ui.divider.inverted:after,\n.ui.divider.inverted:before {\n  border-top-color: rgba(34, 36, 38, 0.15) !important;\n  border-left-color: rgba(34, 36, 38, 0.15) !important;\n  border-bottom-color: rgba(255, 255, 255, 0.15) !important;\n  border-right-color: rgba(255, 255, 255, 0.15) !important;\n}\n\n/*--------------\n    Fitted\n---------------*/\n\n.ui.fitted.divider {\n  margin: 0em;\n}\n\n/*--------------\n    Clearing\n---------------*/\n\n.ui.clearing.divider {\n  clear: both;\n}\n\n/*--------------\n    Section\n---------------*/\n\n.ui.section.divider {\n  margin-top: 2rem;\n  margin-bottom: 2rem;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.divider {\n  font-size: 1rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');\n}\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');\n  }\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/dropdown.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Dropdown\n*******************************/\n\n.ui.dropdown {\n  cursor: pointer;\n  position: relative;\n  display: inline-block;\n  outline: none;\n  text-align: left;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n          transition: box-shadow 0.1s ease, width 0.1s ease;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.dropdown .menu {\n  cursor: auto;\n  position: absolute;\n  display: none;\n  outline: none;\n  top: 100%;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  margin: 0em;\n  padding: 0em 0em;\n  background: #FFFFFF;\n  font-size: 1em;\n  text-shadow: none;\n  text-align: left;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n  z-index: 11;\n  will-change: transform, opacity;\n}\n.ui.dropdown .menu > * {\n  white-space: nowrap;\n}\n\n/*--------------\n  Hidden Input\n---------------*/\n\n.ui.dropdown > input:not(.search):first-child,\n.ui.dropdown > select {\n  display: none !important;\n}\n\n/*--------------\n Dropdown Icon\n---------------*/\n\n.ui.dropdown > .dropdown.icon {\n  position: relative;\n  width: auto;\n  font-size: 0.85714286em;\n  margin: 0em 0em 0em 1em;\n}\n.ui.dropdown .menu > .item .dropdown.icon {\n  width: auto;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n.ui.dropdown .menu > .item .dropdown.icon + .text {\n  margin-right: 1em;\n}\n\n/*--------------\n      Text\n---------------*/\n\n.ui.dropdown > .text {\n  display: inline-block;\n  -webkit-transition: none;\n          transition: none;\n}\n\n/*--------------\n    Menu Item\n---------------*/\n\n.ui.dropdown .menu > .item {\n  position: relative;\n  cursor: pointer;\n  display: block;\n  border: none;\n  height: auto;\n  text-align: left;\n  border-top: none;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571rem 1.14285714rem !important;\n  font-size: 1rem;\n  text-transform: none;\n  font-weight: normal;\n  box-shadow: none;\n  -webkit-touch-callout: none;\n}\n.ui.dropdown .menu > .item:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Floated Content\n---------------*/\n\n.ui.dropdown > .text > [class*=\"right floated\"],\n.ui.dropdown .menu .item > [class*=\"right floated\"] {\n  float: right !important;\n  margin-right: 0em !important;\n  margin-left: 1em !important;\n}\n.ui.dropdown > .text > [class*=\"left floated\"],\n.ui.dropdown .menu .item > [class*=\"left floated\"] {\n  float: left !important;\n  margin-left: 0em !important;\n  margin-right: 1em !important;\n}\n.ui.dropdown .menu .item > .icon.floated,\n.ui.dropdown .menu .item > .flag.floated,\n.ui.dropdown .menu .item > .image.floated,\n.ui.dropdown .menu .item > img.floated {\n  margin-top: 0em;\n}\n\n/*--------------\n  Menu Divider\n---------------*/\n\n.ui.dropdown .menu > .header {\n  margin: 1rem 0rem 0.75rem;\n  padding: 0em 1.14285714rem;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.78571429em;\n  font-weight: bold;\n  text-transform: uppercase;\n}\n.ui.dropdown .menu > .divider {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  height: 0em;\n  margin: 0.5em 0em;\n}\n.ui.dropdown .menu > .input {\n  width: auto;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1.14285714rem 0.71428571rem;\n  min-width: 10rem;\n}\n.ui.dropdown .menu > .header + .input {\n  margin-top: 0em;\n}\n.ui.dropdown .menu > .input:not(.transparent) input {\n  padding: 0.5em 1em;\n}\n.ui.dropdown .menu > .input:not(.transparent) .button,\n.ui.dropdown .menu > .input:not(.transparent) .icon,\n.ui.dropdown .menu > .input:not(.transparent) .label {\n  padding-top: 0.5em;\n  padding-bottom: 0.5em;\n}\n\n/*-----------------\n  Item Description\n-------------------*/\n\n.ui.dropdown > .text > .description,\n.ui.dropdown .menu > .item > .description {\n  float: right;\n  margin: 0em 0em 0em 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*-----------------\n       Message\n-------------------*/\n\n.ui.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n  font-weight: normal;\n}\n.ui.dropdown .menu > .message:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n    Sub Menu\n---------------*/\n\n.ui.dropdown .menu .menu {\n  top: 0% !important;\n  left: 100% !important;\n  right: auto !important;\n  margin: 0em 0em 0em -0.5em !important;\n  border-radius: 0.28571429rem !important;\n  z-index: 21 !important;\n}\n\n/* Hide Arrow */\n.ui.dropdown .menu .menu:after {\n  display: none;\n}\n\n/*--------------\n   Sub Elements\n---------------*/\n\n\n/* Icons / Flags / Labels / Image */\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image {\n  margin-top: 0em;\n}\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-top: 0em;\n}\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-left: 0em;\n  float: none;\n  margin-right: 0.71428571rem;\n}\n\n/*--------------\n     Image\n---------------*/\n\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  display: inline-block;\n  vertical-align: middle;\n  width: auto;\n  max-height: 2em;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n\n/*--------------\n      Menu\n---------------*/\n\n\n/* Remove Menu Item Divider */\n.ui.dropdown .ui.menu > .item:before,\n.ui.menu .ui.dropdown .menu > .item:before {\n  display: none;\n}\n\n/* Prevent Menu Item Border */\n.ui.menu .ui.dropdown .menu .active.item {\n  border-left: none;\n}\n\n/* Automatically float dropdown menu right on last menu item */\n.ui.menu .right.menu .dropdown:last-child .menu,\n.ui.menu .right.dropdown.item .menu,\n.ui.buttons > .ui.dropdown:last-child .menu {\n  left: auto;\n  right: 0em;\n}\n\n/*--------------\n      Label\n---------------*/\n\n\n/* Dropdown Menu */\n.ui.label.dropdown .menu {\n  min-width: 100%;\n}\n\n/*--------------\n     Button\n---------------*/\n\n\n/* No Margin On Icon Button */\n.ui.dropdown.icon.button > .dropdown.icon {\n  margin: 0em;\n}\n.ui.button.dropdown .menu {\n  min-width: 100%;\n}\n\n\n/*******************************\n              Types\n*******************************/\n\n\n/*--------------\n    Selection\n---------------*/\n\n\n/* Displays like a select box */\n.ui.selection.dropdown {\n  cursor: pointer;\n  word-wrap: break-word;\n  line-height: 1em;\n  white-space: normal;\n  outline: 0;\n  -webkit-transform: rotateZ(0deg);\n          transform: rotateZ(0deg);\n  min-width: 14em;\n  min-height: 2.7142em;\n  background: #FFFFFF;\n  display: inline-block;\n  padding: 0.78571429em 2.6em 0.78571429em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n          transition: box-shadow 0.1s ease, width 0.1s ease;\n}\n.ui.selection.dropdown.visible,\n.ui.selection.dropdown.active {\n  z-index: 10;\n}\nselect.ui.dropdown {\n  height: 38px;\n  padding: 0.5em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  visibility: visible;\n}\n.ui.selection.dropdown > .search.icon,\n.ui.selection.dropdown > .delete.icon,\n.ui.selection.dropdown > .dropdown.icon {\n  cursor: pointer;\n  position: absolute;\n  top: auto;\n  width: auto;\n  z-index: 3;\n  margin: -0.78571429em;\n  padding: 0.78571429em;\n  right: 1em;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n\n/* Compact */\n.ui.compact.selection.dropdown {\n  min-width: 0px;\n}\n\n/*  Selection Menu */\n.ui.selection.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  border-top-width: 0px !important;\n  width: auto;\n  outline: none;\n  margin: 0px -1px;\n  min-width: calc(100% +  2px );\n  width: calc(100% +  2px );\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n.ui.selection.dropdown .menu:after,\n.ui.selection.dropdown .menu:before {\n  display: none;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.selection.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n}\n@media only screen and (max-width: 767px) {\n  .ui.selection.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.selection.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.selection.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.selection.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/* Menu Item */\n.ui.selection.dropdown .menu > .item {\n  border-top: 1px solid #FAFAFA;\n  padding: 0.71428571rem 1.14285714rem !important;\n  white-space: normal;\n  word-wrap: normal;\n}\n\n/* Hover */\n.ui.selection.dropdown:hover {\n  border-color: rgba(34, 36, 38, 0.35);\n  box-shadow: none;\n}\n\n/* Active */\n.ui.selection.active.dropdown {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n.ui.selection.active.dropdown .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Focus */\n.ui.selection.dropdown:focus {\n  border-color: #96C8DA;\n  box-shadow: none;\n}\n.ui.selection.dropdown:focus .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible */\n.ui.selection.visible.dropdown > .text:not(.default) {\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Visible Hover */\n.ui.selection.active.dropdown:hover {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n.ui.selection.active.dropdown:hover .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Dropdown Icon */\n.ui.active.selection.dropdown > .dropdown.icon,\n.ui.visible.selection.dropdown > .dropdown.icon {\n  opacity: 1;\n  z-index: 3;\n}\n\n/* Connecting Border */\n.ui.active.selection.dropdown {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n\n/*--------------\n   Searchable\n---------------*/\n\n\n/* Search Selection */\n.ui.search.dropdown {\n  min-width: '';\n}\n\n/* Search Dropdown */\n.ui.search.dropdown > input.search {\n  background: none transparent !important;\n  border: none !important;\n  box-shadow: none !important;\n  cursor: pointer;\n  top: 0em;\n  left: 0em;\n  width: 100%;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: inherit;\n}\n\n/* Text Layering */\n.ui.search.dropdown > input.search {\n  position: absolute;\n  z-index: 2;\n}\n.ui.search.dropdown > .text {\n  cursor: text;\n  position: relative;\n  z-index: 3;\n}\n\n/* Search Selection */\n.ui.search.selection.dropdown > input.search {\n  line-height: 1.2142em;\n  padding: 0.67861429em 2.6em 0.67861429em 1em;\n}\n\n/* Active/Visible Search */\n.ui.search.dropdown.active > input.search,\n.ui.search.dropdown.visible > input.search {\n  cursor: auto;\n}\n.ui.search.dropdown.active > .text,\n.ui.search.dropdown.visible > .text {\n  pointer-events: none;\n}\n\n/* Filtered Text */\n.ui.active.search.dropdown input.search:focus + .text .icon,\n.ui.active.search.dropdown input.search:focus + .text .flag {\n  opacity: 0.45;\n}\n.ui.active.search.dropdown input.search:focus + .text {\n  color: rgba(0, 0, 0, 0.4) !important;\n}\n\n/* Search Menu */\n.ui.search.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n@media only screen and (max-width: 767px) {\n  .ui.search.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.search.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.search.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.search.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/*--------------\n    Multiple\n---------------*/\n\n\n/* Multiple Selection */\n.ui.multiple.dropdown {\n  padding: 0.22620476em 2.6em 0.22620476em 0.28571429em;\n}\n.ui.multiple.dropdown .menu {\n  cursor: auto;\n}\n\n/* Multiple Search Selection */\n.ui.multiple.search.dropdown,\n.ui.multiple.search.dropdown > input.search {\n  cursor: text;\n}\n\n/* Selection Label */\n.ui.multiple.dropdown > .label {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  display: inline-block;\n  vertical-align: top;\n  white-space: normal;\n  font-size: 1em;\n  padding: 0.35714286em 0.71428571em;\n  margin: 0.21428571em 0.28571429rem 0.21428571em 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n\n/* Dropdown Icon */\n.ui.multiple.dropdown .dropdown.icon {\n  margin: 0em -0.71428571em 0em 0em;\n  padding: 0.5em;\n}\n\n/* Text */\n.ui.multiple.dropdown > .text {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n.ui.multiple.dropdown > .label ~ .text {\n  display: none;\n}\n\n/*-----------------\n  Multiple Search\n-----------------*/\n\n\n/* Prompt Text */\n.ui.multiple.search.dropdown > .text {\n  display: inline-block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  padding: inherit;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n.ui.multiple.search.dropdown > .label ~ .text {\n  display: none;\n}\n\n/* Search */\n.ui.multiple.search.dropdown > input.search {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  width: 2.2em;\n  line-height: 1.2142em;\n}\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.dropdown {\n  cursor: pointer;\n  display: inline-block;\n  color: inherit;\n}\n.ui.inline.dropdown .dropdown.icon {\n  margin: 0em 0.5em 0em 0.25em;\n  vertical-align: baseline;\n}\n.ui.inline.dropdown > .text {\n  font-weight: bold;\n}\n.ui.inline.dropdown .menu {\n  cursor: auto;\n  margin-top: 0.25em;\n  border-radius: 0.28571429rem;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n        Active\n----------------------*/\n\n\n/* Menu Item Active */\n.ui.dropdown .menu .active.item {\n  background: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n  z-index: 12;\n}\n\n/*--------------------\n        Hover\n----------------------*/\n\n\n/* Menu Item Hover */\n.ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  z-index: 13;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n\n/* Positioning */\n.ui.loading.dropdown > i.icon:before,\n.ui.loading.dropdown > i.icon:after {\n  left: 30% !important;\n}\n.ui.loading.dropdown > i.icon {\n  top: 50% !important;\n}\n.ui.multiple.loading.dropdown > i.icon:before,\n.ui.multiple.loading.dropdown > i.icon:after {\n  top: 0% !important;\n  left: 0% !important;\n}\n.ui.loading.dropdown > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.loading.dropdown > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  box-shadow: 0px 0px 0px 1px transparent;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: dropdown-spin 0.6s linear;\n          animation: dropdown-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n}\n\n/* Coupling */\n.ui.loading.dropdown.button > i.icon:before,\n.ui.loading.dropdown.button > i.icon:after {\n  display: none;\n}\n@-webkit-keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n/*--------------------\n     Default Text\n----------------------*/\n\n.ui.dropdown > .default.text,\n.ui.default.dropdown > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n.ui.dropdown:hover > .default.text,\n.ui.default.dropdown:hover > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n\n/*--------------------\n        Loading\n----------------------*/\n\n.ui.loading.dropdown > .text {\n  -webkit-transition: none;\n          transition: none;\n}\n\n/* Used To Check Position */\n.ui.dropdown .loading.menu {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n\n/*--------------------\n    Keyboard Select\n----------------------*/\n\n\n/* Selected Item */\n.ui.dropdown.selected,\n.ui.dropdown .menu .selected.item {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n    Search Filtered\n----------------------*/\n\n\n/* Filtered Item */\n.ui.dropdown > .filtered.text {\n  visibility: hidden;\n}\n.ui.dropdown .filtered.item {\n  display: none !important;\n}\n\n/*--------------------\n        Error\n----------------------*/\n\n.ui.dropdown.error,\n.ui.dropdown.error > .text,\n.ui.dropdown.error > .default.text {\n  color: #9F3A38;\n}\n.ui.selection.dropdown.error {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n.ui.selection.dropdown.error:hover {\n  border-color: #E0B4B4;\n}\n.ui.dropdown.error > .menu,\n.ui.dropdown.error > .menu .menu {\n  border-color: #E0B4B4;\n}\n.ui.dropdown.error > .menu > .item {\n  color: #9F3A38;\n}\n.ui.multiple.selection.error.dropdown > .label {\n  border-color: #E0B4B4;\n}\n\n/* Item Hover */\n.ui.dropdown.error > .menu > .item:hover {\n  background-color: #FFF2F2;\n}\n\n/* Item Active */\n.ui.dropdown.error > .menu .active.item {\n  background-color: #FDCFCF;\n}\n\n/*--------------------\n        Disabled\n----------------------*/\n\n\n/* Disabled */\n.ui.disabled.dropdown,\n.ui.dropdown .menu > .disabled.item {\n  cursor: default;\n  pointer-events: none;\n  opacity: 0.45;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Direction\n---------------*/\n\n\n/* Flyout Direction */\n.ui.dropdown .menu {\n  left: 0px;\n}\n\n/* Default Side (Right) */\n.ui.dropdown .right.menu > .menu,\n.ui.dropdown .menu .right.menu {\n  left: 100% !important;\n  right: auto !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/* Left Flyout Menu */\n.ui.dropdown > .left.menu .menu,\n.ui.dropdown .menu .left.menu {\n  left: auto !important;\n  right: 100% !important;\n  border-radius: 0.28571429rem !important;\n}\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n.ui.dropdown .item .left.dropdown.icon + .text,\n.ui.dropdown .left.menu .item .dropdown.icon + .text {\n  margin-left: 1em;\n}\n\n/*--------------\n     Upward\n---------------*/\n\n\n/* Upward Main Menu */\n.ui.upward.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Upward Sub Menu */\n.ui.dropdown .upward.menu {\n  top: auto !important;\n  bottom: 0 !important;\n}\n\n/* Active Upward */\n.ui.simple.upward.active.dropdown,\n.ui.simple.upward.dropdown:hover {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n}\n.ui.upward.dropdown.button:not(.pointing):not(.floating).active {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Selection */\n.ui.upward.selection.dropdown .menu {\n  border-top-width: 1px !important;\n  border-bottom-width: 0px !important;\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n.ui.upward.selection.dropdown:hover {\n  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);\n}\n\n/* Active Upward */\n.ui.active.upward.selection.dropdown {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Upward */\n.ui.upward.selection.dropdown.visible {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Hover Upward */\n.ui.upward.active.selection.dropdown:hover {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05);\n}\n.ui.upward.active.selection.dropdown:hover .menu {\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n\n/*--------------\n     Simple\n---------------*/\n\n\n/*  Selection Menu */\n.ui.scrolling.dropdown .menu,\n.ui.dropdown .scrolling.menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.ui.scrolling.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  min-width: 100% !important;\n  width: auto !important;\n}\n.ui.dropdown .scrolling.menu {\n  position: static;\n  overflow-y: auto;\n  border: none;\n  box-shadow: none !important;\n  border-radius: 0 !important;\n  margin: 0 !important;\n  min-width: 100% !important;\n  width: auto !important;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.scrolling.dropdown .menu .item.item.item,\n.ui.dropdown .scrolling.menu > .item.item.item {\n  border-top: none;\n  padding-right: calc( 1.14285714rem  +  17px ) !important;\n}\n.ui.scrolling.dropdown .menu .item:first-child,\n.ui.dropdown .scrolling.menu .item:first-child {\n  border-top: none;\n}\n.ui.dropdown > .animating.menu .scrolling.menu,\n.ui.dropdown > .visible.menu .scrolling.menu {\n  display: block;\n}\n\n/* Scrollbar in IE */\n@media all and (-ms-high-contrast: none) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    min-width: calc(100% -  17px );\n  }\n}\n@media only screen and (max-width: 767px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 9.71428571rem;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 14.57142857rem;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n\n/*--------------\n     Simple\n---------------*/\n\n\n/* Displays without javascript */\n.ui.simple.dropdown .menu:before,\n.ui.simple.dropdown .menu:after {\n  display: none;\n}\n.ui.simple.dropdown .menu {\n  position: absolute;\n  display: block;\n  overflow: hidden;\n  top: -9999px !important;\n  opacity: 0;\n  width: 0;\n  height: 0;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n.ui.simple.active.dropdown,\n.ui.simple.dropdown:hover {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n.ui.simple.active.dropdown > .menu,\n.ui.simple.dropdown:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 100% !important;\n  opacity: 1;\n}\n.ui.simple.dropdown > .menu > .item:active > .menu,\n.ui.simple.dropdown:hover > .menu > .item:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 0% !important;\n  left: 100% !important;\n  opacity: 1;\n}\n.ui.simple.disabled.dropdown:hover .menu {\n  display: none;\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n}\n\n/* Visible */\n.ui.simple.visible.dropdown > .menu {\n  display: block;\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n.ui.fluid.dropdown {\n  display: block;\n  width: 100%;\n  min-width: 0em;\n}\n.ui.fluid.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.dropdown .menu {\n  left: 0;\n  right: auto;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important;\n  border-radius: 0.28571429rem !important;\n}\n.ui.floating.dropdown > .menu {\n  margin-top: 0.5em !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Pointing\n---------------*/\n\n.ui.pointing.dropdown > .menu {\n  top: 100%;\n  margin-top: 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n.ui.pointing.dropdown > .menu:after {\n  display: block;\n  position: absolute;\n  pointer-events: none;\n  content: '';\n  visibility: visible;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\n  background: #FFFFFF;\n  z-index: 2;\n}\n.ui.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 50%;\n  margin: 0em 0em 0em -0.25em;\n}\n\n/* Top Left Pointing */\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n.ui.top.left.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 1em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n}\n\n/* Top Right  Pointing */\n.ui.top.right.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  right: 0%;\n  left: auto;\n  margin: 1em 0em 0em;\n}\n.ui.top.right.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: auto;\n  right: 1em;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n}\n\n/* Left Pointing */\n.ui.left.pointing.dropdown > .menu {\n  top: 0%;\n  left: 100%;\n  right: auto;\n  margin: 0em 0em 0em 1em;\n}\n.ui.left.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(-45deg);\n      -ms-transform: rotate(-45deg);\n          transform: rotate(-45deg);\n}\n\n/* Right Pointing */\n.ui.right.pointing.dropdown > .menu {\n  top: 0%;\n  left: auto;\n  right: 100%;\n  margin: 0em 1em 0em 0em;\n}\n.ui.right.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: auto;\n  right: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(135deg);\n      -ms-transform: rotate(135deg);\n          transform: rotate(135deg);\n}\n\n/* Bottom Pointing */\n.ui.bottom.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  left: 0%;\n  right: auto;\n  margin: 0em 0em 1em;\n}\n.ui.bottom.pointing.dropdown > .menu:after {\n  top: auto;\n  bottom: -0.25em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(-135deg);\n      -ms-transform: rotate(-135deg);\n          transform: rotate(-135deg);\n}\n\n/* Reverse Sub-Menu Direction */\n.ui.bottom.pointing.dropdown > .menu .menu {\n  top: auto !important;\n  bottom: 0px !important;\n}\n\n/* Bottom Left */\n.ui.bottom.left.pointing.dropdown > .menu {\n  left: 0%;\n  right: auto;\n}\n.ui.bottom.left.pointing.dropdown > .menu:after {\n  left: 1em;\n  right: auto;\n}\n\n/* Bottom Right */\n.ui.bottom.right.pointing.dropdown > .menu {\n  right: 0%;\n  left: auto;\n}\n.ui.bottom.right.pointing.dropdown > .menu:after {\n  left: auto;\n  right: 1em;\n}\n\n/* Upward pointing */\n.ui.upward.pointing.dropdown > .menu,\n.ui.upward.top.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  margin: 0em 0em 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n.ui.upward.pointing.dropdown > .menu:after,\n.ui.upward.top.pointing.dropdown > .menu:after {\n  top: 100%;\n  bottom: auto;\n  box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15);\n  margin: -0.25em 0em 0em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n/* Dropdown Carets */\n@font-face {\n  font-family: 'Dropdown';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n.ui.dropdown > .dropdown.icon {\n  font-family: 'Dropdown';\n  line-height: 1;\n  height: 1em;\n  width: 1.23em;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n.ui.dropdown > .dropdown.icon {\n  width: auto;\n}\n.ui.dropdown > .dropdown.icon:before {\n  content: '\\f0d7';\n}\n\n/* Sub Menu */\n.ui.dropdown .menu .item .dropdown.icon:before {\n  content: '\\f0da' /*rtl:'\\f0d9'*/;\n}\n.ui.dropdown .item .left.dropdown.icon:before,\n.ui.dropdown .left.menu .item .dropdown.icon:before {\n  content: \"\\f0d9\" /*rtl:\"\\f0da\"*/;\n}\n\n/* Vertical Menu Dropdown */\n.ui.vertical.menu .dropdown.item > .dropdown.icon:before {\n  content: \"\\f0da\" /*rtl:\"\\f0d9\"*/;\n}\n/* Icons for Reference\n.dropdown.down.icon {\n  content: \"\\f0d7\";\n}\n.dropdown.up.icon {\n  content: \"\\f0d8\";\n}\n.dropdown.left.icon {\n  content: \"\\f0d9\";\n}\n.dropdown.icon.icon {\n  content: \"\\f0da\";\n}\n*/\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/dropdown.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dropdown = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = ('ontouchstart' in document.documentElement),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function(elementIndex) {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dropdown.settings, parameters)\n          : $.extend({}, $.fn.dropdown.settings),\n\n        className       = settings.className,\n        message         = settings.message,\n        fields          = settings.fields,\n        keys            = settings.keys,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        selector        = settings.selector,\n        error           = settings.error,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $text           = $module.find(selector.text),\n        $search         = $module.find(selector.search),\n        $input          = $module.find(selector.input),\n        $icon           = $module.find(selector.icon),\n\n        $combo = ($module.prev().find(selector.text).length > 0)\n          ? $module.prev().find(selector.text)\n          : $module.prev(),\n\n        $menu           = $module.children(selector.menu),\n        $item           = $menu.find(selector.item),\n\n        activated       = false,\n        itemActivated   = false,\n        internalChange  = false,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        initialLoad,\n        pageLostFocus,\n        elementNamespace,\n        id,\n        selectObserver,\n        menuObserver,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing dropdown', settings);\n\n          if( module.is.alreadySetup() ) {\n            module.setup.reference();\n          }\n          else {\n            module.setup.layout();\n            module.refreshData();\n\n            module.save.defaults();\n            module.restore.selected();\n\n            module.create.id();\n            module.bind.events();\n\n            module.observeChanges();\n            module.instantiate();\n          }\n\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of dropdown', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous dropdown', $module);\n          module.remove.tabbable();\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          $menu\n            .off(eventNamespace)\n          ;\n          $document\n            .off(elementNamespace)\n          ;\n          if(selectObserver) {\n            selectObserver.disconnect();\n          }\n          if(menuObserver) {\n            menuObserver.disconnect();\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            selectObserver = new MutationObserver(function(mutations) {\n              module.debug('<select> modified, recreating menu');\n              module.setup.select();\n            });\n            menuObserver = new MutationObserver(function(mutations) {\n              module.debug('Menu modified, updating selector cache');\n              module.refresh();\n            });\n            if(module.has.input()) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            if(module.has.menu()) {\n              menuObserver.observe($menu[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            module.debug('Setting up mutation observer', selectObserver, menuObserver);\n          }\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2, 8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          },\n          userChoice: function(values) {\n            var\n              $userChoices,\n              $userChoice,\n              isUserValue,\n              html\n            ;\n            values = values || module.get.userValues();\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            $.each(values, function(index, value) {\n              if(module.get.item(value) === false) {\n                html         = settings.templates.addition( module.add.variables(message.addResult, value) );\n                $userChoice  = $('<div />')\n                  .html(html)\n                  .attr('data-' + metadata.value, value)\n                  .attr('data-' + metadata.text, value)\n                  .addClass(className.addition)\n                  .addClass(className.item)\n                ;\n                $userChoices = ($userChoices === undefined)\n                  ? $userChoice\n                  : $userChoices.add($userChoice)\n                ;\n                module.verbose('Creating user choices for value', value, $userChoice);\n              }\n            });\n            return $userChoices;\n          },\n          userLabels: function(value) {\n            var\n              userValues = module.get.userValues()\n            ;\n            if(userValues) {\n              module.debug('Adding user labels', userValues);\n              $.each(userValues, function(index, value) {\n                module.verbose('Adding custom user value');\n                module.add.label(value, value);\n              });\n            }\n          },\n          menu: function() {\n            $menu = $('<div />')\n              .addClass(className.menu)\n              .appendTo($module)\n            ;\n          }\n        },\n\n        search: function(query) {\n          query = (query !== undefined)\n            ? query\n            : module.get.query()\n          ;\n          module.verbose('Searching for query', query);\n          module.filter(query);\n        },\n\n        select: {\n          firstUnfiltered: function() {\n            module.verbose('Selecting first non-filtered element');\n            module.remove.selectedItem();\n            $item\n              .not(selector.unselectable)\n                .eq(0)\n                .addClass(className.selected)\n            ;\n          },\n          nextAvailable: function($selected) {\n            $selected = $selected.eq(0);\n            var\n              $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0),\n              $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0),\n              hasNext        = ($nextAvailable.length > 0)\n            ;\n            if(hasNext) {\n              module.verbose('Moving selection to', $nextAvailable);\n              $nextAvailable.addClass(className.selected);\n            }\n            else {\n              module.verbose('Moving selection to', $prevAvailable);\n              $prevAvailable.addClass(className.selected);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug : settings.debug,\n                on    : false\n              }\n            ;\n            module.verbose('First request, initializing API');\n            $module\n              .api(apiSettings)\n            ;\n          },\n          layout: function() {\n            if( $module.is('select') ) {\n              module.setup.select();\n              module.setup.returnedObject();\n            }\n            if( !module.has.menu() ) {\n              module.create.menu();\n            }\n            if( module.is.search() && !module.has.search() ) {\n              module.verbose('Adding search input');\n              $search = $('<input />')\n                .addClass(className.search)\n                .prop('autocomplete', 'off')\n                .insertBefore($text)\n              ;\n            }\n            if(settings.allowTab) {\n              module.set.tabbable();\n            }\n          },\n          select: function() {\n            var\n              selectValues  = module.get.selectValues()\n            ;\n            module.debug('Dropdown initialized on a select', selectValues);\n            if( $module.is('select') ) {\n              $input = $module;\n            }\n            // see if select is placed correctly already\n            if($input.parent(selector.dropdown).length > 0) {\n              module.debug('UI dropdown already exists. Creating dropdown menu only');\n              $module = $input.closest(selector.dropdown);\n              if( !module.has.menu() ) {\n                module.create.menu();\n              }\n              $menu = $module.children(selector.menu);\n              module.setup.menu(selectValues);\n            }\n            else {\n              module.debug('Creating entire dropdown from select');\n              $module = $('<div />')\n                .attr('class', $input.attr('class') )\n                .addClass(className.selection)\n                .addClass(className.dropdown)\n                .html( templates.dropdown(selectValues) )\n                .insertBefore($input)\n              ;\n              if($input.hasClass(className.multiple) && $input.prop('multiple') === false) {\n                module.error(error.missingMultiple);\n                $input.prop('multiple', true);\n              }\n              if($input.is('[multiple]')) {\n                module.set.multiple();\n              }\n              if ($input.prop('disabled')) {\n                module.debug('Disabling dropdown')\n                $module.addClass(className.disabled)\n              }\n              $input\n                .removeAttr('class')\n                .detach()\n                .prependTo($module)\n              ;\n            }\n            module.refresh();\n          },\n          menu: function(values) {\n            $menu.html( templates.menu(values, fields));\n            $item = $menu.find(selector.item);\n          },\n          reference: function() {\n            module.debug('Dropdown behavior was called on select, replacing with closest dropdown');\n            // replace module reference\n            $module = $module.parent(selector.dropdown);\n            module.refresh();\n            module.setup.returnedObject();\n            // invoke method in context of current instance\n            if(methodInvoked) {\n              instance = module;\n              module.invoke(query);\n            }\n          },\n          returnedObject: function() {\n            var\n              $firstModules = $allModules.slice(0, elementIndex),\n              $lastModules = $allModules.slice(elementIndex + 1)\n            ;\n            // adjust all modules to use correct reference\n            $allModules = $firstModules.add($module).add($lastModules);\n          }\n        },\n\n        refresh: function() {\n          module.refreshSelectors();\n          module.refreshData();\n        },\n\n        refreshSelectors: function() {\n          module.verbose('Refreshing selector cache');\n          $text   = $module.find(selector.text);\n          $search = $module.find(selector.search);\n          $input  = $module.find(selector.input);\n          $icon   = $module.find(selector.icon);\n          $combo  = ($module.prev().find(selector.text).length > 0)\n            ? $module.prev().find(selector.text)\n            : $module.prev()\n          ;\n          $menu    = $module.children(selector.menu);\n          $item    = $menu.find(selector.item);\n        },\n\n        refreshData: function() {\n          module.verbose('Refreshing cached metadata');\n          $item\n            .removeData(metadata.text)\n            .removeData(metadata.value)\n          ;\n          $module\n            .removeData(metadata.defaultText)\n            .removeData(metadata.defaultValue)\n            .removeData(metadata.placeholderText)\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Toggling menu visibility');\n          if( !module.is.active() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.can.show() && !module.is.active() ) {\n            module.debug('Showing dropdown');\n            if(module.is.multiple() && !module.has.search() && module.is.allFiltered()) {\n              return true;\n            }\n            if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) {\n              module.remove.message();\n            }\n            if(settings.onShow.call(element) !== false) {\n              module.animate.show(function() {\n                if( module.can.click() ) {\n                  module.bind.intent();\n                }\n                module.set.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.active() ) {\n            module.debug('Hiding dropdown');\n            if(settings.onHide.call(element) !== false) {\n              module.animate.hide(function() {\n                module.remove.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hideOthers: function() {\n          module.verbose('Finding other dropdowns to hide');\n          $allModules\n            .not($module)\n              .has(selector.menu + '.' + className.visible)\n                .dropdown('hide')\n          ;\n        },\n\n        hideMenu: function() {\n          module.verbose('Hiding menu  instantaneously');\n          module.remove.active();\n          module.remove.visible();\n          $menu.transition('hide');\n        },\n\n        hideSubMenus: function() {\n          var\n            $subMenus = $menu.children(selector.item).find(selector.menu)\n          ;\n          module.verbose('Hiding sub menus', $subMenus);\n          $subMenus.transition('hide');\n        },\n\n        bind: {\n          events: function() {\n            if(hasTouch) {\n              module.bind.touchEvents();\n            }\n            module.bind.keyboardEvents();\n            module.bind.inputEvents();\n            module.bind.mouseEvents();\n          },\n          touchEvents: function() {\n            module.debug('Touch device detected binding additional touch events');\n            if( module.is.searchSelection() ) {\n              // do nothing special yet\n            }\n            else if( module.is.single() ) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.test.toggle)\n              ;\n            }\n            $menu\n              .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)\n            ;\n          },\n          keyboardEvents: function() {\n            module.verbose('Binding keyboard events');\n            $module\n              .on('keydown' + eventNamespace, module.event.keydown)\n            ;\n            if( module.has.search() ) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input)\n              ;\n            }\n            if( module.is.multiple() ) {\n              $document\n                .on('keydown' + elementNamespace, module.event.document.keydown)\n              ;\n            }\n          },\n          inputEvents: function() {\n            module.verbose('Binding input change events');\n            $module\n              .on('change' + eventNamespace, selector.input, module.event.change)\n            ;\n          },\n          mouseEvents: function() {\n            module.verbose('Binding mouse events');\n            if(module.is.multiple()) {\n              $module\n                .on('click'   + eventNamespace, selector.label,  module.event.label.click)\n                .on('click'   + eventNamespace, selector.remove, module.event.remove.click)\n              ;\n            }\n            if( module.is.searchSelection() ) {\n              $module\n                .on('mousedown' + eventNamespace, selector.menu,   module.event.menu.mousedown)\n                .on('mouseup'   + eventNamespace, selector.menu,   module.event.menu.mouseup)\n                .on('click'     + eventNamespace, selector.icon,   module.event.icon.click)\n                .on('click'     + eventNamespace, selector.search, module.show)\n                .on('focus'     + eventNamespace, selector.search, module.event.search.focus)\n                .on('blur'      + eventNamespace, selector.search, module.event.search.blur)\n                .on('click'     + eventNamespace, selector.text,   module.event.text.focus)\n              ;\n              if(module.is.multiple()) {\n                $module\n                  .on('click' + eventNamespace, module.event.click)\n                ;\n              }\n            }\n            else {\n              if(settings.on == 'click') {\n                $module\n                  .on('click' + eventNamespace, selector.icon, module.event.icon.click)\n                  .on('click' + eventNamespace, module.event.test.toggle)\n                ;\n              }\n              else if(settings.on == 'hover') {\n                $module\n                  .on('mouseenter' + eventNamespace, module.delay.show)\n                  .on('mouseleave' + eventNamespace, module.delay.hide)\n                ;\n              }\n              else {\n                $module\n                  .on(settings.on + eventNamespace, module.toggle)\n                ;\n              }\n              $module\n                .on('mousedown' + eventNamespace, module.event.mousedown)\n                .on('mouseup'   + eventNamespace, module.event.mouseup)\n                .on('focus'     + eventNamespace, module.event.focus)\n                .on('blur'      + eventNamespace, module.event.blur)\n              ;\n            }\n            $menu\n              .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)\n              .on('click'      + eventNamespace, selector.item, module.event.item.click)\n            ;\n          },\n          intent: function() {\n            module.verbose('Binding hide intent event to document');\n            if(hasTouch) {\n              $document\n                .on('touchstart' + elementNamespace, module.event.test.touch)\n                .on('touchmove'  + elementNamespace, module.event.test.touch)\n              ;\n            }\n            $document\n              .on('click' + elementNamespace, module.event.test.hide)\n            ;\n          }\n        },\n\n        unbind: {\n          intent: function() {\n            module.verbose('Removing hide intent event from document');\n            if(hasTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n                .off('touchmove' + elementNamespace)\n              ;\n            }\n            $document\n              .off('click' + elementNamespace)\n            ;\n          }\n        },\n\n        filter: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            afterFiltered = function() {\n              if(module.is.multiple()) {\n                module.filterActive();\n              }\n              module.select.firstUnfiltered();\n              if( module.has.allResultsFiltered() ) {\n                if( settings.onNoResults.call(element, searchTerm) ) {\n                  if(!settings.allowAdditions) {\n                    module.verbose('All items filtered, showing message', searchTerm);\n                    module.add.message(message.noResults);\n                  }\n                }\n                else {\n                  module.verbose('All items filtered, hiding dropdown', searchTerm);\n                  module.hideMenu();\n                }\n              }\n              else {\n                module.remove.message();\n              }\n              if(settings.allowAdditions) {\n                module.add.userSuggestion(query);\n              }\n              if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) {\n                module.show();\n              }\n            }\n          ;\n          if(settings.useLabels && module.has.maxSelections()) {\n            return;\n          }\n          if(settings.apiSettings) {\n            if( module.can.useAPI() ) {\n              module.queryRemote(searchTerm, function() {\n                afterFiltered();\n              });\n            }\n            else {\n              module.error(error.noAPI);\n            }\n          }\n          else {\n            module.filterItems(searchTerm);\n            afterFiltered();\n          }\n        },\n\n        queryRemote: function(query, callback) {\n          var\n            apiSettings = {\n              errorDuration        : false,\n              throttle             : settings.throttle,\n              urlData              : {\n                query: query\n              },\n              onError: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onFailure: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onSuccess : function(response) {\n                module.remove.message();\n                module.setup.menu({\n                  values: response[fields.remoteValues]\n                });\n                callback();\n              }\n            }\n          ;\n          if( !$module.api('get request') ) {\n            module.setup.api();\n          }\n          apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings);\n          $module\n            .api('setting', apiSettings)\n            .api('query')\n          ;\n        },\n\n        filterItems: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            results          =  null,\n            escapedTerm      = module.escape.regExp(searchTerm),\n            beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm')\n          ;\n          // avoid loop if we're matching nothing\n          if( module.has.query() ) {\n            results = [];\n\n            module.verbose('Searching for matching values', searchTerm);\n            $item\n              .each(function(){\n                var\n                  $choice = $(this),\n                  text,\n                  value\n                ;\n                if(settings.match == 'both' || settings.match == 'text') {\n                  text = String(module.get.choiceText($choice, false));\n                  if(text.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, text)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n                if(settings.match == 'both' || settings.match == 'value') {\n                  value = String(module.get.choiceValue($choice, text));\n\n                  if(value.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, value)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n              })\n            ;\n          }\n          module.debug('Showing only matched items', searchTerm);\n          module.remove.filteredItem();\n          if(results) {\n            $item\n              .not(results)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        filterActive: function() {\n          if(settings.useLabels) {\n            $item.filter('.' + className.active)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        focusSearch: function() {\n          if( module.is.search() && !module.is.focusedOnSearch() ) {\n            $search[0].focus();\n          }\n        },\n\n        forceSelection: function() {\n          var\n            $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0),\n            $activeItem        = $item.not(className.filtered).filter('.' + className.active).eq(0),\n            $selectedItem      = ($currentlySelected.length > 0)\n              ? $currentlySelected\n              : $activeItem,\n            hasSelected = ($selectedItem.size() > 0)\n          ;\n          if( module.has.query() ) {\n            if(hasSelected) {\n              module.debug('Forcing partial selection to selected item', $selectedItem);\n              module.event.item.click.call($selectedItem);\n              return;\n            }\n            else {\n              module.remove.searchTerm();\n            }\n          }\n          module.hide();\n        },\n\n        event: {\n          change: function() {\n            if(!internalChange) {\n              module.debug('Input changed, updating selection');\n              module.set.selected();\n            }\n          },\n          focus: function() {\n            if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) {\n              module.show();\n            }\n          },\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            // focus search\n            if($target.is($module) && !module.is.focusedOnSearch()) {\n              module.focusSearch();\n            }\n          },\n          blur: function(event) {\n            pageLostFocus = (document.activeElement === this);\n            if(!activated && !pageLostFocus) {\n              module.remove.activeLabel();\n              module.hide();\n            }\n          },\n          // prevents focus callback from occurring on mousedown\n          mousedown: function() {\n            activated = true;\n          },\n          mouseup: function() {\n            activated = false;\n          },\n          search: {\n            focus: function() {\n              activated = true;\n              if(module.is.multiple()) {\n                module.remove.activeLabel();\n              }\n              if(settings.showOnFocus) {\n                module.search();\n                module.show();\n              }\n            },\n            blur: function(event) {\n              pageLostFocus = (document.activeElement === this);\n              if(!itemActivated && !pageLostFocus) {\n                if(module.is.multiple()) {\n                  module.remove.activeLabel();\n                  module.hide();\n                }\n                else if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n                else {\n                  module.hide();\n                }\n              }\n              else if(pageLostFocus) {\n                if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n              }\n            }\n          },\n          icon: {\n            click: function(event) {\n              module.toggle();\n              event.stopPropagation();\n            }\n          },\n          text: {\n            focus: function(event) {\n              activated = true;\n              module.focusSearch();\n            }\n          },\n          input: function(event) {\n            if(module.is.multiple() || module.is.searchSelection()) {\n              module.set.filtered();\n            }\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.search, settings.delay.search);\n          },\n          label: {\n            click: function(event) {\n              var\n                $label        = $(this),\n                $labels       = $module.find(selector.label),\n                $activeLabels = $labels.filter('.' + className.active),\n                $nextActive   = $label.nextAll('.' + className.active),\n                $prevActive   = $label.prevAll('.' + className.active),\n                $range = ($nextActive.length > 0)\n                  ? $label.nextUntil($nextActive).add($activeLabels).add($label)\n                  : $label.prevUntil($prevActive).add($activeLabels).add($label)\n              ;\n              if(event.shiftKey) {\n                $activeLabels.removeClass(className.active);\n                $range.addClass(className.active);\n              }\n              else if(event.ctrlKey) {\n                $label.toggleClass(className.active);\n              }\n              else {\n                $activeLabels.removeClass(className.active);\n                $label.addClass(className.active);\n              }\n              settings.onLabelSelect.apply(this, $labels.filter('.' + className.active));\n            }\n          },\n          remove: {\n            click: function() {\n              var\n                $label = $(this).parent()\n              ;\n              if( $label.hasClass(className.active) ) {\n                // remove all selected labels\n                module.remove.activeLabels();\n              }\n              else {\n                // remove this label only\n                module.remove.activeLabels( $label );\n              }\n            }\n          },\n          test: {\n            toggle: function(event) {\n              var\n                toggleBehavior = (module.is.multiple())\n                  ? module.show\n                  : module.toggle\n              ;\n              if( module.determine.eventOnElement(event, toggleBehavior) ) {\n                event.preventDefault();\n              }\n            },\n            touch: function(event) {\n              module.determine.eventOnElement(event, function() {\n                if(event.type == 'touchstart') {\n                  module.timer = setTimeout(function() {\n                    module.hide();\n                  }, settings.delay.touch);\n                }\n                else if(event.type == 'touchmove') {\n                  clearTimeout(module.timer);\n                }\n              });\n              event.stopPropagation();\n            },\n            hide: function(event) {\n              module.determine.eventInModule(event, module.hide);\n            }\n          },\n          menu: {\n            mousedown: function() {\n              itemActivated = true;\n            },\n            mouseup: function() {\n              itemActivated = false;\n            }\n          },\n          item: {\n            mouseenter: function(event) {\n              var\n                $subMenu    = $(this).children(selector.menu),\n                $otherMenus = $(this).siblings(selector.item).children(selector.menu)\n              ;\n              if( $subMenu.length > 0 ) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Showing sub-menu', $subMenu);\n                  $.each($otherMenus, function() {\n                    module.animate.hide(false, $(this));\n                  });\n                  module.animate.show(false,  $subMenu);\n                }, settings.delay.show);\n                event.preventDefault();\n              }\n            },\n            mouseleave: function(event) {\n              var\n                $subMenu = $(this).children(selector.menu)\n              ;\n              if($subMenu.length > 0) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Hiding sub-menu', $subMenu);\n                  module.animate.hide(false,  $subMenu);\n                }, settings.delay.hide);\n              }\n            },\n            touchend: function() {\n            },\n            click: function (event) {\n              var\n                $choice        = $(this),\n                $target        = (event)\n                  ? $(event.target)\n                  : $(''),\n                $subMenu       = $choice.find(selector.menu),\n                text           = module.get.choiceText($choice),\n                value          = module.get.choiceValue($choice, text),\n                hasSubMenu     = ($subMenu.length > 0),\n                isBubbledEvent = ($subMenu.find($target).length > 0)\n              ;\n              if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) {\n                if(!settings.useLabels) {\n                  module.remove.filteredItem();\n                  module.remove.searchTerm();\n                  module.set.scrollPosition($choice);\n                }\n                module.determine.selectAction.call(this, text, value);\n              }\n            }\n          },\n\n          document: {\n            // label selection should occur even when element has no focus\n            keydown: function(event) {\n              var\n                pressedKey    = event.which,\n                isShortcutKey = module.is.inObject(pressedKey, keys)\n              ;\n              if(isShortcutKey) {\n                var\n                  $label            = $module.find(selector.label),\n                  $activeLabel      = $label.filter('.' + className.active),\n                  activeValue       = $activeLabel.data(metadata.value),\n                  labelIndex        = $label.index($activeLabel),\n                  labelCount        = $label.length,\n                  hasActiveLabel    = ($activeLabel.length > 0),\n                  hasMultipleActive = ($activeLabel.length > 1),\n                  isFirstLabel      = (labelIndex === 0),\n                  isLastLabel       = (labelIndex + 1 == labelCount),\n                  isSearch          = module.is.searchSelection(),\n                  isFocusedOnSearch = module.is.focusedOnSearch(),\n                  isFocused         = module.is.focused(),\n                  caretAtStart      = (isFocusedOnSearch && module.get.caretPosition() === 0),\n                  $nextLabel\n                ;\n                if(isSearch && !hasActiveLabel && !isFocusedOnSearch) {\n                  return;\n                }\n\n                if(pressedKey == keys.leftArrow) {\n                  // activate previous label\n                  if((isFocused || caretAtStart) && !hasActiveLabel) {\n                    module.verbose('Selecting previous label');\n                    $label.last().addClass(className.active);\n                  }\n                  else if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting previous label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding previous label to selection');\n                    }\n                    if(isFirstLabel && !hasMultipleActive) {\n                      $activeLabel.addClass(className.active);\n                    }\n                    else {\n                      $activeLabel.prev(selector.siblingLabel)\n                        .addClass(className.active)\n                        .end()\n                      ;\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.rightArrow) {\n                  // activate first label\n                  if(isFocused && !hasActiveLabel) {\n                    $label.first().addClass(className.active);\n                  }\n                  // activate next label\n                  if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting next label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding next label to selection');\n                    }\n                    if(isLastLabel) {\n                      if(isSearch) {\n                        if(!isFocusedOnSearch) {\n                          module.focusSearch();\n                        }\n                        else {\n                          $label.removeClass(className.active);\n                        }\n                      }\n                      else if(hasMultipleActive) {\n                        $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                      }\n                      else {\n                        $activeLabel.addClass(className.active);\n                      }\n                    }\n                    else {\n                      $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) {\n                  if(hasActiveLabel) {\n                    module.verbose('Removing active labels');\n                    if(isLastLabel) {\n                      if(isSearch && !isFocusedOnSearch) {\n                        module.focusSearch();\n                      }\n                    }\n                    $activeLabel.last().next(selector.siblingLabel).addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                    event.preventDefault();\n                  }\n                  else if(caretAtStart && !hasActiveLabel && pressedKey == keys.backspace) {\n                    module.verbose('Removing last label on input backspace');\n                    $activeLabel = $label.last().addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                  }\n                }\n                else {\n                  $activeLabel.removeClass(className.active);\n                }\n              }\n            }\n          },\n\n          keydown: function(event) {\n            var\n              pressedKey    = event.which,\n              isShortcutKey = module.is.inObject(pressedKey, keys)\n            ;\n            if(isShortcutKey) {\n              var\n                $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0),\n                $activeItem        = $menu.children('.' + className.active).eq(0),\n                $selectedItem      = ($currentlySelected.length > 0)\n                  ? $currentlySelected\n                  : $activeItem,\n                $visibleItems = ($selectedItem.length > 0)\n                  ? $selectedItem.siblings(':not(.' + className.filtered +')').andSelf()\n                  : $menu.children(':not(.' + className.filtered +')'),\n                $subMenu             = $selectedItem.children(selector.menu),\n                $parentMenu          = $selectedItem.closest(selector.menu),\n                inVisibleMenu        = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0),\n                hasSubMenu           = ($subMenu.length> 0),\n                hasSelectedItem      = ($selectedItem.length > 0),\n                selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),\n                delimiterPressed     = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()),\n                $nextItem,\n                isSubMenuItem,\n                newIndex\n              ;\n              // visible menu keyboard shortcuts\n              if( module.is.visible() ) {\n\n                // enter (select or open sub-menu)\n                if(pressedKey == keys.enter || delimiterPressed) {\n                  if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {\n                    module.verbose('Pressed enter on unselectable category, opening sub menu');\n                    pressedKey = keys.rightArrow;\n                  }\n                  else if(selectedIsSelectable) {\n                    module.verbose('Selecting item from keyboard shortcut', $selectedItem);\n                    module.event.item.click.call($selectedItem, event);\n                    if(module.is.searchSelection()) {\n                      module.remove.searchTerm();\n                    }\n                  }\n                  event.preventDefault();\n                }\n\n                // left arrow (hide sub-menu)\n                if(pressedKey == keys.leftArrow) {\n\n                  isSubMenuItem = ($parentMenu[0] !== $menu[0]);\n\n                  if(isSubMenuItem) {\n                    module.verbose('Left key pressed, closing sub-menu');\n                    module.animate.hide(false,  $parentMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $parentMenu\n                      .closest(selector.item)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // right arrow (show sub-menu)\n                if(pressedKey == keys.rightArrow) {\n                  if(hasSubMenu) {\n                    module.verbose('Right key pressed, opening sub-menu');\n                    module.animate.show(false,  $subMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $subMenu\n                      .find(selector.item).eq(0)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // up arrow (traverse menu up)\n                if(pressedKey == keys.upArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($visibleItems.index( $nextItem ) < 0) {\n                    module.verbose('Up key pressed but reached top of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Up key pressed, changing active item');\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // down arrow (traverse menu down)\n                if(pressedKey == keys.downArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($nextItem.length === 0) {\n                    module.verbose('Down key pressed but reached bottom of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Down key pressed, changing active item');\n                    $item\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // page down (show next page)\n                if(pressedKey == keys.pageUp) {\n                  module.scrollPage('up');\n                  event.preventDefault();\n                }\n                if(pressedKey == keys.pageDown) {\n                  module.scrollPage('down');\n                  event.preventDefault();\n                }\n\n                // escape (close menu)\n                if(pressedKey == keys.escape) {\n                  module.verbose('Escape key pressed, closing dropdown');\n                  module.hide();\n                }\n\n              }\n              else {\n                // delimiter key\n                if(delimiterPressed) {\n                  event.preventDefault();\n                }\n                // down arrow (open menu)\n                if(pressedKey == keys.downArrow) {\n                  module.verbose('Down key pressed, showing dropdown');\n                  module.show();\n                  event.preventDefault();\n                }\n              }\n            }\n            else {\n              if( module.is.selection() && !module.is.search() ) {\n                module.set.selectedLetter( String.fromCharCode(pressedKey) );\n              }\n            }\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        determine: {\n          selectAction: function(text, value) {\n            module.verbose('Determining action', settings.action);\n            if( $.isFunction( module.action[settings.action] ) ) {\n              module.verbose('Triggering preset action', settings.action, text, value);\n              module.action[ settings.action ].call(this, text, value);\n            }\n            else if( $.isFunction(settings.action) ) {\n              module.verbose('Triggering user action', settings.action, text, value);\n              settings.action.call(this, text, value);\n            }\n            else {\n              module.error(error.action, settings.action);\n            }\n          },\n          eventInModule: function(event, callback) {\n            var\n              $target    = $(event.target),\n              inDocument = ($target.closest(document.documentElement).length > 0),\n              inModule   = ($target.closest($module).length > 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(inDocument && !inModule) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown, canceling callback');\n              return false;\n            }\n          },\n          eventOnElement: function(event, callback) {\n            var\n              $target    = $(event.target),\n              $label     = $target.closest(selector.siblingLabel),\n              notOnLabel = ($module.find($label).length === 0),\n              notInMenu  = ($target.closest($menu).length === 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(notOnLabel && notInMenu) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown menu, canceling callback');\n              return false;\n            }\n          }\n        },\n\n        action: {\n\n          nothing: function() {},\n\n          activate: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            if( module.can.activate( $(this) ) ) {\n              module.set.selected(value, $(this));\n              if(module.is.multiple() && !module.is.allFiltered()) {\n                return;\n              }\n              else {\n                module.hideAndClear();\n              }\n            }\n          },\n\n          select: function(text, value) {\n            // mimics action.activate but does not select text\n            module.action.activate.call(this);\n          },\n\n          combo: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            module.set.selected(value, $(this));\n            module.hideAndClear();\n          },\n\n          hide: function(text, value) {\n            module.set.value(value);\n            module.hideAndClear();\n          }\n\n        },\n\n        get: {\n          id: function() {\n            return id;\n          },\n          defaultText: function() {\n            return $module.data(metadata.defaultText);\n          },\n          defaultValue: function() {\n            return $module.data(metadata.defaultValue);\n          },\n          placeholderText: function() {\n            return $module.data(metadata.placeholderText) || '';\n          },\n          text: function() {\n            return $text.text();\n          },\n          query: function() {\n            return $.trim($search.val());\n          },\n          searchWidth: function(characterCount) {\n            return (characterCount * settings.glyphWidth) + 'em';\n          },\n          selectionCount: function() {\n            var\n              values = module.get.values(),\n              count\n            ;\n            count = ( module.is.multiple() )\n              ? $.isArray(values)\n                ? values.length\n                : 0\n              : (module.get.value() !== '')\n                ? 1\n                : 0\n            ;\n            return count;\n          },\n          transition: function($subMenu) {\n            return (settings.transition == 'auto')\n              ? module.is.upward($subMenu)\n                ? 'slide up'\n                : 'slide down'\n              : settings.transition\n            ;\n          },\n          userValues: function() {\n            var\n              values = module.get.values()\n            ;\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            return $.grep(values, function(value) {\n              return (module.get.item(value) === false);\n            });\n          },\n          uniqueArray: function(array) {\n            return $.grep(array, function (value, index) {\n                return $.inArray(value, array) === index;\n            });\n          },\n          caretPosition: function() {\n            var\n              input = $search.get(0),\n              range,\n              rangeLength\n            ;\n            if('selectionStart' in input) {\n              return input.selectionStart;\n            }\n            else if (document.selection) {\n              input.focus();\n              range       = document.selection.createRange();\n              rangeLength = range.text.length;\n              range.moveStart('character', -input.value.length);\n              return range.text.length - rangeLength;\n            }\n          },\n          value: function() {\n            var\n              value = ($input.length > 0)\n                ? $input.val()\n                : $module.data(metadata.value)\n            ;\n            // prevents placeholder element from being selected when multiple\n            if($.isArray(value) && value.length === 1 && value[0] === '') {\n              return '';\n            }\n            return value;\n          },\n          values: function() {\n            var\n              value = module.get.value()\n            ;\n            if(value === '') {\n              return '';\n            }\n            return ( !module.has.selectInput() && module.is.multiple() )\n              ? (typeof value == 'string') // delimited string\n                ? value.split(settings.delimiter)\n                : ''\n              : value\n            ;\n          },\n          remoteValues: function() {\n            var\n              values = module.get.values(),\n              remoteValues = false\n            ;\n            if(values) {\n              if(typeof values == 'string') {\n                values = [values];\n              }\n              remoteValues = {};\n              $.each(values, function(index, value) {\n                var\n                  name = module.read.remoteData(value)\n                ;\n                module.verbose('Restoring value from session data', name, value);\n                remoteValues[value] = (name)\n                  ? name\n                  : value\n                ;\n              });\n            }\n            return remoteValues;\n          },\n          choiceText: function($choice, preserveHTML) {\n            preserveHTML = (preserveHTML !== undefined)\n              ? preserveHTML\n              : settings.preserveHTML\n            ;\n            if($choice) {\n              if($choice.find(selector.menu).length > 0) {\n                module.verbose('Retreiving text of element with sub-menu');\n                $choice = $choice.clone();\n                $choice.find(selector.menu).remove();\n                $choice.find(selector.menuIcon).remove();\n              }\n              return ($choice.data(metadata.text) !== undefined)\n                ? $choice.data(metadata.text)\n                : (preserveHTML)\n                  ? $.trim($choice.html())\n                  : $.trim($choice.text())\n              ;\n            }\n          },\n          choiceValue: function($choice, choiceText) {\n            choiceText = choiceText || module.get.choiceText($choice);\n            if(!$choice) {\n              return false;\n            }\n            return ($choice.data(metadata.value) !== undefined)\n              ? String( $choice.data(metadata.value) )\n              : (typeof choiceText === 'string')\n                ? $.trim(choiceText.toLowerCase())\n                : String(choiceText)\n            ;\n          },\n          inputEvent: function() {\n            var\n              input = $search[0]\n            ;\n            if(input) {\n              return (input.oninput !== undefined)\n                ? 'input'\n                : (input.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n              ;\n            }\n            return false;\n          },\n          selectValues: function() {\n            var\n              select = {}\n            ;\n            select.values = [];\n            $module\n              .find('option')\n                .each(function() {\n                  var\n                    $option  = $(this),\n                    name     = $option.html(),\n                    disabled = $option.attr('disabled'),\n                    value    = ( $option.attr('value') !== undefined )\n                      ? $option.attr('value')\n                      : name\n                  ;\n                  if(settings.placeholder === 'auto' && value === '') {\n                    select.placeholder = name;\n                  }\n                  else {\n                    select.values.push({\n                      name     : name,\n                      value    : value,\n                      disabled : disabled\n                    });\n                  }\n                })\n            ;\n            if(settings.placeholder && settings.placeholder !== 'auto') {\n              module.debug('Setting placeholder value to', settings.placeholder);\n              select.placeholder = settings.placeholder;\n            }\n            if(settings.sortSelect) {\n              select.values.sort(function(a, b) {\n                return (a.name > b.name)\n                  ? 1\n                  : -1\n                ;\n              });\n              module.debug('Retrieved and sorted values from select', select);\n            }\n            else {\n              module.debug('Retreived values from select', select);\n            }\n            return select;\n          },\n          activeItem: function() {\n            return $item.filter('.'  + className.active);\n          },\n          selectedItem: function() {\n            var\n              $selectedItem = $item.not(selector.unselectable).filter('.'  + className.selected)\n            ;\n            return ($selectedItem.length > 0)\n              ? $selectedItem\n              : $item.eq(0)\n            ;\n          },\n          itemWithAdditions: function(value) {\n            var\n              $items       = module.get.item(value),\n              $userItems   = module.create.userChoice(value),\n              hasUserItems = ($userItems && $userItems.length > 0)\n            ;\n            if(hasUserItems) {\n              $items = ($items.length > 0)\n                ? $items.add($userItems)\n                : $userItems\n              ;\n            }\n            return $items;\n          },\n          item: function(value, strict) {\n            var\n              $selectedItem = false,\n              shouldSearch,\n              isMultiple\n            ;\n            value = (value !== undefined)\n              ? value\n              : ( module.get.values() !== undefined)\n                ? module.get.values()\n                : module.get.text()\n            ;\n            shouldSearch = (isMultiple)\n              ? (value.length > 0)\n              : (value !== undefined && value !== null)\n            ;\n            isMultiple = (module.is.multiple() && $.isArray(value));\n            strict     = (value === '' || value === 0)\n              ? true\n              : strict || false\n            ;\n            if(shouldSearch) {\n              $item\n                .each(function() {\n                  var\n                    $choice       = $(this),\n                    optionText    = module.get.choiceText($choice),\n                    optionValue   = module.get.choiceValue($choice, optionText)\n                  ;\n                  // safe early exit\n                  if(optionValue === null || optionValue === undefined) {\n                    return;\n                  }\n                  if(isMultiple) {\n                    if($.inArray( String(optionValue), value) !== -1 || $.inArray(optionText, value) !== -1) {\n                      $selectedItem = ($selectedItem)\n                        ? $selectedItem.add($choice)\n                        : $choice\n                      ;\n                    }\n                  }\n                  else if(strict) {\n                    module.verbose('Ambiguous dropdown value using strict type check', $choice, value);\n                    if( optionValue === value || optionText === value) {\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                  else {\n                    if( String(optionValue) == String(value) || optionText == value) {\n                      module.verbose('Found select item by value', optionValue, value);\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                })\n              ;\n            }\n            return $selectedItem;\n          }\n        },\n\n        check: {\n          maxSelections: function(selectionCount) {\n            if(settings.maxSelections) {\n              selectionCount = (selectionCount !== undefined)\n                ? selectionCount\n                : module.get.selectionCount()\n              ;\n              if(selectionCount >= settings.maxSelections) {\n                module.debug('Maximum selection count reached');\n                if(settings.useLabels) {\n                  $item.addClass(className.filtered);\n                  module.add.message(message.maxSelections);\n                }\n                return true;\n              }\n              else {\n                module.verbose('No longer at maximum selection count');\n                module.remove.message();\n                module.remove.filteredItem();\n                if(module.is.searchSelection()) {\n                  module.filterItems();\n                }\n                return false;\n              }\n            }\n            return true;\n          }\n        },\n\n        restore: {\n          defaults: function() {\n            module.clear();\n            module.restore.defaultText();\n            module.restore.defaultValue();\n          },\n          defaultText: function() {\n            var\n              defaultText     = module.get.defaultText(),\n              placeholderText = module.get.placeholderText\n            ;\n            if(defaultText === placeholderText) {\n              module.debug('Restoring default placeholder text', defaultText);\n              module.set.placeholderText(defaultText);\n            }\n            else {\n              module.debug('Restoring default text', defaultText);\n              module.set.text(defaultText);\n            }\n          },\n          defaultValue: function() {\n            var\n              defaultValue = module.get.defaultValue()\n            ;\n            if(defaultValue !== undefined) {\n              module.debug('Restoring default value', defaultValue);\n              if(defaultValue !== '') {\n                module.set.value(defaultValue);\n                module.set.selected();\n              }\n              else {\n                module.remove.activeItem();\n                module.remove.selectedItem();\n              }\n            }\n          },\n          labels: function() {\n            if(settings.allowAdditions) {\n              if(!settings.useLabels) {\n                module.error(error.labels);\n                settings.useLabels = true;\n              }\n              module.debug('Restoring selected values');\n              module.create.userLabels();\n            }\n            module.check.maxSelections();\n          },\n          selected: function() {\n            module.restore.values();\n            if(module.is.multiple()) {\n              module.debug('Restoring previously selected values and labels');\n              module.restore.labels();\n            }\n            else {\n              module.debug('Restoring previously selected values');\n            }\n          },\n          values: function() {\n            // prevents callbacks from occuring on initial load\n            module.set.initialLoad();\n            if(settings.apiSettings) {\n              if(settings.saveRemoteData) {\n                module.restore.remoteValues();\n              }\n              else {\n                module.clearValue();\n              }\n            }\n            else {\n              module.set.selected();\n            }\n            module.remove.initialLoad();\n          },\n          remoteValues: function() {\n            var\n              values = module.get.remoteValues()\n            ;\n            module.debug('Recreating selected from session data', values);\n            if(values) {\n              if( module.is.single() ) {\n                $.each(values, function(value, name) {\n                  module.set.text(name);\n                });\n              }\n              else {\n                $.each(values, function(value, name) {\n                  module.add.label(value, name);\n                });\n              }\n            }\n          }\n        },\n\n        read: {\n          remoteData: function(value) {\n            var\n              name\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            name = sessionStorage.getItem(value);\n            return (name !== undefined)\n              ? name\n              : false\n            ;\n          }\n        },\n\n        save: {\n          defaults: function() {\n            module.save.defaultText();\n            module.save.placeholderText();\n            module.save.defaultValue();\n          },\n          defaultValue: function() {\n            var\n              value = module.get.value()\n            ;\n            module.verbose('Saving default value as', value);\n            $module.data(metadata.defaultValue, value);\n          },\n          defaultText: function() {\n            var\n              text = module.get.text()\n            ;\n            module.verbose('Saving default text as', text);\n            $module.data(metadata.defaultText, text);\n          },\n          placeholderText: function() {\n            var\n              text\n            ;\n            if(settings.placeholder !== false && $text.hasClass(className.placeholder)) {\n              text = module.get.text();\n              module.verbose('Saving placeholder text as', text);\n              $module.data(metadata.placeholderText, text);\n            }\n          },\n          remoteData: function(name, value) {\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            module.verbose('Saving remote data to session storage', value, name);\n            sessionStorage.setItem(value, name);\n          }\n        },\n\n        clear: function() {\n          if(module.is.multiple()) {\n            module.remove.labels();\n          }\n          else {\n            module.remove.activeItem();\n            module.remove.selectedItem();\n          }\n          module.set.placeholderText();\n          module.clearValue();\n        },\n\n        clearValue: function() {\n          module.set.value('');\n        },\n\n        scrollPage: function(direction, $selectedItem) {\n          var\n            $currentItem  = $selectedItem || module.get.selectedItem(),\n            $menu         = $currentItem.closest(selector.menu),\n            menuHeight    = $menu.outerHeight(),\n            currentScroll = $menu.scrollTop(),\n            itemHeight    = $item.eq(0).outerHeight(),\n            itemsPerPage  = Math.floor(menuHeight / itemHeight),\n            maxScroll     = $menu.prop('scrollHeight'),\n            newScroll     = (direction == 'up')\n              ? currentScroll - (itemHeight * itemsPerPage)\n              : currentScroll + (itemHeight * itemsPerPage),\n            $selectableItem = $item.not(selector.unselectable),\n            isWithinRange,\n            $nextSelectedItem,\n            elementIndex\n          ;\n          elementIndex      = (direction == 'up')\n            ? $selectableItem.index($currentItem) - itemsPerPage\n            : $selectableItem.index($currentItem) + itemsPerPage\n          ;\n          isWithinRange = (direction == 'up')\n            ? (elementIndex >= 0)\n            : (elementIndex < $selectableItem.length)\n          ;\n          $nextSelectedItem = (isWithinRange)\n            ? $selectableItem.eq(elementIndex)\n            : (direction == 'up')\n              ? $selectableItem.first()\n              : $selectableItem.last()\n          ;\n          if($nextSelectedItem.length > 0) {\n            module.debug('Scrolling page', direction, $nextSelectedItem);\n            $currentItem\n              .removeClass(className.selected)\n            ;\n            $nextSelectedItem\n              .addClass(className.selected)\n            ;\n            $menu\n              .scrollTop(newScroll)\n            ;\n          }\n        },\n\n        set: {\n          filtered: function() {\n            var\n              isMultiple       = module.is.multiple(),\n              isSearch         = module.is.searchSelection(),\n              isSearchMultiple = (isMultiple && isSearch),\n              searchValue      = (isSearch)\n                ? module.get.query()\n                : '',\n              hasSearchValue   = (typeof searchValue === 'string' && searchValue.length > 0),\n              searchWidth      = module.get.searchWidth(searchValue.length),\n              valueIsSet       = searchValue !== ''\n            ;\n            if(isMultiple && hasSearchValue) {\n              module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);\n              $search.css('width', searchWidth);\n            }\n            if(hasSearchValue || (isSearchMultiple && valueIsSet)) {\n              module.verbose('Hiding placeholder text');\n              $text.addClass(className.filtered);\n            }\n            else if(!isMultiple || (isSearchMultiple && !valueIsSet)) {\n              module.verbose('Showing placeholder text');\n              $text.removeClass(className.filtered);\n            }\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          placeholderText: function(text) {\n            text = text || module.get.placeholderText();\n            module.debug('Setting placeholder text', text);\n            module.set.text(text);\n            $text.addClass(className.placeholder);\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Added tabindex to searchable dropdown');\n              $search\n                .val('')\n                .attr('tabindex', 0)\n              ;\n              $menu\n                .attr('tabindex', -1)\n              ;\n            }\n            else {\n              module.debug('Added tabindex to dropdown');\n              if( $module.attr('tabindex') === undefined) {\n                $module\n                  .attr('tabindex', 0)\n                ;\n                $menu\n                  .attr('tabindex', -1)\n                ;\n              }\n            }\n          },\n          initialLoad: function() {\n            module.verbose('Setting initial load');\n            initialLoad = true;\n          },\n          activeItem: function($item) {\n            if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) {\n              $item.addClass(className.filtered);\n            }\n            else {\n              $item.addClass(className.active);\n            }\n          },\n          scrollPosition: function($item, forceScroll) {\n            var\n              edgeTolerance = 5,\n              $menu,\n              hasActive,\n              offset,\n              itemHeight,\n              itemOffset,\n              menuOffset,\n              menuScroll,\n              menuHeight,\n              abovePage,\n              belowPage\n            ;\n\n            $item       = $item || module.get.selectedItem();\n            $menu       = $item.closest(selector.menu);\n            hasActive   = ($item && $item.length > 0);\n            forceScroll = (forceScroll !== undefined)\n              ? forceScroll\n              : false\n            ;\n            if($item && $menu.length > 0 && hasActive) {\n              itemOffset = $item.position().top;\n\n              $menu.addClass(className.loading);\n              menuScroll = $menu.scrollTop();\n              menuOffset = $menu.offset().top;\n              itemOffset = $item.offset().top;\n              offset     = menuScroll - menuOffset + itemOffset;\n              if(!forceScroll) {\n                menuHeight = $menu.height();\n                belowPage  = menuScroll + menuHeight < (offset + edgeTolerance);\n                abovePage  = ((offset - edgeTolerance) < menuScroll);\n              }\n              module.debug('Scrolling to active item', offset);\n              if(forceScroll || abovePage || belowPage) {\n                $menu.scrollTop(offset);\n              }\n              $menu.removeClass(className.loading);\n            }\n          },\n          text: function(text) {\n            if(settings.action !== 'select') {\n              if(settings.action == 'combo') {\n                module.debug('Changing combo button text', text, $combo);\n                if(settings.preserveHTML) {\n                  $combo.html(text);\n                }\n                else {\n                  $combo.text(text);\n                }\n              }\n              else {\n                if(text !== module.get.placeholderText()) {\n                  $text.removeClass(className.placeholder);\n                }\n                module.debug('Changing text', text, $text);\n                $text\n                  .removeClass(className.filtered)\n                ;\n                if(settings.preserveHTML) {\n                  $text.html(text);\n                }\n                else {\n                  $text.text(text);\n                }\n              }\n            }\n          },\n          selectedLetter: function(letter) {\n            var\n              $selectedItem         = $item.filter('.' + className.selected),\n              alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),\n              $nextValue            = false,\n              $nextItem\n            ;\n            // check next of same letter\n            if(alreadySelectedLetter) {\n              $nextItem = $selectedItem.nextAll($item).eq(0);\n              if( module.has.firstLetter($nextItem, letter) ) {\n                $nextValue  = $nextItem;\n              }\n            }\n            // check all values\n            if(!$nextValue) {\n              $item\n                .each(function(){\n                  if(module.has.firstLetter($(this), letter)) {\n                    $nextValue = $(this);\n                    return false;\n                  }\n                })\n              ;\n            }\n            // set next value\n            if($nextValue) {\n              module.verbose('Scrolling to next value with letter', letter);\n              module.set.scrollPosition($nextValue);\n              $selectedItem.removeClass(className.selected);\n              $nextValue.addClass(className.selected);\n            }\n          },\n          direction: function($menu) {\n            if(settings.direction == 'auto') {\n              if(module.is.onScreen($menu)) {\n                module.remove.upward($menu);\n              }\n              else {\n                module.set.upward($menu);\n              }\n            }\n            else if(settings.direction == 'upward') {\n              module.set.upward($menu);\n            }\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.addClass(className.upward);\n          },\n          value: function(value, text, $selected) {\n            var\n              hasInput     = ($input.length > 0),\n              isAddition   = !module.has.value(value),\n              currentValue = module.get.values(),\n              stringValue  = (value !== undefined)\n                ? String(value)\n                : value,\n              newValue\n            ;\n            if(hasInput) {\n              if(stringValue == currentValue) {\n                module.verbose('Skipping value update already same value', value, currentValue);\n                if(!module.is.initialLoad()) {\n                  return;\n                }\n              }\n\n              if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) {\n                module.debug('Adding user option', value);\n                module.add.optionValue(value);\n              }\n              module.debug('Updating input value', value, currentValue);\n              internalChange = true;\n              $input\n                .val(value)\n              ;\n              if(settings.fireOnInit === false && module.is.initialLoad()) {\n                module.debug('Input native change event ignored on initial load');\n              }\n              else {\n                module.trigger.change();\n              }\n              internalChange = false;\n            }\n            else {\n              module.verbose('Storing value in metadata', value, $input);\n              if(value !== currentValue) {\n                $module.data(metadata.value, stringValue);\n              }\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onChange);\n            }\n            else {\n              settings.onChange.call(element, value, text, $selected);\n            }\n          },\n          active: function() {\n            $module\n              .addClass(className.active)\n            ;\n          },\n          multiple: function() {\n            $module.addClass(className.multiple);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          exactly: function(value, $selectedItem) {\n            module.debug('Setting selected to exact values');\n            module.clear();\n            module.set.selected(value, $selectedItem);\n          },\n          selected: function(value, $selectedItem) {\n            var\n              isMultiple = module.is.multiple(),\n              $userSelectedItem\n            ;\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n            if(!$selectedItem) {\n              return;\n            }\n            module.debug('Setting selected menu item to', $selectedItem);\n            if(module.is.single()) {\n              module.remove.activeItem();\n              module.remove.selectedItem();\n            }\n            else if(settings.useLabels) {\n              module.remove.selectedItem();\n            }\n            // select each item\n            $selectedItem\n              .each(function() {\n                var\n                  $selected      = $(this),\n                  selectedText   = module.get.choiceText($selected),\n                  selectedValue  = module.get.choiceValue($selected, selectedText),\n\n                  isFiltered     = $selected.hasClass(className.filtered),\n                  isActive       = $selected.hasClass(className.active),\n                  isUserValue    = $selected.hasClass(className.addition),\n                  shouldAnimate  = (isMultiple && $selectedItem.length == 1)\n                ;\n                if(isMultiple) {\n                  if(!isActive || isUserValue) {\n                    if(settings.apiSettings && settings.saveRemoteData) {\n                      module.save.remoteData(selectedText, selectedValue);\n                    }\n                    if(settings.useLabels) {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.add.label(selectedValue, selectedText, shouldAnimate);\n                      module.set.activeItem($selected);\n                      module.filterActive();\n                      module.select.nextAvailable($selectedItem);\n                    }\n                    else {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.set.text(module.add.variables(message.count));\n                      module.set.activeItem($selected);\n                    }\n                  }\n                  else if(!isFiltered) {\n                    module.debug('Selected active value, removing label');\n                    module.remove.selected(selectedValue);\n                  }\n                }\n                else {\n                  if(settings.apiSettings && settings.saveRemoteData) {\n                    module.save.remoteData(selectedText, selectedValue);\n                  }\n                  module.set.text(selectedText);\n                  module.set.value(selectedValue, selectedText, $selected);\n                  $selected\n                    .addClass(className.active)\n                    .addClass(className.selected)\n                  ;\n                }\n              })\n            ;\n          }\n        },\n\n        add: {\n          label: function(value, text, shouldAnimate) {\n            var\n              $next  = module.is.searchSelection()\n                ? $search\n                : $text,\n              $label\n            ;\n            $label =  $('<a />')\n              .addClass(className.label)\n              .attr('data-value', value)\n              .html(templates.label(value, text))\n            ;\n            $label = settings.onLabelCreate.call($label, value, text);\n\n            if(module.has.label(value)) {\n              module.debug('Label already exists, skipping', value);\n              return;\n            }\n            if(settings.label.variation) {\n              $label.addClass(settings.label.variation);\n            }\n            if(shouldAnimate === true) {\n              module.debug('Animating in label', $label);\n              $label\n                .addClass(className.hidden)\n                .insertBefore($next)\n                .transition(settings.label.transition, settings.label.duration)\n              ;\n            }\n            else {\n              module.debug('Adding selection label', $label);\n              $label\n                .insertBefore($next)\n              ;\n            }\n          },\n          message: function(message) {\n            var\n              $message = $menu.children(selector.message),\n              html     = settings.templates.message(module.add.variables(message))\n            ;\n            if($message.length > 0) {\n              $message\n                .html(html)\n              ;\n            }\n            else {\n              $message = $('<div/>')\n                .html(html)\n                .addClass(className.message)\n                .appendTo($menu)\n              ;\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(hasOption) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            if( module.is.single() ) {\n              module.verbose('Removing previous user addition');\n              $input.find('option.' + className.addition).remove();\n            }\n            $('<option/>')\n              .prop('value', value)\n              .addClass(className.addition)\n              .html(value)\n              .appendTo($input)\n            ;\n            module.verbose('Adding user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          userSuggestion: function(value) {\n            var\n              $addition         = $menu.children(selector.addition),\n              $existingItem     = module.get.item(value),\n              alreadyHasValue   = $existingItem && $existingItem.not(selector.addition).length,\n              hasUserSuggestion = $addition.length > 0,\n              html\n            ;\n            if(settings.useLabels && module.has.maxSelections()) {\n              return;\n            }\n            if(value === '' || alreadyHasValue) {\n              $addition.remove();\n              return;\n            }\n            $item\n              .removeClass(className.selected)\n            ;\n            if(hasUserSuggestion) {\n              html = settings.templates.addition( module.add.variables(message.addResult, value) );\n              $addition\n                .html(html)\n                .attr('data-' + metadata.value, value)\n                .attr('data-' + metadata.text, value)\n                .removeClass(className.filtered)\n                .addClass(className.selected)\n              ;\n              module.verbose('Replacing user suggestion with new value', $addition);\n            }\n            else {\n              $addition = module.create.userChoice(value);\n              $addition\n                .prependTo($menu)\n                .addClass(className.selected)\n              ;\n              module.verbose('Adding item choice to menu corresponding with user choice addition', $addition);\n            }\n          },\n          variables: function(message, term) {\n            var\n              hasCount    = (message.search('{count}') !== -1),\n              hasMaxCount = (message.search('{maxCount}') !== -1),\n              hasTerm     = (message.search('{term}') !== -1),\n              values,\n              count,\n              query\n            ;\n            module.verbose('Adding templated variables to message', message);\n            if(hasCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{count}', count);\n            }\n            if(hasMaxCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{maxCount}', settings.maxSelections);\n            }\n            if(hasTerm) {\n              query   = term || module.get.query();\n              message = message.replace('{term}', query);\n            }\n            return message;\n          },\n          value: function(addedValue, addedText, $selectedItem) {\n            var\n              currentValue = module.get.values(),\n              newValue\n            ;\n            if(addedValue === '') {\n              module.debug('Cannot select blank values from multiselect');\n              return;\n            }\n            // extend current array\n            if($.isArray(currentValue)) {\n              newValue = currentValue.concat([addedValue]);\n              newValue = module.get.uniqueArray(newValue);\n            }\n            else {\n              newValue = [addedValue];\n            }\n            // add values\n            if( module.has.selectInput() ) {\n              if(module.can.extendSelect()) {\n                module.debug('Adding value to select', addedValue, newValue, $input);\n                module.add.optionValue(addedValue);\n              }\n            }\n            else {\n              newValue = newValue.join(settings.delimiter);\n              module.debug('Setting hidden input to delimited value', newValue, $input);\n            }\n\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('Skipping onadd callback on initial load', settings.onAdd);\n            }\n            else {\n              settings.onAdd.call(element, addedValue, addedText, $selectedItem);\n            }\n            module.set.value(newValue, addedValue, addedText, $selectedItem);\n            module.check.maxSelections();\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          activeLabel: function() {\n            $module.find(selector.label).removeClass(className.active);\n          },\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          initialLoad: function() {\n            initialLoad = false;\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.removeClass(className.upward);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          activeItem: function() {\n            $item.removeClass(className.active);\n          },\n          filteredItem: function() {\n            if(settings.useLabels && module.has.maxSelections() ) {\n              return;\n            }\n            if(settings.useLabels && module.is.multiple()) {\n              $item.not('.' + className.active).removeClass(className.filtered);\n            }\n            else {\n              $item.removeClass(className.filtered);\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(!hasOption || !$option.hasClass(className.addition)) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            $option.remove();\n            module.verbose('Removing user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          message: function() {\n            $menu.children(selector.message).remove();\n          },\n          searchTerm: function() {\n            module.verbose('Cleared search term');\n            $search.val('');\n            module.set.filtered();\n          },\n          selected: function(value, $selectedItem) {\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n\n            if(!$selectedItem) {\n              return false;\n            }\n\n            $selectedItem\n              .each(function() {\n                var\n                  $selected     = $(this),\n                  selectedText  = module.get.choiceText($selected),\n                  selectedValue = module.get.choiceValue($selected, selectedText)\n                ;\n                if(module.is.multiple()) {\n                  if(settings.useLabels) {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    module.remove.label(selectedValue);\n                  }\n                  else {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    if(module.get.selectionCount() === 0) {\n                      module.set.placeholderText();\n                    }\n                    else {\n                      module.set.text(module.add.variables(message.count));\n                    }\n                  }\n                }\n                else {\n                  module.remove.value(selectedValue, selectedText, $selected);\n                }\n                $selected\n                  .removeClass(className.filtered)\n                  .removeClass(className.active)\n                ;\n                if(settings.useLabels) {\n                  $selected.removeClass(className.selected);\n                }\n              })\n            ;\n          },\n          selectedItem: function() {\n            $item.removeClass(className.selected);\n          },\n          value: function(removedValue, removedText, $removedItem) {\n            var\n              values = module.get.values(),\n              newValue\n            ;\n            if( module.has.selectInput() ) {\n              module.verbose('Input is <select> removing selected option', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              module.remove.optionValue(removedValue);\n            }\n            else {\n              module.verbose('Removing from delimited values', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              newValue = newValue.join(settings.delimiter);\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onRemove);\n            }\n            else {\n              settings.onRemove.call(element, removedValue, removedText, $removedItem);\n            }\n            module.set.value(newValue, removedText, $removedItem);\n            module.check.maxSelections();\n          },\n          arrayValue: function(removedValue, values) {\n            if( !$.isArray(values) ) {\n              values = [values];\n            }\n            values = $.grep(values, function(value){\n              return (removedValue != value);\n            });\n            module.verbose('Removed value from delimited string', removedValue, values);\n            return values;\n          },\n          label: function(value, shouldAnimate) {\n            var\n              $labels       = $module.find(selector.label),\n              $removedLabel = $labels.filter('[data-value=\"' + value +'\"]')\n            ;\n            module.verbose('Removing label', $removedLabel);\n            $removedLabel.remove();\n          },\n          activeLabels: function($activeLabels) {\n            $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active);\n            module.verbose('Removing active label selections', $activeLabels);\n            module.remove.labels($activeLabels);\n          },\n          labels: function($labels) {\n            $labels = $labels || $module.find(selector.label);\n            module.verbose('Removing labels', $labels);\n            $labels\n              .each(function(){\n                var\n                  $label      = $(this),\n                  value       = $label.data(metadata.value),\n                  stringValue = (value !== undefined)\n                    ? String(value)\n                    : value,\n                  isUserValue = module.is.userValue(stringValue)\n                ;\n                if(settings.onLabelRemove.call($label, value) === false) {\n                  module.debug('Label remove callback cancelled removal');\n                  return;\n                }\n                if(isUserValue) {\n                  module.remove.value(stringValue);\n                  module.remove.label(stringValue);\n                }\n                else {\n                  // selected will also remove label\n                  module.remove.selected(stringValue);\n                }\n              })\n            ;\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Searchable dropdown initialized');\n              $search\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n            else {\n              module.debug('Simple selection dropdown initialized');\n              $module\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n          }\n        },\n\n        has: {\n          search: function() {\n            return ($search.length > 0);\n          },\n          selectInput: function() {\n            return ( $input.is('select') );\n          },\n          firstLetter: function($item, letter) {\n            var\n              text,\n              firstLetter\n            ;\n            if(!$item || $item.length === 0 || typeof letter !== 'string') {\n              return false;\n            }\n            text        = module.get.choiceText($item, false);\n            letter      = letter.toLowerCase();\n            firstLetter = String(text).charAt(0).toLowerCase();\n            return (letter == firstLetter);\n          },\n          input: function() {\n            return ($input.length > 0);\n          },\n          items: function() {\n            return ($item.length > 0);\n          },\n          menu: function() {\n            return ($menu.length > 0);\n          },\n          message: function() {\n            return ($menu.children(selector.message).length !== 0);\n          },\n          label: function(value) {\n            var\n              $labels = $module.find(selector.label)\n            ;\n            return ($labels.filter('[data-value=\"' + value +'\"]').length > 0);\n          },\n          maxSelections: function() {\n            return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections);\n          },\n          allResultsFiltered: function() {\n            return ($item.filter(selector.unselectable).length === $item.length);\n          },\n          query: function() {\n            return (module.get.query() !== '');\n          },\n          value: function(value) {\n            var\n              values   = module.get.values(),\n              hasValue = $.isArray(values)\n               ? values && ($.inArray(value, values) !== -1)\n               : (values == value)\n            ;\n            return (hasValue)\n              ? true\n              : false\n            ;\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          alreadySetup: function() {\n            return ($module.is('select') && $module.parent(selector.dropdown).length > 0  && $module.prev().length === 0);\n          },\n          animating: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.transition && $subMenu.transition('is animating')\n              : $menu.transition    && $menu.transition('is animating')\n            ;\n          },\n          disabled: function() {\n            return $module.hasClass(className.disabled);\n          },\n          focused: function() {\n            return (document.activeElement === $module[0]);\n          },\n          focusedOnSearch: function() {\n            return (document.activeElement === $search[0]);\n          },\n          allFiltered: function() {\n            return( (module.is.multiple() || module.has.search()) && !module.has.message() && module.has.allResultsFiltered() );\n          },\n          hidden: function($subMenu) {\n            return !module.is.visible($subMenu);\n          },\n          initialLoad: function() {\n            return initialLoad;\n          },\n          onScreen: function($subMenu) {\n            var\n              $currentMenu   = $subMenu || $menu,\n              canOpenDownward = true,\n              onScreen = {},\n              calculations\n            ;\n            $currentMenu.addClass(className.loading);\n            calculations = {\n              context: {\n                scrollTop : $context.scrollTop(),\n                height    : $context.outerHeight()\n              },\n              menu : {\n                offset: $currentMenu.offset(),\n                height: $currentMenu.outerHeight()\n              }\n            };\n            onScreen = {\n              above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.menu.height,\n              below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top + calculations.menu.height\n            };\n            if(onScreen.below) {\n              module.verbose('Dropdown can fit in context downward', onScreen);\n              canOpenDownward = true;\n            }\n            else if(!onScreen.below && !onScreen.above) {\n              module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen);\n              canOpenDownward = true;\n            }\n            else {\n              module.verbose('Dropdown cannot fit below, opening upward', onScreen);\n              canOpenDownward = false;\n            }\n            $currentMenu.removeClass(className.loading);\n            return canOpenDownward;\n          },\n          inObject: function(needle, object) {\n            var\n              found = false\n            ;\n            $.each(object, function(index, property) {\n              if(property == needle) {\n                found = true;\n                return true;\n              }\n            });\n            return found;\n          },\n          multiple: function() {\n            return $module.hasClass(className.multiple);\n          },\n          single: function() {\n            return !module.is.multiple();\n          },\n          selectMutation: function(mutations) {\n            var\n              selectChanged = false\n            ;\n            $.each(mutations, function(index, mutation) {\n              if(mutation.target && $(mutation.target).is('select')) {\n                selectChanged = true;\n                return true;\n              }\n            });\n            return selectChanged;\n          },\n          search: function() {\n            return $module.hasClass(className.search);\n          },\n          searchSelection: function() {\n            return ( module.has.search() && $search.parent(selector.dropdown).length === 1 );\n          },\n          selection: function() {\n            return $module.hasClass(className.selection);\n          },\n          userValue: function(value) {\n            return ($.inArray(value, module.get.userValues()) !== -1);\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            return $element.hasClass(className.upward);\n          },\n          visible: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.hasClass(className.visible)\n              : $menu.hasClass(className.visible)\n            ;\n          }\n        },\n\n        can: {\n          activate: function($item) {\n            if(settings.useLabels) {\n              return true;\n            }\n            if(!module.has.maxSelections()) {\n              return true;\n            }\n            if(module.has.maxSelections() && $item.hasClass(className.active)) {\n              return true;\n            }\n            return false;\n          },\n          click: function() {\n            return (hasTouch || settings.on == 'click');\n          },\n          extendSelect: function() {\n            return settings.allowAdditions || settings.apiSettings;\n          },\n          show: function() {\n            return !module.is.disabled() && (module.has.items() || module.has.message());\n          },\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          }\n        },\n\n        animate: {\n          show: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  module.hideSubMenus();\n                  module.hideOthers();\n                  module.set.active();\n                },\n              transition\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            module.verbose('Doing menu show animation', $currentMenu);\n            module.set.direction($subMenu);\n            transition = module.get.transition($subMenu);\n            if( module.is.selection() ) {\n              module.set.scrollPosition(module.get.selectedItem(), true);\n            }\n            if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('show');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' in',\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    duration   : settings.duration,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition, transition);\n              }\n            }\n          },\n          hide: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              duration = ($subMenu)\n                ? (settings.duration * 0.9)\n                : settings.duration,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  if( module.can.click() ) {\n                    module.unbind.intent();\n                  }\n                  module.remove.active();\n                },\n              transition = module.get.transition($subMenu)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {\n              module.verbose('Doing menu hide animation', $currentMenu);\n\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('hide');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' out',\n                    duration   : settings.duration,\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      if(settings.direction == 'auto') {\n                        module.remove.upward($subMenu);\n                      }\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.transition);\n              }\n            }\n          }\n        },\n\n        hideAndClear: function() {\n          module.remove.searchTerm();\n          if( module.has.maxSelections() ) {\n            return;\n          }\n          if(module.has.search()) {\n            module.hide(function() {\n              module.remove.filteredItem();\n            });\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        delay: {\n          show: function() {\n            module.verbose('Delaying show event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.show, settings.delay.show);\n          },\n          hide: function() {\n            module.verbose('Delaying hide event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.hide, settings.delay.hide);\n          }\n        },\n\n        escape: {\n          regExp: function(text) {\n            text =  String(text);\n            return text.replace(regExp.escape, '\\\\$&');\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : $allModules\n  ;\n};\n\n$.fn.dropdown.settings = {\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  on                     : 'click',    // what event should show menu action on item selection\n  action                 : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){})\n\n\n  apiSettings            : false,\n  saveRemoteData         : true,      // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh\n  throttle               : 200,       // How long to wait after last user input to search remotely\n\n  context                : window,      // Context to use when determining if on screen\n  direction              : 'auto',     // Whether dropdown should always open in one direction\n  keepOnScreen           : true,       // Whether dropdown should check whether it is on screen before showing\n\n  match                  : 'both',     // what to match against with search selection (both, text, or label)\n  fullTextSearch         : false,      // search anywhere in value\n\n  placeholder            : 'auto',     // whether to convert blank <select> values to placeholder text\n  preserveHTML           : true,       // preserve html when selecting value\n  sortSelect             : false,      // sort selection on init\n\n  forceSelection         : true,       // force a choice on blur with search selection\n  allowAdditions         : false,      // whether multiple select should allow user added values\n\n  maxSelections          : false,      // When set to a number limits the number of selections to this count\n  useLabels              : true,       // whether multiple select should filter currently active selections from choices\n  delimiter              : ',',        // when multiselect uses normal <input> the values will be delimited with this character\n\n  showOnFocus            : true,       // show menu on focus\n  allowTab               : true,       // add tabindex to element\n  allowCategorySelection : false,      // allow elements with sub-menus to be selected\n\n  fireOnInit             : false,      // Whether callbacks should fire when initializing dropdown values\n\n  transition             : 'auto',     // auto transition will slide down or up based on direction\n  duration               : 200,        // duration of transition\n\n  glyphWidth             : 1.0714,     // widest glyph width in em (W is 1.0714 em) used to calculate multiselect input width\n\n  // label settings on multi-select\n  label: {\n    transition : 'scale',\n    duration   : 200,\n    variation  : false\n  },\n\n  // delay before event\n  delay : {\n    hide   : 300,\n    show   : 200,\n    search : 20,\n    touch  : 50\n  },\n\n  /* Callbacks */\n  onChange      : function(value, text, $selected){},\n  onAdd         : function(value, text, $selected){},\n  onRemove      : function(value, text, $selected){},\n\n  onLabelSelect : function($selectedLabels){},\n  onLabelCreate : function(value, text) { return $(this); },\n  onLabelRemove : function(value) { return true; },\n  onNoResults   : function(searchTerm) { return true; },\n  onShow        : function(){},\n  onHide        : function(){},\n\n  /* Component */\n  name           : 'Dropdown',\n  namespace      : 'dropdown',\n\n  message: {\n    addResult     : 'Add <b>{term}</b>',\n    count         : '{count} selected',\n    maxSelections : 'Max {maxCount} selections',\n    noResults     : 'No results found.',\n    serverError   : 'There was an error contacting the server'\n  },\n\n  error : {\n    action          : 'You called a dropdown action that was not defined',\n    alreadySetup    : 'Once a select has been initialized behaviors must be called on the created ui dropdown',\n    labels          : 'Allowing user additions currently requires the use of labels.',\n    missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values',\n    method          : 'The method you called is not defined.',\n    noAPI           : 'The API module is required to load resources remotely',\n    noStorage       : 'Saving remote data requires session storage',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>'\n  },\n\n  regExp : {\n    escape   : /[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\n  },\n\n  metadata : {\n    defaultText     : 'defaultText',\n    defaultValue    : 'defaultValue',\n    placeholderText : 'placeholder',\n    text            : 'text',\n    value           : 'value'\n  },\n\n  // property names for remote query\n  fields: {\n    remoteValues : 'results', // grouping for api results\n    values       : 'values', // grouping for all dropdown values\n    name         : 'name',   // displayed dropdown text\n    value        : 'value'   // actual dropdown value\n  },\n\n  keys : {\n    backspace  : 8,\n    delimiter  : 188, // comma\n    deleteKey  : 46,\n    enter      : 13,\n    escape     : 27,\n    pageUp     : 33,\n    pageDown   : 34,\n    leftArrow  : 37,\n    upArrow    : 38,\n    rightArrow : 39,\n    downArrow  : 40\n  },\n\n  selector : {\n    addition     : '.addition',\n    dropdown     : '.ui.dropdown',\n    icon         : '> .dropdown.icon',\n    input        : '> input[type=\"hidden\"], > select',\n    item         : '.item',\n    label        : '> .label',\n    remove       : '> .label > .delete.icon',\n    siblingLabel : '.label',\n    menu         : '.menu',\n    message      : '.message',\n    menuIcon     : '.dropdown.icon',\n    search       : 'input.search, .menu > .search > input',\n    text         : '> .text:not(.icon)',\n    unselectable : '.disabled, .filtered'\n  },\n\n  className : {\n    active      : 'active',\n    addition    : 'addition',\n    animating   : 'animating',\n    disabled    : 'disabled',\n    dropdown    : 'ui dropdown',\n    filtered    : 'filtered',\n    hidden      : 'hidden transition',\n    item        : 'item',\n    label       : 'ui label',\n    loading     : 'loading',\n    menu        : 'menu',\n    message     : 'message',\n    multiple    : 'multiple',\n    placeholder : 'default',\n    search      : 'search',\n    selected    : 'selected',\n    selection   : 'selection',\n    upward      : 'upward',\n    visible     : 'visible'\n  }\n\n};\n\n/* Templates */\n$.fn.dropdown.settings.templates = {\n\n  // generates dropdown from select values\n  dropdown: function(select) {\n    var\n      placeholder = select.placeholder || false,\n      values      = select.values || {},\n      html        = ''\n    ;\n    html +=  '<i class=\"dropdown icon\"></i>';\n    if(select.placeholder) {\n      html += '<div class=\"default text\">' + placeholder + '</div>';\n    }\n    else {\n      html += '<div class=\"text\"></div>';\n    }\n    html += '<div class=\"menu\">';\n    $.each(select.values, function(index, option) {\n      html += (option.disabled)\n        ? '<div class=\"disabled item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n        : '<div class=\"item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n      ;\n    });\n    html += '</div>';\n    return html;\n  },\n\n  // generates just menu from select\n  menu: function(response, fields) {\n    var\n      values = response[fields.values] || {},\n      html   = ''\n    ;\n    $.each(values, function(index, option) {\n      html += '<div class=\"item\" data-value=\"' + option[fields.value] + '\">' + option[fields.name] + '</div>';\n    });\n    return html;\n  },\n\n  // generates label for multiselect\n  label: function(value, text) {\n    return text + '<i class=\"delete icon\"></i>';\n  },\n\n\n  // generates messages like \"No results\"\n  message: function(message) {\n    return message;\n  },\n\n  // generates user addition to selection menu\n  addition: function(choice) {\n    return choice;\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/embed.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Types\n*******************************/\n\n.ui.embed {\n  position: relative;\n  max-width: 100%;\n  height: 0px;\n  overflow: hidden;\n  background: #DCDDDE;\n  padding-bottom: 56.25%;\n}\n\n/*-----------------\n  Embedded Content\n------------------*/\n\n.ui.embed iframe,\n.ui.embed embed,\n.ui.embed object {\n  position: absolute;\n  border: none;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  margin: 0em;\n  padding: 0em;\n}\n\n/*-----------------\n      Embed\n------------------*/\n\n.ui.embed > .embed {\n  display: none;\n}\n\n/*--------------\n   Placeholder\n---------------*/\n\n.ui.embed > .placeholder {\n  position: absolute;\n  cursor: pointer;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.embed > .icon {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n  z-index: 2;\n}\n.ui.embed > .icon:after {\n  position: absolute;\n  top: 0%;\n  left: 0%;\n  width: 100%;\n  height: 100%;\n  z-index: 3;\n  content: '';\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 0.5;\n  -webkit-transition: opacity 0.5s ease;\n          transition: opacity 0.5s ease;\n}\n.ui.embed > .icon:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 4;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  color: #FFFFFF;\n  font-size: 6rem;\n  text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2);\n  -webkit-transition: opacity 0.5s ease, color 0.5s ease;\n          transition: opacity 0.5s ease, color 0.5s ease;\n  z-index: 10;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n     Hover\n---------------*/\n\n.ui.embed .icon:hover:after {\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 1;\n}\n.ui.embed .icon:hover:before {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.embed > .icon,\n.ui.active.embed > .placeholder {\n  display: none;\n}\n.ui.active.embed > .embed {\n  display: block;\n}\n\n\n/*******************************\n        Video Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.square.embed {\n  padding-bottom: 100%;\n}\n.ui[class*=\"4:3\"].embed {\n  padding-bottom: 75%;\n}\n.ui[class*=\"16:9\"].embed {\n  padding-bottom: 56.25%;\n}\n.ui[class*=\"21:9\"].embed {\n  padding-bottom: 42.85714286%;\n}\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/embed.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.embed = function(parameters) {\n\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.embed.settings, parameters)\n          : $.extend({}, $.fn.embed.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        sources         = settings.sources,\n        error           = settings.error,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n        $module         = $(this),\n        $placeholder    = $module.find(selector.placeholder),\n        $icon           = $module.find(selector.icon),\n        $embed          = $module.find(selector.embed),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing embed');\n          module.determine.autoplay();\n          module.create();\n          module.bind.events();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance of embed');\n          module.reset();\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $placeholder = $module.find(selector.placeholder);\n          $icon        = $module.find(selector.icon);\n          $embed       = $module.find(selector.embed);\n        },\n\n        bind: {\n          events: function() {\n            if( module.has.placeholder() ) {\n              module.debug('Adding placeholder events');\n              $module\n                .on('click' + eventNamespace, selector.placeholder, module.createAndShow)\n                .on('click' + eventNamespace, selector.icon, module.createAndShow)\n              ;\n            }\n          }\n        },\n\n        create: function() {\n          var\n            placeholder = module.get.placeholder()\n          ;\n          if(placeholder) {\n            module.createPlaceholder();\n          }\n          else {\n            module.createAndShow();\n          }\n        },\n\n        createPlaceholder: function(placeholder) {\n          var\n            icon  = module.get.icon(),\n            url   = module.get.url(),\n            embed = module.generate.embed(url)\n          ;\n          placeholder = placeholder || module.get.placeholder();\n          $module.html( templates.placeholder(placeholder, icon) );\n          module.debug('Creating placeholder for embed', placeholder, icon);\n        },\n\n        createEmbed: function(url) {\n          module.refresh();\n          url = url || module.get.url();\n          $embed = $('<div/>')\n            .addClass(className.embed)\n            .html( module.generate.embed(url) )\n            .appendTo($module)\n          ;\n          settings.onCreate.call(element, url);\n          module.debug('Creating embed object', $embed);\n        },\n\n        createAndShow: function() {\n          module.createEmbed();\n          module.show();\n        },\n\n        // sets new embed\n        change: function(source, id, url) {\n          module.debug('Changing video to ', source, id, url);\n          $module\n            .data(metadata.source, source)\n            .data(metadata.id, id)\n            .data(metadata.url, url)\n          ;\n          module.create();\n        },\n\n        // clears embed\n        reset: function() {\n          module.debug('Clearing embed and showing placeholder');\n          module.remove.active();\n          module.remove.embed();\n          module.showPlaceholder();\n          settings.onReset.call(element);\n        },\n\n        // shows current embed\n        show: function() {\n          module.debug('Showing embed');\n          module.set.active();\n          settings.onDisplay.call(element);\n        },\n\n        hide: function() {\n          module.debug('Hiding embed');\n          module.showPlaceholder();\n        },\n\n        showPlaceholder: function() {\n          module.debug('Showing placeholder image');\n          module.remove.active();\n          settings.onPlaceholderDisplay.call(element);\n        },\n\n        get: {\n          id: function() {\n            return settings.id || $module.data(metadata.id);\n          },\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          },\n          icon: function() {\n            return (settings.icon)\n              ? settings.icon\n              : ($module.data(metadata.icon) !== undefined)\n                ? $module.data(metadata.icon)\n                : module.determine.icon()\n            ;\n          },\n          source: function(url) {\n            return (settings.source)\n              ? settings.source\n              : ($module.data(metadata.source) !== undefined)\n                ? $module.data(metadata.source)\n                : module.determine.source()\n            ;\n          },\n          type: function() {\n            var source = module.get.source();\n            return (sources[source] !== undefined)\n              ? sources[source].type\n              : false\n            ;\n          },\n          url: function() {\n            return (settings.url)\n              ? settings.url\n              : ($module.data(metadata.url) !== undefined)\n                ? $module.data(metadata.url)\n                : module.determine.url()\n            ;\n          }\n        },\n\n        determine: {\n          autoplay: function() {\n            if(module.should.autoplay()) {\n              settings.autoplay = true;\n            }\n          },\n          source: function(url) {\n            var\n              matchedSource = false\n            ;\n            url = url || module.get.url();\n            if(url) {\n              $.each(sources, function(name, source) {\n                if(url.search(source.domain) !== -1) {\n                  matchedSource = name;\n                  return false;\n                }\n              });\n            }\n            return matchedSource;\n          },\n          icon: function() {\n            var\n              source = module.get.source()\n            ;\n            return (sources[source] !== undefined)\n              ? sources[source].icon\n              : false\n            ;\n          },\n          url: function() {\n            var\n              id     = settings.id     || $module.data(metadata.id),\n              source = settings.source || $module.data(metadata.source),\n              url\n            ;\n            url = (sources[source] !== undefined)\n              ? sources[source].url.replace('{id}', id)\n              : false\n            ;\n            if(url) {\n              $module.data(metadata.url, url);\n            }\n            return url;\n          }\n        },\n\n\n        set: {\n          active: function() {\n            $module.addClass(className.active);\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          embed: function() {\n            $embed.empty();\n          }\n        },\n\n        encode: {\n          parameters: function(parameters) {\n            var\n              urlString = [],\n              index\n            ;\n            for (index in parameters) {\n              urlString.push( encodeURIComponent(index) + '=' + encodeURIComponent( parameters[index] ) );\n            }\n            return urlString.join('&amp;');\n          }\n        },\n\n        generate: {\n          embed: function(url) {\n            module.debug('Generating embed html');\n            var\n              source = module.get.source(),\n              html,\n              parameters\n            ;\n            url = module.get.url(url);\n            if(url) {\n              parameters = module.generate.parameters(source);\n              html       = templates.iframe(url, parameters);\n            }\n            else {\n              module.error(error.noURL, $module);\n            }\n            return html;\n          },\n          parameters: function(source, extraParameters) {\n            var\n              parameters = (sources[source] && sources[source].parameters !== undefined)\n                ? sources[source].parameters(settings)\n                : {}\n            ;\n            extraParameters = extraParameters || settings.parameters;\n            if(extraParameters) {\n              parameters = $.extend({}, parameters, extraParameters);\n            }\n            parameters = settings.onEmbed(parameters);\n            return module.encode.parameters(parameters);\n          }\n        },\n\n        has: {\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          }\n        },\n\n        should: {\n          autoplay: function() {\n            return (settings.autoplay === 'auto')\n              ? (settings.placeholder || $module.data(metadata.placeholder) !== undefined)\n              : settings.autoplay\n            ;\n          }\n        },\n\n        is: {\n          video: function() {\n            return module.get.type() == 'video';\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.embed.settings = {\n\n  name        : 'Embed',\n  namespace   : 'embed',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  icon     : false,\n  source   : false,\n  url      : false,\n  id       : false,\n\n  // standard video settings\n  autoplay  : 'auto',\n  color     : '#444444',\n  hd        : true,\n  brandedUI : false,\n\n  // additional parameters to include with the embed\n  parameters: false,\n\n  onDisplay            : function() {},\n  onPlaceholderDisplay : function() {},\n  onReset              : function() {},\n  onCreate             : function(url) {},\n  onEmbed              : function(parameters) {\n    return parameters;\n  },\n\n  metadata    : {\n    id          : 'id',\n    icon        : 'icon',\n    placeholder : 'placeholder',\n    source      : 'source',\n    url         : 'url'\n  },\n\n  error : {\n    noURL  : 'No URL specified',\n    method : 'The method you called is not defined'\n  },\n\n  className : {\n    active : 'active',\n    embed  : 'embed'\n  },\n\n  selector : {\n    embed       : '.embed',\n    placeholder : '.placeholder',\n    icon        : '.icon'\n  },\n\n  sources: {\n    youtube: {\n      name   : 'youtube',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'youtube.com',\n      url    : '//www.youtube.com/embed/{id}',\n      parameters: function(settings) {\n        return {\n          autohide       : !settings.brandedUI,\n          autoplay       : settings.autoplay,\n          color          : settings.colors || undefined,\n          hq             : settings.hd,\n          jsapi          : settings.api,\n          modestbranding : !settings.brandedUI\n        };\n      }\n    },\n    vimeo: {\n      name   : 'vimeo',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'vimeo.com',\n      url    : '//player.vimeo.com/video/{id}',\n      parameters: function(settings) {\n        return {\n          api      : settings.api,\n          autoplay : settings.autoplay,\n          byline   : settings.brandedUI,\n          color    : settings.colors || undefined,\n          portrait : settings.brandedUI,\n          title    : settings.brandedUI\n        };\n      }\n    }\n  },\n\n  templates: {\n    iframe : function(url, parameters) {\n      return ''\n        + '<iframe src=\"' + url + '?' + parameters + '\"'\n        + ' width=\"100%\" height=\"100%\"'\n        + ' frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n      ;\n    },\n    placeholder : function(image, icon) {\n      var\n        html = ''\n      ;\n      if(icon) {\n        html += '<i class=\"' + icon + ' icon\"></i>';\n      }\n      if(image) {\n        html += '<img class=\"placeholder\" src=\"' + image + '\">';\n      }\n      return html;\n    }\n  },\n\n  // NOT YET IMPLEMENTED\n  api     : true,\n  onPause : function() {},\n  onPlay  : function() {},\n  onStop  : function() {}\n\n};\n\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/feed.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Feed\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n         Activity Feed\n*******************************/\n\n.ui.feed {\n  margin: 1em 0em;\n}\n.ui.feed:first-child {\n  margin-top: 0em;\n}\n.ui.feed:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* Event */\n.ui.feed > .event {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  width: 100%;\n  padding: 0.21428571rem 0em;\n  margin: 0em;\n  background: none;\n  border-top: none;\n}\n.ui.feed > .event:first-child {\n  border-top: 0px;\n  padding-top: 0em;\n}\n.ui.feed > .event:last-child {\n  padding-bottom: 0em;\n}\n\n/* Event Label */\n.ui.feed > .event > .label {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  width: 2.5em;\n  height: auto;\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n  text-align: left;\n}\n.ui.feed > .event > .label .icon {\n  opacity: 1;\n  font-size: 1.5em;\n  width: 100%;\n  padding: 0.25em;\n  background: none;\n  border: none;\n  border-radius: none;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.feed > .event > .label img {\n  width: 100%;\n  height: auto;\n  border-radius: 500rem;\n}\n.ui.feed > .event > .label + .content {\n  margin: 0.5em 0em 0.35714286em 1.14285714em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n\n/* Content */\n.ui.feed > .event > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n  text-align: left;\n  word-wrap: break-word;\n}\n.ui.feed > .event:last-child > .content {\n  padding-bottom: 0em;\n}\n\n/* Link */\n.ui.feed > .event > .content a {\n  cursor: pointer;\n}\n\n/*--------------\n      Date\n---------------*/\n\n.ui.feed > .event > .content .date {\n  margin: -0.5rem 0em 0em;\n  padding: 0em;\n  font-weight: normal;\n  font-size: 1em;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n     Summary\n---------------*/\n\n.ui.feed > .event > .content .summary {\n  margin: 0em;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Summary Image */\n.ui.feed > .event > .content .summary img {\n  display: inline-block;\n  width: auto;\n  height: 10em;\n  margin: -0.25em 0.25em 0em 0em;\n  border-radius: 0.25em;\n  vertical-align: middle;\n}\n\n/*--------------\n      User\n---------------*/\n\n.ui.feed > .event > .content .user {\n  display: inline-block;\n  font-weight: bold;\n  margin-right: 0em;\n  vertical-align: baseline;\n}\n.ui.feed > .event > .content .user img {\n  margin: -0.25em 0.25em 0em 0em;\n  width: auto;\n  height: 10em;\n  vertical-align: middle;\n}\n\n/*--------------\n   Inline Date\n---------------*/\n\n\n/* Date inside Summary */\n.ui.feed > .event > .content .summary > .date {\n  display: inline-block;\n  float: none;\n  font-weight: normal;\n  font-size: 0.85714286em;\n  font-style: normal;\n  margin: 0em 0em 0em 0.5em;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n  Extra Summary\n---------------*/\n\n.ui.feed > .event > .content .extra {\n  margin: 0.5em 0em 0em;\n  background: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Images */\n.ui.feed > .event > .content .extra.images img {\n  display: inline-block;\n  margin: 0em 0.25em 0em 0em;\n  width: 6em;\n}\n\n/* Text */\n.ui.feed > .event > .content .extra.text {\n  padding: 0em;\n  border-left: none;\n  font-size: 1em;\n  max-width: 500px;\n  line-height: 1.4285em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.feed > .event > .content .meta {\n  display: inline-block;\n  font-size: 0.85714286em;\n  margin: 0.5em 0em 0em;\n  background: none;\n  border: none;\n  border-radius: 0;\n  box-shadow: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.feed > .event > .content .meta > * {\n  position: relative;\n  margin-left: 0.75em;\n}\n.ui.feed > .event > .content .meta > *:after {\n  content: '';\n  color: rgba(0, 0, 0, 0.2);\n  top: 0em;\n  left: -1em;\n  opacity: 1;\n  position: absolute;\n  vertical-align: top;\n}\n.ui.feed > .event > .content .meta .like {\n  color: '';\n  -webkit-transition: 0.2s color ease;\n          transition: 0.2s color ease;\n}\n.ui.feed > .event > .content .meta .like:hover .icon {\n  color: #FF2733;\n}\n.ui.feed > .event > .content .meta .active.like .icon {\n  color: #EF404A;\n}\n\n/* First element */\n.ui.feed > .event > .content .meta > :first-child {\n  margin-left: 0em;\n}\n.ui.feed > .event > .content .meta > :first-child::after {\n  display: none;\n}\n\n/* Action */\n.ui.feed > .event > .content .meta a,\n.ui.feed > .event > .content .meta > .icon {\n  cursor: pointer;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.5);\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.feed > .event > .content .meta a:hover,\n.ui.feed > .event > .content .meta a:hover .icon,\n.ui.feed > .event > .content .meta > .icon:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n.ui.small.feed {\n  font-size: 0.92857143rem;\n}\n.ui.feed {\n  font-size: 1rem;\n}\n.ui.large.feed {\n  font-size: 1.14285714rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/flag.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Flag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Flag\n*******************************/\n\ni.flag:not(.icon) {\n  display: inline-block;\n  width: 16px;\n  height: 11px;\n  line-height: 11px;\n  vertical-align: baseline;\n  margin: 0em 0.5em 0em 0em;\n  text-decoration: inherit;\n  speak: none;\n  font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n\n/* Sprite */\ni.flag:not(.icon):before {\n  display: inline-block;\n  content: '';\n  background: url(\"../themes/default/assets/images/flags.png\") no-repeat 0px 0px;\n  width: 16px;\n  height: 11px;\n}\n\n/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\ni.flag.ad:before,\ni.flag.andorra:before {\n  background-position: 0px 0px;\n}\ni.flag.ae:before,\ni.flag.united.arab.emirates:before,\ni.flag.uae:before {\n  background-position: 0px -26px;\n}\ni.flag.af:before,\ni.flag.afghanistan:before {\n  background-position: 0px -52px;\n}\ni.flag.ag:before,\ni.flag.antigua:before {\n  background-position: 0px -78px;\n}\ni.flag.ai:before,\ni.flag.anguilla:before {\n  background-position: 0px -104px;\n}\ni.flag.al:before,\ni.flag.albania:before {\n  background-position: 0px -130px;\n}\ni.flag.am:before,\ni.flag.armenia:before {\n  background-position: 0px -156px;\n}\ni.flag.an:before,\ni.flag.netherlands.antilles:before {\n  background-position: 0px -182px;\n}\ni.flag.ao:before,\ni.flag.angola:before {\n  background-position: 0px -208px;\n}\ni.flag.ar:before,\ni.flag.argentina:before {\n  background-position: 0px -234px;\n}\ni.flag.as:before,\ni.flag.american.samoa:before {\n  background-position: 0px -260px;\n}\ni.flag.at:before,\ni.flag.austria:before {\n  background-position: 0px -286px;\n}\ni.flag.au:before,\ni.flag.australia:before {\n  background-position: 0px -312px;\n}\ni.flag.aw:before,\ni.flag.aruba:before {\n  background-position: 0px -338px;\n}\ni.flag.ax:before,\ni.flag.aland.islands:before {\n  background-position: 0px -364px;\n}\ni.flag.az:before,\ni.flag.azerbaijan:before {\n  background-position: 0px -390px;\n}\ni.flag.ba:before,\ni.flag.bosnia:before {\n  background-position: 0px -416px;\n}\ni.flag.bb:before,\ni.flag.barbados:before {\n  background-position: 0px -442px;\n}\ni.flag.bd:before,\ni.flag.bangladesh:before {\n  background-position: 0px -468px;\n}\ni.flag.be:before,\ni.flag.belgium:before {\n  background-position: 0px -494px;\n}\ni.flag.bf:before,\ni.flag.burkina.faso:before {\n  background-position: 0px -520px;\n}\ni.flag.bg:before,\ni.flag.bulgaria:before {\n  background-position: 0px -546px;\n}\ni.flag.bh:before,\ni.flag.bahrain:before {\n  background-position: 0px -572px;\n}\ni.flag.bi:before,\ni.flag.burundi:before {\n  background-position: 0px -598px;\n}\ni.flag.bj:before,\ni.flag.benin:before {\n  background-position: 0px -624px;\n}\ni.flag.bm:before,\ni.flag.bermuda:before {\n  background-position: 0px -650px;\n}\ni.flag.bn:before,\ni.flag.brunei:before {\n  background-position: 0px -676px;\n}\ni.flag.bo:before,\ni.flag.bolivia:before {\n  background-position: 0px -702px;\n}\ni.flag.br:before,\ni.flag.brazil:before {\n  background-position: 0px -728px;\n}\ni.flag.bs:before,\ni.flag.bahamas:before {\n  background-position: 0px -754px;\n}\ni.flag.bt:before,\ni.flag.bhutan:before {\n  background-position: 0px -780px;\n}\ni.flag.bv:before,\ni.flag.bouvet.island:before {\n  background-position: 0px -806px;\n}\ni.flag.bw:before,\ni.flag.botswana:before {\n  background-position: 0px -832px;\n}\ni.flag.by:before,\ni.flag.belarus:before {\n  background-position: 0px -858px;\n}\ni.flag.bz:before,\ni.flag.belize:before {\n  background-position: 0px -884px;\n}\ni.flag.ca:before,\ni.flag.canada:before {\n  background-position: 0px -910px;\n}\ni.flag.cc:before,\ni.flag.cocos.islands:before {\n  background-position: 0px -962px;\n}\ni.flag.cd:before,\ni.flag.congo:before {\n  background-position: 0px -988px;\n}\ni.flag.cf:before,\ni.flag.central.african.republic:before {\n  background-position: 0px -1014px;\n}\ni.flag.cg:before,\ni.flag.congo.brazzaville:before {\n  background-position: 0px -1040px;\n}\ni.flag.ch:before,\ni.flag.switzerland:before {\n  background-position: 0px -1066px;\n}\ni.flag.ci:before,\ni.flag.cote.divoire:before {\n  background-position: 0px -1092px;\n}\ni.flag.ck:before,\ni.flag.cook.islands:before {\n  background-position: 0px -1118px;\n}\ni.flag.cl:before,\ni.flag.chile:before {\n  background-position: 0px -1144px;\n}\ni.flag.cm:before,\ni.flag.cameroon:before {\n  background-position: 0px -1170px;\n}\ni.flag.cn:before,\ni.flag.china:before {\n  background-position: 0px -1196px;\n}\ni.flag.co:before,\ni.flag.colombia:before {\n  background-position: 0px -1222px;\n}\ni.flag.cr:before,\ni.flag.costa.rica:before {\n  background-position: 0px -1248px;\n}\ni.flag.cs:before,\ni.flag.serbia:before {\n  background-position: 0px -1274px;\n}\ni.flag.cu:before,\ni.flag.cuba:before {\n  background-position: 0px -1300px;\n}\ni.flag.cv:before,\ni.flag.cape.verde:before {\n  background-position: 0px -1326px;\n}\ni.flag.cx:before,\ni.flag.christmas.island:before {\n  background-position: 0px -1352px;\n}\ni.flag.cy:before,\ni.flag.cyprus:before {\n  background-position: 0px -1378px;\n}\ni.flag.cz:before,\ni.flag.czech.republic:before {\n  background-position: 0px -1404px;\n}\ni.flag.de:before,\ni.flag.germany:before {\n  background-position: 0px -1430px;\n}\ni.flag.dj:before,\ni.flag.djibouti:before {\n  background-position: 0px -1456px;\n}\ni.flag.dk:before,\ni.flag.denmark:before {\n  background-position: 0px -1482px;\n}\ni.flag.dm:before,\ni.flag.dominica:before {\n  background-position: 0px -1508px;\n}\ni.flag.do:before,\ni.flag.dominican.republic:before {\n  background-position: 0px -1534px;\n}\ni.flag.dz:before,\ni.flag.algeria:before {\n  background-position: 0px -1560px;\n}\ni.flag.ec:before,\ni.flag.ecuador:before {\n  background-position: 0px -1586px;\n}\ni.flag.ee:before,\ni.flag.estonia:before {\n  background-position: 0px -1612px;\n}\ni.flag.eg:before,\ni.flag.egypt:before {\n  background-position: 0px -1638px;\n}\ni.flag.eh:before,\ni.flag.western.sahara:before {\n  background-position: 0px -1664px;\n}\ni.flag.er:before,\ni.flag.eritrea:before {\n  background-position: 0px -1716px;\n}\ni.flag.es:before,\ni.flag.spain:before {\n  background-position: 0px -1742px;\n}\ni.flag.et:before,\ni.flag.ethiopia:before {\n  background-position: 0px -1768px;\n}\ni.flag.eu:before,\ni.flag.european.union:before {\n  background-position: 0px -1794px;\n}\ni.flag.fi:before,\ni.flag.finland:before {\n  background-position: 0px -1846px;\n}\ni.flag.fj:before,\ni.flag.fiji:before {\n  background-position: 0px -1872px;\n}\ni.flag.fk:before,\ni.flag.falkland.islands:before {\n  background-position: 0px -1898px;\n}\ni.flag.fm:before,\ni.flag.micronesia:before {\n  background-position: 0px -1924px;\n}\ni.flag.fo:before,\ni.flag.faroe.islands:before {\n  background-position: 0px -1950px;\n}\ni.flag.fr:before,\ni.flag.france:before {\n  background-position: 0px -1976px;\n}\ni.flag.ga:before,\ni.flag.gabon:before {\n  background-position: -36px 0px;\n}\ni.flag.gb:before,\ni.flag.united.kingdom:before {\n  background-position: -36px -26px;\n}\ni.flag.gd:before,\ni.flag.grenada:before {\n  background-position: -36px -52px;\n}\ni.flag.ge:before,\ni.flag.georgia:before {\n  background-position: -36px -78px;\n}\ni.flag.gf:before,\ni.flag.french.guiana:before {\n  background-position: -36px -104px;\n}\ni.flag.gh:before,\ni.flag.ghana:before {\n  background-position: -36px -130px;\n}\ni.flag.gi:before,\ni.flag.gibraltar:before {\n  background-position: -36px -156px;\n}\ni.flag.gl:before,\ni.flag.greenland:before {\n  background-position: -36px -182px;\n}\ni.flag.gm:before,\ni.flag.gambia:before {\n  background-position: -36px -208px;\n}\ni.flag.gn:before,\ni.flag.guinea:before {\n  background-position: -36px -234px;\n}\ni.flag.gp:before,\ni.flag.guadeloupe:before {\n  background-position: -36px -260px;\n}\ni.flag.gq:before,\ni.flag.equatorial.guinea:before {\n  background-position: -36px -286px;\n}\ni.flag.gr:before,\ni.flag.greece:before {\n  background-position: -36px -312px;\n}\ni.flag.gs:before,\ni.flag.sandwich.islands:before {\n  background-position: -36px -338px;\n}\ni.flag.gt:before,\ni.flag.guatemala:before {\n  background-position: -36px -364px;\n}\ni.flag.gu:before,\ni.flag.guam:before {\n  background-position: -36px -390px;\n}\ni.flag.gw:before,\ni.flag.guinea-bissau:before {\n  background-position: -36px -416px;\n}\ni.flag.gy:before,\ni.flag.guyana:before {\n  background-position: -36px -442px;\n}\ni.flag.hk:before,\ni.flag.hong.kong:before {\n  background-position: -36px -468px;\n}\ni.flag.hm:before,\ni.flag.heard.island:before {\n  background-position: -36px -494px;\n}\ni.flag.hn:before,\ni.flag.honduras:before {\n  background-position: -36px -520px;\n}\ni.flag.hr:before,\ni.flag.croatia:before {\n  background-position: -36px -546px;\n}\ni.flag.ht:before,\ni.flag.haiti:before {\n  background-position: -36px -572px;\n}\ni.flag.hu:before,\ni.flag.hungary:before {\n  background-position: -36px -598px;\n}\ni.flag.id:before,\ni.flag.indonesia:before {\n  background-position: -36px -624px;\n}\ni.flag.ie:before,\ni.flag.ireland:before {\n  background-position: -36px -650px;\n}\ni.flag.il:before,\ni.flag.israel:before {\n  background-position: -36px -676px;\n}\ni.flag.in:before,\ni.flag.india:before {\n  background-position: -36px -702px;\n}\ni.flag.io:before,\ni.flag.indian.ocean.territory:before {\n  background-position: -36px -728px;\n}\ni.flag.iq:before,\ni.flag.iraq:before {\n  background-position: -36px -754px;\n}\ni.flag.ir:before,\ni.flag.iran:before {\n  background-position: -36px -780px;\n}\ni.flag.is:before,\ni.flag.iceland:before {\n  background-position: -36px -806px;\n}\ni.flag.it:before,\ni.flag.italy:before {\n  background-position: -36px -832px;\n}\ni.flag.jm:before,\ni.flag.jamaica:before {\n  background-position: -36px -858px;\n}\ni.flag.jo:before,\ni.flag.jordan:before {\n  background-position: -36px -884px;\n}\ni.flag.jp:before,\ni.flag.japan:before {\n  background-position: -36px -910px;\n}\ni.flag.ke:before,\ni.flag.kenya:before {\n  background-position: -36px -936px;\n}\ni.flag.kg:before,\ni.flag.kyrgyzstan:before {\n  background-position: -36px -962px;\n}\ni.flag.kh:before,\ni.flag.cambodia:before {\n  background-position: -36px -988px;\n}\ni.flag.ki:before,\ni.flag.kiribati:before {\n  background-position: -36px -1014px;\n}\ni.flag.km:before,\ni.flag.comoros:before {\n  background-position: -36px -1040px;\n}\ni.flag.kn:before,\ni.flag.saint.kitts.and.nevis:before {\n  background-position: -36px -1066px;\n}\ni.flag.kp:before,\ni.flag.north.korea:before {\n  background-position: -36px -1092px;\n}\ni.flag.kr:before,\ni.flag.south.korea:before {\n  background-position: -36px -1118px;\n}\ni.flag.kw:before,\ni.flag.kuwait:before {\n  background-position: -36px -1144px;\n}\ni.flag.ky:before,\ni.flag.cayman.islands:before {\n  background-position: -36px -1170px;\n}\ni.flag.kz:before,\ni.flag.kazakhstan:before {\n  background-position: -36px -1196px;\n}\ni.flag.la:before,\ni.flag.laos:before {\n  background-position: -36px -1222px;\n}\ni.flag.lb:before,\ni.flag.lebanon:before {\n  background-position: -36px -1248px;\n}\ni.flag.lc:before,\ni.flag.saint.lucia:before {\n  background-position: -36px -1274px;\n}\ni.flag.li:before,\ni.flag.liechtenstein:before {\n  background-position: -36px -1300px;\n}\ni.flag.lk:before,\ni.flag.sri.lanka:before {\n  background-position: -36px -1326px;\n}\ni.flag.lr:before,\ni.flag.liberia:before {\n  background-position: -36px -1352px;\n}\ni.flag.ls:before,\ni.flag.lesotho:before {\n  background-position: -36px -1378px;\n}\ni.flag.lt:before,\ni.flag.lithuania:before {\n  background-position: -36px -1404px;\n}\ni.flag.lu:before,\ni.flag.luxembourg:before {\n  background-position: -36px -1430px;\n}\ni.flag.lv:before,\ni.flag.latvia:before {\n  background-position: -36px -1456px;\n}\ni.flag.ly:before,\ni.flag.libya:before {\n  background-position: -36px -1482px;\n}\ni.flag.ma:before,\ni.flag.morocco:before {\n  background-position: -36px -1508px;\n}\ni.flag.mc:before,\ni.flag.monaco:before {\n  background-position: -36px -1534px;\n}\ni.flag.md:before,\ni.flag.moldova:before {\n  background-position: -36px -1560px;\n}\ni.flag.me:before,\ni.flag.montenegro:before {\n  background-position: -36px -1586px;\n}\ni.flag.mg:before,\ni.flag.madagascar:before {\n  background-position: -36px -1613px;\n}\ni.flag.mh:before,\ni.flag.marshall.islands:before {\n  background-position: -36px -1639px;\n}\ni.flag.mk:before,\ni.flag.macedonia:before {\n  background-position: -36px -1665px;\n}\ni.flag.ml:before,\ni.flag.mali:before {\n  background-position: -36px -1691px;\n}\ni.flag.mm:before,\ni.flag.myanmar:before,\ni.flag.burma:before {\n  background-position: -36px -1717px;\n}\ni.flag.mn:before,\ni.flag.mongolia:before {\n  background-position: -36px -1743px;\n}\ni.flag.mo:before,\ni.flag.macau:before {\n  background-position: -36px -1769px;\n}\ni.flag.mp:before,\ni.flag.northern.mariana.islands:before {\n  background-position: -36px -1795px;\n}\ni.flag.mq:before,\ni.flag.martinique:before {\n  background-position: -36px -1821px;\n}\ni.flag.mr:before,\ni.flag.mauritania:before {\n  background-position: -36px -1847px;\n}\ni.flag.ms:before,\ni.flag.montserrat:before {\n  background-position: -36px -1873px;\n}\ni.flag.mt:before,\ni.flag.malta:before {\n  background-position: -36px -1899px;\n}\ni.flag.mu:before,\ni.flag.mauritius:before {\n  background-position: -36px -1925px;\n}\ni.flag.mv:before,\ni.flag.maldives:before {\n  background-position: -36px -1951px;\n}\ni.flag.mw:before,\ni.flag.malawi:before {\n  background-position: -36px -1977px;\n}\ni.flag.mx:before,\ni.flag.mexico:before {\n  background-position: -72px 0px;\n}\ni.flag.my:before,\ni.flag.malaysia:before {\n  background-position: -72px -26px;\n}\ni.flag.mz:before,\ni.flag.mozambique:before {\n  background-position: -72px -52px;\n}\ni.flag.na:before,\ni.flag.namibia:before {\n  background-position: -72px -78px;\n}\ni.flag.nc:before,\ni.flag.new.caledonia:before {\n  background-position: -72px -104px;\n}\ni.flag.ne:before,\ni.flag.niger:before {\n  background-position: -72px -130px;\n}\ni.flag.nf:before,\ni.flag.norfolk.island:before {\n  background-position: -72px -156px;\n}\ni.flag.ng:before,\ni.flag.nigeria:before {\n  background-position: -72px -182px;\n}\ni.flag.ni:before,\ni.flag.nicaragua:before {\n  background-position: -72px -208px;\n}\ni.flag.nl:before,\ni.flag.netherlands:before {\n  background-position: -72px -234px;\n}\ni.flag.no:before,\ni.flag.norway:before {\n  background-position: -72px -260px;\n}\ni.flag.np:before,\ni.flag.nepal:before {\n  background-position: -72px -286px;\n}\ni.flag.nr:before,\ni.flag.nauru:before {\n  background-position: -72px -312px;\n}\ni.flag.nu:before,\ni.flag.niue:before {\n  background-position: -72px -338px;\n}\ni.flag.nz:before,\ni.flag.new.zealand:before {\n  background-position: -72px -364px;\n}\ni.flag.om:before,\ni.flag.oman:before {\n  background-position: -72px -390px;\n}\ni.flag.pa:before,\ni.flag.panama:before {\n  background-position: -72px -416px;\n}\ni.flag.pe:before,\ni.flag.peru:before {\n  background-position: -72px -442px;\n}\ni.flag.pf:before,\ni.flag.french.polynesia:before {\n  background-position: -72px -468px;\n}\ni.flag.pg:before,\ni.flag.new.guinea:before {\n  background-position: -72px -494px;\n}\ni.flag.ph:before,\ni.flag.philippines:before {\n  background-position: -72px -520px;\n}\ni.flag.pk:before,\ni.flag.pakistan:before {\n  background-position: -72px -546px;\n}\ni.flag.pl:before,\ni.flag.poland:before {\n  background-position: -72px -572px;\n}\ni.flag.pm:before,\ni.flag.saint.pierre:before {\n  background-position: -72px -598px;\n}\ni.flag.pn:before,\ni.flag.pitcairn.islands:before {\n  background-position: -72px -624px;\n}\ni.flag.pr:before,\ni.flag.puerto.rico:before {\n  background-position: -72px -650px;\n}\ni.flag.ps:before,\ni.flag.palestine:before {\n  background-position: -72px -676px;\n}\ni.flag.pt:before,\ni.flag.portugal:before {\n  background-position: -72px -702px;\n}\ni.flag.pw:before,\ni.flag.palau:before {\n  background-position: -72px -728px;\n}\ni.flag.py:before,\ni.flag.paraguay:before {\n  background-position: -72px -754px;\n}\ni.flag.qa:before,\ni.flag.qatar:before {\n  background-position: -72px -780px;\n}\ni.flag.re:before,\ni.flag.reunion:before {\n  background-position: -72px -806px;\n}\ni.flag.ro:before,\ni.flag.romania:before {\n  background-position: -72px -832px;\n}\ni.flag.rs:before,\ni.flag.serbia:before {\n  background-position: -72px -858px;\n}\ni.flag.ru:before,\ni.flag.russia:before {\n  background-position: -72px -884px;\n}\ni.flag.rw:before,\ni.flag.rwanda:before {\n  background-position: -72px -910px;\n}\ni.flag.sa:before,\ni.flag.saudi.arabia:before {\n  background-position: -72px -936px;\n}\ni.flag.sb:before,\ni.flag.solomon.islands:before {\n  background-position: -72px -962px;\n}\ni.flag.sc:before,\ni.flag.seychelles:before {\n  background-position: -72px -988px;\n}\ni.flag.sd:before,\ni.flag.sudan:before {\n  background-position: -72px -1040px;\n}\ni.flag.se:before,\ni.flag.sweden:before {\n  background-position: -72px -1066px;\n}\ni.flag.sg:before,\ni.flag.singapore:before {\n  background-position: -72px -1092px;\n}\ni.flag.sh:before,\ni.flag.saint.helena:before {\n  background-position: -72px -1118px;\n}\ni.flag.si:before,\ni.flag.slovenia:before {\n  background-position: -72px -1144px;\n}\ni.flag.sj:before,\ni.flag.svalbard:before,\ni.flag.jan.mayen:before {\n  background-position: -72px -1170px;\n}\ni.flag.sk:before,\ni.flag.slovakia:before {\n  background-position: -72px -1196px;\n}\ni.flag.sl:before,\ni.flag.sierra.leone:before {\n  background-position: -72px -1222px;\n}\ni.flag.sm:before,\ni.flag.san.marino:before {\n  background-position: -72px -1248px;\n}\ni.flag.sn:before,\ni.flag.senegal:before {\n  background-position: -72px -1274px;\n}\ni.flag.so:before,\ni.flag.somalia:before {\n  background-position: -72px -1300px;\n}\ni.flag.sr:before,\ni.flag.suriname:before {\n  background-position: -72px -1326px;\n}\ni.flag.st:before,\ni.flag.sao.tome:before {\n  background-position: -72px -1352px;\n}\ni.flag.sv:before,\ni.flag.el.salvador:before {\n  background-position: -72px -1378px;\n}\ni.flag.sy:before,\ni.flag.syria:before {\n  background-position: -72px -1404px;\n}\ni.flag.sz:before,\ni.flag.swaziland:before {\n  background-position: -72px -1430px;\n}\ni.flag.tc:before,\ni.flag.caicos.islands:before {\n  background-position: -72px -1456px;\n}\ni.flag.td:before,\ni.flag.chad:before {\n  background-position: -72px -1482px;\n}\ni.flag.tf:before,\ni.flag.french.territories:before {\n  background-position: -72px -1508px;\n}\ni.flag.tg:before,\ni.flag.togo:before {\n  background-position: -72px -1534px;\n}\ni.flag.th:before,\ni.flag.thailand:before {\n  background-position: -72px -1560px;\n}\ni.flag.tj:before,\ni.flag.tajikistan:before {\n  background-position: -72px -1586px;\n}\ni.flag.tk:before,\ni.flag.tokelau:before {\n  background-position: -72px -1612px;\n}\ni.flag.tl:before,\ni.flag.timorleste:before {\n  background-position: -72px -1638px;\n}\ni.flag.tm:before,\ni.flag.turkmenistan:before {\n  background-position: -72px -1664px;\n}\ni.flag.tn:before,\ni.flag.tunisia:before {\n  background-position: -72px -1690px;\n}\ni.flag.to:before,\ni.flag.tonga:before {\n  background-position: -72px -1716px;\n}\ni.flag.tr:before,\ni.flag.turkey:before {\n  background-position: -72px -1742px;\n}\ni.flag.tt:before,\ni.flag.trinidad:before {\n  background-position: -72px -1768px;\n}\ni.flag.tv:before,\ni.flag.tuvalu:before {\n  background-position: -72px -1794px;\n}\ni.flag.tw:before,\ni.flag.taiwan:before {\n  background-position: -72px -1820px;\n}\ni.flag.tz:before,\ni.flag.tanzania:before {\n  background-position: -72px -1846px;\n}\ni.flag.ua:before,\ni.flag.ukraine:before {\n  background-position: -72px -1872px;\n}\ni.flag.ug:before,\ni.flag.uganda:before {\n  background-position: -72px -1898px;\n}\ni.flag.um:before,\ni.flag.us.minor.islands:before {\n  background-position: -72px -1924px;\n}\ni.flag.us:before,\ni.flag.america:before,\ni.flag.united.states:before {\n  background-position: -72px -1950px;\n}\ni.flag.uy:before,\ni.flag.uruguay:before {\n  background-position: -72px -1976px;\n}\ni.flag.uz:before,\ni.flag.uzbekistan:before {\n  background-position: -108px 0px;\n}\ni.flag.va:before,\ni.flag.vatican.city:before {\n  background-position: -108px -26px;\n}\ni.flag.vc:before,\ni.flag.saint.vincent:before {\n  background-position: -108px -52px;\n}\ni.flag.ve:before,\ni.flag.venezuela:before {\n  background-position: -108px -78px;\n}\ni.flag.vg:before,\ni.flag.british.virgin.islands:before {\n  background-position: -108px -104px;\n}\ni.flag.vi:before,\ni.flag.us.virgin.islands:before {\n  background-position: -108px -130px;\n}\ni.flag.vn:before,\ni.flag.vietnam:before {\n  background-position: -108px -156px;\n}\ni.flag.vu:before,\ni.flag.vanuatu:before {\n  background-position: -108px -182px;\n}\ni.flag.wf:before,\ni.flag.wallis.and.futuna:before {\n  background-position: -108px -234px;\n}\ni.flag.ws:before,\ni.flag.samoa:before {\n  background-position: -108px -260px;\n}\ni.flag.ye:before,\ni.flag.yemen:before {\n  background-position: -108px -286px;\n}\ni.flag.yt:before,\ni.flag.mayotte:before {\n  background-position: -108px -312px;\n}\ni.flag.za:before,\ni.flag.south.africa:before {\n  background-position: -108px -338px;\n}\ni.flag.zm:before,\ni.flag.zambia:before {\n  background-position: -108px -364px;\n}\ni.flag.zw:before,\ni.flag.zimbabwe:before {\n  background-position: -108px -390px;\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/form.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Form\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Elements\n*******************************/\n\n\n/*--------------------\n        Form\n---------------------*/\n\n.ui.form {\n  position: relative;\n  max-width: 100%;\n}\n\n/*--------------------\n        Content\n---------------------*/\n\n.ui.form > p {\n  margin: 1em 0em;\n}\n\n/*--------------------\n        Field\n---------------------*/\n\n.ui.form .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n.ui.form .field:last-child,\n.ui.form .fields:last-child .field {\n  margin-bottom: 0em;\n}\n.ui.form .fields .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n\n/*--------------------\n        Labels\n---------------------*/\n\n.ui.form .field > label {\n  display: block;\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n\n/*--------------------\n    Standard Inputs\n---------------------*/\n\n.ui.form textarea,\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  width: 100%;\n  vertical-align: top;\n}\n\n/* Set max height on unusual input */\n.ui.form ::-webkit-datetime-edit,\n.ui.form ::-webkit-inner-spin-button {\n  height: 1.2142em;\n}\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n          transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/* Text Area */\n.ui.form textarea {\n  margin: 0em;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: 0.78571429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  outline: none;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n          transition: color 0.1s ease, border-color 0.1s ease;\n  font-size: 1em;\n  line-height: 1.2857;\n  resize: vertical;\n}\n.ui.form textarea:not([rows]) {\n  height: 12em;\n  min-height: 8em;\n  max-height: 24em;\n}\n.ui.form textarea,\n.ui.form input[type=\"checkbox\"] {\n  vertical-align: top;\n}\n\n/*--------------------------\n  Input w/ attached Button\n---------------------------*/\n\n.ui.form input.attached {\n  width: auto;\n}\n\n/*--------------------\n     Basic Select\n---------------------*/\n\n.ui.form select {\n  display: block;\n  height: auto;\n  width: 100%;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  padding: 0.62em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n          transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/*--------------------\n       Dropdown\n---------------------*/\n\n\n/* Block */\n.ui.form .field > .selection.dropdown {\n  width: 100%;\n}\n.ui.form .field > .selection.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/* Inline */\n.ui.form .inline.fields .field > .selection.dropdown,\n.ui.form .inline.field > .selection.dropdown {\n  width: auto;\n}\n.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,\n.ui.form .inline.field > .selection.dropdown > .dropdown.icon {\n  float: none;\n}\n\n/*--------------------\n       UI Input\n---------------------*/\n\n\n/* Block */\n.ui.form .field .ui.input,\n.ui.form .fields .field .ui.input,\n.ui.form .wide.field .ui.input {\n  width: 100%;\n}\n\n/* Inline  */\n.ui.form .inline.fields .field:not(.wide) .ui.input,\n.ui.form .inline.field:not(.wide) .ui.input {\n  width: auto;\n  vertical-align: middle;\n}\n\n/* Auto Input */\n.ui.form .fields .field .ui.input input,\n.ui.form .field .ui.input input {\n  width: auto;\n}\n\n/* Full Width Input */\n.ui.form .ten.fields .ui.input input,\n.ui.form .nine.fields .ui.input input,\n.ui.form .eight.fields .ui.input input,\n.ui.form .seven.fields .ui.input input,\n.ui.form .six.fields .ui.input input,\n.ui.form .five.fields .ui.input input,\n.ui.form .four.fields .ui.input input,\n.ui.form .three.fields .ui.input input,\n.ui.form .two.fields .ui.input input,\n.ui.form .wide.field .ui.input input {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  width: 0px;\n}\n\n/*--------------------\n   Types of Messages\n---------------------*/\n\n.ui.form .success.message,\n.ui.form .warning.message,\n.ui.form .error.message {\n  display: none;\n}\n\n/* Assumptions */\n.ui.form .message:first-child {\n  margin-top: 0px;\n}\n\n/*--------------------\n   Validation Prompt\n---------------------*/\n\n.ui.form .field .prompt.label {\n  white-space: normal;\n  background: #FFFFFF !important;\n  border: 1px solid #E0B4B4 !important;\n  color: #9F3A38 !important;\n}\n.ui.form .inline.fields .field .prompt,\n.ui.form .inline.field .prompt {\n  vertical-align: top;\n  margin: -0.25em 0em -0.5em 0.5em;\n}\n.ui.form .inline.fields .field .prompt:before,\n.ui.form .inline.field .prompt:before {\n  border-width: 0px 0px 1px 1px;\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n      Autofilled\n---------------------*/\n\n.ui.form .field.field input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #E5DFA1 !important;\n}\n\n/* Focus */\n.ui.form .field.field input:-webkit-autofill:focus {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #D5C315 !important;\n}\n\n/* Error */\n.ui.form .error.error input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important;\n  border-color: #E0B4B4 !important;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n\n/* browsers require these rules separate */\n.ui.form ::-webkit-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n.ui.form ::-ms-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n.ui.form ::-moz-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n.ui.form :focus::-webkit-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n.ui.form :focus::-ms-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n.ui.form :focus::-moz-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n/* Error Placeholder */\n.ui.form .error ::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n.ui.form .error ::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n.ui.form .error ::-moz-placeholder {\n  color: #e7bdbc;\n}\n.ui.form .error :focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n.ui.form .error :focus::-ms-input-placeholder {\n  color: #da9796;\n}\n.ui.form .error :focus::-moz-placeholder {\n  color: #da9796;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.form input:not([type]):focus,\n.ui.form input[type=\"date\"]:focus,\n.ui.form input[type=\"datetime-local\"]:focus,\n.ui.form input[type=\"email\"]:focus,\n.ui.form input[type=\"number\"]:focus,\n.ui.form input[type=\"password\"]:focus,\n.ui.form input[type=\"search\"]:focus,\n.ui.form input[type=\"tel\"]:focus,\n.ui.form input[type=\"time\"]:focus,\n.ui.form input[type=\"text\"]:focus,\n.ui.form input[type=\"url\"]:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n}\n.ui.form textarea:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n  -webkit-appearance: none;\n}\n\n/*--------------------\n        Success\n---------------------*/\n\n\n/* On Form */\n.ui.form.success .success.message:not(:empty) {\n  display: block;\n}\n.ui.form.success .icon.success.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Warning\n---------------------*/\n\n\n/* On Form */\n.ui.form.warning .warning.message:not(:empty) {\n  display: block;\n}\n.ui.form.warning .icon.warning.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n\n/* On Form */\n.ui.form.error .error.message:not(:empty) {\n  display: block;\n}\n.ui.form.error .icon.error.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/* On Field(s) */\n.ui.form .fields.error .field label,\n.ui.form .field.error label,\n.ui.form .fields.error .field .input,\n.ui.form .field.error .input {\n  color: #9F3A38;\n}\n.ui.form .fields.error .field .corner.label,\n.ui.form .field.error .corner.label {\n  border-color: #9F3A38;\n  color: #FFFFFF;\n}\n.ui.form .fields.error .field textarea,\n.ui.form .fields.error .field select,\n.ui.form .fields.error .field input:not([type]),\n.ui.form .fields.error .field input[type=\"date\"],\n.ui.form .fields.error .field input[type=\"datetime-local\"],\n.ui.form .fields.error .field input[type=\"email\"],\n.ui.form .fields.error .field input[type=\"number\"],\n.ui.form .fields.error .field input[type=\"password\"],\n.ui.form .fields.error .field input[type=\"search\"],\n.ui.form .fields.error .field input[type=\"tel\"],\n.ui.form .fields.error .field input[type=\"time\"],\n.ui.form .fields.error .field input[type=\"text\"],\n.ui.form .fields.error .field input[type=\"url\"],\n.ui.form .field.error textarea,\n.ui.form .field.error select,\n.ui.form .field.error input:not([type]),\n.ui.form .field.error input[type=\"date\"],\n.ui.form .field.error input[type=\"datetime-local\"],\n.ui.form .field.error input[type=\"email\"],\n.ui.form .field.error input[type=\"number\"],\n.ui.form .field.error input[type=\"password\"],\n.ui.form .field.error input[type=\"search\"],\n.ui.form .field.error input[type=\"tel\"],\n.ui.form .field.error input[type=\"time\"],\n.ui.form .field.error input[type=\"text\"],\n.ui.form .field.error input[type=\"url\"] {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  border-radius: '';\n  box-shadow: none;\n}\n.ui.form .field.error textarea:focus,\n.ui.form .field.error select:focus,\n.ui.form .field.error input:not([type]):focus,\n.ui.form .field.error input[type=\"date\"]:focus,\n.ui.form .field.error input[type=\"datetime-local\"]:focus,\n.ui.form .field.error input[type=\"email\"]:focus,\n.ui.form .field.error input[type=\"number\"]:focus,\n.ui.form .field.error input[type=\"password\"]:focus,\n.ui.form .field.error input[type=\"search\"]:focus,\n.ui.form .field.error input[type=\"tel\"]:focus,\n.ui.form .field.error input[type=\"time\"]:focus,\n.ui.form .field.error input[type=\"text\"]:focus,\n.ui.form .field.error input[type=\"url\"]:focus {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  -webkit-appearance: none;\n  box-shadow: none;\n}\n\n/* Preserve Native Select Stylings */\n.ui.form .field.error select {\n  -webkit-appearance: menulist-button;\n}\n\n/*------------------\n    Dropdown Error\n--------------------*/\n\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .fields.error .field .ui.dropdown .item,\n.ui.form .field.error .ui.dropdown,\n.ui.form .field.error .ui.dropdown .text,\n.ui.form .field.error .ui.dropdown .item {\n  background: #FFF6F6;\n  color: #9F3A38;\n}\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .field.error .ui.dropdown {\n  border-color: #E0B4B4 !important;\n}\n.ui.form .fields.error .field .ui.dropdown:hover,\n.ui.form .field.error .ui.dropdown:hover {\n  border-color: #E0B4B4 !important;\n}\n.ui.form .fields.error .field .ui.dropdown:hover .menu,\n.ui.form .field.error .ui.dropdown:hover .menu {\n  border-color: #E0B4B4;\n}\n.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,\n.ui.form .field.error .ui.multiple.selection.dropdown > .label {\n  background-color: #EACBCB;\n  color: #9F3A38;\n}\n\n/* Hover */\n.ui.form .fields.error .field .ui.dropdown .menu .item:hover,\n.ui.form .field.error .ui.dropdown .menu .item:hover {\n  background-color: #FBE7E7;\n}\n\n/* Selected */\n.ui.form .fields.error .field .ui.dropdown .menu .selected.item,\n.ui.form .field.error .ui.dropdown .menu .selected.item {\n  background-color: #FBE7E7;\n}\n\n/* Active */\n.ui.form .fields.error .field .ui.dropdown .menu .active.item,\n.ui.form .field.error .ui.dropdown .menu .active.item {\n  background-color: #FDCFCF !important;\n}\n\n/*--------------------\n    Checkbox Error\n---------------------*/\n\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {\n  color: #9F3A38;\n}\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n.ui.form .fields.error .field .checkbox label:after,\n.ui.form .field.error .checkbox label:after,\n.ui.form .fields.error .field .checkbox .box:after,\n.ui.form .field.error .checkbox .box:after {\n  color: #9F3A38;\n}\n\n/*--------------------\n       Disabled\n---------------------*/\n\n.ui.form .disabled.fields .field,\n.ui.form .disabled.field,\n.ui.form .field :disabled {\n  pointer-events: none;\n  opacity: 0.45;\n}\n.ui.form .field.disabled label {\n  opacity: 0.45;\n}\n.ui.form .field.disabled :disabled {\n  opacity: 1;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.form {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n          transition: all 0s linear;\n  z-index: 100;\n}\n.ui.loading.form:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  z-index: 100;\n}\n.ui.loading.form:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: form-spin 0.6s linear;\n          animation: form-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n@-webkit-keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n\n/*******************************\n         Element Types\n*******************************/\n\n\n/*--------------------\n     Required Field\n---------------------*/\n\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after,\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  margin: -0.2em 0em 0em 0.2em;\n  content: '*';\n  color: #DB2828;\n}\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after {\n  display: inline-block;\n  vertical-align: top;\n}\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  position: absolute;\n  top: 0%;\n  left: 100%;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------------\n    Inverted Colors\n---------------------*/\n\n.ui.inverted.form label,\n.ui.form .inverted.segment label,\n.ui.form .inverted.segment .ui.checkbox label,\n.ui.form .inverted.segment .ui.checkbox .box,\n.ui.inverted.form .ui.checkbox label,\n.ui.inverted.form .ui.checkbox .box {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Inverted Field */\n.ui.inverted.form input:not([type]),\n.ui.inverted.form input[type=\"date\"],\n.ui.inverted.form input[type=\"datetime-local\"],\n.ui.inverted.form input[type=\"email\"],\n.ui.inverted.form input[type=\"number\"],\n.ui.inverted.form input[type=\"password\"],\n.ui.inverted.form input[type=\"search\"],\n.ui.inverted.form input[type=\"tel\"],\n.ui.inverted.form input[type=\"time\"],\n.ui.inverted.form input[type=\"text\"],\n.ui.inverted.form input[type=\"url\"] {\n  background: #FFFFFF;\n  border-color: rgba(255, 255, 255, 0.1);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n     Field Groups\n---------------------*/\n\n\n/* Grouped Vertically */\n.ui.form .grouped.fields {\n  display: block;\n  margin: 0em 0em 1em;\n}\n.ui.form .grouped.fields:last-child {\n  margin-bottom: 0em;\n}\n.ui.form .grouped.fields > label {\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n.ui.form .grouped.fields .field,\n.ui.form .grouped.inline.fields .field {\n  display: block;\n  margin: 0.5em 0em;\n  padding: 0em;\n}\n\n/*--------------------\n        Fields\n---------------------*/\n\n\n/* Split fields */\n.ui.form .fields {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n}\n.ui.form .fields > .field {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n.ui.form .fields > .field:first-child {\n  border-left: none;\n  box-shadow: none;\n}\n\n/* Other Combinations */\n.ui.form .two.fields > .fields,\n.ui.form .two.fields > .field {\n  width: 50%;\n}\n.ui.form .three.fields > .fields,\n.ui.form .three.fields > .field {\n  width: 33.33333333%;\n}\n.ui.form .four.fields > .fields,\n.ui.form .four.fields > .field {\n  width: 25%;\n}\n.ui.form .five.fields > .fields,\n.ui.form .five.fields > .field {\n  width: 20%;\n}\n.ui.form .six.fields > .fields,\n.ui.form .six.fields > .field {\n  width: 16.66666667%;\n}\n.ui.form .seven.fields > .fields,\n.ui.form .seven.fields > .field {\n  width: 14.28571429%;\n}\n.ui.form .eight.fields > .fields,\n.ui.form .eight.fields > .field {\n  width: 12.5%;\n}\n.ui.form .nine.fields > .fields,\n.ui.form .nine.fields > .field {\n  width: 11.11111111%;\n}\n.ui.form .ten.fields > .fields,\n.ui.form .ten.fields > .field {\n  width: 10%;\n}\n\n/* Swap to full width on mobile */\n@media only screen and (max-width: 767px) {\n  .ui.form .fields {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap;\n  }\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .six.fields > .fields,\n  .ui.form .six.fields > .field,\n  .ui.form .seven.fields > .fields,\n  .ui.form .seven.fields > .field,\n  .ui.form .eight.fields > .fields,\n  .ui.form .eight.fields > .field,\n  .ui.form .nine.fields > .fields,\n  .ui.form .nine.fields > .field,\n  .ui.form .ten.fields > .fields,\n  .ui.form .ten.fields > .field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n.ui.form .fields .field:first-child {\n  padding-left: 0%;\n}\n.ui.form .fields .field:last-child {\n  padding-right: 0%;\n}\n\n/* Sizing Combinations */\n.ui.form .fields .wide.field {\n  width: 6.25%;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n.ui.form .fields .wide.field:first-child {\n  padding-left: 0%;\n}\n.ui.form .fields .wide.field:last-child {\n  padding-right: 0%;\n}\n.ui.form .one.wide.field {\n  width: 6.25% !important;\n}\n.ui.form .two.wide.field {\n  width: 12.5% !important;\n}\n.ui.form .three.wide.field {\n  width: 18.75% !important;\n}\n.ui.form .four.wide.field {\n  width: 25% !important;\n}\n.ui.form .five.wide.field {\n  width: 31.25% !important;\n}\n.ui.form .six.wide.field {\n  width: 37.5% !important;\n}\n.ui.form .seven.wide.field {\n  width: 43.75% !important;\n}\n.ui.form .eight.wide.field {\n  width: 50% !important;\n}\n.ui.form .nine.wide.field {\n  width: 56.25% !important;\n}\n.ui.form .ten.wide.field {\n  width: 62.5% !important;\n}\n.ui.form .eleven.wide.field {\n  width: 68.75% !important;\n}\n.ui.form .twelve.wide.field {\n  width: 75% !important;\n}\n.ui.form .thirteen.wide.field {\n  width: 81.25% !important;\n}\n.ui.form .fourteen.wide.field {\n  width: 87.5% !important;\n}\n.ui.form .fifteen.wide.field {\n  width: 93.75% !important;\n}\n.ui.form .sixteen.wide.field {\n  width: 100% !important;\n}\n\n/* Swap to full width on mobile */\n@media only screen and (max-width: 767px) {\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .fields > .two.wide.field,\n  .ui.form .fields > .three.wide.field,\n  .ui.form .fields > .four.wide.field,\n  .ui.form .fields > .five.wide.field,\n  .ui.form .fields > .six.wide.field,\n  .ui.form .fields > .seven.wide.field,\n  .ui.form .fields > .eight.wide.field,\n  .ui.form .fields > .nine.wide.field,\n  .ui.form .fields > .ten.wide.field,\n  .ui.form .fields > .eleven.wide.field,\n  .ui.form .fields > .twelve.wide.field,\n  .ui.form .fields > .thirteen.wide.field,\n  .ui.form .fields > .fourteen.wide.field,\n  .ui.form .fields > .fifteen.wide.field,\n  .ui.form .fields > .sixteen.wide.field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n\n/*--------------------\n     Equal Width\n---------------------*/\n\n.ui[class*=\"equal width\"].form .fields > .field,\n.ui.form [class*=\"equal width\"].fields > .field {\n  width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n}\n\n/*--------------------\n    Inline Fields\n---------------------*/\n\n.ui.form .inline.fields {\n  margin: 0em 0em 1em;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.form .inline.fields .field {\n  margin: 0em;\n  padding: 0em 1em 0em 0em;\n}\n\n/* Inline Label */\n.ui.form .inline.fields > label,\n.ui.form .inline.fields .field > label,\n.ui.form .inline.fields .field > p,\n.ui.form .inline.field > label,\n.ui.form .inline.field > p {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: baseline;\n  font-size: 0.92857143em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: none;\n}\n\n/* Grouped Inline Label */\n.ui.form .inline.fields > label {\n  margin: 0.035714em 1em 0em 0em;\n}\n\n/* Inline Input */\n.ui.form .inline.fields .field > input,\n.ui.form .inline.fields .field > select,\n.ui.form .inline.field > input,\n.ui.form .inline.field > select {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: middle;\n  font-size: 1em;\n}\n\n/* Label */\n.ui.form .inline.fields .field > :first-child,\n.ui.form .inline.field > :first-child {\n  margin: 0em 0.85714286em 0em 0em;\n}\n.ui.form .inline.fields .field > :only-child,\n.ui.form .inline.field > :only-child {\n  margin: 0em;\n}\n\n/* Wide */\n.ui.form .inline.fields .wide.field {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.form .inline.fields .wide.field > input,\n.ui.form .inline.fields .wide.field > select {\n  width: 100%;\n}\n\n/*--------------------\n        Sizes\n---------------------*/\n\n\n/* Standard */\n.ui.small.form {\n  font-size: 0.92857143rem;\n}\n\n/* Medium */\n.ui.form {\n  font-size: 1rem;\n}\n\n/* Large */\n.ui.large.form {\n  font-size: 1.14285714rem;\n}\n\n/* Huge */\n.ui.huge.form {\n  font-size: 1.42857143rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/form.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Form Validation\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.form = function(parameters) {\n  var\n    $allModules      = $(this),\n    moduleSelector   = $allModules.selector || '',\n\n    time             = new Date().getTime(),\n    performance      = [],\n\n    query            = arguments[0],\n    legacyParameters = arguments[1],\n    methodInvoked    = (typeof query == 'string'),\n    queryArguments   = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        $module     = $(this),\n        element     = this,\n\n        formErrors  = [],\n        keyHeldDown = false,\n\n        // set at run-time\n        $field,\n        $group,\n        $message,\n        $prompt,\n        $submit,\n        $clear,\n        $reset,\n\n        settings,\n        validation,\n\n        metadata,\n        selector,\n        className,\n        error,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n\n        instance,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          // settings grabbed at run time\n          module.get.settings();\n          if(methodInvoked) {\n            if(instance === undefined) {\n              module.instantiate();\n            }\n            module.invoke(query);\n          }\n          else {\n            module.verbose('Initializing form validation', $module, settings);\n            module.bindEvents();\n            module.set.defaults();\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          module.removeEvents();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $field      = $module.find(selector.field);\n          $group      = $module.find(selector.group);\n          $message    = $module.find(selector.message);\n          $prompt     = $module.find(selector.prompt);\n\n          $submit     = $module.find(selector.submit);\n          $clear      = $module.find(selector.clear);\n          $reset      = $module.find(selector.reset);\n        },\n\n        submit: function() {\n          module.verbose('Submitting form', $module);\n          $module\n            .submit()\n          ;\n        },\n\n        attachEvents: function(selector, action) {\n          action = action || 'submit';\n          $(selector)\n            .on('click' + eventNamespace, function(event) {\n              module[action]();\n              event.preventDefault();\n            })\n          ;\n        },\n\n        bindEvents: function() {\n          module.verbose('Attaching form events');\n          $module\n            .on('submit' + eventNamespace, module.validate.form)\n            .on('blur'   + eventNamespace, selector.field, module.event.field.blur)\n            .on('click'  + eventNamespace, selector.submit, module.submit)\n            .on('click'  + eventNamespace, selector.reset, module.reset)\n            .on('click'  + eventNamespace, selector.clear, module.clear)\n          ;\n          if(settings.keyboardShortcuts) {\n            $module\n              .on('keydown' + eventNamespace, selector.field, module.event.field.keydown)\n            ;\n          }\n          $field\n            .each(function() {\n              var\n                $input     = $(this),\n                type       = $input.prop('type'),\n                inputEvent = module.get.changeEvent(type, $input)\n              ;\n              $(this)\n                .on(inputEvent + eventNamespace, module.event.field.change)\n              ;\n            })\n          ;\n        },\n\n        clear: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue) || '',\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('clear');\n              }\n              else if(isCheckbox) {\n                $field.prop('checked', false);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val('');\n              }\n            })\n          ;\n        },\n\n        reset: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue),\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(defaultValue === undefined) {\n                return;\n              }\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('restore defaults');\n              }\n              else if(isCheckbox) {\n                module.verbose('Resetting checkbox value', $element, defaultValue);\n                $field.prop('checked', defaultValue);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val(defaultValue);\n              }\n            })\n          ;\n        },\n\n        is: {\n          bracketedRule: function(rule) {\n            return (rule.type && rule.type.match(settings.regExp.bracket));\n          },\n          valid: function() {\n            var\n              allValid = true\n            ;\n            module.verbose('Checking if form is valid');\n            $.each(validation, function(fieldName, field) {\n              if( !( module.validate.field(field, fieldName) ) ) {\n                allValid = false;\n              }\n            });\n            return allValid;\n          }\n        },\n\n        removeEvents: function() {\n          $module\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n          $submit\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n        },\n\n        event: {\n          field: {\n            keydown: function(event) {\n              var\n                $field  = $(this),\n                key     = event.which,\n                keyCode = {\n                  enter  : 13,\n                  escape : 27\n                }\n              ;\n              if( key == keyCode.escape) {\n                module.verbose('Escape key pressed blurring field');\n                $field\n                  .blur()\n                ;\n              }\n              if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).length > 0 ) {\n                if(!keyHeldDown) {\n                  $field\n                    .one('keyup' + eventNamespace, module.event.field.keyup)\n                  ;\n                  module.submit();\n                  module.debug('Enter pressed on input submitting form');\n                }\n                keyHeldDown = true;\n              }\n            },\n            keyup: function() {\n              keyHeldDown = false;\n            },\n            blur: function(event) {\n              var\n                $field          = $(this),\n                $fieldGroup     = $field.closest($group),\n                validationRules = module.get.validation($field)\n              ;\n              if( $fieldGroup.hasClass(className.error) ) {\n                module.debug('Revalidating field', $field, validationRules);\n                module.validate.form.call(module, event, true);\n              }\n              else if(settings.on == 'blur' || settings.on == 'change') {\n                if(validationRules) {\n                  module.validate.field( validationRules );\n                }\n              }\n            },\n            change: function(event) {\n              var\n                $field      = $(this),\n                $fieldGroup = $field.closest($group)\n              ;\n              if(settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) ) {\n                clearTimeout(module.timer);\n                module.timer = setTimeout(function() {\n                  module.debug('Revalidating field', $field,  module.get.validation($field));\n                  module.validate.form.call(module, event, true);\n                }, settings.delay);\n              }\n            }\n          }\n\n        },\n\n        get: {\n          ancillaryValue: function(rule) {\n            if(!rule.type || !module.is.bracketedRule(rule)) {\n              return false;\n            }\n            return rule.type.match(settings.regExp.bracket)[1] + '';\n          },\n          ruleName: function(rule) {\n            if( module.is.bracketedRule(rule) ) {\n              return rule.type.replace(rule.type.match(settings.regExp.bracket)[0], '');\n            }\n            return rule.type;\n          },\n          changeEvent: function(type, $input) {\n            if(type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {\n              return 'change';\n            }\n            else {\n              return module.get.inputEvent();\n            }\n          },\n          inputEvent: function() {\n            return (document.createElement('input').oninput !== undefined)\n              ? 'input'\n              : (document.createElement('input').onpropertychange !== undefined)\n                ? 'propertychange'\n                : 'keyup'\n            ;\n          },\n          prompt: function(rule, field) {\n            var\n              ruleName      = module.get.ruleName(rule),\n              ancillary     = module.get.ancillaryValue(rule),\n              prompt        = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,\n              requiresValue = (prompt.search('{value}') !== -1),\n              requiresName  = (prompt.search('{name}') !== -1),\n              $label,\n              $field,\n              name\n            ;\n            if(requiresName || requiresValue) {\n              $field = module.get.field(field.identifier);\n            }\n            if(requiresValue) {\n              prompt = prompt.replace('{value}', $field.val());\n            }\n            if(requiresName) {\n              $label = $field.closest(selector.group).find('label').eq(0);\n              name = ($label.size() == 1)\n                ? $label.text()\n                : $field.prop('placeholder') || settings.text.unspecifiedField\n              ;\n              prompt = prompt.replace('{name}', name);\n            }\n            prompt = prompt.replace('{identifier}', field.identifier);\n            prompt = prompt.replace('{ruleValue}', ancillary);\n            if(!rule.prompt) {\n              module.verbose('Using default validation prompt for type', prompt, ruleName);\n            }\n            return prompt;\n          },\n          settings: function() {\n            if($.isPlainObject(parameters)) {\n              var\n                keys     = Object.keys(parameters),\n                isLegacySettings = (keys.length > 0)\n                  ? (parameters[keys[0]].identifier !== undefined && parameters[keys[0]].rules !== undefined)\n                  : false,\n                ruleKeys\n              ;\n              if(isLegacySettings) {\n                // 1.x (ducktyped)\n                settings   = $.extend(true, {}, $.fn.form.settings, legacyParameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, parameters);\n                module.error(settings.error.oldSyntax, element);\n                module.verbose('Extending settings from legacy parameters', validation, settings);\n              }\n              else {\n                // 2.x\n                if(parameters.fields) {\n                  ruleKeys = Object.keys(parameters.fields);\n                  if( typeof parameters.fields[ruleKeys[0]] == 'string' || $.isArray(parameters.fields[ruleKeys[0]]) ) {\n                    $.each(parameters.fields, function(name, rules) {\n                      if(typeof rules == 'string') {\n                        rules = [rules];\n                      }\n                      parameters.fields[name] = {\n                        rules: []\n                      };\n                      $.each(rules, function(index, rule) {\n                        parameters.fields[name].rules.push({ type: rule });\n                      });\n                    });\n                  }\n                }\n\n                settings   = $.extend(true, {}, $.fn.form.settings, parameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, settings.fields);\n                module.verbose('Extending settings', validation, settings);\n              }\n            }\n            else {\n              settings   = $.fn.form.settings;\n              validation = $.fn.form.settings.defaults;\n              module.verbose('Using default form validation', validation, settings);\n            }\n\n            // shorthand\n            namespace       = settings.namespace;\n            metadata        = settings.metadata;\n            selector        = settings.selector;\n            className       = settings.className;\n            error           = settings.error;\n            moduleNamespace = 'module-' + namespace;\n            eventNamespace  = '.' + namespace;\n\n            // grab instance\n            instance = $module.data(moduleNamespace);\n\n            // refresh selector cache\n            module.refresh();\n          },\n          field: function(identifier) {\n            module.verbose('Finding field with identifier', identifier);\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return $field.filter('#' + identifier);\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'\"]');\n            }\n            else if( $field.filter('[name=\"' + identifier +'[]\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'[]\"]');\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]');\n            }\n            return $('<input/>');\n          },\n          fields: function(fields) {\n            var\n              $fields = $()\n            ;\n            $.each(fields, function(index, name) {\n              $fields = $fields.add( module.get.field(name) );\n            });\n            return $fields;\n          },\n          validation: function($field) {\n            var\n              fieldValidation,\n              identifier\n            ;\n            if(!validation) {\n              return false;\n            }\n            $.each(validation, function(fieldName, field) {\n              identifier = field.identifier || fieldName;\n              if( module.get.field(identifier)[0] == $field[0] ) {\n                field.identifier = identifier;\n                fieldValidation = field;\n              }\n            });\n            return fieldValidation || false;\n          },\n          value: function (field) {\n            var\n              fields = [],\n              results\n            ;\n            fields.push(field);\n            results = module.get.values.call(element, fields);\n            return results[field];\n          },\n          values: function (fields) {\n            var\n              $fields = $.isArray(fields)\n                ? module.get.fields(fields)\n                : $field,\n              values = {}\n            ;\n            $fields.each(function(index, field) {\n              var\n                $field     = $(field),\n                type       = $field.prop('type'),\n                name       = $field.prop('name'),\n                value      = $field.val(),\n                isCheckbox = $field.is(selector.checkbox),\n                isRadio    = $field.is(selector.radio),\n                isMultiple = (name.indexOf('[]') !== -1),\n                isChecked  = (isCheckbox)\n                  ? $field.is(':checked')\n                  : false\n              ;\n              if(name) {\n                if(isMultiple) {\n                  name = name.replace('[]', '');\n                  if(!values[name]) {\n                    values[name] = [];\n                  }\n                  if(isCheckbox) {\n                    if(isChecked) {\n                      values[name].push(value || true);\n                    }\n                    else {\n                      values[name].push(false);\n                    }\n                  }\n                  else {\n                    values[name].push(value);\n                  }\n                }\n                else {\n                  if(isRadio) {\n                    if(isChecked) {\n                      values[name] = value;\n                    }\n                  }\n                  else if(isCheckbox) {\n                    if(isChecked) {\n                      values[name] = value || true;\n                    }\n                    else {\n                      values[name] = false;\n                    }\n                  }\n                  else {\n                    values[name] = value;\n                  }\n                }\n              }\n            });\n            return values;\n          }\n        },\n\n        has: {\n\n          field: function(identifier) {\n            module.verbose('Checking for existence of a field with identifier', identifier);\n            if(typeof identifier !== 'string') {\n              module.error(error.identifier, identifier);\n            }\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            return false;\n          }\n\n        },\n\n        add: {\n          prompt: function(identifier, errors) {\n            var\n              $field       = module.get.field(identifier),\n              $fieldGroup  = $field.closest($group),\n              $prompt      = $fieldGroup.children(selector.prompt),\n              promptExists = ($prompt.length !== 0)\n            ;\n            errors = (typeof errors == 'string')\n              ? [errors]\n              : errors\n            ;\n            module.verbose('Adding field error state', identifier);\n            $fieldGroup\n              .addClass(className.error)\n            ;\n            if(settings.inline) {\n              if(!promptExists) {\n                $prompt = settings.templates.prompt(errors);\n                $prompt\n                  .appendTo($fieldGroup)\n                ;\n              }\n              $prompt\n                .html(errors[0])\n              ;\n              if(!promptExists) {\n                if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                  module.verbose('Displaying error with css transition', settings.transition);\n                  $prompt.transition(settings.transition + ' in', settings.duration);\n                }\n                else {\n                  module.verbose('Displaying error with fallback javascript animation');\n                  $prompt\n                    .fadeIn(settings.duration)\n                  ;\n                }\n              }\n              else {\n                module.verbose('Inline errors are disabled, no inline error added', identifier);\n              }\n            }\n          },\n          errors: function(errors) {\n            module.debug('Adding form error messages', errors);\n            module.set.error();\n            $message\n              .html( settings.templates.error(errors) )\n            ;\n          }\n        },\n\n        remove: {\n          prompt: function(identifier) {\n            var\n              $field      = module.get.field(identifier),\n              $fieldGroup = $field.closest($group),\n              $prompt     = $fieldGroup.children(selector.prompt)\n            ;\n            $fieldGroup\n              .removeClass(className.error)\n            ;\n            if(settings.inline && $prompt.is(':visible')) {\n              module.verbose('Removing prompt for field', identifier);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                $prompt.transition(settings.transition + ' out', settings.duration, function() {\n                  $prompt.remove();\n                });\n              }\n              else {\n                $prompt\n                  .fadeOut(settings.duration, function(){\n                    $prompt.remove();\n                  })\n                ;\n              }\n            }\n          }\n        },\n\n        set: {\n          success: function() {\n            $module\n              .removeClass(className.error)\n              .addClass(className.success)\n            ;\n          },\n          defaults: function () {\n            $field\n              .each(function () {\n                var\n                  $field     = $(this),\n                  isCheckbox = ($field.filter(selector.checkbox).length > 0),\n                  value      = (isCheckbox)\n                    ? $field.is(':checked')\n                    : $field.val()\n                ;\n                $field.data(metadata.defaultValue, value);\n              })\n            ;\n          },\n          error: function() {\n            $module\n              .removeClass(className.success)\n              .addClass(className.error)\n            ;\n          },\n          value: function (field, value) {\n            var\n              fields = {}\n            ;\n            fields[field] = value;\n            return module.set.values.call(element, fields);\n          },\n          values: function (fields) {\n            if($.isEmptyObject(fields)) {\n              return;\n            }\n            $.each(fields, function(key, value) {\n              var\n                $field      = module.get.field(key),\n                $element    = $field.parent(),\n                isMultiple  = $.isArray(value),\n                isCheckbox  = $element.is(selector.uiCheckbox),\n                isDropdown  = $element.is(selector.uiDropdown),\n                isRadio     = ($field.is(selector.radio) && isCheckbox),\n                fieldExists = ($field.length > 0),\n                $multipleField\n              ;\n              if(fieldExists) {\n                if(isMultiple && isCheckbox) {\n                  module.verbose('Selecting multiple', value, $field);\n                  $element.checkbox('uncheck');\n                  $.each(value, function(index, value) {\n                    $multipleField = $field.filter('[value=\"' + value + '\"]');\n                    $element       = $multipleField.parent();\n                    if($multipleField.length > 0) {\n                      $element.checkbox('check');\n                    }\n                  });\n                }\n                else if(isRadio) {\n                  module.verbose('Selecting radio value', value, $field);\n                  $field.filter('[value=\"' + value + '\"]')\n                    .parent(selector.uiCheckbox)\n                      .checkbox('check')\n                  ;\n                }\n                else if(isCheckbox) {\n                  module.verbose('Setting checkbox value', value, $element);\n                  if(value === true) {\n                    $element.checkbox('check');\n                  }\n                  else {\n                    $element.checkbox('uncheck');\n                  }\n                }\n                else if(isDropdown) {\n                  module.verbose('Setting dropdown value', value, $element);\n                  $element.dropdown('set selected', value);\n                }\n                else {\n                  module.verbose('Setting field value', value, $field);\n                  $field.val(value);\n                }\n              }\n            });\n          }\n        },\n\n        validate: {\n\n          form: function(event, ignoreCallbacks) {\n            var\n              values = module.get.values(),\n              apiRequest\n            ;\n\n            // input keydown event will fire submit repeatedly by browser default\n            if(keyHeldDown) {\n              return false;\n            }\n\n            // reset errors\n            formErrors = [];\n            if( module.is.valid() ) {\n              module.debug('Form has no validation errors, submitting');\n              module.set.success();\n              if(ignoreCallbacks !== true) {\n                return settings.onSuccess.call(element, event, values);\n              }\n            }\n            else {\n              module.debug('Form has errors');\n              module.set.error();\n              if(!settings.inline) {\n                module.add.errors(formErrors);\n              }\n              // prevent ajax submit\n              if($module.data('moduleApi') !== undefined) {\n                event.stopImmediatePropagation();\n              }\n              if(ignoreCallbacks !== true) {\n                return settings.onFailure.call(element, formErrors, values);\n              }\n            }\n          },\n\n          // takes a validation object and returns whether field passes validation\n          field: function(field, fieldName) {\n            var\n              identifier  = field.identifier || fieldName,\n              $field      = module.get.field(identifier),\n              fieldValid  = true,\n              fieldErrors = []\n            ;\n            if(!field.identifier) {\n              module.debug('Using field name as identifier', identifier);\n              field.identifier = identifier;\n            }\n            if($field.prop('disabled')) {\n              module.debug('Field is disabled. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.optional && $.trim($field.val()) === ''){\n              module.debug('Field is optional and empty. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.rules !== undefined) {\n              $.each(field.rules, function(index, rule) {\n                if( module.has.field(identifier) && !( module.validate.rule(field, rule) ) ) {\n                  module.debug('Field is invalid', identifier, rule.type);\n                  fieldErrors.push(module.get.prompt(rule, field));\n                  fieldValid = false;\n                }\n              });\n            }\n            if(fieldValid) {\n              module.remove.prompt(identifier, fieldErrors);\n              settings.onValid.call($field);\n            }\n            else {\n              formErrors = formErrors.concat(fieldErrors);\n              module.add.prompt(identifier, fieldErrors);\n              settings.onInvalid.call($field, fieldErrors);\n              return false;\n            }\n            return true;\n          },\n\n          // takes validation rule and returns whether field passes rule\n          rule: function(field, rule) {\n            var\n              $field       = module.get.field(field.identifier),\n              type         = rule.type,\n              value        = $field.val(),\n              isValid      = true,\n              ancillary    = module.get.ancillaryValue(rule),\n              ruleName     = module.get.ruleName(rule),\n              ruleFunction = settings.rules[ruleName]\n            ;\n            if( !$.isFunction(ruleFunction) ) {\n              module.error(error.noRule, ruleName);\n              return;\n            }\n            // cast to string avoiding encoding special values\n            value = (value === undefined || value === '' || value === null)\n              ? ''\n              : $.trim(value + '')\n            ;\n            return ruleFunction.call($field, value, ancillary);\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      module.initialize();\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.form.settings = {\n\n  name              : 'Form',\n  namespace         : 'form',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  fields            : false,\n\n  keyboardShortcuts : true,\n  on                : 'submit',\n  inline            : false,\n\n  delay             : 200,\n  revalidate        : true,\n\n  transition        : 'scale',\n  duration          : 200,\n\n  onValid           : function() {},\n  onInvalid         : function() {},\n  onSuccess         : function() { return true; },\n  onFailure         : function() { return false; },\n\n  metadata : {\n    defaultValue : 'default',\n    validate     : 'validate'\n  },\n\n  regExp: {\n    bracket : /\\[(.*)\\]/i,\n    decimal : /^\\d*(\\.)\\d+/,\n    email   : \"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\",\n    escape  : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    flags   : /^\\/(.*)\\/(.*)?/,\n    integer : /^\\-?\\d+$/,\n    number  : /^\\-?\\d*(\\.\\d+)?$/,\n    url     : /(https?:\\/\\/(?:www\\.|(?!www))[^\\s\\.]+\\.[^\\s]{2,}|www\\.[^\\s]+\\.[^\\s]{2,})/i\n  },\n\n  text: {\n    unspecifiedRule  : 'Please enter a valid value',\n    unspecifiedField : 'This field'\n  },\n\n  prompt: {\n    empty                : '{name} must have a value',\n    checked              : '{name} must be checked',\n    email                : '{name} must be a valid e-mail',\n    url                  : '{name} must be a valid url',\n    regExp               : '{name} is not formatted correctly',\n    integer              : '{name} must be an integer',\n    decimal              : '{name} must be a decimal number',\n    number               : '{name} must be set to a number',\n    is                   : '{name} must be \"{ruleValue}\"',\n    isExactly            : '{name} must be exactly \"{ruleValue}\"',\n    not                  : '{name} cannot be set to \"{ruleValue}\"',\n    notExactly           : '{name} cannot be set to exactly \"{ruleValue}\"',\n    contain              : '{name} cannot contain \"{ruleValue}\"',\n    containExactly       : '{name} cannot contain exactly \"{ruleValue}\"',\n    doesntContain        : '{name} must contain  \"{ruleValue}\"',\n    doesntContainExactly : '{name} must contain exactly \"{ruleValue}\"',\n    minLength            : '{name} must be at least {ruleValue} characters',\n    length               : '{name} must be at least {ruleValue} characters',\n    exactLength          : '{name} must be exactly {ruleValue} characters',\n    maxLength            : '{name} cannot be longer than {ruleValue} characters',\n    match                : '{name} must match {ruleValue} field',\n    different            : '{name} must have a different value than {ruleValue} field',\n    creditCard           : '{name} must be a valid credit card number',\n    minCount             : '{name} must have at least {ruleValue} choices',\n    exactCount           : '{name} must have exactly {ruleValue} choices',\n    maxCount             : '{name} must have {ruleValue} or less choices'\n  },\n\n  selector : {\n    checkbox   : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    clear      : '.clear',\n    field      : 'input, textarea, select',\n    group      : '.field',\n    input      : 'input',\n    message    : '.error.message',\n    prompt     : '.prompt.label',\n    radio      : 'input[type=\"radio\"]',\n    reset      : '.reset:not([type=\"reset\"])',\n    submit     : '.submit:not([type=\"submit\"])',\n    uiCheckbox : '.ui.checkbox',\n    uiDropdown : '.ui.dropdown'\n  },\n\n  className : {\n    error   : 'error',\n    label   : 'ui prompt label',\n    pressed : 'down',\n    success : 'success'\n  },\n\n  error: {\n    identifier : 'You must specify a string identifier for each field',\n    method     : 'The method you called is not defined.',\n    noRule     : 'There is no rule matching the one you specified',\n    oldSyntax  : 'Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically.'\n  },\n\n  templates: {\n\n    // template that produces error message\n    error: function(errors) {\n      var\n        html = '<ul class=\"list\">'\n      ;\n      $.each(errors, function(index, value) {\n        html += '<li>' + value + '</li>';\n      });\n      html += '</ul>';\n      return $(html);\n    },\n\n    // template that produces label\n    prompt: function(errors) {\n      return $('<div/>')\n        .addClass('ui basic red pointing prompt label')\n        .html(errors[0])\n      ;\n    }\n  },\n\n  rules: {\n\n    // is not empty or blank string\n    empty: function(value) {\n      return !(value === undefined || '' === value || $.isArray(value) && value.length === 0);\n    },\n\n    // checkbox checked\n    checked: function() {\n      return ($(this).filter(':checked').length > 0);\n    },\n\n    // is most likely an email\n    email: function(value){\n      var\n        emailRegExp = new RegExp($.fn.form.settings.regExp.email, 'i')\n      ;\n      return emailRegExp.test(value);\n    },\n\n    // value is most likely url\n    url: function(value) {\n      return $.fn.form.settings.regExp.url.test(value);\n    },\n\n    // matches specified regExp\n    regExp: function(value, regExp) {\n      var\n        regExpParts = regExp.match($.fn.form.settings.regExp.flags),\n        flags\n      ;\n      // regular expression specified as /baz/gi (flags)\n      if(regExpParts) {\n        regExp = (regExpParts.length >= 2)\n          ? regExpParts[1]\n          : regExp\n        ;\n        flags = (regExpParts.length >= 3)\n          ? regExpParts[2]\n          : ''\n        ;\n      }\n      return value.match( new RegExp(regExp, flags) );\n    },\n\n    // is valid integer or matches range\n    integer: function(value, range) {\n      var\n        intRegExp = $.fn.form.settings.regExp.integer,\n        min,\n        max,\n        parts\n      ;\n      if( !range || ['', '..'].indexOf(range) !== -1) {\n        // do nothing\n      }\n      else if(range.indexOf('..') == -1) {\n        if(intRegExp.test(range)) {\n          min = max = range - 0;\n        }\n      }\n      else {\n        parts = range.split('..', 2);\n        if(intRegExp.test(parts[0])) {\n          min = parts[0] - 0;\n        }\n        if(intRegExp.test(parts[1])) {\n          max = parts[1] - 0;\n        }\n      }\n      return (\n        intRegExp.test(value) &&\n        (min === undefined || value >= min) &&\n        (max === undefined || value <= max)\n      );\n    },\n\n    // is valid number (with decimal)\n    decimal: function(value) {\n      return $.fn.form.settings.regExp.decimal.test(value);\n    },\n\n    // is valid number\n    number: function(value) {\n      return $.fn.form.settings.regExp.number.test(value);\n    },\n\n    // is value (case insensitive)\n    is: function(value, text) {\n      text = (typeof text == 'string')\n        ? text.toLowerCase()\n        : text\n      ;\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      return (value == text);\n    },\n\n    // is value\n    isExactly: function(value, text) {\n      return (value == text);\n    },\n\n    // value is not another value (case insensitive)\n    not: function(value, notValue) {\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      notValue = (typeof notValue == 'string')\n        ? notValue.toLowerCase()\n        : notValue\n      ;\n      return (value != notValue);\n    },\n\n    // value is not another value (case sensitive)\n    notExactly: function(value, notValue) {\n      return (value != notValue);\n    },\n\n    // value contains text (insensitive)\n    contains: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) !== -1);\n    },\n\n    // value contains text (case sensitive)\n    containsExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) !== -1);\n    },\n\n    // value contains text (insensitive)\n    doesntContain: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) === -1);\n    },\n\n    // value contains text (case sensitive)\n    doesntContainExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) === -1);\n    },\n\n    // is at least string length\n    minLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // see rls notes for 2.0.6 (this is a duplicate of minLength)\n    length: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // is exactly length\n    exactLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length == requiredLength)\n        : false\n      ;\n    },\n\n    // is less than length\n    maxLength: function(value, maxLength) {\n      return (value !== undefined)\n        ? (value.length <= maxLength)\n        : false\n      ;\n    },\n\n    // matches another field\n    match: function(value, identifier) {\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() == matchingValue.toString() )\n        : false\n      ;\n    },\n\n    // different than another field\n    different: function(value, identifier) {\n      // use either id or name of field\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() !== matchingValue.toString() )\n        : false\n      ;\n    },\n\n    creditCard: function(cardNumber, cardTypes) {\n      var\n        cards = {\n          visa: {\n            pattern : /^4/,\n            length  : [16]\n          },\n          amex: {\n            pattern : /^3[47]/,\n            length  : [15]\n          },\n          mastercard: {\n            pattern : /^5[1-5]/,\n            length  : [16]\n          },\n          discover: {\n            pattern : /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,\n            length  : [16]\n          },\n          unionPay: {\n            pattern : /^(62|88)/,\n            length  : [16, 17, 18, 19]\n          },\n          jcb: {\n            pattern : /^35(2[89]|[3-8][0-9])/,\n            length  : [16]\n          },\n          maestro: {\n            pattern : /^(5018|5020|5038|6304|6759|676[1-3])/,\n            length  : [12, 13, 14, 15, 16, 17, 18, 19]\n          },\n          dinersClub: {\n            pattern : /^(30[0-5]|^36)/,\n            length  : [14]\n          },\n          laser: {\n            pattern : /^(6304|670[69]|6771)/,\n            length  : [16, 17, 18, 19]\n          },\n          visaElectron: {\n            pattern : /^(4026|417500|4508|4844|491(3|7))/,\n            length  : [16]\n          }\n        },\n        valid         = {},\n        validCard     = false,\n        requiredTypes = (typeof cardTypes == 'string')\n          ? cardTypes.split(',')\n          : false,\n        unionPay,\n        validation\n      ;\n\n      if(typeof cardNumber !== 'string' || cardNumber.length === 0) {\n        return;\n      }\n\n      // verify card types\n      if(requiredTypes) {\n        $.each(requiredTypes, function(index, type){\n          // verify each card type\n          validation = cards[type];\n          if(validation) {\n            valid = {\n              length  : ($.inArray(cardNumber.length, validation.length) !== -1),\n              pattern : (cardNumber.search(validation.pattern) !== -1)\n            };\n            if(valid.length && valid.pattern) {\n              validCard = true;\n            }\n          }\n        });\n\n        if(!validCard) {\n          return false;\n        }\n      }\n\n      // skip luhn for UnionPay\n      unionPay = {\n        number  : ($.inArray(cardNumber.length, cards.unionPay.length) !== -1),\n        pattern : (cardNumber.search(cards.unionPay.pattern) !== -1)\n      };\n      if(unionPay.number && unionPay.pattern) {\n        return true;\n      }\n\n      // verify luhn, adapted from  <https://gist.github.com/2134376>\n      var\n        length        = cardNumber.length,\n        multiple      = 0,\n        producedValue = [\n          [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n          [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]\n        ],\n        sum           = 0\n      ;\n      while (length--) {\n        sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];\n        multiple ^= 1;\n      }\n      return (sum % 10 === 0 && sum > 0);\n    },\n\n    minCount: function(value, minCount) {\n      if(minCount == 0) {\n        return true;\n      }\n      if(minCount == 1) {\n        return (value !== '');\n      }\n      return (value.split(',').length >= minCount);\n    },\n\n    exactCount: function(value, exactCount) {\n      if(exactCount == 0) {\n        return (value === '');\n      }\n      if(exactCount == 1) {\n        return (value !== '' && value.search(',') === -1);\n      }\n      return (value.split(',').length == exactCount);\n    },\n\n    maxCount: function(value, maxCount) {\n      if(maxCount == 0) {\n        return false;\n      }\n      if(maxCount == 1) {\n        return (value.search(',') === -1);\n      }\n      return (value.split(',').length <= maxCount);\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/grid.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Grid\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n.ui.grid {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch;\n  padding: 0em;\n}\n\n/*----------------------\n      Remove Gutters\n-----------------------*/\n\n.ui.grid {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  margin-left: -1rem;\n  margin-right: -1rem;\n}\n.ui.relaxed.grid {\n  margin-left: -1.5rem;\n  margin-right: -1.5rem;\n}\n.ui[class*=\"very relaxed\"].grid {\n  margin-left: -2.5rem;\n  margin-right: -2.5rem;\n}\n\n/* Preserve Rows Spacing on Consecutive Grids */\n.ui.grid + .grid {\n  margin-top: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n\n/* Standard 16 column */\n.ui.grid > .column:not(.row),\n.ui.grid > .row > .column {\n  position: relative;\n  display: inline-block;\n  width: 6.25%;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  vertical-align: top;\n}\n.ui.grid > * {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/*-------------------\n        Rows\n--------------------*/\n\n.ui.grid > .row {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-box-pack: inherit;\n  -webkit-justify-content: inherit;\n      -ms-flex-pack: inherit;\n          justify-content: inherit;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch;\n  width: 100% !important;\n  padding: 0rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n\n/* Vertical padding when no rows */\n.ui.grid > .column:not(.row) {\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n.ui.grid > .row > .column {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/*-------------------\n      Content\n--------------------*/\n\n.ui.grid > .row > img,\n.ui.grid > .row > .column > img {\n  max-width: 100%;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n\n/* Collapse Margin on Consecutive Grid */\n.ui.grid > .ui.grid:first-child {\n  margin-top: 0em;\n}\n.ui.grid > .ui.grid:last-child {\n  margin-bottom: 0em;\n}\n\n/* Segment inside Aligned Grid */\n.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),\n.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {\n  width: 100%;\n}\n\n/* Align Dividers with Gutter */\n.ui.grid .row + .ui.divider {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n  margin: 1rem 1rem;\n}\n.ui.grid .column + .ui.vertical.divider {\n  height: calc(50% -  1rem );\n}\n\n/* Remove Border on Last Horizontal Segment */\n.ui.grid > .row > .column:last-child > .horizontal.segment,\n.ui.grid > .column:last-child > .horizontal.segment {\n  box-shadow: none;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-----------------------\n       Page Grid\n-------------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.page.grid {\n    width: auto;\n    padding-left: 0em;\n    padding-right: 0em;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n}\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 2em;\n    padding-right: 2em;\n  }\n}\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 3%;\n    padding-right: 3%;\n  }\n}\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 15%;\n    padding-right: 15%;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 23%;\n    padding-right: 23%;\n  }\n}\n\n/*-------------------\n     Column Count\n--------------------*/\n\n\n/* Assume full width with one column */\n.ui.grid > .column:only-child,\n.ui.grid > .row > .column:only-child {\n  width: 100%;\n}\n\n/* Grid Based */\n.ui[class*=\"one column\"].grid > .row > .column,\n.ui[class*=\"one column\"].grid > .column:not(.row) {\n  width: 100%;\n}\n.ui[class*=\"two column\"].grid > .row > .column,\n.ui[class*=\"two column\"].grid > .column:not(.row) {\n  width: 50%;\n}\n.ui[class*=\"three column\"].grid > .row > .column,\n.ui[class*=\"three column\"].grid > .column:not(.row) {\n  width: 33.33333333%;\n}\n.ui[class*=\"four column\"].grid > .row > .column,\n.ui[class*=\"four column\"].grid > .column:not(.row) {\n  width: 25%;\n}\n.ui[class*=\"five column\"].grid > .row > .column,\n.ui[class*=\"five column\"].grid > .column:not(.row) {\n  width: 20%;\n}\n.ui[class*=\"six column\"].grid > .row > .column,\n.ui[class*=\"six column\"].grid > .column:not(.row) {\n  width: 16.66666667%;\n}\n.ui[class*=\"seven column\"].grid > .row > .column,\n.ui[class*=\"seven column\"].grid > .column:not(.row) {\n  width: 14.28571429%;\n}\n.ui[class*=\"eight column\"].grid > .row > .column,\n.ui[class*=\"eight column\"].grid > .column:not(.row) {\n  width: 12.5%;\n}\n.ui[class*=\"nine column\"].grid > .row > .column,\n.ui[class*=\"nine column\"].grid > .column:not(.row) {\n  width: 11.11111111%;\n}\n.ui[class*=\"ten column\"].grid > .row > .column,\n.ui[class*=\"ten column\"].grid > .column:not(.row) {\n  width: 10%;\n}\n.ui[class*=\"eleven column\"].grid > .row > .column,\n.ui[class*=\"eleven column\"].grid > .column:not(.row) {\n  width: 9.09090909%;\n}\n.ui[class*=\"twelve column\"].grid > .row > .column,\n.ui[class*=\"twelve column\"].grid > .column:not(.row) {\n  width: 8.33333333%;\n}\n.ui[class*=\"thirteen column\"].grid > .row > .column,\n.ui[class*=\"thirteen column\"].grid > .column:not(.row) {\n  width: 7.69230769%;\n}\n.ui[class*=\"fourteen column\"].grid > .row > .column,\n.ui[class*=\"fourteen column\"].grid > .column:not(.row) {\n  width: 7.14285714%;\n}\n.ui[class*=\"fifteen column\"].grid > .row > .column,\n.ui[class*=\"fifteen column\"].grid > .column:not(.row) {\n  width: 6.66666667%;\n}\n.ui[class*=\"sixteen column\"].grid > .row > .column,\n.ui[class*=\"sixteen column\"].grid > .column:not(.row) {\n  width: 6.25%;\n}\n\n/* Row Based Overrides */\n.ui.grid > [class*=\"one column\"].row > .column {\n  width: 100% !important;\n}\n.ui.grid > [class*=\"two column\"].row > .column {\n  width: 50% !important;\n}\n.ui.grid > [class*=\"three column\"].row > .column {\n  width: 33.33333333% !important;\n}\n.ui.grid > [class*=\"four column\"].row > .column {\n  width: 25% !important;\n}\n.ui.grid > [class*=\"five column\"].row > .column {\n  width: 20% !important;\n}\n.ui.grid > [class*=\"six column\"].row > .column {\n  width: 16.66666667% !important;\n}\n.ui.grid > [class*=\"seven column\"].row > .column {\n  width: 14.28571429% !important;\n}\n.ui.grid > [class*=\"eight column\"].row > .column {\n  width: 12.5% !important;\n}\n.ui.grid > [class*=\"nine column\"].row > .column {\n  width: 11.11111111% !important;\n}\n.ui.grid > [class*=\"ten column\"].row > .column {\n  width: 10% !important;\n}\n.ui.grid > [class*=\"eleven column\"].row > .column {\n  width: 9.09090909% !important;\n}\n.ui.grid > [class*=\"twelve column\"].row > .column {\n  width: 8.33333333% !important;\n}\n.ui.grid > [class*=\"thirteen column\"].row > .column {\n  width: 7.69230769% !important;\n}\n.ui.grid > [class*=\"fourteen column\"].row > .column {\n  width: 7.14285714% !important;\n}\n.ui.grid > [class*=\"fifteen column\"].row > .column {\n  width: 6.66666667% !important;\n}\n.ui.grid > [class*=\"sixteen column\"].row > .column {\n  width: 6.25% !important;\n}\n\n/* Celled Page */\n.ui.celled.page.grid {\n  box-shadow: none;\n}\n\n/*-------------------\n    Column Width\n--------------------*/\n\n\n/* Sizing Combinations */\n.ui.grid > .row > [class*=\"one wide\"].column,\n.ui.grid > .column.row > [class*=\"one wide\"].column,\n.ui.grid > [class*=\"one wide\"].column,\n.ui.column.grid > [class*=\"one wide\"].column {\n  width: 6.25% !important;\n}\n.ui.grid > .row > [class*=\"two wide\"].column,\n.ui.grid > .column.row > [class*=\"two wide\"].column,\n.ui.grid > [class*=\"two wide\"].column,\n.ui.column.grid > [class*=\"two wide\"].column {\n  width: 12.5% !important;\n}\n.ui.grid > .row > [class*=\"three wide\"].column,\n.ui.grid > .column.row > [class*=\"three wide\"].column,\n.ui.grid > [class*=\"three wide\"].column,\n.ui.column.grid > [class*=\"three wide\"].column {\n  width: 18.75% !important;\n}\n.ui.grid > .row > [class*=\"four wide\"].column,\n.ui.grid > .column.row > [class*=\"four wide\"].column,\n.ui.grid > [class*=\"four wide\"].column,\n.ui.column.grid > [class*=\"four wide\"].column {\n  width: 25% !important;\n}\n.ui.grid > .row > [class*=\"five wide\"].column,\n.ui.grid > .column.row > [class*=\"five wide\"].column,\n.ui.grid > [class*=\"five wide\"].column,\n.ui.column.grid > [class*=\"five wide\"].column {\n  width: 31.25% !important;\n}\n.ui.grid > .row > [class*=\"six wide\"].column,\n.ui.grid > .column.row > [class*=\"six wide\"].column,\n.ui.grid > [class*=\"six wide\"].column,\n.ui.column.grid > [class*=\"six wide\"].column {\n  width: 37.5% !important;\n}\n.ui.grid > .row > [class*=\"seven wide\"].column,\n.ui.grid > .column.row > [class*=\"seven wide\"].column,\n.ui.grid > [class*=\"seven wide\"].column,\n.ui.column.grid > [class*=\"seven wide\"].column {\n  width: 43.75% !important;\n}\n.ui.grid > .row > [class*=\"eight wide\"].column,\n.ui.grid > .column.row > [class*=\"eight wide\"].column,\n.ui.grid > [class*=\"eight wide\"].column,\n.ui.column.grid > [class*=\"eight wide\"].column {\n  width: 50% !important;\n}\n.ui.grid > .row > [class*=\"nine wide\"].column,\n.ui.grid > .column.row > [class*=\"nine wide\"].column,\n.ui.grid > [class*=\"nine wide\"].column,\n.ui.column.grid > [class*=\"nine wide\"].column {\n  width: 56.25% !important;\n}\n.ui.grid > .row > [class*=\"ten wide\"].column,\n.ui.grid > .column.row > [class*=\"ten wide\"].column,\n.ui.grid > [class*=\"ten wide\"].column,\n.ui.column.grid > [class*=\"ten wide\"].column {\n  width: 62.5% !important;\n}\n.ui.grid > .row > [class*=\"eleven wide\"].column,\n.ui.grid > .column.row > [class*=\"eleven wide\"].column,\n.ui.grid > [class*=\"eleven wide\"].column,\n.ui.column.grid > [class*=\"eleven wide\"].column {\n  width: 68.75% !important;\n}\n.ui.grid > .row > [class*=\"twelve wide\"].column,\n.ui.grid > .column.row > [class*=\"twelve wide\"].column,\n.ui.grid > [class*=\"twelve wide\"].column,\n.ui.column.grid > [class*=\"twelve wide\"].column {\n  width: 75% !important;\n}\n.ui.grid > .row > [class*=\"thirteen wide\"].column,\n.ui.grid > .column.row > [class*=\"thirteen wide\"].column,\n.ui.grid > [class*=\"thirteen wide\"].column,\n.ui.column.grid > [class*=\"thirteen wide\"].column {\n  width: 81.25% !important;\n}\n.ui.grid > .row > [class*=\"fourteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fourteen wide\"].column,\n.ui.grid > [class*=\"fourteen wide\"].column,\n.ui.column.grid > [class*=\"fourteen wide\"].column {\n  width: 87.5% !important;\n}\n.ui.grid > .row > [class*=\"fifteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fifteen wide\"].column,\n.ui.grid > [class*=\"fifteen wide\"].column,\n.ui.column.grid > [class*=\"fifteen wide\"].column {\n  width: 93.75% !important;\n}\n.ui.grid > .row > [class*=\"sixteen wide\"].column,\n.ui.grid > .column.row > [class*=\"sixteen wide\"].column,\n.ui.grid > [class*=\"sixteen wide\"].column,\n.ui.column.grid > [class*=\"sixteen wide\"].column {\n  width: 100% !important;\n}\n\n/*----------------------\n    Width per Device\n-----------------------*/\n\n\n/* Mobile Sizing Combinations */\n@media only screen and (min-width: 320px) and (max-width: 767px) {\n  .ui.grid > .row > [class*=\"one wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"one wide mobile\"].column,\n  .ui.grid > [class*=\"one wide mobile\"].column,\n  .ui.column.grid > [class*=\"one wide mobile\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"two wide mobile\"].column,\n  .ui.grid > [class*=\"two wide mobile\"].column,\n  .ui.column.grid > [class*=\"two wide mobile\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"three wide mobile\"].column,\n  .ui.grid > [class*=\"three wide mobile\"].column,\n  .ui.column.grid > [class*=\"three wide mobile\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"four wide mobile\"].column,\n  .ui.grid > [class*=\"four wide mobile\"].column,\n  .ui.column.grid > [class*=\"four wide mobile\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"five wide mobile\"].column,\n  .ui.grid > [class*=\"five wide mobile\"].column,\n  .ui.column.grid > [class*=\"five wide mobile\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"six wide mobile\"].column,\n  .ui.grid > [class*=\"six wide mobile\"].column,\n  .ui.column.grid > [class*=\"six wide mobile\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > [class*=\"seven wide mobile\"].column,\n  .ui.column.grid > [class*=\"seven wide mobile\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > [class*=\"eight wide mobile\"].column,\n  .ui.column.grid > [class*=\"eight wide mobile\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > [class*=\"nine wide mobile\"].column,\n  .ui.column.grid > [class*=\"nine wide mobile\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > [class*=\"ten wide mobile\"].column,\n  .ui.column.grid > [class*=\"ten wide mobile\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > [class*=\"eleven wide mobile\"].column,\n  .ui.column.grid > [class*=\"eleven wide mobile\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > [class*=\"twelve wide mobile\"].column,\n  .ui.column.grid > [class*=\"twelve wide mobile\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > [class*=\"thirteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"thirteen wide mobile\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > [class*=\"fourteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fourteen wide mobile\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > [class*=\"fifteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fifteen wide mobile\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > [class*=\"sixteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"sixteen wide mobile\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Tablet Sizing Combinations */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.grid > .row > [class*=\"one wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"one wide tablet\"].column,\n  .ui.grid > [class*=\"one wide tablet\"].column,\n  .ui.column.grid > [class*=\"one wide tablet\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"two wide tablet\"].column,\n  .ui.grid > [class*=\"two wide tablet\"].column,\n  .ui.column.grid > [class*=\"two wide tablet\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"three wide tablet\"].column,\n  .ui.grid > [class*=\"three wide tablet\"].column,\n  .ui.column.grid > [class*=\"three wide tablet\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"four wide tablet\"].column,\n  .ui.grid > [class*=\"four wide tablet\"].column,\n  .ui.column.grid > [class*=\"four wide tablet\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"five wide tablet\"].column,\n  .ui.grid > [class*=\"five wide tablet\"].column,\n  .ui.column.grid > [class*=\"five wide tablet\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"six wide tablet\"].column,\n  .ui.grid > [class*=\"six wide tablet\"].column,\n  .ui.column.grid > [class*=\"six wide tablet\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > [class*=\"seven wide tablet\"].column,\n  .ui.column.grid > [class*=\"seven wide tablet\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > [class*=\"eight wide tablet\"].column,\n  .ui.column.grid > [class*=\"eight wide tablet\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > [class*=\"nine wide tablet\"].column,\n  .ui.column.grid > [class*=\"nine wide tablet\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > [class*=\"ten wide tablet\"].column,\n  .ui.column.grid > [class*=\"ten wide tablet\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > [class*=\"eleven wide tablet\"].column,\n  .ui.column.grid > [class*=\"eleven wide tablet\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > [class*=\"twelve wide tablet\"].column,\n  .ui.column.grid > [class*=\"twelve wide tablet\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > [class*=\"thirteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"thirteen wide tablet\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > [class*=\"fourteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fourteen wide tablet\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > [class*=\"fifteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fifteen wide tablet\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > [class*=\"sixteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"sixteen wide tablet\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Computer/Desktop Sizing Combinations */\n@media only screen and (min-width: 992px) {\n  .ui.grid > .row > [class*=\"one wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"one wide computer\"].column,\n  .ui.grid > [class*=\"one wide computer\"].column,\n  .ui.column.grid > [class*=\"one wide computer\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"two wide computer\"].column,\n  .ui.grid > [class*=\"two wide computer\"].column,\n  .ui.column.grid > [class*=\"two wide computer\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"three wide computer\"].column,\n  .ui.grid > [class*=\"three wide computer\"].column,\n  .ui.column.grid > [class*=\"three wide computer\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"four wide computer\"].column,\n  .ui.grid > [class*=\"four wide computer\"].column,\n  .ui.column.grid > [class*=\"four wide computer\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"five wide computer\"].column,\n  .ui.grid > [class*=\"five wide computer\"].column,\n  .ui.column.grid > [class*=\"five wide computer\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"six wide computer\"].column,\n  .ui.grid > [class*=\"six wide computer\"].column,\n  .ui.column.grid > [class*=\"six wide computer\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide computer\"].column,\n  .ui.grid > [class*=\"seven wide computer\"].column,\n  .ui.column.grid > [class*=\"seven wide computer\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide computer\"].column,\n  .ui.grid > [class*=\"eight wide computer\"].column,\n  .ui.column.grid > [class*=\"eight wide computer\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide computer\"].column,\n  .ui.grid > [class*=\"nine wide computer\"].column,\n  .ui.column.grid > [class*=\"nine wide computer\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide computer\"].column,\n  .ui.grid > [class*=\"ten wide computer\"].column,\n  .ui.column.grid > [class*=\"ten wide computer\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > [class*=\"eleven wide computer\"].column,\n  .ui.column.grid > [class*=\"eleven wide computer\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > [class*=\"twelve wide computer\"].column,\n  .ui.column.grid > [class*=\"twelve wide computer\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > [class*=\"thirteen wide computer\"].column,\n  .ui.column.grid > [class*=\"thirteen wide computer\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > [class*=\"fourteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fourteen wide computer\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > [class*=\"fifteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fifteen wide computer\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > [class*=\"sixteen wide computer\"].column,\n  .ui.column.grid > [class*=\"sixteen wide computer\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Large Monitor Sizing Combinations */\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.grid > .row > [class*=\"one wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide large screen\"].column,\n  .ui.grid > [class*=\"one wide large screen\"].column,\n  .ui.column.grid > [class*=\"one wide large screen\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide large screen\"].column,\n  .ui.grid > [class*=\"two wide large screen\"].column,\n  .ui.column.grid > [class*=\"two wide large screen\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide large screen\"].column,\n  .ui.grid > [class*=\"three wide large screen\"].column,\n  .ui.column.grid > [class*=\"three wide large screen\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide large screen\"].column,\n  .ui.grid > [class*=\"four wide large screen\"].column,\n  .ui.column.grid > [class*=\"four wide large screen\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide large screen\"].column,\n  .ui.grid > [class*=\"five wide large screen\"].column,\n  .ui.column.grid > [class*=\"five wide large screen\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide large screen\"].column,\n  .ui.grid > [class*=\"six wide large screen\"].column,\n  .ui.column.grid > [class*=\"six wide large screen\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > [class*=\"seven wide large screen\"].column,\n  .ui.column.grid > [class*=\"seven wide large screen\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > [class*=\"eight wide large screen\"].column,\n  .ui.column.grid > [class*=\"eight wide large screen\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > [class*=\"nine wide large screen\"].column,\n  .ui.column.grid > [class*=\"nine wide large screen\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > [class*=\"ten wide large screen\"].column,\n  .ui.column.grid > [class*=\"ten wide large screen\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > [class*=\"eleven wide large screen\"].column,\n  .ui.column.grid > [class*=\"eleven wide large screen\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > [class*=\"twelve wide large screen\"].column,\n  .ui.column.grid > [class*=\"twelve wide large screen\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > [class*=\"thirteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide large screen\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > [class*=\"fourteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide large screen\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > [class*=\"fifteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide large screen\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > [class*=\"sixteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide large screen\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Widescreen Sizing Combinations */\n@media only screen and (min-width: 1920px) {\n  .ui.grid > .row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > [class*=\"one wide widescreen\"].column,\n  .ui.column.grid > [class*=\"one wide widescreen\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > [class*=\"two wide widescreen\"].column,\n  .ui.column.grid > [class*=\"two wide widescreen\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > [class*=\"three wide widescreen\"].column,\n  .ui.column.grid > [class*=\"three wide widescreen\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > [class*=\"four wide widescreen\"].column,\n  .ui.column.grid > [class*=\"four wide widescreen\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > [class*=\"five wide widescreen\"].column,\n  .ui.column.grid > [class*=\"five wide widescreen\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > [class*=\"six wide widescreen\"].column,\n  .ui.column.grid > [class*=\"six wide widescreen\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > [class*=\"seven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"seven wide widescreen\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > [class*=\"eight wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eight wide widescreen\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > [class*=\"nine wide widescreen\"].column,\n  .ui.column.grid > [class*=\"nine wide widescreen\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > [class*=\"ten wide widescreen\"].column,\n  .ui.column.grid > [class*=\"ten wide widescreen\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > [class*=\"eleven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eleven wide widescreen\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > [class*=\"twelve wide widescreen\"].column,\n  .ui.column.grid > [class*=\"twelve wide widescreen\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > [class*=\"thirteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide widescreen\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fourteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide widescreen\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fifteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide widescreen\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > [class*=\"sixteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide widescreen\"].column {\n    width: 100% !important;\n  }\n}\n\n/*----------------------\n        Centered\n-----------------------*/\n\n.ui.centered.grid,\n.ui.centered.grid > .row,\n.ui.grid > .centered.row {\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n.ui.centered.grid > .column:not(.aligned):not(.row),\n.ui.centered.grid > .row > .column:not(.aligned),\n.ui.grid .centered.row > .column:not(.aligned) {\n  text-align: left;\n}\n.ui.grid > .centered.column,\n.ui.grid > .row > .centered.column {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*----------------------\n        Relaxed\n-----------------------*/\n\n.ui.relaxed.grid > .column:not(.row),\n.ui.relaxed.grid > .row > .column,\n.ui.grid > .relaxed.row > .column {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n.ui[class*=\"very relaxed\"].grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].grid > .row > .column,\n.ui.grid > [class*=\"very relaxed\"].row > .column {\n  padding-left: 2.5rem;\n  padding-right: 2.5rem;\n}\n\n/* Coupling with UI Divider */\n.ui.relaxed.grid .row + .ui.divider,\n.ui.grid .relaxed.row + .ui.divider {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n}\n.ui[class*=\"very relaxed\"].grid .row + .ui.divider,\n.ui.grid [class*=\"very relaxed\"].row + .ui.divider {\n  margin-left: 2.5rem;\n  margin-right: 2.5rem;\n}\n\n/*----------------------\n        Padded\n-----------------------*/\n\n.ui.padded.grid:not(.vertically):not(.horizontally) {\n  margin: 0em !important;\n}\n[class*=\"horizontally padded\"].ui.grid {\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n}\n[class*=\"vertically padded\"].ui.grid {\n  margin-top: 0em !important;\n  margin-bottom: 0em !important;\n}\n\n/*----------------------\n       \"Floated\"\n-----------------------*/\n\n.ui.grid [class*=\"left floated\"].column {\n  margin-right: auto;\n}\n.ui.grid [class*=\"right floated\"].column {\n  margin-left: auto;\n}\n\n/*----------------------\n        Divided\n-----------------------*/\n\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Swap from padding to margin on columns to have dividers align */\n.ui[class*=\"vertically divided\"].grid > .column:not(.row),\n.ui[class*=\"vertically divided\"].grid > .row > .column {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  padding-top: 0rem;\n  padding-bottom: 0rem;\n}\n.ui[class*=\"vertically divided\"].grid > .row {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/* No divider on first column on row */\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Divided Row */\n.ui.grid > .divided.row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n.ui.grid > .divided.row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Vertically Divided */\n.ui[class*=\"vertically divided\"].grid > .row {\n  position: relative;\n}\n.ui[class*=\"vertically divided\"].grid > .row:before {\n  position: absolute;\n  content: \"\";\n  top: 0em;\n  left: 0px;\n  width: calc(100% -  2rem );\n  height: 1px;\n  margin: 0% 1rem;\n  box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Padded Horizontally Divided */\n[class*=\"horizontally padded\"].ui.divided.grid,\n.ui.padded.divided.grid:not(.vertically):not(.horizontally) {\n  width: 100%;\n}\n\n/* First Row Vertically Divided */\n.ui[class*=\"vertically divided\"].grid > .row:first-child:before {\n  box-shadow: none;\n}\n\n/* Inverted Divided */\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);\n}\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row):first-child,\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n.ui.inverted[class*=\"vertically divided\"].grid > .row:before {\n  box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1);\n}\n\n/* Relaxed */\n.ui.relaxed[class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n  width: calc(100% -  3rem );\n}\n.ui[class*=\"very relaxed\"][class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 5rem;\n  margin-right: 5rem;\n  width: calc(100% -  5rem );\n}\n\n/*----------------------\n         Celled\n-----------------------*/\n\n.ui.celled.grid {\n  width: 100%;\n  margin: 1em 0em;\n  box-shadow: 0px 0px 0px 1px #D4D4D5;\n}\n.ui.celled.grid > .row {\n  width: 100% !important;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: 0px -1px 0px 0px #D4D4D5;\n}\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  box-shadow: -1px 0px 0px 0px #D4D4D5;\n}\n.ui.celled.grid > .column:first-child,\n.ui.celled.grid > .row > .column:first-child {\n  box-shadow: none;\n}\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  padding: 1em;\n}\n.ui.relaxed.celled.grid > .column:not(.row),\n.ui.relaxed.celled.grid > .row > .column {\n  padding: 1.5em;\n}\n.ui[class*=\"very relaxed\"].celled.grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].celled.grid > .row > .column {\n  padding: 2em;\n}\n\n/* Internally Celled */\n.ui[class*=\"internally celled\"].grid {\n  box-shadow: none;\n  margin: 0em;\n}\n.ui[class*=\"internally celled\"].grid > .row:first-child {\n  box-shadow: none;\n}\n.ui[class*=\"internally celled\"].grid > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/*----------------------\n   Vertically Aligned\n-----------------------*/\n\n\n/* Top Aligned */\n.ui[class*=\"top aligned\"].grid > .column:not(.row),\n.ui[class*=\"top aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"top aligned\"].row > .column,\n.ui.grid > [class*=\"top aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"top aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  vertical-align: top;\n  -webkit-align-self: flex-start !important;\n      -ms-flex-item-align: start !important;\n          align-self: flex-start !important;\n}\n\n/* Middle Aligned */\n.ui[class*=\"middle aligned\"].grid > .column:not(.row),\n.ui[class*=\"middle aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"middle aligned\"].row > .column,\n.ui.grid > [class*=\"middle aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"middle aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  vertical-align: middle;\n  -webkit-align-self: center !important;\n      -ms-flex-item-align: center !important;\n          align-self: center !important;\n}\n\n/* Bottom Aligned */\n.ui[class*=\"bottom aligned\"].grid > .column:not(.row),\n.ui[class*=\"bottom aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"bottom aligned\"].row > .column,\n.ui.grid > [class*=\"bottom aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"bottom aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  vertical-align: bottom;\n  -webkit-align-self: flex-end !important;\n      -ms-flex-item-align: end !important;\n          align-self: flex-end !important;\n}\n\n/* Stretched */\n.ui.stretched.grid > .row > .column,\n.ui.stretched.grid > .column,\n.ui.grid > .stretched.row > .column,\n.ui.grid > .stretched.column:not(.row),\n.ui.grid > .row > .stretched.column {\n  display: -webkit-inline-box !important;\n  display: -webkit-inline-flex !important;\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !important;\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n}\n.ui.stretched.grid > .row > .column > *,\n.ui.stretched.grid > .column > *,\n.ui.grid > .stretched.row > .column > *,\n.ui.grid > .stretched.column:not(.row) > *,\n.ui.grid > .row > .stretched.column > * {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n}\n\n/*----------------------\n  Horizontally Centered\n-----------------------*/\n\n\n/* Left Aligned */\n.ui[class*=\"left aligned\"].grid > .column,\n.ui[class*=\"left aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"left aligned\"].row > .column,\n.ui.grid > [class*=\"left aligned\"].column.column,\n.ui.grid > .row > [class*=\"left aligned\"].column {\n  text-align: left;\n  -webkit-align-self: inherit;\n      -ms-flex-item-align: inherit;\n          align-self: inherit;\n}\n\n/* Center Aligned */\n.ui[class*=\"center aligned\"].grid > .column,\n.ui[class*=\"center aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"center aligned\"].row > .column,\n.ui.grid > [class*=\"center aligned\"].column.column,\n.ui.grid > .row > [class*=\"center aligned\"].column {\n  text-align: center;\n  -webkit-align-self: inherit;\n      -ms-flex-item-align: inherit;\n          align-self: inherit;\n}\n.ui[class*=\"center aligned\"].grid {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n\n/* Right Aligned */\n.ui[class*=\"right aligned\"].grid > .column,\n.ui[class*=\"right aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"right aligned\"].row > .column,\n.ui.grid > [class*=\"right aligned\"].column.column,\n.ui.grid > .row > [class*=\"right aligned\"].column {\n  text-align: right;\n  -webkit-align-self: inherit;\n      -ms-flex-item-align: inherit;\n          align-self: inherit;\n}\n\n/* Justified */\n.ui.justified.grid > .column,\n.ui.justified.grid > .row > .column,\n.ui.grid > .justified.row > .column,\n.ui.grid > .justified.column.column,\n.ui.grid > .row > .justified.column {\n  text-align: justify;\n  -webkit-hyphens: auto;\n     -moz-hyphens: auto;\n      -ms-hyphens: auto;\n          hyphens: auto;\n}\n\n/*----------------------\n         Colored\n-----------------------*/\n\n.ui.grid > .row > .red.column,\n.ui.grid > .row > .orange.column,\n.ui.grid > .row > .yellow.column,\n.ui.grid > .row > .olive.column,\n.ui.grid > .row > .green.column,\n.ui.grid > .row > .teal.column,\n.ui.grid > .row > .blue.column,\n.ui.grid > .row > .violet.column,\n.ui.grid > .row > .purple.column,\n.ui.grid > .row > .pink.column,\n.ui.grid > .row > .brown.column,\n.ui.grid > .row > .grey.column,\n.ui.grid > .row > .black.column {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/* Red */\n.ui.grid > .red.row,\n.ui.grid > .red.column,\n.ui.grid > .row > .red.column {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n}\n\n/* Orange */\n.ui.grid > .orange.row,\n.ui.grid > .orange.column,\n.ui.grid > .row > .orange.column {\n  background-color: #F2711C !important;\n  color: #FFFFFF;\n}\n\n/* Yellow */\n.ui.grid > .yellow.row,\n.ui.grid > .yellow.column,\n.ui.grid > .row > .yellow.column {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF;\n}\n\n/* Olive */\n.ui.grid > .olive.row,\n.ui.grid > .olive.column,\n.ui.grid > .row > .olive.column {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF;\n}\n\n/* Green */\n.ui.grid > .green.row,\n.ui.grid > .green.column,\n.ui.grid > .row > .green.column {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n}\n\n/* Teal */\n.ui.grid > .teal.row,\n.ui.grid > .teal.column,\n.ui.grid > .row > .teal.column {\n  background-color: #00B5AD !important;\n  color: #FFFFFF;\n}\n\n/* Blue */\n.ui.grid > .blue.row,\n.ui.grid > .blue.column,\n.ui.grid > .row > .blue.column {\n  background-color: #2185D0 !important;\n  color: #FFFFFF;\n}\n\n/* Violet */\n.ui.grid > .violet.row,\n.ui.grid > .violet.column,\n.ui.grid > .row > .violet.column {\n  background-color: #6435C9 !important;\n  color: #FFFFFF;\n}\n\n/* Purple */\n.ui.grid > .purple.row,\n.ui.grid > .purple.column,\n.ui.grid > .row > .purple.column {\n  background-color: #A333C8 !important;\n  color: #FFFFFF;\n}\n\n/* Pink */\n.ui.grid > .pink.row,\n.ui.grid > .pink.column,\n.ui.grid > .row > .pink.column {\n  background-color: #E03997 !important;\n  color: #FFFFFF;\n}\n\n/* Brown */\n.ui.grid > .brown.row,\n.ui.grid > .brown.column,\n.ui.grid > .row > .brown.column {\n  background-color: #A5673F !important;\n  color: #FFFFFF;\n}\n\n/* Grey */\n.ui.grid > .grey.row,\n.ui.grid > .grey.column,\n.ui.grid > .row > .grey.column {\n  background-color: #767676 !important;\n  color: #FFFFFF;\n}\n\n/* Black */\n.ui.grid > .black.row,\n.ui.grid > .black.column,\n.ui.grid > .row > .black.column {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF;\n}\n\n/*----------------------\n      Equal Width\n-----------------------*/\n\n.ui[class*=\"equal width\"].grid > .column:not(.row),\n.ui[class*=\"equal width\"].grid > .row > .column,\n.ui.grid > [class*=\"equal width\"].row > .column {\n  display: inline-block;\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n}\n.ui[class*=\"equal width\"].grid > .wide.column,\n.ui[class*=\"equal width\"].grid > .row > .wide.column,\n.ui.grid > [class*=\"equal width\"].row > .wide.column {\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n      -ms-flex-positive: 0;\n          flex-grow: 0;\n}\n\n/*----------------------\n        Reverse\n-----------------------*/\n\n\n/* Mobile */\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"mobile reversed\"].grid,\n  .ui[class*=\"mobile reversed\"].grid > .row,\n  .ui.grid > [class*=\"mobile reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse;\n  }\n  .ui[class*=\"mobile vertically reversed\"].grid,\n  .ui.stackable[class*=\"mobile reversed\"] {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse;\n  }\n  \n/* Divided Reversed */\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n  \n/* Vertically Divided Reversed */\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n  \n/* Celled Reversed */\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Tablet */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"tablet reversed\"].grid,\n  .ui[class*=\"tablet reversed\"].grid > .row,\n  .ui.grid > [class*=\"tablet reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse;\n  }\n  .ui[class*=\"tablet vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse;\n  }\n  \n/* Divided Reversed */\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n  \n/* Vertically Divided Reversed */\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n  \n/* Celled Reversed */\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Computer */\n@media only screen and (min-width: 992px) {\n  .ui[class*=\"computer reversed\"].grid,\n  .ui[class*=\"computer reversed\"].grid > .row,\n  .ui.grid > [class*=\"computer reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse;\n  }\n  .ui[class*=\"computer vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse;\n  }\n  \n/* Divided Reversed */\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n  \n/* Vertically Divided Reversed */\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n  \n/* Celled Reversed */\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n\n/* Tablet Only */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.doubling.grid {\n    width: auto;\n  }\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    display: inline-block !important;\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    box-shadow: none !important;\n    margin: 0em;\n  }\n  .ui[class*=\"two column\"].doubling.grid > .row > .column,\n  .ui[class*=\"two column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling.row.row > .column {\n    width: 100% !important;\n  }\n  .ui[class*=\"three column\"].doubling.grid > .row > .column,\n  .ui[class*=\"three column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"four column\"].doubling.grid > .row > .column,\n  .ui[class*=\"four column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"five column\"].doubling.grid > .row > .column,\n  .ui[class*=\"five column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"six column\"].doubling.grid > .row > .column,\n  .ui[class*=\"six column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"seven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"eight column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"nine column\"].doubling.grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"ten column\"].doubling.grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n  .ui[class*=\"eleven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n  .ui[class*=\"twelve column\"].doubling.grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n  .ui[class*=\"thirteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n  .ui[class*=\"fourteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n  .ui[class*=\"fifteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n  .ui[class*=\"sixteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling.row.row > .column {\n    width: 12.5% !important;\n  }\n}\n\n/* Mobily Only */\n@media only screen and (max-width: 767px) {\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    margin: 0em !important;\n    box-shadow: none !important;\n  }\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling:not(.stackable).row.row > .column {\n    width: 100% !important;\n  }\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid {\n    width: auto;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n  .ui.stackable.grid > .row > .wide.column,\n  .ui.stackable.grid > .wide.column,\n  .ui.stackable.grid > .column.grid > .column,\n  .ui.stackable.grid > .column.row > .column,\n  .ui.stackable.grid > .row > .column,\n  .ui.stackable.grid > .column:not(.row),\n  .ui.grid > .stackable.stackable.row > .column {\n    width: 100% !important;\n    margin: 0em 0em !important;\n    box-shadow: none !important;\n    padding: 1rem 1rem !important;\n  }\n  .ui.stackable.grid:not(.vertically) > .row {\n    margin: 0em;\n    padding: 0em;\n  }\n  \n/* Coupling */\n  .ui.container > .ui.stackable.grid > .column,\n  .ui.container > .ui.stackable.grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n  \n/* Don't pad inside segment or nested grid */\n  .ui.grid .ui.stackable.grid,\n  .ui.segment:not(.vertical) .ui.stackable.page.grid {\n    margin-left: -1rem !important;\n    margin-right: -1rem !important;\n  }\n  \n/* Divided Stackable */\n  .ui.stackable.divided.grid > .row:first-child > .column:first-child,\n  .ui.stackable.celled.grid > .row:first-child > .column:first-child,\n  .ui.stackable.divided.grid > .column:not(.row):first-child,\n  .ui.stackable.celled.grid > .column:not(.row):first-child {\n    border-top: none !important;\n  }\n  .ui.inverted.stackable.celled.grid > .column:not(.row),\n  .ui.inverted.stackable.divided.grid > .column:not(.row),\n  .ui.inverted.stackable.celled.grid > .row > .column,\n  .ui.inverted.stackable.divided.grid > .row > .column {\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n  .ui.stackable.celled.grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.celled.grid > .row > .column,\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    border-top: 1px solid rgba(34, 36, 38, 0.15);\n    box-shadow: none !important;\n    padding-top: 2rem !important;\n    padding-bottom: 2rem !important;\n  }\n  .ui.stackable.celled.grid > .row {\n    box-shadow: none !important;\n  }\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n}\n\n/*----------------------\n     Only (Device)\n-----------------------*/\n\n\n/* These include arbitrary class repetitions for forced specificity */\n\n/* Mobile Only Hide */\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Tablet Only Hide */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.tablet) {\n    display: none !important;\n  }\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.tablet) {\n    display: none !important;\n  }\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Computer Only Hide */\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Large Screen Only Hide */\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Widescreen Only Hide */\n@media only screen and (min-width: 1920px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/header.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Header\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Header\n*******************************/\n\n\n/* Standard */\n.ui.header {\n  border: none;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  padding: 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  line-height: 1.2857em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.header:first-child {\n  margin-top: -0.14285em;\n}\n.ui.header:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n   Sub Header\n---------------*/\n\n.ui.header .sub.header {\n  display: block;\n  font-weight: normal;\n  padding: 0em;\n  margin: 0em;\n  font-size: 1rem;\n  line-height: 1.2em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.header > .icon {\n  display: table-cell;\n  opacity: 1;\n  font-size: 1.5em;\n  padding-top: 0.14285em;\n  vertical-align: middle;\n}\n\n/* With Text Node */\n.ui.header .icon:only-child {\n  display: inline-block;\n  padding: 0em;\n  margin-right: 0.75rem;\n}\n\n/*-------------------\n        Image\n--------------------*/\n\n.ui.header > .image,\n.ui.header > img {\n  display: inline-block;\n  margin-top: 0.14285em;\n  width: 2.5em;\n  height: auto;\n  vertical-align: middle;\n}\n.ui.header > .image:only-child,\n.ui.header > img:only-child {\n  margin-right: 0.75rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.header .content {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* After Image */\n.ui.header > img + .content,\n.ui.header > .image + .content {\n  padding-left: 0.75rem;\n  vertical-align: middle;\n}\n\n/* After Icon */\n.ui.header > .icon + .content {\n  padding-left: 0.75rem;\n  display: table-cell;\n  vertical-align: middle;\n}\n\n/*--------------\n Loose Coupling\n---------------*/\n\n.ui.header .ui.label {\n  font-size: '';\n  margin-left: 0.5rem;\n  vertical-align: middle;\n}\n\n/* Positioning */\n.ui.header + p {\n  margin-top: 0em;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Page\n---------------*/\n\nh1.ui.header {\n  font-size: 2rem;\n}\nh2.ui.header {\n  font-size: 1.714rem;\n}\nh3.ui.header {\n  font-size: 1.28rem;\n}\nh4.ui.header {\n  font-size: 1.071rem;\n}\nh5.ui.header {\n  font-size: 1rem;\n}\n\n/* Sub Header */\nh1.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\nh2.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\nh3.ui.header .sub.header {\n  font-size: 1rem;\n}\nh4.ui.header .sub.header {\n  font-size: 1rem;\n}\nh5.ui.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n Content Heading\n---------------*/\n\n.ui.huge.header {\n  min-height: 1em;\n  font-size: 2em;\n}\n.ui.large.header {\n  font-size: 1.714em;\n}\n.ui.medium.header {\n  font-size: 1.28em;\n}\n.ui.small.header {\n  font-size: 1.071em;\n}\n.ui.tiny.header {\n  font-size: 1em;\n}\n\n/* Sub Header */\n.ui.huge.header .sub.header {\n  font-size: 1.14285714rem;\n}\n.ui.large.header .sub.header {\n  font-size: 1.14285714rem;\n}\n.ui.header .sub.header {\n  font-size: 1rem;\n}\n.ui.small.header .sub.header {\n  font-size: 1rem;\n}\n.ui.tiny.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n   Sub Heading\n---------------*/\n\n.ui.sub.header {\n  padding: 0em;\n  margin-bottom: 0.14285714rem;\n  font-weight: bold;\n  font-size: 0.85714286em;\n  text-transform: uppercase;\n  color: '';\n}\n.ui.small.sub.header {\n  font-size: 0.71428571em;\n}\n.ui.sub.header {\n  font-size: 0.85714286em;\n}\n.ui.large.sub.header {\n  font-size: 0.92857143em;\n}\n.ui.huge.sub.header {\n  font-size: 1em;\n}\n\n/*-------------------\n        Icon\n--------------------*/\n\n.ui.icon.header {\n  display: inline-block;\n  text-align: center;\n  margin: 2rem 0em 1rem;\n}\n.ui.icon.header:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n.ui.icon.header:first-child {\n  margin-top: 0em;\n}\n.ui.icon.header .icon {\n  float: none;\n  display: block;\n  width: auto;\n  height: auto;\n  line-height: 1;\n  padding: 0em;\n  font-size: 3em;\n  margin: 0em auto 0.5rem;\n  opacity: 1;\n}\n.ui.icon.header .content {\n  display: block;\n}\n.ui.icon.header .circular.icon {\n  font-size: 2em;\n}\n.ui.icon.header .square.icon {\n  font-size: 2em;\n}\n.ui.block.icon.header .icon {\n  margin-bottom: 0em;\n}\n.ui.icon.header.aligned {\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.disabled.header {\n  opacity: 0.45;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.header {\n  color: #FFFFFF;\n}\n.ui.inverted.header .sub.header {\n  color: rgba(255, 255, 255, 0.8);\n}\n.ui.inverted.attached.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n  border-color: transparent;\n}\n.ui.inverted.block.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n}\n.ui.inverted.block.header {\n  border-bottom: none;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/*--- Red ---*/\n\n.ui.red.header {\n  color: #DB2828 !important;\n}\na.ui.red.header:hover {\n  color: #d01919 !important;\n}\n.ui.red.dividing.header {\n  border-bottom: 2px solid #DB2828;\n}\n\n/* Inverted */\n.ui.inverted.red.header {\n  color: #FF695E !important;\n}\na.ui.inverted.red.header:hover {\n  color: #ff5144 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.header {\n  color: #F2711C !important;\n}\na.ui.orange.header:hover {\n  color: #f26202 !important;\n}\n.ui.orange.dividing.header {\n  border-bottom: 2px solid #F2711C;\n}\n\n/* Inverted */\n.ui.inverted.orange.header {\n  color: #FF851B !important;\n}\na.ui.inverted.orange.header:hover {\n  color: #ff7701 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.header {\n  color: #B5CC18 !important;\n}\na.ui.olive.header:hover {\n  color: #a7bd0d !important;\n}\n.ui.olive.dividing.header {\n  border-bottom: 2px solid #B5CC18;\n}\n\n/* Inverted */\n.ui.inverted.olive.header {\n  color: #D9E778 !important;\n}\na.ui.inverted.olive.header:hover {\n  color: #d8ea5c !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.header {\n  color: #FBBD08 !important;\n}\na.ui.yellow.header:hover {\n  color: #eaae00 !important;\n}\n.ui.yellow.dividing.header {\n  border-bottom: 2px solid #FBBD08;\n}\n\n/* Inverted */\n.ui.inverted.yellow.header {\n  color: #FFE21F !important;\n}\na.ui.inverted.yellow.header:hover {\n  color: #ffdf05 !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.header {\n  color: #21BA45 !important;\n}\na.ui.green.header:hover {\n  color: #16ab39 !important;\n}\n.ui.green.dividing.header {\n  border-bottom: 2px solid #21BA45;\n}\n\n/* Inverted */\n.ui.inverted.green.header {\n  color: #2ECC40 !important;\n}\na.ui.inverted.green.header:hover {\n  color: #22be34 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.header {\n  color: #00B5AD !important;\n}\na.ui.teal.header:hover {\n  color: #009c95 !important;\n}\n.ui.teal.dividing.header {\n  border-bottom: 2px solid #00B5AD;\n}\n\n/* Inverted */\n.ui.inverted.teal.header {\n  color: #6DFFFF !important;\n}\na.ui.inverted.teal.header:hover {\n  color: #54ffff !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.header {\n  color: #2185D0 !important;\n}\na.ui.blue.header:hover {\n  color: #1678c2 !important;\n}\n.ui.blue.dividing.header {\n  border-bottom: 2px solid #2185D0;\n}\n\n/* Inverted */\n.ui.inverted.blue.header {\n  color: #54C8FF !important;\n}\na.ui.inverted.blue.header:hover {\n  color: #3ac0ff !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.header {\n  color: #6435C9 !important;\n}\na.ui.violet.header:hover {\n  color: #5829bb !important;\n}\n.ui.violet.dividing.header {\n  border-bottom: 2px solid #6435C9;\n}\n\n/* Inverted */\n.ui.inverted.violet.header {\n  color: #A291FB !important;\n}\na.ui.inverted.violet.header:hover {\n  color: #8a73ff !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.header {\n  color: #A333C8 !important;\n}\na.ui.purple.header:hover {\n  color: #9627ba !important;\n}\n.ui.purple.dividing.header {\n  border-bottom: 2px solid #A333C8;\n}\n\n/* Inverted */\n.ui.inverted.purple.header {\n  color: #DC73FF !important;\n}\na.ui.inverted.purple.header:hover {\n  color: #d65aff !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.header {\n  color: #E03997 !important;\n}\na.ui.pink.header:hover {\n  color: #e61a8d !important;\n}\n.ui.pink.dividing.header {\n  border-bottom: 2px solid #E03997;\n}\n\n/* Inverted */\n.ui.inverted.pink.header {\n  color: #FF8EDF !important;\n}\na.ui.inverted.pink.header:hover {\n  color: #ff74d8 !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.header {\n  color: #A5673F !important;\n}\na.ui.brown.header:hover {\n  color: #975b33 !important;\n}\n.ui.brown.dividing.header {\n  border-bottom: 2px solid #A5673F;\n}\n\n/* Inverted */\n.ui.inverted.brown.header {\n  color: #D67C1C !important;\n}\na.ui.inverted.brown.header:hover {\n  color: #c86f11 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.header {\n  color: #767676 !important;\n}\na.ui.grey.header:hover {\n  color: #838383 !important;\n}\n.ui.grey.dividing.header {\n  border-bottom: 2px solid #767676;\n}\n\n/* Inverted */\n.ui.inverted.grey.header {\n  color: #DCDDDE !important;\n}\na.ui.inverted.grey.header:hover {\n  color: #cfd0d2 !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.left.aligned.header {\n  text-align: left;\n}\n.ui.right.aligned.header {\n  text-align: right;\n}\n.ui.centered.header,\n.ui.center.aligned.header {\n  text-align: center;\n}\n.ui.justified.header {\n  text-align: justify;\n}\n.ui.justified.header:after {\n  display: inline-block;\n  content: '';\n  width: 100%;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.header,\n.ui[class*=\"left floated\"].header {\n  float: left;\n  margin-top: 0em;\n  margin-right: 0.5em;\n}\n.ui[class*=\"right floated\"].header {\n  float: right;\n  margin-top: 0em;\n  margin-left: 0.5em;\n}\n\n/*-------------------\n       Fittted\n--------------------*/\n\n.ui.fitted.header {\n  padding: 0em;\n}\n\n/*-------------------\n      Dividing\n--------------------*/\n\n.ui.dividing.header {\n  padding-bottom: 0.21428571rem;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.dividing.header .sub.header {\n  padding-bottom: 0.21428571rem;\n}\n.ui.dividing.header .icon {\n  margin-bottom: 0em;\n}\n.ui.inverted.dividing.header {\n  border-bottom-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Block\n--------------------*/\n\n.ui.block.header {\n  background: #F3F4F5;\n  padding: 0.71428571rem 1rem;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n  border-radius: 0.28571429rem;\n}\n.ui.tiny.block.header {\n  font-size: 0.85714286rem;\n}\n.ui.small.block.header {\n  font-size: 0.92857143rem;\n}\n.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1rem;\n}\n.ui.large.block.header {\n  font-size: 1.14285714rem;\n}\n.ui.huge.block.header {\n  font-size: 1.42857143rem;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n.ui.attached.header {\n  background: #FFFFFF;\n  padding: 0.71428571rem 1rem;\n  margin-left: -1px;\n  margin-right: -1px;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n.ui.attached.block.header {\n  background: #F3F4F5;\n}\n.ui.attached:not(.top):not(.bottom).header {\n  margin-top: 0em;\n  margin-bottom: 0em;\n  border-top: none;\n  border-radius: 0em;\n}\n.ui.top.attached.header {\n  margin-bottom: 0em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.bottom.attached.header {\n  margin-top: 0em;\n  border-top: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Attached Sizes */\n.ui.tiny.attached.header {\n  font-size: 0.85714286em;\n}\n.ui.small.attached.header {\n  font-size: 0.92857143em;\n}\n.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1em;\n}\n.ui.large.attached.header {\n  font-size: 1.14285714em;\n}\n.ui.huge.attached.header {\n  font-size: 1.42857143em;\n}\n\n/*-------------------\n        Sizing\n--------------------*/\n\n.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1.28em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/icon.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Icon\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Icon\n*******************************/\n\n@font-face {\n  font-family: 'Icons';\n  src: url(\"../themes/default/assets/fonts/icons.eot\");\n  src: url(\"../themes/default/assets/fonts/icons.eot?#iefix\") format('embedded-opentype'), url(\"../themes/default/assets/fonts/icons.woff2\") format('woff2'), url(\"../themes/default/assets/fonts/icons.woff\") format('woff'), url(\"../themes/default/assets/fonts/icons.ttf\") format('truetype'), url(\"../themes/default/assets/fonts/icons.svg#icons\") format('svg');\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-decoration: inherit;\n  text-transform: none;\n}\ni.icon {\n  display: inline-block;\n  opacity: 1;\n  margin: 0em 0.25rem 0em 0em;\n  width: 1.18em;\n  height: 1em;\n  font-family: 'Icons';\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  text-align: center;\n  speak: none;\n  font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\ni.icon:before {\n  background: none !important;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n    Loading\n---------------*/\n\ni.icon.loading {\n  height: 1em;\n  line-height: 1;\n  -webkit-animation: icon-loading 2s linear infinite;\n          animation: icon-loading 2s linear infinite;\n}\n@-webkit-keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\ni.icon.hover {\n  opacity: 1 !important;\n}\ni.icon.active {\n  opacity: 1 !important;\n}\ni.emphasized.icon {\n  opacity: 1 !important;\n}\ni.disabled.icon {\n  opacity: 0.45 !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n        Fitted\n--------------------*/\n\ni.fitted.icon {\n  width: auto;\n  margin: 0em;\n}\n\n/*-------------------\n         Link\n--------------------*/\n\ni.link.icon {\n  cursor: pointer;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\ni.link.icon:hover {\n  opacity: 1 !important;\n}\n\n/*-------------------\n      Circular\n--------------------*/\n\ni.circular.icon {\n  border-radius: 500em !important;\n  line-height: 1 !important;\n  padding: 0.5em 0.5em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n  width: 2em !important;\n  height: 2em !important;\n}\ni.circular.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Flipped\n--------------------*/\n\ni.flipped.icon,\ni.horizontally.flipped.icon {\n  -webkit-transform: scale(-1, 1);\n      -ms-transform: scale(-1, 1);\n          transform: scale(-1, 1);\n}\ni.vertically.flipped.icon {\n  -webkit-transform: scale(1, -1);\n      -ms-transform: scale(1, -1);\n          transform: scale(1, -1);\n}\n\n/*-------------------\n      Rotated\n--------------------*/\n\ni.rotated.icon,\ni.right.rotated.icon,\ni.clockwise.rotated.icon {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\ni.left.rotated.icon,\ni.counterclockwise.rotated.icon {\n  -webkit-transform: rotate(-90deg);\n      -ms-transform: rotate(-90deg);\n          transform: rotate(-90deg);\n}\n\n/*-------------------\n      Bordered\n--------------------*/\n\ni.bordered.icon {\n  line-height: 1;\n  vertical-align: baseline;\n  width: 2em;\n  height: 2em;\n  padding: 0.5em 0.41em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n}\ni.bordered.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n\n/* Inverted Shapes */\ni.inverted.bordered.icon,\ni.inverted.circular.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\ni.inverted.icon {\n  color: #FFFFFF;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\ni.red.icon {\n  color: #DB2828 !important;\n}\ni.inverted.red.icon {\n  color: #FF695E !important;\n}\ni.inverted.bordered.red.icon,\ni.inverted.circular.red.icon {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\ni.orange.icon {\n  color: #F2711C !important;\n}\ni.inverted.orange.icon {\n  color: #FF851B !important;\n}\ni.inverted.bordered.orange.icon,\ni.inverted.circular.orange.icon {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\ni.yellow.icon {\n  color: #FBBD08 !important;\n}\ni.inverted.yellow.icon {\n  color: #FFE21F !important;\n}\ni.inverted.bordered.yellow.icon,\ni.inverted.circular.yellow.icon {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\ni.olive.icon {\n  color: #B5CC18 !important;\n}\ni.inverted.olive.icon {\n  color: #D9E778 !important;\n}\ni.inverted.bordered.olive.icon,\ni.inverted.circular.olive.icon {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\ni.green.icon {\n  color: #21BA45 !important;\n}\ni.inverted.green.icon {\n  color: #2ECC40 !important;\n}\ni.inverted.bordered.green.icon,\ni.inverted.circular.green.icon {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\ni.teal.icon {\n  color: #00B5AD !important;\n}\ni.inverted.teal.icon {\n  color: #6DFFFF !important;\n}\ni.inverted.bordered.teal.icon,\ni.inverted.circular.teal.icon {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\ni.blue.icon {\n  color: #2185D0 !important;\n}\ni.inverted.blue.icon {\n  color: #54C8FF !important;\n}\ni.inverted.bordered.blue.icon,\ni.inverted.circular.blue.icon {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\ni.violet.icon {\n  color: #6435C9 !important;\n}\ni.inverted.violet.icon {\n  color: #A291FB !important;\n}\ni.inverted.bordered.violet.icon,\ni.inverted.circular.violet.icon {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\ni.purple.icon {\n  color: #A333C8 !important;\n}\ni.inverted.purple.icon {\n  color: #DC73FF !important;\n}\ni.inverted.bordered.purple.icon,\ni.inverted.circular.purple.icon {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\ni.pink.icon {\n  color: #E03997 !important;\n}\ni.inverted.pink.icon {\n  color: #FF8EDF !important;\n}\ni.inverted.bordered.pink.icon,\ni.inverted.circular.pink.icon {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\ni.brown.icon {\n  color: #A5673F !important;\n}\ni.inverted.brown.icon {\n  color: #D67C1C !important;\n}\ni.inverted.bordered.brown.icon,\ni.inverted.circular.brown.icon {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\ni.grey.icon {\n  color: #767676 !important;\n}\ni.inverted.grey.icon {\n  color: #DCDDDE !important;\n}\ni.inverted.bordered.grey.icon,\ni.inverted.circular.grey.icon {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\ni.black.icon {\n  color: #1B1C1D !important;\n}\ni.inverted.black.icon {\n  color: #545454 !important;\n}\ni.inverted.bordeblack.black.icon,\ni.inverted.circular.black.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\ni.mini.icon,\ni.mini.icons {\n  line-height: 1;\n  font-size: 0.71428571rem;\n}\ni.tiny.icon,\ni.tiny.icons {\n  line-height: 1;\n  font-size: 0.85714286rem;\n}\ni.small.icon,\ni.small.icons {\n  line-height: 1;\n  font-size: 0.92857143em;\n}\ni.icon,\ni.icons {\n  font-size: 1em;\n}\ni.large.icon,\ni.large.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 1.5em;\n}\ni.big.icon,\ni.big.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 2em;\n}\ni.huge.icon,\ni.huge.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 4em;\n}\ni.massive.icon,\ni.massive.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 8em;\n}\n\n\n/*******************************\n            Groups\n*******************************/\n\ni.icons {\n  display: inline-block;\n  position: relative;\n  line-height: 1;\n}\ni.icons .icon {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  margin: 0em;\n  margin: 0;\n}\ni.icons .icon:first-child {\n  position: static;\n  width: auto;\n  height: auto;\n  vertical-align: top;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  margin-right: 0.25rem;\n}\n\n/* Corner Icon */\ni.icons .corner.icon {\n  top: auto;\n  left: auto;\n  right: 0;\n  bottom: 0;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  font-size: 0.45em;\n  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;\n}\ni.icons .inverted.corner.icon {\n  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;\n}\n/*\n * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n\n/*******************************\n\nSemantic-UI integration of font-awesome :\n\n///class names are separated\ni.icon.circle => i.icon.circle\ni.icon.circle-o => i.icon.circle.outline\n\n//abbreviation are replaced by full letters:\ni.icon.ellipsis-h => i.icon.ellipsis.horizontal\ni.icon.ellipsis-v => i.icon.ellipsis.vertical\n.alpha => .i.icon.alphabet\n.asc => .i.icon.ascending\n.desc => .i.icon.descending\n.alt =>.alternate\n\nASCII order is conserved for easier maintenance.\n\nIcons that only have one style 'outline', 'square' etc do not require this class\nfor instance `lemon icon` not `lemon outline icon` since there is only one lemon\n\n*******************************/\n\n\n\n/*******************************\n            Icons\n*******************************/\n\n\n/* Web Content */\ni.icon.search:before {\n  content: \"\\f002\";\n}\ni.icon.mail.outline:before {\n  content: \"\\f003\";\n}\ni.icon.external:before {\n  content: \"\\f08e\";\n}\ni.icon.signal:before {\n  content: \"\\f012\";\n}\ni.icon.setting:before {\n  content: \"\\f013\";\n}\ni.icon.home:before {\n  content: \"\\f015\";\n}\ni.icon.inbox:before {\n  content: \"\\f01c\";\n}\ni.icon.browser:before {\n  content: \"\\f022\";\n}\ni.icon.tag:before {\n  content: \"\\f02b\";\n}\ni.icon.tags:before {\n  content: \"\\f02c\";\n}\ni.icon.calendar:before {\n  content: \"\\f073\";\n}\ni.icon.comment:before {\n  content: \"\\f075\";\n}\ni.icon.comments:before {\n  content: \"\\f086\";\n}\ni.icon.shop:before {\n  content: \"\\f07a\";\n}\ni.icon.privacy:before {\n  content: \"\\f084\";\n}\ni.icon.settings:before {\n  content: \"\\f085\";\n}\ni.icon.trophy:before {\n  content: \"\\f091\";\n}\ni.icon.payment:before {\n  content: \"\\f09d\";\n}\ni.icon.feed:before {\n  content: \"\\f09e\";\n}\ni.icon.alarm.outline:before {\n  content: \"\\f0a2\";\n}\ni.icon.tasks:before {\n  content: \"\\f0ae\";\n}\ni.icon.cloud:before {\n  content: \"\\f0c2\";\n}\ni.icon.lab:before {\n  content: \"\\f0c3\";\n}\ni.icon.mail:before {\n  content: \"\\f0e0\";\n}\ni.icon.idea:before {\n  content: \"\\f0eb\";\n}\ni.icon.dashboard:before {\n  content: \"\\f0e4\";\n}\ni.icon.sitemap:before {\n  content: \"\\f0e8\";\n}\ni.icon.alarm:before {\n  content: \"\\f0f3\";\n}\ni.icon.terminal:before {\n  content: \"\\f120\";\n}\ni.icon.code:before {\n  content: \"\\f121\";\n}\ni.icon.protect:before {\n  content: \"\\f132\";\n}\ni.icon.calendar.outline:before {\n  content: \"\\f133\";\n}\ni.icon.ticket:before {\n  content: \"\\f145\";\n}\ni.icon.external.square:before {\n  content: \"\\f14c\";\n}\ni.icon.map:before {\n  content: \"\\f14e\";\n}\ni.icon.bug:before {\n  content: \"\\f188\";\n}\ni.icon.mail.square:before {\n  content: \"\\f199\";\n}\ni.icon.history:before {\n  content: \"\\f1da\";\n}\ni.icon.options:before {\n  content: \"\\f1de\";\n}\ni.icon.comment.outline:before {\n  content: \"\\f0e5\";\n}\ni.icon.comments.outline:before {\n  content: \"\\f0e6\";\n}\ni.icon.text.telephone:before {\n  content: \"\\f1e4\";\n}\ni.icon.find:before {\n  content: \"\\f1e5\";\n}\ni.icon.wifi:before {\n  content: \"\\f1eb\";\n}\ni.icon.alarm.slash:before {\n  content: \"\\f1f6\";\n}\ni.icon.alarm.slash.outline:before {\n  content: \"\\f1f7\";\n}\ni.icon.copyright:before {\n  content: \"\\f1f9\";\n}\ni.icon.at:before {\n  content: \"\\f1fa\";\n}\ni.icon.eyedropper:before {\n  content: \"\\f1fb\";\n}\ni.icon.paint.brush:before {\n  content: \"\\f1fc\";\n}\ni.icon.heartbeat:before {\n  content: \"\\f21e\";\n}\n\n/* User Actions */\ni.icon.download:before {\n  content: \"\\f019\";\n}\ni.icon.repeat:before {\n  content: \"\\f01e\";\n}\ni.icon.refresh:before {\n  content: \"\\f021\";\n}\ni.icon.lock:before {\n  content: \"\\f023\";\n}\ni.icon.bookmark:before {\n  content: \"\\f02e\";\n}\ni.icon.print:before {\n  content: \"\\f02f\";\n}\ni.icon.write:before {\n  content: \"\\f040\";\n}\ni.icon.theme:before {\n  content: \"\\f043\";\n}\ni.icon.adjust:before {\n  content: \"\\f042\";\n}\ni.icon.edit:before {\n  content: \"\\f044\";\n}\ni.icon.external.share:before {\n  content: \"\\f045\";\n}\ni.icon.ban:before {\n  content: \"\\f05e\";\n}\ni.icon.mail.forward:before {\n  content: \"\\f064\";\n}\ni.icon.share:before {\n  content: \"\\f064\";\n}\ni.icon.expand:before {\n  content: \"\\f065\";\n}\ni.icon.compress:before {\n  content: \"\\f066\";\n}\ni.icon.unhide:before {\n  content: \"\\f06e\";\n}\ni.icon.hide:before {\n  content: \"\\f070\";\n}\ni.icon.random:before {\n  content: \"\\f074\";\n}\ni.icon.retweet:before {\n  content: \"\\f079\";\n}\ni.icon.sign.out:before {\n  content: \"\\f08b\";\n}\ni.icon.pin:before {\n  content: \"\\f08d\";\n}\ni.icon.sign.in:before {\n  content: \"\\f090\";\n}\ni.icon.upload:before {\n  content: \"\\f093\";\n}\ni.icon.call:before {\n  content: \"\\f095\";\n}\ni.icon.call.square:before {\n  content: \"\\f098\";\n}\ni.icon.remove.bookmark:before {\n  content: \"\\f097\";\n}\ni.icon.unlock:before {\n  content: \"\\f09c\";\n}\ni.icon.configure:before {\n  content: \"\\f0ad\";\n}\ni.icon.filter:before {\n  content: \"\\f0b0\";\n}\ni.icon.wizard:before {\n  content: \"\\f0d0\";\n}\ni.icon.undo:before {\n  content: \"\\f0e2\";\n}\ni.icon.exchange:before {\n  content: \"\\f0ec\";\n}\ni.icon.cloud.download:before {\n  content: \"\\f0ed\";\n}\ni.icon.cloud.upload:before {\n  content: \"\\f0ee\";\n}\ni.icon.reply:before {\n  content: \"\\f112\";\n}\ni.icon.reply.all:before {\n  content: \"\\f122\";\n}\ni.icon.erase:before {\n  content: \"\\f12d\";\n}\ni.icon.unlock.alternate:before {\n  content: \"\\f13e\";\n}\ni.icon.archive:before {\n  content: \"\\f187\";\n}\ni.icon.translate:before {\n  content: \"\\f1ab\";\n}\ni.icon.recycle:before {\n  content: \"\\f1b8\";\n}\ni.icon.send:before {\n  content: \"\\f1d8\";\n}\ni.icon.send.outline:before {\n  content: \"\\f1d9\";\n}\ni.icon.share.alternate:before {\n  content: \"\\f1e0\";\n}\ni.icon.share.alternate.square:before {\n  content: \"\\f1e1\";\n}\ni.icon.wait:before {\n  content: \"\\f017\";\n}\ni.icon.write.square:before {\n  content: \"\\f14b\";\n}\ni.icon.share.square:before {\n  content: \"\\f14d\";\n}\ni.icon.add.to.cart:before {\n  content: \"\\f217\";\n}\ni.icon.in.cart:before {\n  content: \"\\f218\";\n}\ni.icon.add.user:before {\n  content: \"\\f234\";\n}\ni.icon.remove.user:before {\n  content: \"\\f235\";\n}\n\n/* Messages */\ni.icon.help.circle:before {\n  content: \"\\f059\";\n}\ni.icon.info.circle:before {\n  content: \"\\f05a\";\n}\ni.icon.warning:before {\n  content: \"\\f12a\";\n}\ni.icon.warning.circle:before {\n  content: \"\\f06a\";\n}\ni.icon.warning.sign:before {\n  content: \"\\f071\";\n}\ni.icon.help:before {\n  content: \"\\f128\";\n}\ni.icon.info:before {\n  content: \"\\f129\";\n}\ni.icon.announcement:before {\n  content: \"\\f0a1\";\n}\ni.icon.birthday:before {\n  content: \"\\f1fd\";\n}\n\n/* Users */\ni.icon.users:before {\n  content: \"\\f0c0\";\n}\ni.icon.doctor:before {\n  content: \"\\f0f0\";\n}\ni.icon.child:before {\n  content: \"\\f1ae\";\n}\ni.icon.user:before {\n  content: \"\\f007\";\n}\ni.icon.handicap:before {\n  content: \"\\f193\";\n}\ni.icon.student:before {\n  content: \"\\f19d\";\n}\ni.icon.spy:before {\n  content: \"\\f21b\";\n}\n\n/* Gender & Sexuality */\ni.icon.female:before {\n  content: \"\\f182\";\n}\ni.icon.male:before {\n  content: \"\\f183\";\n}\ni.icon.woman:before {\n  content: \"\\f221\";\n}\ni.icon.man:before {\n  content: \"\\f222\";\n}\ni.icon.non.binary.transgender:before {\n  content: \"\\f223\";\n}\ni.icon.intergender:before {\n  content: \"\\f224\";\n}\ni.icon.transgender:before {\n  content: \"\\f225\";\n}\ni.icon.lesbian:before {\n  content: \"\\f226\";\n}\ni.icon.gay:before {\n  content: \"\\f227\";\n}\ni.icon.heterosexual:before {\n  content: \"\\f228\";\n}\ni.icon.other.gender:before {\n  content: \"\\f229\";\n}\ni.icon.other.gender.vertical:before {\n  content: \"\\f22a\";\n}\ni.icon.other.gender.horizontal:before {\n  content: \"\\f22b\";\n}\ni.icon.neuter:before {\n  content: \"\\f22c\";\n}\n\n/* View Adjustment */\ni.icon.grid.layout:before {\n  content: \"\\f00a\";\n}\ni.icon.list.layout:before {\n  content: \"\\f00b\";\n}\ni.icon.block.layout:before {\n  content: \"\\f009\";\n}\ni.icon.zoom:before {\n  content: \"\\f00e\";\n}\ni.icon.zoom.out:before {\n  content: \"\\f010\";\n}\ni.icon.resize.vertical:before {\n  content: \"\\f07d\";\n}\ni.icon.resize.horizontal:before {\n  content: \"\\f07e\";\n}\ni.icon.maximize:before {\n  content: \"\\f0b2\";\n}\ni.icon.crop:before {\n  content: \"\\f125\";\n}\n\n/* Literal Objects */\ni.icon.cocktail:before {\n  content: \"\\f000\";\n}\ni.icon.road:before {\n  content: \"\\f018\";\n}\ni.icon.flag:before {\n  content: \"\\f024\";\n}\ni.icon.book:before {\n  content: \"\\f02d\";\n}\ni.icon.gift:before {\n  content: \"\\f06b\";\n}\ni.icon.leaf:before {\n  content: \"\\f06c\";\n}\ni.icon.fire:before {\n  content: \"\\f06d\";\n}\ni.icon.plane:before {\n  content: \"\\f072\";\n}\ni.icon.magnet:before {\n  content: \"\\f076\";\n}\ni.icon.legal:before {\n  content: \"\\f0e3\";\n}\ni.icon.lemon:before {\n  content: \"\\f094\";\n}\ni.icon.world:before {\n  content: \"\\f0ac\";\n}\ni.icon.travel:before {\n  content: \"\\f0b1\";\n}\ni.icon.shipping:before {\n  content: \"\\f0d1\";\n}\ni.icon.money:before {\n  content: \"\\f0d6\";\n}\ni.icon.lightning:before {\n  content: \"\\f0e7\";\n}\ni.icon.rain:before {\n  content: \"\\f0e9\";\n}\ni.icon.treatment:before {\n  content: \"\\f0f1\";\n}\ni.icon.suitcase:before {\n  content: \"\\f0f2\";\n}\ni.icon.bar:before {\n  content: \"\\f0fc\";\n}\ni.icon.flag.outline:before {\n  content: \"\\f11d\";\n}\ni.icon.flag.checkered:before {\n  content: \"\\f11e\";\n}\ni.icon.puzzle:before {\n  content: \"\\f12e\";\n}\ni.icon.fire.extinguisher:before {\n  content: \"\\f134\";\n}\ni.icon.rocket:before {\n  content: \"\\f135\";\n}\ni.icon.anchor:before {\n  content: \"\\f13d\";\n}\ni.icon.bullseye:before {\n  content: \"\\f140\";\n}\ni.icon.sun:before {\n  content: \"\\f185\";\n}\ni.icon.moon:before {\n  content: \"\\f186\";\n}\ni.icon.fax:before {\n  content: \"\\f1ac\";\n}\ni.icon.life.ring:before {\n  content: \"\\f1cd\";\n}\ni.icon.bomb:before {\n  content: \"\\f1e2\";\n}\ni.icon.soccer:before {\n  content: \"\\f1e3\";\n}\ni.icon.calculator:before {\n  content: \"\\f1ec\";\n}\ni.icon.diamond:before {\n  content: \"\\f219\";\n}\n\n/* Shapes */\ni.icon.crosshairs:before {\n  content: \"\\f05b\";\n}\ni.icon.asterisk:before {\n  content: \"\\f069\";\n}\ni.icon.certificate:before {\n  content: \"\\f0a3\";\n}\ni.icon.circle:before {\n  content: \"\\f111\";\n}\ni.icon.quote.left:before {\n  content: \"\\f10d\";\n}\ni.icon.quote.right:before {\n  content: \"\\f10e\";\n}\ni.icon.ellipsis.horizontal:before {\n  content: \"\\f141\";\n}\ni.icon.ellipsis.vertical:before {\n  content: \"\\f142\";\n}\ni.icon.cube:before {\n  content: \"\\f1b2\";\n}\ni.icon.cubes:before {\n  content: \"\\f1b3\";\n}\ni.icon.circle.notched:before {\n  content: \"\\f1ce\";\n}\ni.icon.circle.thin:before {\n  content: \"\\f1db\";\n}\ni.icon.square.outline:before {\n  content: \"\\f096\";\n}\ni.icon.square:before {\n  content: \"\\f0c8\";\n}\n\n/* Item Selection */\ni.icon.checkmark:before {\n  content: \"\\f00c\";\n}\ni.icon.remove:before {\n  content: \"\\f00d\";\n}\ni.icon.checkmark.box:before {\n  content: \"\\f046\";\n}\ni.icon.move:before {\n  content: \"\\f047\";\n}\ni.icon.add.circle:before {\n  content: \"\\f055\";\n}\ni.icon.minus.circle:before {\n  content: \"\\f056\";\n}\ni.icon.remove.circle:before {\n  content: \"\\f057\";\n}\ni.icon.check.circle:before {\n  content: \"\\f058\";\n}\ni.icon.remove.circle.outline:before {\n  content: \"\\f05c\";\n}\ni.icon.check.circle.outline:before {\n  content: \"\\f05d\";\n}\ni.icon.plus:before {\n  content: \"\\f067\";\n}\ni.icon.minus:before {\n  content: \"\\f068\";\n}\ni.icon.add.square:before {\n  content: \"\\f0fe\";\n}\ni.icon.radio:before {\n  content: \"\\f10c\";\n}\ni.icon.selected.radio:before {\n  content: \"\\f192\";\n}\ni.icon.minus.square:before {\n  content: \"\\f146\";\n}\ni.icon.minus.square.outline:before {\n  content: \"\\f147\";\n}\ni.icon.check.square:before {\n  content: \"\\f14a\";\n}\ni.icon.plus.square.outline:before {\n  content: \"\\f196\";\n}\ni.icon.toggle.off:before {\n  content: \"\\f204\";\n}\ni.icon.toggle.on:before {\n  content: \"\\f205\";\n}\n\n/* Media */\ni.icon.film:before {\n  content: \"\\f008\";\n}\ni.icon.sound:before {\n  content: \"\\f025\";\n}\ni.icon.photo:before {\n  content: \"\\f030\";\n}\ni.icon.bar.chart:before {\n  content: \"\\f080\";\n}\ni.icon.camera.retro:before {\n  content: \"\\f083\";\n}\ni.icon.newspaper:before {\n  content: \"\\f1ea\";\n}\ni.icon.area.chart:before {\n  content: \"\\f1fe\";\n}\ni.icon.pie.chart:before {\n  content: \"\\f200\";\n}\ni.icon.line.chart:before {\n  content: \"\\f201\";\n}\n\n/* Pointers */\ni.icon.arrow.circle.outline.down:before {\n  content: \"\\f01a\";\n}\ni.icon.arrow.circle.outline.up:before {\n  content: \"\\f01b\";\n}\ni.icon.chevron.left:before {\n  content: \"\\f053\";\n}\ni.icon.chevron.right:before {\n  content: \"\\f054\";\n}\ni.icon.arrow.left:before {\n  content: \"\\f060\";\n}\ni.icon.arrow.right:before {\n  content: \"\\f061\";\n}\ni.icon.arrow.up:before {\n  content: \"\\f062\";\n}\ni.icon.arrow.down:before {\n  content: \"\\f063\";\n}\ni.icon.chevron.up:before {\n  content: \"\\f077\";\n}\ni.icon.chevron.down:before {\n  content: \"\\f078\";\n}\ni.icon.pointing.right:before {\n  content: \"\\f0a4\";\n}\ni.icon.pointing.left:before {\n  content: \"\\f0a5\";\n}\ni.icon.pointing.up:before {\n  content: \"\\f0a6\";\n}\ni.icon.pointing.down:before {\n  content: \"\\f0a7\";\n}\ni.icon.arrow.circle.left:before {\n  content: \"\\f0a8\";\n}\ni.icon.arrow.circle.right:before {\n  content: \"\\f0a9\";\n}\ni.icon.arrow.circle.up:before {\n  content: \"\\f0aa\";\n}\ni.icon.arrow.circle.down:before {\n  content: \"\\f0ab\";\n}\ni.icon.caret.down:before {\n  content: \"\\f0d7\";\n}\ni.icon.caret.up:before {\n  content: \"\\f0d8\";\n}\ni.icon.caret.left:before {\n  content: \"\\f0d9\";\n}\ni.icon.caret.right:before {\n  content: \"\\f0da\";\n}\ni.icon.angle.double.left:before {\n  content: \"\\f100\";\n}\ni.icon.angle.double.right:before {\n  content: \"\\f101\";\n}\ni.icon.angle.double.up:before {\n  content: \"\\f102\";\n}\ni.icon.angle.double.down:before {\n  content: \"\\f103\";\n}\ni.icon.angle.left:before {\n  content: \"\\f104\";\n}\ni.icon.angle.right:before {\n  content: \"\\f105\";\n}\ni.icon.angle.up:before {\n  content: \"\\f106\";\n}\ni.icon.angle.down:before {\n  content: \"\\f107\";\n}\ni.icon.chevron.circle.left:before {\n  content: \"\\f137\";\n}\ni.icon.chevron.circle.right:before {\n  content: \"\\f138\";\n}\ni.icon.chevron.circle.up:before {\n  content: \"\\f139\";\n}\ni.icon.chevron.circle.down:before {\n  content: \"\\f13a\";\n}\ni.icon.toggle.down:before {\n  content: \"\\f150\";\n}\ni.icon.toggle.up:before {\n  content: \"\\f151\";\n}\ni.icon.toggle.right:before {\n  content: \"\\f152\";\n}\ni.icon.long.arrow.down:before {\n  content: \"\\f175\";\n}\ni.icon.long.arrow.up:before {\n  content: \"\\f176\";\n}\ni.icon.long.arrow.left:before {\n  content: \"\\f177\";\n}\ni.icon.long.arrow.right:before {\n  content: \"\\f178\";\n}\ni.icon.arrow.circle.outline.right:before {\n  content: \"\\f18e\";\n}\ni.icon.arrow.circle.outline.left:before {\n  content: \"\\f190\";\n}\ni.icon.toggle.left:before {\n  content: \"\\f191\";\n}\n\n/* Computer */\ni.icon.power:before {\n  content: \"\\f011\";\n}\ni.icon.trash:before {\n  content: \"\\f1f8\";\n}\ni.icon.trash.outline:before {\n  content: \"\\f014\";\n}\ni.icon.disk.outline:before {\n  content: \"\\f0a0\";\n}\ni.icon.desktop:before {\n  content: \"\\f108\";\n}\ni.icon.laptop:before {\n  content: \"\\f109\";\n}\ni.icon.tablet:before {\n  content: \"\\f10a\";\n}\ni.icon.mobile:before {\n  content: \"\\f10b\";\n}\ni.icon.game:before {\n  content: \"\\f11b\";\n}\ni.icon.keyboard:before {\n  content: \"\\f11c\";\n}\ni.icon.plug:before {\n  content: \"\\f1e6\";\n}\n\n/* File System */\ni.icon.folder:before {\n  content: \"\\f07b\";\n}\ni.icon.folder.open:before {\n  content: \"\\f07c\";\n}\ni.icon.level.up:before {\n  content: \"\\f148\";\n}\ni.icon.level.down:before {\n  content: \"\\f149\";\n}\ni.icon.file:before {\n  content: \"\\f15b\";\n}\ni.icon.file.outline:before {\n  content: \"\\f016\";\n}\ni.icon.file.text:before {\n  content: \"\\f15c\";\n}\ni.icon.file.text.outline:before {\n  content: \"\\f0f6\";\n}\ni.icon.folder.outline:before {\n  content: \"\\f114\";\n}\ni.icon.folder.open.outline:before {\n  content: \"\\f115\";\n}\ni.icon.file.pdf.outline:before {\n  content: \"\\f1c1\";\n}\ni.icon.file.word.outline:before {\n  content: \"\\f1c2\";\n}\ni.icon.file.excel.outline:before {\n  content: \"\\f1c3\";\n}\ni.icon.file.powerpoint.outline:before {\n  content: \"\\f1c4\";\n}\ni.icon.file.image.outline:before {\n  content: \"\\f1c5\";\n}\ni.icon.file.archive.outline:before {\n  content: \"\\f1c6\";\n}\ni.icon.file.audio.outline:before {\n  content: \"\\f1c7\";\n}\ni.icon.file.video.outline:before {\n  content: \"\\f1c8\";\n}\ni.icon.file.code.outline:before {\n  content: \"\\f1c9\";\n}\n\n/* Technologies */\ni.icon.barcode:before {\n  content: \"\\f02a\";\n}\ni.icon.qrcode:before {\n  content: \"\\f029\";\n}\ni.icon.fork:before {\n  content: \"\\f126\";\n}\ni.icon.html5:before {\n  content: \"\\f13b\";\n}\ni.icon.css3:before {\n  content: \"\\f13c\";\n}\ni.icon.rss:before {\n  content: \"\\f09e\";\n}\ni.icon.rss.square:before {\n  content: \"\\f143\";\n}\ni.icon.openid:before {\n  content: \"\\f19b\";\n}\ni.icon.database:before {\n  content: \"\\f1c0\";\n}\ni.icon.server:before {\n  content: \"\\f233\";\n}\n\n/* Rating */\ni.icon.heart:before {\n  content: \"\\f004\";\n}\ni.icon.star:before {\n  content: \"\\f005\";\n}\ni.icon.empty.star:before {\n  content: \"\\f006\";\n}\ni.icon.thumbs.outline.up:before {\n  content: \"\\f087\";\n}\ni.icon.thumbs.outline.down:before {\n  content: \"\\f088\";\n}\ni.icon.star.half:before {\n  content: \"\\f089\";\n}\ni.icon.empty.heart:before {\n  content: \"\\f08a\";\n}\ni.icon.smile:before {\n  content: \"\\f118\";\n}\ni.icon.frown:before {\n  content: \"\\f119\";\n}\ni.icon.meh:before {\n  content: \"\\f11a\";\n}\ni.icon.star.half.empty:before {\n  content: \"\\f123\";\n}\ni.icon.thumbs.up:before {\n  content: \"\\f164\";\n}\ni.icon.thumbs.down:before {\n  content: \"\\f165\";\n}\n\n/* Audio */\ni.icon.music:before {\n  content: \"\\f001\";\n}\ni.icon.video.play.outline:before {\n  content: \"\\f01d\";\n}\ni.icon.volume.off:before {\n  content: \"\\f026\";\n}\ni.icon.volume.down:before {\n  content: \"\\f027\";\n}\ni.icon.volume.up:before {\n  content: \"\\f028\";\n}\ni.icon.record:before {\n  content: \"\\f03d\";\n}\ni.icon.step.backward:before {\n  content: \"\\f048\";\n}\ni.icon.fast.backward:before {\n  content: \"\\f049\";\n}\ni.icon.backward:before {\n  content: \"\\f04a\";\n}\ni.icon.play:before {\n  content: \"\\f04b\";\n}\ni.icon.pause:before {\n  content: \"\\f04c\";\n}\ni.icon.stop:before {\n  content: \"\\f04d\";\n}\ni.icon.forward:before {\n  content: \"\\f04e\";\n}\ni.icon.fast.forward:before {\n  content: \"\\f050\";\n}\ni.icon.step.forward:before {\n  content: \"\\f051\";\n}\ni.icon.eject:before {\n  content: \"\\f052\";\n}\ni.icon.unmute:before {\n  content: \"\\f130\";\n}\ni.icon.mute:before {\n  content: \"\\f131\";\n}\ni.icon.video.play:before {\n  content: \"\\f144\";\n}\ni.icon.closed.captioning:before {\n  content: \"\\f20a\";\n}\n\n/* Map, Locations, & Transportation */\ni.icon.marker:before {\n  content: \"\\f041\";\n}\ni.icon.coffee:before {\n  content: \"\\f0f4\";\n}\ni.icon.food:before {\n  content: \"\\f0f5\";\n}\ni.icon.building.outline:before {\n  content: \"\\f0f7\";\n}\ni.icon.hospital:before {\n  content: \"\\f0f8\";\n}\ni.icon.emergency:before {\n  content: \"\\f0f9\";\n}\ni.icon.first.aid:before {\n  content: \"\\f0fa\";\n}\ni.icon.military:before {\n  content: \"\\f0fb\";\n}\ni.icon.h:before {\n  content: \"\\f0fd\";\n}\ni.icon.location.arrow:before {\n  content: \"\\f124\";\n}\ni.icon.space.shuttle:before {\n  content: \"\\f197\";\n}\ni.icon.university:before {\n  content: \"\\f19c\";\n}\ni.icon.building:before {\n  content: \"\\f1ad\";\n}\ni.icon.paw:before {\n  content: \"\\f1b0\";\n}\ni.icon.spoon:before {\n  content: \"\\f1b1\";\n}\ni.icon.car:before {\n  content: \"\\f1b9\";\n}\ni.icon.taxi:before {\n  content: \"\\f1ba\";\n}\ni.icon.tree:before {\n  content: \"\\f1bb\";\n}\ni.icon.bicycle:before {\n  content: \"\\f206\";\n}\ni.icon.bus:before {\n  content: \"\\f207\";\n}\ni.icon.ship:before {\n  content: \"\\f21a\";\n}\ni.icon.motorcycle:before {\n  content: \"\\f21c\";\n}\ni.icon.street.view:before {\n  content: \"\\f21d\";\n}\ni.icon.hotel:before {\n  content: \"\\f236\";\n}\ni.icon.train:before {\n  content: \"\\f238\";\n}\ni.icon.subway:before {\n  content: \"\\f239\";\n}\n\n/* Tables */\ni.icon.table:before {\n  content: \"\\f0ce\";\n}\ni.icon.columns:before {\n  content: \"\\f0db\";\n}\ni.icon.sort:before {\n  content: \"\\f0dc\";\n}\ni.icon.sort.ascending:before {\n  content: \"\\f0de\";\n}\ni.icon.sort.descending:before {\n  content: \"\\f0dd\";\n}\ni.icon.sort.alphabet.ascending:before {\n  content: \"\\f15d\";\n}\ni.icon.sort.alphabet.descending:before {\n  content: \"\\f15e\";\n}\ni.icon.sort.content.ascending:before {\n  content: \"\\f160\";\n}\ni.icon.sort.content.descending:before {\n  content: \"\\f161\";\n}\ni.icon.sort.numeric.ascending:before {\n  content: \"\\f162\";\n}\ni.icon.sort.numeric.descending:before {\n  content: \"\\f163\";\n}\n\n/* Text Editor */\ni.icon.font:before {\n  content: \"\\f031\";\n}\ni.icon.bold:before {\n  content: \"\\f032\";\n}\ni.icon.italic:before {\n  content: \"\\f033\";\n}\ni.icon.text.height:before {\n  content: \"\\f034\";\n}\ni.icon.text.width:before {\n  content: \"\\f035\";\n}\ni.icon.align.left:before {\n  content: \"\\f036\";\n}\ni.icon.align.center:before {\n  content: \"\\f037\";\n}\ni.icon.align.right:before {\n  content: \"\\f038\";\n}\ni.icon.align.justify:before {\n  content: \"\\f039\";\n}\ni.icon.list:before {\n  content: \"\\f03a\";\n}\ni.icon.outdent:before {\n  content: \"\\f03b\";\n}\ni.icon.indent:before {\n  content: \"\\f03c\";\n}\ni.icon.linkify:before {\n  content: \"\\f0c1\";\n}\ni.icon.cut:before {\n  content: \"\\f0c4\";\n}\ni.icon.copy:before {\n  content: \"\\f0c5\";\n}\ni.icon.attach:before {\n  content: \"\\f0c6\";\n}\ni.icon.save:before {\n  content: \"\\f0c7\";\n}\ni.icon.content:before {\n  content: \"\\f0c9\";\n}\ni.icon.unordered.list:before {\n  content: \"\\f0ca\";\n}\ni.icon.ordered.list:before {\n  content: \"\\f0cb\";\n}\ni.icon.strikethrough:before {\n  content: \"\\f0cc\";\n}\ni.icon.underline:before {\n  content: \"\\f0cd\";\n}\ni.icon.paste:before {\n  content: \"\\f0ea\";\n}\ni.icon.unlink:before {\n  content: \"\\f127\";\n}\ni.icon.superscript:before {\n  content: \"\\f12b\";\n}\ni.icon.subscript:before {\n  content: \"\\f12c\";\n}\ni.icon.header:before {\n  content: \"\\f1dc\";\n}\ni.icon.paragraph:before {\n  content: \"\\f1dd\";\n}\n\n/* Currency */\ni.icon.euro:before {\n  content: \"\\f153\";\n}\ni.icon.pound:before {\n  content: \"\\f154\";\n}\ni.icon.dollar:before {\n  content: \"\\f155\";\n}\ni.icon.rupee:before {\n  content: \"\\f156\";\n}\ni.icon.yen:before {\n  content: \"\\f157\";\n}\ni.icon.ruble:before {\n  content: \"\\f158\";\n}\ni.icon.won:before {\n  content: \"\\f159\";\n}\ni.icon.lira:before {\n  content: \"\\f195\";\n}\ni.icon.shekel:before {\n  content: \"\\f20b\";\n}\n\n/* Payment Options */\ni.icon.paypal:before {\n  content: \"\\f1ed\";\n}\ni.icon.paypal.card:before {\n  content: \"\\f1f4\";\n}\ni.icon.google.wallet:before {\n  content: \"\\f1ee\";\n}\ni.icon.visa:before {\n  content: \"\\f1f0\";\n}\ni.icon.mastercard:before {\n  content: \"\\f1f1\";\n}\ni.icon.discover:before {\n  content: \"\\f1f2\";\n}\ni.icon.american.express:before {\n  content: \"\\f1f3\";\n}\ni.icon.stripe:before {\n  content: \"\\f1f5\";\n}\n/* Networks and Websites*/\ni.icon.twitter.square:before {\n  content: \"\\f081\";\n}\ni.icon.facebook.square:before {\n  content: \"\\f082\";\n}\ni.icon.linkedin.square:before {\n  content: \"\\f08c\";\n}\ni.icon.github.square:before {\n  content: \"\\f092\";\n}\ni.icon.twitter:before {\n  content: \"\\f099\";\n}\ni.icon.facebook:before {\n  content: \"\\f09a\";\n}\ni.icon.github:before {\n  content: \"\\f09b\";\n}\ni.icon.pinterest:before {\n  content: \"\\f0d2\";\n}\ni.icon.pinterest.square:before {\n  content: \"\\f0d3\";\n}\ni.icon.google.plus.square:before {\n  content: \"\\f0d4\";\n}\ni.icon.google.plus:before {\n  content: \"\\f0d5\";\n}\ni.icon.linkedin:before {\n  content: \"\\f0e1\";\n}\ni.icon.github.alternate:before {\n  content: \"\\f113\";\n}\ni.icon.maxcdn:before {\n  content: \"\\f136\";\n}\ni.icon.bitcoin:before {\n  content: \"\\f15a\";\n}\ni.icon.youtube.square:before {\n  content: \"\\f166\";\n}\ni.icon.youtube:before {\n  content: \"\\f167\";\n}\ni.icon.xing:before {\n  content: \"\\f168\";\n}\ni.icon.xing.square:before {\n  content: \"\\f169\";\n}\ni.icon.youtube.play:before {\n  content: \"\\f16a\";\n}\ni.icon.dropbox:before {\n  content: \"\\f16b\";\n}\ni.icon.stack.overflow:before {\n  content: \"\\f16c\";\n}\ni.icon.instagram:before {\n  content: \"\\f16d\";\n}\ni.icon.flickr:before {\n  content: \"\\f16e\";\n}\ni.icon.adn:before {\n  content: \"\\f170\";\n}\ni.icon.bitbucket:before {\n  content: \"\\f171\";\n}\ni.icon.bitbucket.square:before {\n  content: \"\\f172\";\n}\ni.icon.tumblr:before {\n  content: \"\\f173\";\n}\ni.icon.tumblr.square:before {\n  content: \"\\f174\";\n}\ni.icon.apple:before {\n  content: \"\\f179\";\n}\ni.icon.windows:before {\n  content: \"\\f17a\";\n}\ni.icon.android:before {\n  content: \"\\f17b\";\n}\ni.icon.linux:before {\n  content: \"\\f17c\";\n}\ni.icon.dribbble:before {\n  content: \"\\f17d\";\n}\ni.icon.skype:before {\n  content: \"\\f17e\";\n}\ni.icon.foursquare:before {\n  content: \"\\f180\";\n}\ni.icon.trello:before {\n  content: \"\\f181\";\n}\ni.icon.gittip:before {\n  content: \"\\f184\";\n}\ni.icon.vk:before {\n  content: \"\\f189\";\n}\ni.icon.weibo:before {\n  content: \"\\f18a\";\n}\ni.icon.renren:before {\n  content: \"\\f18b\";\n}\ni.icon.pagelines:before {\n  content: \"\\f18c\";\n}\ni.icon.stack.exchange:before {\n  content: \"\\f18d\";\n}\ni.icon.vimeo:before {\n  content: \"\\f194\";\n}\ni.icon.slack:before {\n  content: \"\\f198\";\n}\ni.icon.wordpress:before {\n  content: \"\\f19a\";\n}\ni.icon.yahoo:before {\n  content: \"\\f19e\";\n}\ni.icon.google:before {\n  content: \"\\f1a0\";\n}\ni.icon.reddit:before {\n  content: \"\\f1a1\";\n}\ni.icon.reddit.square:before {\n  content: \"\\f1a2\";\n}\ni.icon.stumbleupon.circle:before {\n  content: \"\\f1a3\";\n}\ni.icon.stumbleupon:before {\n  content: \"\\f1a4\";\n}\ni.icon.delicious:before {\n  content: \"\\f1a5\";\n}\ni.icon.digg:before {\n  content: \"\\f1a6\";\n}\ni.icon.pied.piper:before {\n  content: \"\\f1a7\";\n}\ni.icon.pied.piper.alternate:before {\n  content: \"\\f1a8\";\n}\ni.icon.drupal:before {\n  content: \"\\f1a9\";\n}\ni.icon.joomla:before {\n  content: \"\\f1aa\";\n}\ni.icon.behance:before {\n  content: \"\\f1b4\";\n}\ni.icon.behance.square:before {\n  content: \"\\f1b5\";\n}\ni.icon.steam:before {\n  content: \"\\f1b6\";\n}\ni.icon.steam.square:before {\n  content: \"\\f1b7\";\n}\ni.icon.spotify:before {\n  content: \"\\f1bc\";\n}\ni.icon.deviantart:before {\n  content: \"\\f1bd\";\n}\ni.icon.soundcloud:before {\n  content: \"\\f1be\";\n}\ni.icon.vine:before {\n  content: \"\\f1ca\";\n}\ni.icon.codepen:before {\n  content: \"\\f1cb\";\n}\ni.icon.jsfiddle:before {\n  content: \"\\f1cc\";\n}\ni.icon.rebel:before {\n  content: \"\\f1d0\";\n}\ni.icon.empire:before {\n  content: \"\\f1d1\";\n}\ni.icon.git.square:before {\n  content: \"\\f1d2\";\n}\ni.icon.git:before {\n  content: \"\\f1d3\";\n}\ni.icon.hacker.news:before {\n  content: \"\\f1d4\";\n}\ni.icon.tencent.weibo:before {\n  content: \"\\f1d5\";\n}\ni.icon.qq:before {\n  content: \"\\f1d6\";\n}\ni.icon.wechat:before {\n  content: \"\\f1d7\";\n}\ni.icon.slideshare:before {\n  content: \"\\f1e7\";\n}\ni.icon.twitch:before {\n  content: \"\\f1e8\";\n}\ni.icon.yelp:before {\n  content: \"\\f1e9\";\n}\ni.icon.lastfm:before {\n  content: \"\\f202\";\n}\ni.icon.lastfm.square:before {\n  content: \"\\f203\";\n}\ni.icon.ioxhost:before {\n  content: \"\\f208\";\n}\ni.icon.angellist:before {\n  content: \"\\f209\";\n}\ni.icon.meanpath:before {\n  content: \"\\f20c\";\n}\ni.icon.buysellads:before {\n  content: \"\\f20d\";\n}\ni.icon.connectdevelop:before {\n  content: \"\\f20e\";\n}\ni.icon.dashcube:before {\n  content: \"\\f210\";\n}\ni.icon.forumbee:before {\n  content: \"\\f211\";\n}\ni.icon.leanpub:before {\n  content: \"\\f212\";\n}\ni.icon.sellsy:before {\n  content: \"\\f213\";\n}\ni.icon.shirtsinbulk:before {\n  content: \"\\f214\";\n}\ni.icon.simplybuilt:before {\n  content: \"\\f215\";\n}\ni.icon.skyatlas:before {\n  content: \"\\f216\";\n}\ni.icon.whatsapp:before {\n  content: \"\\f232\";\n}\ni.icon.viacoin:before {\n  content: \"\\f237\";\n}\ni.icon.medium:before {\n  content: \"\\f23a\";\n}\n\n\n/*******************************\n            Aliases\n*******************************/\n\ni.icon.like:before {\n  content: \"\\f004\";\n}\ni.icon.favorite:before {\n  content: \"\\f005\";\n}\ni.icon.video:before {\n  content: \"\\f008\";\n}\ni.icon.check:before {\n  content: \"\\f00c\";\n}\ni.icon.close:before {\n  content: \"\\f00d\";\n}\ni.icon.cancel:before {\n  content: \"\\f00d\";\n}\ni.icon.delete:before {\n  content: \"\\f00d\";\n}\ni.icon.x:before {\n  content: \"\\f00d\";\n}\ni.icon.user.times:before {\n  content: \"\\f235\";\n}\ni.icon.user.close:before {\n  content: \"\\f235\";\n}\ni.icon.user.cancel:before {\n  content: \"\\f235\";\n}\ni.icon.user.delete:before {\n  content: \"\\f235\";\n}\ni.icon.user.x:before {\n  content: \"\\f235\";\n}\ni.icon.zoom.in:before {\n  content: \"\\f00e\";\n}\ni.icon.magnify:before {\n  content: \"\\f00e\";\n}\ni.icon.shutdown:before {\n  content: \"\\f011\";\n}\ni.icon.clock:before {\n  content: \"\\f017\";\n}\ni.icon.time:before {\n  content: \"\\f017\";\n}\ni.icon.play.circle.outline:before {\n  content: \"\\f01d\";\n}\ni.icon.headphone:before {\n  content: \"\\f025\";\n}\ni.icon.camera:before {\n  content: \"\\f030\";\n}\ni.icon.video.camera:before {\n  content: \"\\f03d\";\n}\ni.icon.picture:before {\n  content: \"\\f03e\";\n}\ni.icon.pencil:before {\n  content: \"\\f040\";\n}\ni.icon.compose:before {\n  content: \"\\f040\";\n}\ni.icon.point:before {\n  content: \"\\f041\";\n}\ni.icon.tint:before {\n  content: \"\\f043\";\n}\ni.icon.signup:before {\n  content: \"\\f044\";\n}\ni.icon.plus.circle:before {\n  content: \"\\f055\";\n}\ni.icon.dont:before {\n  content: \"\\f05e\";\n}\ni.icon.minimize:before {\n  content: \"\\f066\";\n}\ni.icon.add:before {\n  content: \"\\f067\";\n}\ni.icon.eye:before {\n  content: \"\\f06e\";\n}\ni.icon.attention:before {\n  content: \"\\f06a\";\n}\ni.icon.cart:before {\n  content: \"\\f07a\";\n}\ni.icon.shuffle:before {\n  content: \"\\f074\";\n}\ni.icon.talk:before {\n  content: \"\\f075\";\n}\ni.icon.chat:before {\n  content: \"\\f075\";\n}\ni.icon.shopping.cart:before {\n  content: \"\\f07a\";\n}\ni.icon.bar.graph:before {\n  content: \"\\f080\";\n}\ni.icon.area.graph:before {\n  content: \"\\f1fe\";\n}\ni.icon.pie.graph:before {\n  content: \"\\f200\";\n}\ni.icon.line.graph:before {\n  content: \"\\f201\";\n}\ni.icon.key:before {\n  content: \"\\f084\";\n}\ni.icon.cogs:before {\n  content: \"\\f085\";\n}\ni.icon.discussions:before {\n  content: \"\\f086\";\n}\ni.icon.like.outline:before {\n  content: \"\\f087\";\n}\ni.icon.dislike.outline:before {\n  content: \"\\f088\";\n}\ni.icon.heart.outline:before {\n  content: \"\\f08a\";\n}\ni.icon.log.out:before {\n  content: \"\\f08b\";\n}\ni.icon.thumb.tack:before {\n  content: \"\\f08d\";\n}\ni.icon.winner:before {\n  content: \"\\f091\";\n}\ni.icon.bookmark.outline:before {\n  content: \"\\f097\";\n}\ni.icon.phone:before {\n  content: \"\\f095\";\n}\ni.icon.phone.square:before {\n  content: \"\\f098\";\n}\ni.icon.credit.card:before {\n  content: \"\\f09d\";\n}\ni.icon.hdd.outline:before {\n  content: \"\\f0a0\";\n}\ni.icon.bullhorn:before {\n  content: \"\\f0a1\";\n}\ni.icon.bell:before {\n  content: \"\\f0f3\";\n}\ni.icon.bell.outline:before {\n  content: \"\\f0a2\";\n}\ni.icon.bell.slash:before {\n  content: \"\\f1f6\";\n}\ni.icon.bell.slash.outline:before {\n  content: \"\\f1f7\";\n}\ni.icon.hand.outline.right:before {\n  content: \"\\f0a4\";\n}\ni.icon.hand.outline.left:before {\n  content: \"\\f0a5\";\n}\ni.icon.hand.outline.up:before {\n  content: \"\\f0a6\";\n}\ni.icon.hand.outline.down:before {\n  content: \"\\f0a7\";\n}\ni.icon.globe:before {\n  content: \"\\f0ac\";\n}\ni.icon.wrench:before {\n  content: \"\\f0ad\";\n}\ni.icon.briefcase:before {\n  content: \"\\f0b1\";\n}\ni.icon.group:before {\n  content: \"\\f0c0\";\n}\ni.icon.flask:before {\n  content: \"\\f0c3\";\n}\ni.icon.sidebar:before {\n  content: \"\\f0c9\";\n}\ni.icon.bars:before {\n  content: \"\\f0c9\";\n}\ni.icon.list.ul:before {\n  content: \"\\f0ca\";\n}\ni.icon.list.ol:before {\n  content: \"\\f0cb\";\n}\ni.icon.numbered.list:before {\n  content: \"\\f0cb\";\n}\ni.icon.magic:before {\n  content: \"\\f0d0\";\n}\ni.icon.truck:before {\n  content: \"\\f0d1\";\n}\ni.icon.currency:before {\n  content: \"\\f0d6\";\n}\ni.icon.triangle.down:before {\n  content: \"\\f0d7\";\n}\ni.icon.dropdown:before {\n  content: \"\\f0d7\";\n}\ni.icon.triangle.up:before {\n  content: \"\\f0d8\";\n}\ni.icon.triangle.left:before {\n  content: \"\\f0d9\";\n}\ni.icon.triangle.right:before {\n  content: \"\\f0da\";\n}\ni.icon.envelope:before {\n  content: \"\\f0e0\";\n}\ni.icon.conversation:before {\n  content: \"\\f0e6\";\n}\ni.icon.umbrella:before {\n  content: \"\\f0e9\";\n}\ni.icon.clipboard:before {\n  content: \"\\f0ea\";\n}\ni.icon.lightbulb:before {\n  content: \"\\f0eb\";\n}\ni.icon.ambulance:before {\n  content: \"\\f0f9\";\n}\ni.icon.medkit:before {\n  content: \"\\f0fa\";\n}\ni.icon.fighter.jet:before {\n  content: \"\\f0fb\";\n}\ni.icon.beer:before {\n  content: \"\\f0fc\";\n}\ni.icon.plus.square:before {\n  content: \"\\f0fe\";\n}\ni.icon.computer:before {\n  content: \"\\f108\";\n}\ni.icon.circle.outline:before {\n  content: \"\\f10c\";\n}\ni.icon.intersex:before {\n  content: \"\\f10c\";\n}\ni.icon.asexual:before {\n  content: \"\\f10c\";\n}\ni.icon.spinner:before {\n  content: \"\\f110\";\n}\ni.icon.gamepad:before {\n  content: \"\\f11b\";\n}\ni.icon.star.half.full:before {\n  content: \"\\f123\";\n}\ni.icon.question:before {\n  content: \"\\f128\";\n}\ni.icon.eraser:before {\n  content: \"\\f12d\";\n}\ni.icon.microphone:before {\n  content: \"\\f130\";\n}\ni.icon.microphone.slash:before {\n  content: \"\\f131\";\n}\ni.icon.shield:before {\n  content: \"\\f132\";\n}\ni.icon.target:before {\n  content: \"\\f140\";\n}\ni.icon.play.circle:before {\n  content: \"\\f144\";\n}\ni.icon.pencil.square:before {\n  content: \"\\f14b\";\n}\ni.icon.compass:before {\n  content: \"\\f14e\";\n}\ni.icon.amex:before {\n  content: \"\\f1f3\";\n}\ni.icon.eur:before {\n  content: \"\\f153\";\n}\ni.icon.gbp:before {\n  content: \"\\f154\";\n}\ni.icon.usd:before {\n  content: \"\\f155\";\n}\ni.icon.inr:before {\n  content: \"\\f156\";\n}\ni.icon.cny:before,\ni.icon.rmb:before,\ni.icon.jpy:before {\n  content: \"\\f157\";\n}\ni.icon.rouble:before,\ni.icon.rub:before {\n  content: \"\\f158\";\n}\ni.icon.krw:before {\n  content: \"\\f159\";\n}\ni.icon.btc:before {\n  content: \"\\f15a\";\n}\ni.icon.sheqel:before,\ni.icon.ils:before {\n  content: \"\\f20b\";\n}\ni.icon.try:before {\n  content: \"\\f195\";\n}\ni.icon.zip:before {\n  content: \"\\f187\";\n}\ni.icon.dot.circle.outline:before {\n  content: \"\\f192\";\n}\ni.icon.sliders:before {\n  content: \"\\f1de\";\n}\ni.icon.wi-fi:before {\n  content: \"\\f1eb\";\n}\ni.icon.graduation:before {\n  content: \"\\f19d\";\n}\ni.icon.weixin:before {\n  content: \"\\f1d7\";\n}\ni.icon.binoculars:before {\n  content: \"\\f1e5\";\n}\ni.icon.gratipay:before {\n  content: \"\\f184\";\n}\ni.icon.genderless:before {\n  content: \"\\f1db\";\n}\ni.icon.teletype:before {\n  content: \"\\f1e4\";\n}\ni.icon.power.cord:before {\n  content: \"\\f1e6\";\n}\ni.icon.tty:before {\n  content: \"\\f1e4\";\n}\ni.icon.cc:before {\n  content: \"\\f20a\";\n}\ni.icon.plus.cart:before {\n  content: \"\\f217\";\n}\ni.icon.arrow.down.cart:before {\n  content: \"\\f218\";\n}\ni.icon.detective:before {\n  content: \"\\f21b\";\n}\ni.icon.venus:before {\n  content: \"\\f221\";\n}\ni.icon.mars:before {\n  content: \"\\f222\";\n}\ni.icon.mercury:before {\n  content: \"\\f223\";\n}\ni.icon.venus.double:before {\n  content: \"\\f226\";\n}\ni.icon.female.homosexual:before {\n  content: \"\\f226\";\n}\ni.icon.mars.double:before {\n  content: \"\\f227\";\n}\ni.icon.male.homosexual:before {\n  content: \"\\f227\";\n}\ni.icon.venus.mars:before {\n  content: \"\\f228\";\n}\ni.icon.mars.stroke:before {\n  content: \"\\f229\";\n}\ni.icon.mars.alternate:before {\n  content: \"\\f229\";\n}\ni.icon.mars.vertical:before {\n  content: \"\\f22a\";\n}\ni.icon.mars.horizontal:before {\n  content: \"\\f22b\";\n}\ni.icon.mars.stroke.vertical:before {\n  content: \"\\f22a\";\n}\ni.icon.mars.stroke.horizontal:before {\n  content: \"\\f22b\";\n}\ni.icon.facebook.official {\n  content: \"\\f230\";\n}\ni.icon.pinterest.official {\n  content: \"\\f231\";\n}\ni.icon.bed:before {\n  content: \"\\f236\";\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/image.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Image\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Image\n*******************************/\n\n.ui.image {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  background-color: transparent;\n}\nimg.ui.image {\n  display: block;\n}\n.ui.image svg,\n.ui.image img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.hidden.images,\n.ui.hidden.image {\n  display: none;\n}\n.ui.disabled.images,\n.ui.disabled.image {\n  cursor: default;\n  opacity: 0.45;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.image,\n.ui.inline.image svg,\n.ui.inline.image img {\n  display: inline-block;\n}\n\n/*------------------\n  Vertical Aligned\n-------------------*/\n\n.ui.top.aligned.images .image,\n.ui.top.aligned.image,\n.ui.top.aligned.image svg,\n.ui.top.aligned.image img {\n  display: inline-block;\n  vertical-align: top;\n}\n.ui.middle.aligned.images .image,\n.ui.middle.aligned.image,\n.ui.middle.aligned.image svg,\n.ui.middle.aligned.image img {\n  display: inline-block;\n  vertical-align: middle;\n}\n.ui.bottom.aligned.images .image,\n.ui.bottom.aligned.image,\n.ui.bottom.aligned.image svg,\n.ui.bottom.aligned.image img {\n  display: inline-block;\n  vertical-align: bottom;\n}\n\n/*--------------\n     Rounded\n---------------*/\n\n.ui.rounded.images .image,\n.ui.rounded.image,\n.ui.rounded.images .image > *,\n.ui.rounded.image > * {\n  border-radius: 0.3125em;\n}\n\n/*--------------\n    Bordered\n---------------*/\n\n.ui.bordered.images .image,\n.ui.bordered.images img,\n.ui.bordered.images svg,\n.ui.bordered.image img,\n.ui.bordered.image svg,\nimg.ui.bordered.image {\n  border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.images,\n.ui.circular.image {\n  overflow: hidden;\n}\n.ui.circular.images .image,\n.ui.circular.image,\n.ui.circular.images .image > *,\n.ui.circular.image > * {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.images,\n.ui.fluid.image,\n.ui.fluid.images img,\n.ui.fluid.images svg,\n.ui.fluid.image svg,\n.ui.fluid.image img {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.avatar.images .image,\n.ui.avatar.images img,\n.ui.avatar.images svg,\n.ui.avatar.image img,\n.ui.avatar.image svg,\n.ui.avatar.image {\n  margin-right: 0.25em;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*-------------------\n       Spaced\n--------------------*/\n\n.ui.spaced.image {\n  display: inline-block !important;\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n.ui[class*=\"left spaced\"].image {\n  margin-left: 0.5em;\n  margin-right: 0em;\n}\n.ui[class*=\"right spaced\"].image {\n  margin-left: 0em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.image,\n.ui.floated.images {\n  float: left;\n  margin-right: 1em;\n  margin-bottom: 1em;\n}\n.ui.right.floated.images,\n.ui.right.floated.image {\n  float: right;\n  margin-right: 0em;\n  margin-bottom: 1em;\n  margin-left: 1em;\n}\n.ui.floated.images:last-child,\n.ui.floated.image:last-child {\n  margin-bottom: 0em;\n}\n.ui.centered.images,\n.ui.centered.image {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.images .image,\n.ui.mini.images img,\n.ui.mini.images svg,\n.ui.mini.image {\n  width: 35px;\n  height: auto;\n  font-size: 0.71428571rem;\n}\n.ui.tiny.images .image,\n.ui.tiny.images img,\n.ui.tiny.images svg,\n.ui.tiny.image {\n  width: 80px;\n  height: auto;\n  font-size: 0.85714286rem;\n}\n.ui.small.images .image,\n.ui.small.images img,\n.ui.small.images svg,\n.ui.small.image {\n  width: 150px;\n  height: auto;\n  font-size: 0.92857143rem;\n}\n.ui.medium.images .image,\n.ui.medium.images img,\n.ui.medium.images svg,\n.ui.medium.image {\n  width: 300px;\n  height: auto;\n  font-size: 1rem;\n}\n.ui.large.images .image,\n.ui.large.images img,\n.ui.large.images svg,\n.ui.large.image {\n  width: 450px;\n  height: auto;\n  font-size: 1.14285714rem;\n}\n.ui.big.images .image,\n.ui.big.images img,\n.ui.big.images svg,\n.ui.big.image {\n  width: 600px;\n  height: auto;\n  font-size: 1.28571429rem;\n}\n.ui.huge.images .image,\n.ui.huge.images img,\n.ui.huge.images svg,\n.ui.huge.image {\n  width: 800px;\n  height: auto;\n  font-size: 1.42857143rem;\n}\n.ui.massive.images .image,\n.ui.massive.images img,\n.ui.massive.images svg,\n.ui.massive.image {\n  width: 960px;\n  height: auto;\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n              Groups\n*******************************/\n\n.ui.images {\n  font-size: 0em;\n  margin: 0em -0.25rem 0rem;\n}\n.ui.images .image,\n.ui.images img,\n.ui.images svg {\n  display: inline-block;\n  margin: 0em 0.25rem 0.5rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/input.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Input\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Standard\n*******************************/\n\n\n/*--------------------\n        Inputs\n---------------------*/\n\n.ui.input {\n  position: relative;\n  font-weight: normal;\n  font-style: normal;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.input input {\n  margin: 0em;\n  max-width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-align: left;\n  line-height: 1.2142em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  padding: 0.67861429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease;\n          transition: box-shadow 0.1s ease, border-color 0.1s ease;\n  box-shadow: none;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n\n/* browsers require these rules separate */\n.ui.input input::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.input input::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.input input::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n        Disabled\n---------------------*/\n\n.ui.disabled.input,\n.ui.input input[disabled] {\n  opacity: 0.45;\n}\n.ui.disabled.input input {\n  pointer-events: none;\n}\n\n/*--------------------\n        Active\n---------------------*/\n\n.ui.input input:active,\n.ui.input.down input {\n  border-color: rgba(0, 0, 0, 0.3);\n  background: #FAFAFA;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.loading.input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.loading.loading.input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.input.focus input,\n.ui.input input:focus {\n  border-color: #85B7D9;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.8);\n  box-shadow: none;\n}\n.ui.input.focus input::-webkit-input-placeholder,\n.ui.input input:focus::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.input.focus input::-moz-placeholder,\n.ui.input input:focus::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.input.focus input::-ms-input-placeholder,\n.ui.input input:focus::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n.ui.input.error input {\n  background-color: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  box-shadow: none;\n}\n\n/* Error Placeholder */\n.ui.input.error input::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n.ui.input.error input::-moz-placeholder {\n  color: #e7bdbc;\n}\n.ui.input.error input::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n\n/* Focused Error Placeholder */\n.ui.input.error input:focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n.ui.input.error input:focus::-moz-placeholder {\n  color: #da9796;\n}\n.ui.input.error input:focus::-ms-input-placeholder {\n  color: #da9796;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------------\n      Transparent\n---------------------*/\n\n.ui.transparent.input input {\n  border-color: transparent !important;\n  background-color: transparent !important;\n  padding: 0em !important;\n  box-shadow: none !important;\n}\n\n/* Transparent Icon */\n.ui.transparent.icon.input > i.icon {\n  width: 1.1em;\n}\n.ui.transparent.icon.input > input {\n  padding-left: 0em !important;\n  padding-right: 2em !important;\n}\n.ui.transparent[class*=\"left icon\"].input > input {\n  padding-left: 2em !important;\n  padding-right: 0em !important;\n}\n\n/* Transparent Inverted */\n.ui.transparent.inverted.input {\n  color: #FFFFFF;\n}\n.ui.transparent.inverted.input input {\n  color: inherit;\n}\n.ui.transparent.inverted.input input::-webkit-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.transparent.inverted.input input::-moz-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.transparent.inverted.input input::-ms-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/*--------------------\n         Icon\n---------------------*/\n\n.ui.icon.input > i.icon {\n  cursor: default;\n  position: absolute;\n  line-height: 1;\n  text-align: center;\n  top: 0px;\n  right: 0px;\n  margin: 0em;\n  height: 100%;\n  width: 2.67142857em;\n  opacity: 0.5;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: opacity 0.3s ease;\n          transition: opacity 0.3s ease;\n}\n.ui.icon.input > i.icon:not(.link) {\n  pointer-events: none;\n}\n.ui.icon.input input {\n  padding-right: 2.67142857em !important;\n}\n.ui.icon.input > i.icon:before,\n.ui.icon.input > i.icon:after {\n  left: 0;\n  position: absolute;\n  text-align: center;\n  top: 50%;\n  width: 100%;\n  margin-top: -0.5em;\n}\n.ui.icon.input > i.link.icon {\n  cursor: pointer;\n}\n.ui.icon.input > i.circular.icon {\n  top: 0.35em;\n  right: 0.5em;\n}\n\n/* Left Icon Input */\n.ui[class*=\"left icon\"].input > i.icon {\n  right: auto;\n  left: 1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui[class*=\"left icon\"].input > i.circular.icon {\n  right: auto;\n  left: 0.5em;\n}\n.ui[class*=\"left icon\"].input > input {\n  padding-left: 2.67142857em !important;\n  padding-right: 1em !important;\n}\n\n/* Focus */\n.ui.icon.input > input:focus ~ i.icon {\n  opacity: 1;\n}\n\n/*--------------------\n        Labeled\n---------------------*/\n\n\n/* Adjacent Label */\n.ui.labeled.input > .label {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  margin: 0;\n  font-size: 1em;\n}\n.ui.labeled.input > .label:not(.corner) {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n}\n\n/* Regular Label on Left */\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n  border-left-color: transparent;\n}\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input:focus {\n  border-left-color: #85B7D9;\n}\n\n/* Regular Label on Right */\n.ui[class*=\"right labeled\"].input input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n.ui[class*=\"right labeled\"].input input + .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n.ui[class*=\"right labeled\"].input input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Corner Label */\n.ui.labeled.input .corner.label {\n  top: 1px;\n  right: 1px;\n  font-size: 0.64285714em;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Spacing with corner label */\n.ui[class*=\"corner labeled\"]:not([class*=\"left corner labeled\"]).labeled.input input {\n  padding-right: 2.5em !important;\n}\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > input {\n  padding-right: 3.25em !important;\n}\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > .icon {\n  margin-right: 1.25em;\n}\n\n/* Left Labeled */\n.ui[class*=\"left corner labeled\"].labeled.input input {\n  padding-left: 2.5em !important;\n}\n.ui[class*=\"left corner labeled\"].icon.input > input {\n  padding-left: 3.25em !important;\n}\n.ui[class*=\"left corner labeled\"].icon.input > .icon {\n  margin-left: 1.25em;\n}\n\n/* Corner Label Position  */\n.ui.input > .ui.corner.label {\n  top: 1px;\n  right: 1px;\n}\n.ui.input > .ui.left.corner.label {\n  right: auto;\n  left: 1px;\n}\n\n/*--------------------\n        Action\n---------------------*/\n\n.ui.action.input > .button,\n.ui.action.input > .buttons {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n}\n.ui.action.input > .button,\n.ui.action.input > .buttons > .button {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n  margin: 0;\n}\n\n/* Button on Right */\n.ui.action.input:not([class*=\"left action\"]) > input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n.ui.action.input:not([class*=\"left action\"]) > .dropdown,\n.ui.action.input:not([class*=\"left action\"]) > .button,\n.ui.action.input:not([class*=\"left action\"]) > .buttons > .button {\n  border-radius: 0px;\n}\n.ui.action.input:not([class*=\"left action\"]) > .dropdown:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .button:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .buttons:last-child > .button {\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px;\n}\n\n/* Input Focus */\n.ui.action.input:not([class*=\"left action\"]) input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Button on Left */\n.ui[class*=\"left action\"].input > input {\n  border-top-left-radius: 0px !important;\n  border-bottom-left-radius: 0px !important;\n  border-left-color: transparent !important;\n}\n.ui[class*=\"left action\"].input > .dropdown,\n.ui[class*=\"left action\"].input > .button,\n.ui[class*=\"left action\"].input > .buttons > .button {\n  border-radius: 0px;\n}\n.ui[class*=\"left action\"].input > .dropdown:first-child,\n.ui[class*=\"left action\"].input > .button:first-child,\n.ui[class*=\"left action\"].input > .buttons:first-child > .button {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Input Focus */\n.ui[class*=\"left action\"].input > input:focus {\n  border-left-color: #85B7D9 !important;\n}\n\n/*--------------------\n       Inverted\n---------------------*/\n\n\n/* Standard */\n.ui.inverted.input input {\n  border: none;\n}\n\n/*--------------------\n        Fluid\n---------------------*/\n\n.ui.fluid.input {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n.ui.fluid.input > input {\n  width: 0px !important;\n}\n\n/*--------------------\n        Size\n---------------------*/\n\n.ui.mini.input {\n  font-size: 0.71428571em;\n}\n.ui.small.input {\n  font-size: 0.92857143em;\n}\n.ui.input {\n  font-size: 1em;\n}\n.ui.large.input {\n  font-size: 1.14285714em;\n}\n.ui.big.input {\n  font-size: 1.28571429em;\n}\n.ui.huge.input {\n  font-size: 1.42857143em;\n}\n.ui.massive.input {\n  font-size: 1.71428571em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/item.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em 0em;\n  width: 100%;\n  min-height: 0px;\n  background: transparent;\n  padding: 0em;\n  border: none;\n  border-radius: 0rem;\n  box-shadow: none;\n  -webkit-transition: box-shadow 0.1s ease;\n          transition: box-shadow 0.1s ease;\n  z-index: '';\n}\n.ui.items > .item a {\n  cursor: pointer;\n}\n\n/*--------------\n      Items\n---------------*/\n\n.ui.items {\n  margin: 1.5em 0em;\n}\n.ui.items:first-child {\n  margin-top: 0em !important;\n}\n.ui.items:last-child {\n  margin-bottom: 0em !important;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.items > .item:first-child {\n  margin-top: 0em;\n}\n.ui.items > .item:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.items > .item > .image {\n  position: relative;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  display: block;\n  float: none;\n  margin: 0em;\n  padding: 0em;\n  max-height: '';\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.items > .item > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: 0.125rem;\n  border: none;\n}\n.ui.items > .item > .image:only-child > img {\n  border-radius: 0rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.items > .item > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n  background: none;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: none;\n  font-size: 1em;\n  border: none;\n  border-radius: 0em;\n}\n.ui.items > .item > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.items > .item > .image + .content {\n  min-width: 0;\n  width: auto;\n  display: block;\n  margin-left: 0em;\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n  padding-left: 1.5em;\n}\n.ui.items > .item > .content > .header {\n  display: inline-block;\n  margin: -0.21425em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n.ui.items > .item > .content > .header:not(.ui) {\n  font-size: 1.28571429em;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.items > .item [class*=\"left floated\"] {\n  float: left;\n}\n.ui.items > .item [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.items > .item .content img {\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n  width: '';\n}\n.ui.items > .item img.avatar,\n.ui.items > .item .avatar img {\n  width: '';\n  height: '';\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.items > .item > .content > .description {\n  margin-top: 0.6em;\n  max-width: auto;\n  font-size: 1em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.items > .item > .content p {\n  margin: 0em 0em 0.5em;\n}\n.ui.items > .item > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.items > .item .meta {\n  margin: 0.5em 0em 0.5em;\n  font-size: 1em;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.items > .item .meta * {\n  margin-right: 0.3em;\n}\n.ui.items > .item .meta :last-child {\n  margin-right: 0em;\n}\n.ui.items > .item .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n\n/* Generic */\n.ui.items > .item > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.items > .item > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n.ui.items > .item > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.items > .item > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n.ui.items > .item .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.items > .item .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Labels\n---------------*/\n\n\n/*-----Star----- */\n\n\n/* Icon */\n.ui.items > .item > .content .favorite.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.items > .item > .content .favorite.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n.ui.items > .item > .content .active.favorite.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n\n/* Icon */\n.ui.items > .item > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.items > .item > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n.ui.items > .item > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.items > .item .extra {\n  display: block;\n  position: relative;\n  background: none;\n  margin: 0.5rem 0em 0em;\n  width: 100%;\n  padding: 0em 0em 0em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n  border-top: none;\n}\n.ui.items > .item .extra > * {\n  margin: 0.25rem 0.5rem 0.25rem 0em;\n}\n.ui.items > .item .extra > [class*=\"right floated\"] {\n  margin: 0.25rem 0em 0.25rem 0.5rem;\n}\n.ui.items > .item .extra:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n\n/*******************************\n          Responsive\n*******************************/\n\n\n/* Default Image Width */\n.ui.items > .item > .image:not(.ui) {\n  width: 175px;\n}\n\n/* Tablet Only */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.items > .item {\n    margin: 1em 0em;\n  }\n  .ui.items > .item > .image:not(.ui) {\n    width: 150px;\n  }\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 0em 0em 0em 1em;\n  }\n}\n\n/* Mobily Only */\n@media only screen and (max-width: 767px) {\n  .ui.items > .item {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n    margin: 2em 0em;\n  }\n  .ui.items > .item > .image {\n    display: block;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .ui.items > .item > .image,\n  .ui.items > .item > .image > img {\n    max-width: 100% !important;\n    width: auto !important;\n    max-height: 250px !important;\n  }\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 1.5em 0em 0em;\n  }\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.items > .item > .image + [class*=\"top aligned\"].content {\n  -webkit-align-self: flex-start;\n      -ms-flex-item-align: start;\n          align-self: flex-start;\n}\n.ui.items > .item > .image + [class*=\"middle aligned\"].content {\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n          align-self: center;\n}\n.ui.items > .item > .image + [class*=\"bottom aligned\"].content {\n  -webkit-align-self: flex-end;\n      -ms-flex-item-align: end;\n          align-self: flex-end;\n}\n\n/*--------------\n     Relaxed\n---------------*/\n\n.ui.relaxed.items > .item {\n  margin: 1.5em 0em;\n}\n.ui[class*=\"very relaxed\"].items > .item {\n  margin: 2em 0em;\n}\n\n/*-------------------\n      Divided\n--------------------*/\n\n.ui.divided.items > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding: 1em 0em;\n}\n.ui.divided.items > .item:first-child {\n  border-top: none;\n  margin-top: 0em !important;\n  padding-top: 0em !important;\n}\n.ui.divided.items > .item:last-child {\n  margin-bottom: 0em !important;\n  padding-bottom: 0em !important;\n}\n\n/* Relaxed Divided */\n.ui.relaxed.divided.items > .item {\n  margin: 0em;\n  padding: 1.5em 0em;\n}\n.ui[class*=\"very relaxed\"].divided.items > .item {\n  margin: 0em;\n  padding: 2em 0em;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.items a.item:hover,\n.ui.link.items > .item:hover {\n  cursor: pointer;\n}\n.ui.items a.item:hover .content .header,\n.ui.link.items > .item:hover .content .header {\n  color: #1e70bf;\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.items > .item {\n  font-size: 1em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/label.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Label\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Label\n*******************************/\n\n.ui.label {\n  display: inline-block;\n  line-height: 1;\n  vertical-align: baseline;\n  margin: 0em 0.14285714em;\n  background-color: #E8E8E8;\n  background-image: none;\n  padding: 0.5833em 0.833em;\n  color: rgba(0, 0, 0, 0.6);\n  text-transform: none;\n  font-weight: bold;\n  border: 0px solid transparent;\n  border-radius: 0.28571429rem;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n.ui.label:first-child {\n  margin-left: 0em;\n}\n.ui.label:last-child {\n  margin-right: 0em;\n}\n\n/* Link */\na.ui.label {\n  cursor: pointer;\n}\n\n/* Inside Link */\n.ui.label > a {\n  cursor: pointer;\n  color: inherit;\n  opacity: 0.5;\n  -webkit-transition: 0.1s opacity ease;\n          transition: 0.1s opacity ease;\n}\n.ui.label > a:hover {\n  opacity: 1;\n}\n\n/* Image */\n.ui.label > img {\n  width: auto !important;\n  vertical-align: middle;\n  height: 2.1666em !important;\n}\n\n/* Icon */\n.ui.label > .icon {\n  width: auto;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Detail */\n.ui.label > .detail {\n  display: inline-block;\n  vertical-align: top;\n  font-weight: bold;\n  margin-left: 1em;\n  opacity: 0.8;\n}\n.ui.label > .detail .icon {\n  margin: 0em 0.25em 0em 0em;\n}\n\n/* Removable label */\n.ui.label > .close.icon,\n.ui.label > .delete.icon {\n  cursor: pointer;\n  margin-right: 0em;\n  margin-left: 0.5em;\n  font-size: 0.92857143em;\n  opacity: 0.5;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n.ui.label > .delete.icon:hover {\n  opacity: 1;\n}\n\n/*-------------------\n       Group\n--------------------*/\n\n.ui.labels > .label {\n  margin: 0em 0.5em 0.5em 0em;\n}\n\n/*-------------------\n       Coupling\n--------------------*/\n\n.ui.header > .ui.label {\n  margin-top: -0.29165em;\n}\n\n/* Remove border radius on attached segment */\n.ui.attached.segment > .ui.top.left.attached.label,\n.ui.bottom.attached.segment > .ui.top.left.attached.label {\n  border-top-left-radius: 0;\n}\n.ui.attached.segment > .ui.top.right.attached.label,\n.ui.bottom.attached.segment > .ui.top.right.attached.label {\n  border-top-right-radius: 0;\n}\n.ui.top.attached.segment > .ui.bottom.left.attached.label {\n  border-bottom-left-radius: 0;\n}\n.ui.top.attached.segment > .ui.bottom.right.attached.label {\n  border-bottom-right-radius: 0;\n}\n\n/* Padding on next content after a label */\n.ui.top.attached.label:first-child + :not(.attached) {\n  margin-top: 2rem !important;\n}\n.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {\n  margin-top: 0em;\n  margin-bottom: 2rem !important;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n.ui.image.label {\n  width: auto !important;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  max-width: 9999px;\n  vertical-align: baseline;\n  text-transform: none;\n  background: #E8E8E8;\n  padding: 0.5833em 0.833em 0.5833em 0.5em;\n  border-radius: 0.28571429rem;\n  box-shadow: none;\n}\n.ui.image.label img {\n  display: inline-block;\n  vertical-align: top;\n  height: 2.1666em;\n  margin: -0.5833em 0.5em -0.5833em -0.5em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui.image.label .detail {\n  background: rgba(0, 0, 0, 0.1);\n  margin: -0.5833em -0.833em -0.5833em 0.5em;\n  padding: 0.5833em 0.833em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/*-------------------\n         Tag\n--------------------*/\n\n.ui.tag.labels .label,\n.ui.tag.label {\n  margin-left: 1em;\n  position: relative;\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: none;\n          transition: none;\n}\n.ui.tag.labels .label:before,\n.ui.tag.label:before {\n  position: absolute;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n      -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n          transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  top: 50%;\n  right: 100%;\n  content: '';\n  background-color: inherit;\n  background-image: none;\n  width: 1.56em;\n  height: 1.56em;\n  -webkit-transition: none;\n          transition: none;\n}\n.ui.tag.labels .label:after,\n.ui.tag.label:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: -0.25em;\n  margin-top: -0.25em;\n  background-color: #FFFFFF !important;\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);\n  border-radius: 500rem;\n}\n\n/*-------------------\n    Corner Label\n--------------------*/\n\n.ui.corner.label {\n  position: absolute;\n  top: 0em;\n  right: 0em;\n  margin: 0em;\n  padding: 0em;\n  text-align: center;\n  border-color: #E8E8E8;\n  width: 4em;\n  height: 4em;\n  z-index: 1;\n  -webkit-transition: border-color 0.1s ease;\n          transition: border-color 0.1s ease;\n}\n\n/* Icon Label */\n.ui.corner.label {\n  background-color: transparent !important;\n}\n.ui.corner.label:after {\n  position: absolute;\n  content: \"\";\n  right: 0em;\n  top: 0em;\n  z-index: -1;\n  width: 0em;\n  height: 0em;\n  background-color: transparent !important;\n  border-top: 0em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 4em solid transparent;\n  border-left: 0em solid transparent;\n  border-right-color: inherit;\n  -webkit-transition: border-color 0.1s ease;\n          transition: border-color 0.1s ease;\n}\n.ui.corner.label .icon {\n  cursor: default;\n  position: relative;\n  top: 0.64285714em;\n  left: 0.78571429em;\n  font-size: 1.14285714em;\n  margin: 0em;\n}\n\n/* Left Corner */\n.ui.left.corner.label,\n.ui.left.corner.label:after {\n  right: auto;\n  left: 0em;\n}\n.ui.left.corner.label:after {\n  border-top: 4em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 0em solid transparent;\n  border-left: 0em solid transparent;\n  border-top-color: inherit;\n}\n.ui.left.corner.label .icon {\n  left: -0.78571429em;\n}\n\n/* Segment */\n.ui.segment > .ui.corner.label {\n  top: -1px;\n  right: -1px;\n}\n.ui.segment > .ui.left.corner.label {\n  right: auto;\n  left: -1px;\n}\n\n/*-------------------\n       Ribbon\n--------------------*/\n\n.ui.ribbon.label {\n  position: relative;\n  margin: 0em;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.ui.ribbon.label:after {\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 0%;\n  background-color: transparent !important;\n  border-style: solid;\n  border-width: 0em 1.2em 1.2em 0em;\n  border-color: transparent;\n  border-right-color: inherit;\n  width: 0em;\n  height: 0em;\n}\n\n/* Positioning */\n.ui.ribbon.label {\n  left: calc( -1rem  -  1.2em );\n  margin-right: -1.2em;\n  padding-left: calc( 1rem  +  1.2em );\n  padding-right: 1.2em;\n}\n.ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  1rem  +  1.2em );\n  padding-left: 1.2em;\n  padding-right: calc( 1rem  +  1.2em );\n}\n\n/* Right Ribbon */\n.ui[class*=\"right ribbon\"].label {\n  text-align: left;\n  -webkit-transform: translateX(-100%);\n      -ms-transform: translateX(-100%);\n          transform: translateX(-100%);\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui[class*=\"right ribbon\"].label:after {\n  left: auto;\n  right: 0%;\n  border-style: solid;\n  border-width: 1.2em 1.2em 0em 0em;\n  border-color: transparent;\n  border-top-color: inherit;\n}\n\n/* Inside Table */\n.ui.image > .ribbon.label,\n.ui.card .image > .ribbon.label {\n  position: absolute;\n  top: 1rem;\n}\n.ui.card .image > .ui.ribbon.label,\n.ui.image > .ui.ribbon.label {\n  left: calc( 0.05rem  -  1.2em );\n}\n.ui.card .image > .ui[class*=\"right ribbon\"].label,\n.ui.image > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  -0.05rem  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/* Inside Table */\n.ui.table td > .ui.ribbon.label {\n  left: calc( -0.71428571em  -  1.2em );\n}\n.ui.table td > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  0.71428571em  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n.ui[class*=\"top attached\"].label,\n.ui.attached.label {\n  width: 100%;\n  position: absolute;\n  margin: 0em;\n  top: 0em;\n  left: 0em;\n  padding: 0.75em 1em;\n  border-radius: 0.21428571rem 0.21428571rem 0em 0em;\n}\n.ui[class*=\"bottom attached\"].label {\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0em 0.21428571rem 0.21428571rem;\n}\n.ui[class*=\"top left attached\"].label {\n  width: auto;\n  margin-top: 0em !important;\n  border-radius: 0.21428571rem 0em 0.28571429rem 0em;\n}\n.ui[class*=\"top right attached\"].label {\n  width: auto;\n  left: auto;\n  right: 0em;\n  border-radius: 0em 0.21428571rem 0em 0.28571429rem;\n}\n.ui[class*=\"bottom left attached\"].label {\n  width: auto;\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0.28571429rem 0em 0.21428571rem;\n}\n.ui[class*=\"bottom right attached\"].label {\n  top: auto;\n  bottom: 0em;\n  left: auto;\n  right: 0em;\n  width: auto;\n  border-radius: 0.28571429rem 0em 0.21428571rem 0em;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.label.disabled {\n  opacity: 0.5;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\na.ui.labels .label:hover,\na.ui.label:hover {\n  background-color: #E0E0E0;\n  border-color: #E0E0E0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.labels a.label:hover:before,\na.ui.label:hover:before {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n        Active\n--------------------*/\n\n.ui.active.label {\n  background-color: #D0D0D0;\n  border-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.active.label:before {\n  background-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n     Active Hover\n--------------------*/\n\na.ui.labels .active.label:hover,\na.ui.active.label:hover {\n  background-color: #C8C8C8;\n  border-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.labels a.active.label:ActiveHover:before,\na.ui.active.label:ActiveHover:before {\n  background-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n      Visible\n--------------------*/\n\n.ui.labels.visible .label,\n.ui.label.visible {\n  display: inline-block !important;\n}\n\n/*-------------------\n      Hidden\n--------------------*/\n\n.ui.labels.hidden .label,\n.ui.label.hidden {\n  display: none !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/*--- Red ---*/\n\n.ui.red.labels .label,\n.ui.red.label {\n  background-color: #DB2828 !important;\n  border-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.red.labels .label:hover,\na.ui.red.label:hover {\n  background-color: #d01919 !important;\n  border-color: #d01919 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.red.corner.label,\n.ui.red.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.red.ribbon.label {\n  border-color: #b21e1e !important;\n}\n\n/* Basic */\n.ui.basic.red.label {\n  background-color: #FFFFFF !important;\n  color: #DB2828 !important;\n  border-color: #DB2828 !important;\n}\n.ui.basic.red.labels a.label:hover,\na.ui.basic.red.label:hover {\n  background-color: #FFFFFF !important;\n  color: #d01919 !important;\n  border-color: #d01919 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.labels .label,\n.ui.orange.label {\n  background-color: #F2711C !important;\n  border-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.orange.labels .label:hover,\na.ui.orange.label:hover {\n  background-color: #f26202 !important;\n  border-color: #f26202 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.orange.corner.label,\n.ui.orange.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.orange.ribbon.label {\n  border-color: #cf590c !important;\n}\n\n/* Basic */\n.ui.basic.orange.label {\n  background-color: #FFFFFF !important;\n  color: #F2711C !important;\n  border-color: #F2711C !important;\n}\n.ui.basic.orange.labels a.label:hover,\na.ui.basic.orange.label:hover {\n  background-color: #FFFFFF !important;\n  color: #f26202 !important;\n  border-color: #f26202 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.labels .label,\n.ui.yellow.label {\n  background-color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.yellow.labels .label:hover,\na.ui.yellow.label:hover {\n  background-color: #eaae00 !important;\n  border-color: #eaae00 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.yellow.corner.label,\n.ui.yellow.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.yellow.ribbon.label {\n  border-color: #cd9903 !important;\n}\n\n/* Basic */\n.ui.basic.yellow.label {\n  background-color: #FFFFFF !important;\n  color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n}\n.ui.basic.yellow.labels a.label:hover,\na.ui.basic.yellow.label:hover {\n  background-color: #FFFFFF !important;\n  color: #eaae00 !important;\n  border-color: #eaae00 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.labels .label,\n.ui.olive.label {\n  background-color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.olive.labels .label:hover,\na.ui.olive.label:hover {\n  background-color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.olive.corner.label,\n.ui.olive.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.olive.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n.ui.basic.olive.label {\n  background-color: #FFFFFF !important;\n  color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n}\n.ui.basic.olive.labels a.label:hover,\na.ui.basic.olive.label:hover {\n  background-color: #FFFFFF !important;\n  color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.labels .label,\n.ui.green.label {\n  background-color: #21BA45 !important;\n  border-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.green.labels .label:hover,\na.ui.green.label:hover {\n  background-color: #16ab39 !important;\n  border-color: #16ab39 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.green.corner.label,\n.ui.green.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.green.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n.ui.basic.green.label {\n  background-color: #FFFFFF !important;\n  color: #21BA45 !important;\n  border-color: #21BA45 !important;\n}\n.ui.basic.green.labels a.label:hover,\na.ui.basic.green.label:hover {\n  background-color: #FFFFFF !important;\n  color: #16ab39 !important;\n  border-color: #16ab39 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.labels .label,\n.ui.teal.label {\n  background-color: #00B5AD !important;\n  border-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.teal.labels .label:hover,\na.ui.teal.label:hover {\n  background-color: #009c95 !important;\n  border-color: #009c95 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.teal.corner.label,\n.ui.teal.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.teal.ribbon.label {\n  border-color: #00827c !important;\n}\n\n/* Basic */\n.ui.basic.teal.label {\n  background-color: #FFFFFF !important;\n  color: #00B5AD !important;\n  border-color: #00B5AD !important;\n}\n.ui.basic.teal.labels a.label:hover,\na.ui.basic.teal.label:hover {\n  background-color: #FFFFFF !important;\n  color: #009c95 !important;\n  border-color: #009c95 !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.labels .label,\n.ui.blue.label {\n  background-color: #2185D0 !important;\n  border-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.blue.labels .label:hover,\na.ui.blue.label:hover {\n  background-color: #1678c2 !important;\n  border-color: #1678c2 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.blue.corner.label,\n.ui.blue.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.blue.ribbon.label {\n  border-color: #1a69a4 !important;\n}\n\n/* Basic */\n.ui.basic.blue.label {\n  background-color: #FFFFFF !important;\n  color: #2185D0 !important;\n  border-color: #2185D0 !important;\n}\n.ui.basic.blue.labels a.label:hover,\na.ui.basic.blue.label:hover {\n  background-color: #FFFFFF !important;\n  color: #1678c2 !important;\n  border-color: #1678c2 !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.labels .label,\n.ui.violet.label {\n  background-color: #6435C9 !important;\n  border-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.violet.labels .label:hover,\na.ui.violet.label:hover {\n  background-color: #5829bb !important;\n  border-color: #5829bb !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.violet.corner.label,\n.ui.violet.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.violet.ribbon.label {\n  border-color: #502aa1 !important;\n}\n\n/* Basic */\n.ui.basic.violet.label {\n  background-color: #FFFFFF !important;\n  color: #6435C9 !important;\n  border-color: #6435C9 !important;\n}\n.ui.basic.violet.labels a.label:hover,\na.ui.basic.violet.label:hover {\n  background-color: #FFFFFF !important;\n  color: #5829bb !important;\n  border-color: #5829bb !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.labels .label,\n.ui.purple.label {\n  background-color: #A333C8 !important;\n  border-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.purple.labels .label:hover,\na.ui.purple.label:hover {\n  background-color: #9627ba !important;\n  border-color: #9627ba !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.purple.corner.label,\n.ui.purple.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.purple.ribbon.label {\n  border-color: #82299f !important;\n}\n\n/* Basic */\n.ui.basic.purple.label {\n  background-color: #FFFFFF !important;\n  color: #A333C8 !important;\n  border-color: #A333C8 !important;\n}\n.ui.basic.purple.labels a.label:hover,\na.ui.basic.purple.label:hover {\n  background-color: #FFFFFF !important;\n  color: #9627ba !important;\n  border-color: #9627ba !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.labels .label,\n.ui.pink.label {\n  background-color: #E03997 !important;\n  border-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.pink.labels .label:hover,\na.ui.pink.label:hover {\n  background-color: #e61a8d !important;\n  border-color: #e61a8d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.pink.corner.label,\n.ui.pink.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.pink.ribbon.label {\n  border-color: #c71f7e !important;\n}\n\n/* Basic */\n.ui.basic.pink.label {\n  background-color: #FFFFFF !important;\n  color: #E03997 !important;\n  border-color: #E03997 !important;\n}\n.ui.basic.pink.labels a.label:hover,\na.ui.basic.pink.label:hover {\n  background-color: #FFFFFF !important;\n  color: #e61a8d !important;\n  border-color: #e61a8d !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.labels .label,\n.ui.brown.label {\n  background-color: #A5673F !important;\n  border-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.brown.labels .label:hover,\na.ui.brown.label:hover {\n  background-color: #975b33 !important;\n  border-color: #975b33 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.brown.corner.label,\n.ui.brown.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.brown.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n.ui.basic.brown.label {\n  background-color: #FFFFFF !important;\n  color: #A5673F !important;\n  border-color: #A5673F !important;\n}\n.ui.basic.brown.labels a.label:hover,\na.ui.basic.brown.label:hover {\n  background-color: #FFFFFF !important;\n  color: #975b33 !important;\n  border-color: #975b33 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.labels .label,\n.ui.grey.label {\n  background-color: #767676 !important;\n  border-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.grey.labels .label:hover,\na.ui.grey.label:hover {\n  background-color: #838383 !important;\n  border-color: #838383 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.grey.corner.label,\n.ui.grey.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.grey.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n.ui.basic.grey.label {\n  background-color: #FFFFFF !important;\n  color: #767676 !important;\n  border-color: #767676 !important;\n}\n.ui.basic.grey.labels a.label:hover,\na.ui.basic.grey.label:hover {\n  background-color: #FFFFFF !important;\n  color: #838383 !important;\n  border-color: #838383 !important;\n}\n\n/*--- Black ---*/\n\n.ui.black.labels .label,\n.ui.black.label {\n  background-color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.black.labels .label:hover,\na.ui.black.label:hover {\n  background-color: #27292a !important;\n  border-color: #27292a !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.black.corner.label,\n.ui.black.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.black.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n.ui.basic.black.label {\n  background-color: #FFFFFF !important;\n  color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n}\n.ui.basic.black.labels a.label:hover,\na.ui.basic.black.label:hover {\n  background-color: #FFFFFF !important;\n  color: #27292a !important;\n  border-color: #27292a !important;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.label {\n  background: none #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/* Link */\na.ui.basic.label:hover {\n  text-decoration: none;\n  background: none #FFFFFF;\n  color: #1e70bf;\n  box-shadow: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n/* Pointing */\n.ui.basic.pointing.label:before {\n  border-color: inherit;\n}\n\n/*-------------------\n       Fluid\n--------------------*/\n\n.ui.label.fluid,\n.ui.fluid.labels > .label {\n  width: 100%;\n  box-sizing: border-box;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.labels .label,\n.ui.inverted.label {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n/*-------------------\n     Horizontal\n--------------------*/\n\n.ui.horizontal.labels .label,\n.ui.horizontal.label {\n  margin: 0em 0.5em 0em 0em;\n  padding: 0.4em 0.833em;\n  min-width: 3em;\n  text-align: center;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.labels .label,\n.ui.circular.label {\n  min-width: 2em;\n  min-height: 2em;\n  padding: 0.5em !important;\n  line-height: 1em;\n  text-align: center;\n  border-radius: 500rem;\n}\n.ui.empty.circular.labels .label,\n.ui.empty.circular.label {\n  min-width: 0em;\n  min-height: 0em;\n  overflow: hidden;\n  width: 0.5em;\n  height: 0.5em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.label {\n  position: relative;\n}\n.ui.attached.pointing.label {\n  position: absolute;\n}\n.ui.pointing.label:before {\n  background-color: inherit;\n  background-image: inherit;\n  border-width: none;\n  border-style: solid;\n  border-color: inherit;\n}\n\n/* Arrow */\n.ui.pointing.label:before {\n  position: absolute;\n  content: '';\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n  background-image: none;\n  z-index: 2;\n  width: 0.6666em;\n  height: 0.6666em;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n\n/*--- Above ---*/\n\n.ui.pointing.label,\n.ui[class*=\"pointing above\"].label {\n  margin-top: 1em;\n}\n.ui.pointing.label:before,\n.ui[class*=\"pointing above\"].label:before {\n  border-width: 1px 0px 0px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 0%;\n  left: 50%;\n}\n\n/*--- Below ---*/\n\n.ui[class*=\"bottom pointing\"].label,\n.ui[class*=\"pointing below\"].label {\n  margin-top: 0em;\n  margin-bottom: 1em;\n}\n.ui[class*=\"bottom pointing\"].label:before,\n.ui[class*=\"pointing below\"].label:before {\n  border-width: 0px 1px 1px 0px;\n  top: auto;\n  right: auto;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 100%;\n  left: 50%;\n}\n\n/*--- Left ---*/\n\n.ui[class*=\"left pointing\"].label {\n  margin-top: 0em;\n  margin-left: 0.6666em;\n}\n.ui[class*=\"left pointing\"].label:before {\n  border-width: 0px 0px 1px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n/*--- Right ---*/\n\n.ui[class*=\"right pointing\"].label {\n  margin-top: 0em;\n  margin-right: 0.6666em;\n}\n.ui[class*=\"right pointing\"].label:before {\n  border-width: 1px 1px 0px 0px;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n          transform: translateX(50%) translateY(-50%) rotate(45deg);\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n}\n\n/* Basic Pointing */\n\n/*--- Above ---*/\n\n.ui.basic.pointing.label:before,\n.ui.basic[class*=\"pointing above\"].label:before {\n  margin-top: -1px;\n}\n\n/*--- Below ---*/\n\n.ui.basic[class*=\"bottom pointing\"].label:before,\n.ui.basic[class*=\"pointing below\"].label:before {\n  bottom: auto;\n  top: 100%;\n  margin-top: 1px;\n}\n\n/*--- Left ---*/\n\n.ui.basic[class*=\"left pointing\"].label:before {\n  top: 50%;\n  left: -1px;\n}\n\n/*--- Right ---*/\n\n.ui.basic[class*=\"right pointing\"].label:before {\n  top: 50%;\n  right: -1px;\n}\n\n/*------------------\n   Floating Label\n-------------------*/\n\n.ui.floating.label {\n  position: absolute;\n  z-index: 100;\n  top: -1em;\n  left: 100%;\n  margin: 0em 0em 0em -1.5em !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.labels .label,\n.ui.mini.label {\n  font-size: 0.64285714rem;\n}\n.ui.tiny.labels .label,\n.ui.tiny.label {\n  font-size: 0.71428571rem;\n}\n.ui.small.labels .label,\n.ui.small.label {\n  font-size: 0.78571429rem;\n}\n.ui.labels .label,\n.ui.label {\n  font-size: 0.85714286rem;\n}\n.ui.large.labels .label,\n.ui.large.label {\n  font-size: 1rem;\n}\n.ui.big.labels .label,\n.ui.big.label {\n  font-size: 1.28571429rem;\n}\n.ui.huge.labels .label,\n.ui.huge.label {\n  font-size: 1.42857143rem;\n}\n.ui.massive.labels .label,\n.ui.massive.label {\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/list.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - List\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            List\n*******************************/\n\nul.ui.list,\nol.ui.list,\n.ui.list {\n  list-style-type: none;\n  margin: 1em 0em;\n  padding: 0em 0em;\n}\nul.ui.list:first-child,\nol.ui.list:first-child,\n.ui.list:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\nul.ui.list:last-child,\nol.ui.list:last-child,\n.ui.list:last-child {\n  margin-bottom: 0em;\n  padding-bottom: 0em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* List Item */\nul.ui.list li,\nol.ui.list li,\n.ui.list > .item,\n.ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\nul.ui.list > li:first-child:after,\nol.ui.list > li:first-child:after,\n.ui.list > .list > .item,\n.ui.list > .item:after {\n  content: '';\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\nul.ui.list li:first-child,\nol.ui.list li:first-child,\n.ui.list .list > .item:first-child,\n.ui.list > .item:first-child {\n  padding-top: 0em;\n}\nul.ui.list li:last-child,\nol.ui.list li:last-child,\n.ui.list .list > .item:last-child,\n.ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n/* Child List */\nul.ui.list ul,\nol.ui.list ol,\n.ui.list .list {\n  clear: both;\n  margin: 0em;\n  padding: 0.75em 0em 0.25em 0.5em;\n}\n\n/* Child Item */\nul.ui.list ul li,\nol.ui.list ol li,\n.ui.list .list > .item {\n  padding: 0.14285714em 0em;\n  line-height: inherit;\n}\n\n/* Icon */\n.ui.list .list > .item > i.icon,\n.ui.list > .item > i.icon {\n  display: table-cell;\n  margin: 0em;\n  padding-top: 0.07142857em;\n  padding-right: 0.28571429em;\n  vertical-align: top;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.list .list > .item > i.icon:only-child,\n.ui.list > .item > i.icon:only-child {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* Image */\n.ui.list .list > .item > .image,\n.ui.list > .item > .image {\n  display: table-cell;\n  background-color: transparent;\n  margin: 0em;\n  vertical-align: top;\n}\n.ui.list .list > .item > .image:not(:only-child):not(img),\n.ui.list > .item > .image:not(:only-child):not(img) {\n  padding-right: 0.5em;\n}\n.ui.list .list > .item > .image img,\n.ui.list > .item > .image img {\n  vertical-align: top;\n}\n.ui.list .list > .item > img.image,\n.ui.list .list > .item > .image:only-child,\n.ui.list > .item > img.image,\n.ui.list > .item > .image:only-child {\n  display: inline-block;\n}\n\n/* Content */\n.ui.list .list > .item > .content,\n.ui.list > .item > .content {\n  line-height: 1.14285714em;\n}\n.ui.list .list > .item > .image + .content,\n.ui.list .list > .item > .icon + .content,\n.ui.list > .item > .image + .content,\n.ui.list > .item > .icon + .content {\n  display: table-cell;\n  padding: 0em 0em 0em 0.5em;\n  vertical-align: top;\n}\n.ui.list .list > .item > img.image + .content,\n.ui.list > .item > img.image + .content {\n  display: inline-block;\n}\n.ui.list .list > .item > .content > .list,\n.ui.list > .item > .content > .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n\n/* Header */\n.ui.list .list > .item .header,\n.ui.list > .item .header {\n  display: block;\n  margin: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Description */\n.ui.list .list > .item .description,\n.ui.list > .item .description {\n  display: block;\n  color: rgba(0, 0, 0, 0.7);\n}\n\n/* Child Link */\n.ui.list > .item a,\n.ui.list .list > .item a {\n  cursor: pointer;\n}\n\n/* Linking Item */\n.ui.list .list > a.item,\n.ui.list > a.item {\n  cursor: pointer;\n  color: #4183C4;\n}\n.ui.list .list > a.item:hover,\n.ui.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linked Item Icons */\n.ui.list .list > a.item i.icon,\n.ui.list > a.item i.icon {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Header Link */\n.ui.list .list > .item a.header,\n.ui.list > .item a.header {\n  cursor: pointer;\n  color: #4183C4 !important;\n}\n.ui.list .list > .item a.header:hover,\n.ui.list > .item a.header:hover {\n  color: #1e70bf !important;\n}\n\n/* Floated Content */\n.ui[class*=\"left floated\"].list {\n  float: left;\n}\n.ui[class*=\"right floated\"].list {\n  float: right;\n}\n.ui.list .list > .item [class*=\"left floated\"],\n.ui.list > .item [class*=\"left floated\"] {\n  float: left;\n  margin: 0em 1em 0em 0em;\n}\n.ui.list .list > .item [class*=\"right floated\"],\n.ui.list > .item [class*=\"right floated\"] {\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.menu .ui.list > .item,\n.ui.menu .ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  background-color: transparent;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\n.ui.menu .ui.list .list > .item:before,\n.ui.menu .ui.list > .item:before {\n  border: none;\n  background: none;\n}\n.ui.menu .ui.list .list > .item:first-child,\n.ui.menu .ui.list > .item:first-child {\n  padding-top: 0em;\n}\n.ui.menu .ui.list .list > .item:last-child,\n.ui.menu .ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*-------------------\n      Horizontal\n--------------------*/\n\n.ui.horizontal.list {\n  display: inline-block;\n  font-size: 0em;\n}\n.ui.horizontal.list > .item {\n  display: inline-block;\n  margin-left: 1em;\n  font-size: 1rem;\n}\n.ui.horizontal.list:not(.celled) > .item:first-child {\n  margin-left: 0em !important;\n  padding-left: 0em !important;\n}\n.ui.horizontal.list .list {\n  padding-left: 0em;\n  padding-bottom: 0em;\n}\n.ui.horizontal.list > .item > .image,\n.ui.horizontal.list .list > .item > .image,\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list .list > .item > .icon,\n.ui.horizontal.list > .item > .content,\n.ui.horizontal.list .list > .item > .content {\n  vertical-align: middle;\n}\n\n/* Padding on all elements */\n.ui.horizontal.list > .item:first-child,\n.ui.horizontal.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Horizontal List */\n.ui.horizontal.list > .item > i.icon {\n  margin: 0em;\n  padding: 0em 0.25em 0em 0em;\n}\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list > .item > .icon + .content {\n  float: none;\n  display: inline-block;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*-------------------\n       Disabled\n--------------------*/\n\n.ui.list .list > .disabled.item,\n.ui.list > .disabled.item {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3) !important;\n}\n.ui.inverted.list .list > .disabled.item,\n.ui.inverted.list > .disabled.item {\n  color: rgba(225, 225, 225, 0.3) !important;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\n.ui.list .list > a.item:hover .icon,\n.ui.list > a.item:hover .icon {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.list .list > a.item > .icon,\n.ui.inverted.list > a.item > .icon {\n  color: rgba(255, 255, 255, 0.7);\n}\n.ui.inverted.list .list > .item .header,\n.ui.inverted.list > .item .header {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.list .list > .item .description,\n.ui.inverted.list > .item .description {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Item Link */\n.ui.inverted.list .list > a.item,\n.ui.inverted.list > a.item {\n  cursor: pointer;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.list .list > a.item:hover,\n.ui.inverted.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linking Content */\n.ui.inverted.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n.ui.inverted.list .item a:not(.ui):hover {\n  color: #1e70bf !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.list[class*=\"top aligned\"] .image,\n.ui.list[class*=\"top aligned\"] .content,\n.ui.list [class*=\"top aligned\"] {\n  vertical-align: top !important;\n}\n.ui.list[class*=\"middle aligned\"] .image,\n.ui.list[class*=\"middle aligned\"] .content,\n.ui.list [class*=\"middle aligned\"] {\n  vertical-align: middle !important;\n}\n.ui.list[class*=\"bottom aligned\"] .image,\n.ui.list[class*=\"bottom aligned\"] .content,\n.ui.list [class*=\"bottom aligned\"] {\n  vertical-align: bottom !important;\n}\n\n/*-------------------\n       Link\n--------------------*/\n\n.ui.link.list .item,\n.ui.link.list a.item,\n.ui.link.list .item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n  -webkit-transition: 0.1s color ease;\n          transition: 0.1s color ease;\n}\n.ui.link.list a.item:hover,\n.ui.link.list .item a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.link.list a.item:active,\n.ui.link.list .item a:not(.ui):active {\n  color: rgba(0, 0, 0, 0.9);\n}\n.ui.link.list .active.item,\n.ui.link.list .active.item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.inverted.link.list .item,\n.ui.inverted.link.list a.item,\n.ui.inverted.link.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.inverted.link.list a.item:hover,\n.ui.inverted.link.list .item a:not(.ui):hover {\n  color: #ffffff;\n}\n.ui.inverted.link.list a.item:active,\n.ui.inverted.link.list .item a:not(.ui):active {\n  color: #ffffff;\n}\n.ui.inverted.link.list a.active.item,\n.ui.inverted.link.list .active.item a:not(.ui) {\n  color: #ffffff;\n}\n\n/*-------------------\n      Selection\n--------------------*/\n\n.ui.selection.list .list > .item,\n.ui.selection.list > .item {\n  cursor: pointer;\n  background: transparent;\n  padding: 0.5em 0.5em;\n  margin: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  border-radius: 0.5em;\n  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n          transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n}\n.ui.selection.list .list > .item:last-child,\n.ui.selection.list > .item:last-child {\n  margin-bottom: 0em;\n}\n.ui.selection.list.list > .item:hover,\n.ui.selection.list > .item:hover {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.selection.list .list > .item:active,\n.ui.selection.list > .item:active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.9);\n}\n.ui.selection.list .list > .item.active,\n.ui.selection.list > .item.active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.inverted.selection.list > .item,\n.ui.inverted.selection.list > .item {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.inverted.selection.list > .item:hover,\n.ui.inverted.selection.list > .item:hover {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n.ui.inverted.selection.list > .item:active,\n.ui.inverted.selection.list > .item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n.ui.inverted.selection.list > .item.active,\n.ui.inverted.selection.list > .item.active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/* Celled / Divided Selection List */\n.ui.celled.selection.list .list > .item,\n.ui.divided.selection.list .list > .item,\n.ui.celled.selection.list > .item,\n.ui.divided.selection.list > .item {\n  border-radius: 0em;\n}\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.list > .item {\n  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n          transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n}\n.ui.animated.list:not(.horizontal) > .item:hover {\n  padding-left: 1em;\n}\n\n/*-------------------\n       Fitted\n--------------------*/\n\n.ui.fitted.list:not(.selection) .list > .item,\n.ui.fitted.list:not(.selection) > .item {\n  padding-left: 0em;\n  padding-right: 0em;\n}\n.ui.fitted.selection.list .list > .item,\n.ui.fitted.selection.list > .item {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n/*-------------------\n      Bulleted\n--------------------*/\n\nul.ui.list,\n.ui.bulleted.list {\n  margin-left: 1.25rem;\n}\nul.ui.list li,\n.ui.bulleted.list .list > .item,\n.ui.bulleted.list > .item {\n  position: relative;\n}\nul.ui.list li:before,\n.ui.bulleted.list .list > .item:before,\n.ui.bulleted.list > .item:before {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  pointer-events: none;\n  position: absolute;\n  top: auto;\n  left: auto;\n  margin-left: -1.25rem;\n  content: '•';\n  opacity: 1;\n  color: inherit;\n  vertical-align: top;\n}\nul.ui.list ul,\n.ui.bulleted.list .list {\n  padding-left: 1.25rem;\n}\n\n/* Horizontal Bulleted */\nul.ui.horizontal.bulleted.list,\n.ui.horizontal.bulleted.list {\n  margin-left: 0em;\n}\nul.ui.horizontal.bulleted.list li,\n.ui.horizontal.bulleted.list > .item {\n  margin-left: 1.75rem;\n}\nul.ui.horizontal.bulleted.list li:first-child,\n.ui.horizontal.bulleted.list > .item:first-child {\n  margin-left: 0em;\n}\nul.ui.horizontal.bulleted.list li::before,\n.ui.horizontal.bulleted.list > .item::before {\n  color: rgba(0, 0, 0, 0.87);\n}\nul.ui.horizontal.bulleted.list li:first-child::before,\n.ui.horizontal.bulleted.list > .item:first-child::before {\n  display: none;\n}\n\n/*-------------------\n       Ordered\n--------------------*/\n\nol.ui.list,\n.ui.ordered.list,\n.ui.ordered.list .list,\nol.ui.list ol {\n  counter-reset: ordered;\n  margin-left: 1.25rem;\n  list-style-type: none;\n}\nol.ui.list li,\n.ui.ordered.list .list > .item,\n.ui.ordered.list > .item {\n  list-style-type: none;\n  position: relative;\n}\nol.ui.list li:before,\n.ui.ordered.list .list > .item:before,\n.ui.ordered.list > .item:before {\n  position: absolute;\n  top: auto;\n  left: auto;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  pointer-events: none;\n  margin-left: -1.25rem;\n  counter-increment: ordered;\n  content: counters(ordered, \".\") \" \";\n  text-align: right;\n  color: rgba(0, 0, 0, 0.87);\n  vertical-align: middle;\n  opacity: 0.8;\n}\nol.ui.inverted.list li:before,\n.ui.ordered.inverted.list .list > .item:before,\n.ui.ordered.inverted.list > .item:before {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Value */\n.ui.ordered.list > .list > .item[data-value],\n.ui.ordered.list > .item[data-value] {\n  content: attr(data-value);\n}\nol.ui.list li[value]:before {\n  content: attr(value);\n}\n\n/* Child Lists */\nol.ui.list ol,\n.ui.ordered.list .list {\n  margin-left: 1em;\n}\nol.ui.list ol li:before,\n.ui.ordered.list .list > .item:before {\n  margin-left: -2em;\n}\n\n/* Horizontal Ordered */\nol.ui.horizontal.list,\n.ui.ordered.horizontal.list {\n  margin-left: 0em;\n}\nol.ui.horizontal.list li:before,\n.ui.ordered.horizontal.list .list > .item:before,\n.ui.ordered.horizontal.list > .item:before {\n  position: static;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*-------------------\n       Divided\n--------------------*/\n\n.ui.divided.list > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.divided.list .list > .item {\n  border-top: none;\n}\n.ui.divided.list .item .list > .item {\n  border-top: none;\n}\n.ui.divided.list .list > .item:first-child,\n.ui.divided.list > .item:first-child {\n  border-top: none;\n}\n\n/* Sub Menu */\n.ui.divided.list:not(.horizontal) .list > .item:first-child {\n  border-top-width: 1px;\n}\n\n/* Divided bulleted */\n.ui.divided.bulleted.list:not(.horizontal),\n.ui.divided.bulleted.list .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n.ui.divided.bulleted.list > .item:not(.horizontal) {\n  padding-left: 1.25rem;\n}\n\n/* Divided Ordered */\n.ui.divided.ordered.list {\n  margin-left: 0em;\n}\n.ui.divided.ordered.list .list > .item,\n.ui.divided.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n.ui.divided.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n.ui.divided.ordered.list .item .list > .item {\n  padding-left: 1em;\n}\n\n/* Divided Selection */\n.ui.divided.selection.list .list > .item,\n.ui.divided.selection.list > .item {\n  margin: 0em;\n  border-radius: 0em;\n}\n\n/* Divided horizontal */\n.ui.divided.horizontal.list {\n  margin-left: 0em;\n}\n.ui.divided.horizontal.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n.ui.horizontal.divided.list > .item:first-child {\n  border-left: none;\n}\n\n/* Inverted */\n.ui.divided.inverted.list > .item,\n.ui.divided.inverted.list > .list,\n.ui.divided.inverted.horizontal.list > .item {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Celled\n--------------------*/\n\n.ui.celled.list > .item,\n.ui.celled.list > .list {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n.ui.celled.list > .item:last-child {\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Padding on all elements */\n.ui.celled.list > .item:first-child,\n.ui.celled.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Sub Menu */\n.ui.celled.list .item .list > .item {\n  border-width: 0px;\n}\n.ui.celled.list .list > .item:first-child {\n  border-top-width: 0px;\n}\n\n/* Celled Bulleted */\n.ui.celled.bulleted.list {\n  margin-left: 0em;\n}\n.ui.celled.bulleted.list .list > .item,\n.ui.celled.bulleted.list > .item {\n  padding-left: 1.25rem;\n}\n.ui.celled.bulleted.list .item .list {\n  margin-left: -1.25rem;\n  margin-right: -1.25rem;\n  padding-bottom: 0.21428571em;\n}\n\n/* Celled Ordered */\n.ui.celled.ordered.list {\n  margin-left: 0em;\n}\n.ui.celled.ordered.list .list > .item,\n.ui.celled.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n.ui.celled.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n.ui.celled.ordered.list .list > .item {\n  padding-left: 1em;\n}\n\n/* Celled Horizontal */\n.ui.horizontal.celled.list {\n  margin-left: 0em;\n}\n.ui.horizontal.celled.list .list > .item,\n.ui.horizontal.celled.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n.ui.horizontal.celled.list .list > .item:last-child,\n.ui.horizontal.celled.list > .item:last-child {\n  border-bottom: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Inverted */\n.ui.celled.inverted.list > .item,\n.ui.celled.inverted.list > .list {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n.ui.celled.inverted.horizontal.list .list > .item,\n.ui.celled.inverted.horizontal.list > .item {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n       Relaxed\n--------------------*/\n\n.ui.relaxed.list:not(.horizontal) > .item {\n  padding-top: 0.42857143em;\n  padding-bottom: 0.42857143em;\n}\n.ui.relaxed.list:not(.horizontal) .list > .item {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n.ui.horizontal.relaxed.list > .item {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/* Very Relaxed */\n.ui[class*=\"very relaxed\"].list:not(.horizontal) > .item {\n  padding-top: 0.85714286em;\n  padding-bottom: 0.85714286em;\n}\n.ui[class*=\"very relaxed\"].list:not(.horizontal) .list > .item {\n  padding-top: 0.28571429em;\n  padding-bottom: 0.28571429em;\n}\n.ui.horizontal[class*=\"very relaxed\"].list .list > .item,\n.ui.horizontal[class*=\"very relaxed\"].list > .item {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n\n/*-------------------\n      Sizes\n--------------------*/\n\n.ui.mini.list {\n  font-size: 0.71428571em;\n}\n.ui.tiny.list {\n  font-size: 0.85714286em;\n}\n.ui.small.list {\n  font-size: 0.92857143em;\n}\n.ui.list {\n  font-size: 1em;\n}\n.ui.large.list {\n  font-size: 1.14285714em;\n}\n.ui.big.list {\n  font-size: 1.28571429em;\n}\n.ui.huge.list {\n  font-size: 1.42857143em;\n}\n.ui.massive.list {\n  font-size: 1.71428571em;\n}\n.ui.mini.horizontal.list .list > .item,\n.ui.mini.horizontal.list > .item {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.horizontal.list .list > .item,\n.ui.tiny.horizontal.list > .item {\n  font-size: 0.85714286rem;\n}\n.ui.small.horizontal.list .list > .item,\n.ui.small.horizontal.list > .item {\n  font-size: 0.92857143rem;\n}\n.ui.horizontal.list .list > .item,\n.ui.horizontal.list > .item {\n  font-size: 1rem;\n}\n.ui.large.horizontal.list .list > .item,\n.ui.large.horizontal.list > .item {\n  font-size: 1.14285714rem;\n}\n.ui.big.horizontal.list .list > .item,\n.ui.big.horizontal.list > .item {\n  font-size: 1.28571429rem;\n}\n.ui.huge.horizontal.list .list > .item,\n.ui.huge.horizontal.list > .item {\n  font-size: 1.42857143rem;\n}\n.ui.massive.horizontal.list .list > .item,\n.ui.massive.horizontal.list > .item {\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/loader.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Loader\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Loader\n*******************************/\n\n\n/* Standard Size */\n.ui.loader {\n  display: none;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  margin: 0px;\n  text-align: center;\n  z-index: 1000;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n}\n\n/* Static Shape */\n.ui.loader:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n/* Active Shape */\n.ui.loader:after {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  -webkit-animation: loader 0.6s linear;\n          animation: loader 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/* Active Animation */\n@-webkit-keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n/* Sizes */\n.ui.loader:before,\n.ui.loader:after {\n  width: 2.2585em;\n  height: 2.2585em;\n  margin: 0em 0em 0em -1.12925em;\n}\n.ui.mini.loader:before,\n.ui.mini.loader:after {\n  width: 1.2857em;\n  height: 1.2857em;\n  margin: 0em 0em 0em -0.64285em;\n}\n.ui.small.loader:before,\n.ui.small.loader:after {\n  width: 1.7142em;\n  height: 1.7142em;\n  margin: 0em 0em 0em -0.8571em;\n}\n.ui.large.loader:before,\n.ui.large.loader:after {\n  width: 4.5714em;\n  height: 4.5714em;\n  margin: 0em 0em 0em -2.2857em;\n}\n\n/*-------------------\n      Coupling\n--------------------*/\n\n\n/* Show inside active dimmer */\n.ui.dimmer .loader {\n  display: block;\n}\n\n/* Black Dimmer */\n.ui.dimmer .ui.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.dimmer .ui.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n.ui.dimmer .ui.loader:after {\n  border-color: #FFFFFF transparent transparent;\n}\n\n/* White Dimmer (Inverted) */\n.ui.inverted.dimmer .ui.loader {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.inverted.dimmer .ui.loader:before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n.ui.inverted.dimmer .ui.loader:after {\n  border-color: #767676 transparent transparent;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n        Text\n--------------------*/\n\n.ui.text.loader {\n  width: auto !important;\n  height: auto !important;\n  text-align: center;\n  font-style: normal;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.indeterminate.loader:after {\n  -webkit-animation-direction: reverse;\n          animation-direction: reverse;\n  -webkit-animation-duration: 1.2s;\n          animation-duration: 1.2s;\n}\n.ui.loader.active,\n.ui.loader.visible {\n  display: block;\n}\n.ui.loader.disabled,\n.ui.loader.hidden {\n  display: none;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*-------------------\n        Sizes\n--------------------*/\n\n\n/* Loader */\n.ui.inverted.dimmer .ui.mini.loader,\n.ui.mini.loader {\n  width: 1.2857em;\n  height: 1.2857em;\n  font-size: 0.71428571em;\n}\n.ui.inverted.dimmer .ui.small.loader,\n.ui.small.loader {\n  width: 1.7142em;\n  height: 1.7142em;\n  font-size: 0.92857143em;\n}\n.ui.inverted.dimmer .ui.loader,\n.ui.loader {\n  width: 2.2585em;\n  height: 2.2585em;\n  font-size: 1em;\n}\n.ui.inverted.dimmer .ui.loader.large,\n.ui.loader.large {\n  width: 4.5714em;\n  height: 4.5714em;\n  font-size: 1.14285714em;\n}\n\n/* Text Loader */\n.ui.mini.text.loader {\n  min-width: 1.2857em;\n  padding-top: 1.99998571em;\n}\n.ui.small.text.loader {\n  min-width: 1.7142em;\n  padding-top: 2.42848571em;\n}\n.ui.text.loader {\n  min-width: 2.2585em;\n  padding-top: 2.97278571em;\n}\n.ui.large.text.loader {\n  min-width: 4.5714em;\n  padding-top: 5.28568571em;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n.ui.inverted.loader:after {\n  border-top-color: #FFFFFF;\n}\n\n/*-------------------\n       Inline\n--------------------*/\n\n.ui.inline.loader {\n  position: relative;\n  vertical-align: middle;\n  margin: 0em;\n  left: 0em;\n  top: 0em;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n}\n.ui.inline.loader.active,\n.ui.inline.loader.visible {\n  display: inline-block;\n}\n\n/* Centered Inline */\n.ui.centered.inline.loader.active,\n.ui.centered.inline.loader.visible {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/menu.css",
    "content": "/*\n * # Semantic - Menu\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributor\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1rem 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  font-weight: normal;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  min-height: 2.85714286em;\n}\n.ui.menu:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n.ui.menu:first-child {\n  margin-top: 0rem;\n}\n.ui.menu:last-child {\n  margin-bottom: 0rem;\n}\n\n/*--------------\n    Sub-Menu\n---------------*/\n\n.ui.menu .menu {\n  margin: 0em;\n}\n.ui.menu:not(.vertical) > .menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.menu:not(.vertical) .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.menu .item {\n  position: relative;\n  vertical-align: middle;\n  line-height: 1;\n  text-decoration: none;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background: none;\n  padding: 0.92857143em 1.14285714em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: normal;\n  -webkit-transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n          transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n}\n.ui.menu > .item:first-child {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Border */\n.ui.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  right: 0px;\n  height: 100%;\n  width: 1px;\n  background: rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n  Text Content\n---------------*/\n\n.ui.menu .text.item > *,\n.ui.menu .item > a:not(.ui),\n.ui.menu .item > p:only-child {\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n  line-height: 1.3;\n}\n.ui.menu .item > p:first-child {\n  margin-top: 0;\n}\n.ui.menu .item > p:last-child {\n  margin-bottom: 0;\n}\n\n/*--------------\n      Icons\n---------------*/\n\n.ui.menu .item > i.icon {\n  opacity: 0.9;\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.menu:not(.vertical) .item > .button {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n  padding-bottom: 0.71428571em;\n  padding-top: 0.71428571em;\n  font-size: 1em;\n}\n\n/*----------------\n Grid / Container\n-----------------*/\n\n.ui.menu > .grid,\n.ui.menu > .container {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: inherit;\n  -webkit-align-items: inherit;\n      -ms-flex-align: inherit;\n          align-items: inherit;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: inherit;\n      -ms-flex-direction: inherit;\n          flex-direction: inherit;\n}\n\n/*--------------\n     Inputs\n---------------*/\n\n.ui.menu .item > .input {\n  width: 100%;\n}\n.ui.menu:not(.vertical) .item > .input {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n}\n.ui.menu .item > .input input {\n  font-size: 1em;\n  padding-top: 0.57142857em;\n  padding-bottom: 0.57142857em;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.menu .header.item,\n.ui.vertical.menu .header.item {\n  margin: 0em;\n  background: '';\n  text-transform: normal;\n  font-weight: bold;\n}\n.ui.vertical.menu .item > .header:not(.ui) {\n  margin: 0em 0em 0.5em;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n/*--------------\n     Popup\n---------------*/\n\n.ui.menu .ui.popup {\n  display: none;\n}\n.ui.menu .ui.visible.popup {\n  display: block;\n}\n\n/*--------------\n    Dropdowns\n---------------*/\n\n\n/* Dropdown Icon */\n.ui.menu .item > i.dropdown.icon {\n  padding: 0em;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n/* Menu */\n.ui.menu .dropdown.item .menu {\n  left: 0px;\n  min-width: calc(100% - 1px);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  background: #FFFFFF;\n  margin: 0em 0px 0px;\n  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);\n  -webkit-box-orient: vertical !important;\n  -webkit-box-direction: normal !important;\n  -webkit-flex-direction: column !important;\n      -ms-flex-direction: column !important;\n          flex-direction: column !important;\n}\n\n/* Menu Items */\n.ui.menu .ui.dropdown .menu > .item {\n  margin: 0;\n  text-align: left;\n  font-size: 1em !important;\n  padding: 0.71428571em 1.14285714em !important;\n  background: transparent !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n  text-transform: none !important;\n  font-weight: normal !important;\n  box-shadow: none !important;\n  -webkit-transition: none !important;\n          transition: none !important;\n}\n.ui.menu .ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.menu .ui.dropdown .menu > .selected.item {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.menu .ui.dropdown .menu > .active.item {\n  background: rgba(0, 0, 0, 0.03) !important;\n  font-weight: bold !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {\n  display: block;\n}\n.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {\n  display: inline-block;\n  font-size: 1em !important;\n  float: none;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Secondary */\n.ui.secondary.menu .dropdown.item > .menu,\n.ui.text.menu .dropdown.item > .menu {\n  border-radius: 0.28571429rem;\n  margin-top: 0.35714286em;\n}\n\n/* Pointing */\n.ui.menu .pointing.dropdown.item .menu {\n  margin-top: 0.75em;\n}\n\n/* Inverted */\n.ui.inverted.menu .search.dropdown.item > .search,\n.ui.inverted.menu .search.dropdown.item > .text {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Vertical */\n.ui.vertical.menu .dropdown.item > .icon {\n  float: right;\n  content: \"\\f0da\";\n  margin-left: 1em;\n}\n.ui.vertical.menu .dropdown.item .menu {\n  top: 0% !important;\n  left: 100%;\n  min-width: 0;\n  margin: 0em 0em 0em 0em;\n  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem;\n}\n.ui.vertical.menu .active.dropdown.item {\n  border-top-right-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n.ui.vertical.menu .dropdown.active.item {\n  box-shadow: none;\n}\n\n/* Evenly Divided */\n.ui.item.menu .dropdown .menu .item {\n  width: 100%;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n.ui.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-left: 1em;\n  padding: 0.3em 0.71428571em;\n}\n.ui.vertical.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-top: -0.15em;\n  margin-bottom: -0.15em;\n  padding: 0.3em 0.71428571em;\n}\n.ui.menu .item > .floating.label {\n  padding: 0.3em 0.71428571em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.menu .item > img:not(.ui) {\n  display: inline-block;\n  vertical-align: middle;\n  margin: -0.3em 0em;\n  width: 2.5em;\n}\n.ui.vertical.menu .item > img:not(.ui):only-child {\n  display: block;\n  max-width: 100%;\n  width: auto;\n}\n\n\n/*******************************\n          Coupling\n*******************************/\n\n\n/*--------------\n     Sidebar\n---------------*/\n\n\n/* Show vertical dividers below last */\n.ui.vertical.sidebar.menu > .item:first-child:before {\n  display: block !important;\n}\n.ui.vertical.sidebar.menu > .item::before {\n  top: auto;\n  bottom: 0px;\n}\n\n/*--------------\n    Container\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.menu > .ui.container {\n    width: 100% !important;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {\n    border-left: 1px solid rgba(34, 36, 38, 0.1);\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.link.menu .item:hover,\n.ui.menu .dropdown.item:hover,\n.ui.menu .link.item:hover,\n.ui.menu a.item:hover {\n  cursor: pointer;\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Pressed\n---------------*/\n\n.ui.link.menu .item:active,\n.ui.menu .link.item:active,\n.ui.menu a.item:active {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  font-weight: normal;\n  box-shadow: none;\n}\n.ui.menu .active.item > i.icon {\n  opacity: 1;\n}\n\n/*--------------\n  Active Hover\n---------------*/\n\n.ui.menu .active.item:hover,\n.ui.vertical.menu .active.item:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.menu .item.disabled,\n.ui.menu .item.disabled:hover {\n  cursor: default;\n  background-color: transparent !important;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*------------------\nFloated Menu / Item\n-------------------*/\n\n\n/* Left Floated */\n.ui.menu:not(.vertical) .left.item,\n.ui.menu:not(.vertical) .left.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-right: auto !important;\n}\n\n/* Right Floated */\n.ui.menu:not(.vertical) .right.item,\n.ui.menu:not(.vertical) .right.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-left: auto !important;\n}\n\n/* Swapped Borders */\n.ui.menu .right.item::before,\n.ui.menu .right.menu > .item::before {\n  right: auto;\n  left: 0;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.menu {\n  display: block;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n/*--- Item ---*/\n\n.ui.vertical.menu .item {\n  display: block;\n  background: none;\n  border-top: none;\n  border-right: none;\n}\n.ui.vertical.menu > .item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n.ui.vertical.menu > .item:last-child {\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n/*--- Label ---*/\n\n.ui.vertical.menu .item > .label {\n  float: right;\n  text-align: center;\n}\n\n/*--- Icon ---*/\n\n.ui.vertical.menu .item > i.icon {\n  width: 1.18em;\n  float: right;\n  margin: 0em 0em 0em 0.5em;\n}\n.ui.vertical.menu .item > .label + i.icon {\n  float: none;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*--- Border ---*/\n\n.ui.vertical.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0px;\n  width: 100%;\n  background: rgba(34, 36, 38, 0.1);\n  height: 1px;\n}\n.ui.vertical.menu .item:first-child:before {\n  display: none !important;\n}\n\n/*--- Sub Menu ---*/\n\n.ui.vertical.menu .item > .menu {\n  margin: 0.5em -1.14285714em 0em;\n}\n.ui.vertical.menu .menu .item {\n  background: none;\n  padding: 0.5em 1.33333333em;\n  font-size: 0.85714286em;\n  color: rgba(0, 0, 0, 0.5);\n}\n.ui.vertical.menu .item .menu a.item:hover,\n.ui.vertical.menu .item .menu .link.item:hover {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.vertical.menu .menu .item:before {\n  display: none;\n}\n\n/* Vertical Active */\n.ui.vertical.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  border-radius: 0em;\n  box-shadow: none;\n}\n.ui.vertical.menu > .active.item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.vertical.menu > .active.item:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.vertical.menu > .active.item:only-child {\n  border-radius: 0.28571429rem;\n}\n.ui.vertical.menu .active.item .menu .active.item {\n  border-left: none;\n}\n.ui.vertical.menu .item .menu .active.item {\n  background-color: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Tabular\n---------------*/\n\n.ui.tabular.menu {\n  border-radius: 0em;\n  box-shadow: none !important;\n  border: none;\n  background: none transparent;\n  border-bottom: 1px solid #D4D4D5;\n}\n.ui.tabular.fluid.menu {\n  width: calc(100% +  2px ) !important;\n}\n.ui.tabular.menu .item {\n  background: transparent;\n  border-bottom: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  padding: 0.92857143em 1.42857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.tabular.menu .item:before {\n  display: none;\n}\n\n/* Hover */\n.ui.tabular.menu .item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active */\n.ui.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-top-width: 1px;\n  border-color: #D4D4D5;\n  font-weight: bold;\n  margin-bottom: -1px;\n  box-shadow: none;\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px !important;\n}\n\n/* Coupling with segment for attachment */\n.ui.tabular.menu + .bottom.attached.segment {\n  border-top: none;\n  margin: 0px;\n  width: 100%;\n}\n.top.attached.segment + .ui.bottom.tabular.menu {\n  position: relative;\n  width: calc(100% +  2px );\n  left: -1px;\n}\n\n/* Bottom Vertical Tabular */\n.ui.bottom.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-top: 1px solid #D4D4D5;\n}\n.ui.bottom.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: none;\n}\n.ui.bottom.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: -1px 0px 0px 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem !important;\n}\n\n/* Vertical Tabular (Left) */\n.ui.vertical.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: 1px solid #D4D4D5;\n}\n.ui.vertical.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-right: none;\n}\n.ui.vertical.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px -1px 0px 0px;\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem !important;\n}\n\n/* Vertical Right Tabular */\n.ui.vertical.right.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: none;\n  border-left: 1px solid #D4D4D5;\n}\n.ui.vertical.right.tabular.menu .item {\n  background: none;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-left: none;\n}\n.ui.vertical.right.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px 0px 0px -1px;\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px !important;\n}\n\n/* Dropdown */\n.ui.tabular.menu .active.dropdown.item {\n  margin-bottom: 0px;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  border-bottom: none;\n}\n\n/*--------------\n   Pagination\n---------------*/\n\n.ui.pagination.menu {\n  margin: 0em;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n.ui.pagination.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.pagination.menu .item:last-child:before {\n  display: none;\n}\n.ui.pagination.menu .item {\n  min-width: 3em;\n  text-align: center;\n}\n.ui.pagination.menu .icon.item i.icon {\n  vertical-align: top;\n}\n\n/* Active */\n.ui.pagination.menu .active.item {\n  border-top: none;\n  padding-top: 0.92857143em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n}\n\n/*--------------\n   Secondary\n---------------*/\n\n.ui.secondary.menu {\n  background: none;\n  margin-left: -0.35714286em;\n  margin-right: -0.35714286em;\n  border-radius: 0em;\n  border: none;\n  box-shadow: none;\n}\n\n/* Item */\n.ui.secondary.menu .item {\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n          align-self: center;\n  box-shadow: none;\n  border: none;\n  padding: 0.71428571em 0.92857143em;\n  margin: 0em 0.35714286em;\n  background: none;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n  border-radius: 0.28571429rem;\n}\n\n/* No Divider */\n.ui.secondary.menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n.ui.secondary.menu .header.item {\n  border-radius: 0em;\n  border-right: none;\n  background: none transparent;\n}\n\n/* Image */\n.ui.secondary.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/* Hover */\n.ui.secondary.menu .dropdown.item:hover,\n.ui.secondary.menu .link.item:hover,\n.ui.secondary.menu a.item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n.ui.secondary.menu .active.item {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  border-radius: 0.28571429rem;\n}\n\n/* Active Hover */\n.ui.secondary.menu .active.item:hover {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.secondary.inverted.menu .link.item,\n.ui.secondary.inverted.menu a.item {\n  color: rgba(255, 255, 255, 0.7) !important;\n}\n.ui.secondary.inverted.menu .dropdown.item:hover,\n.ui.secondary.inverted.menu .link.item:hover,\n.ui.secondary.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff !important;\n}\n.ui.secondary.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n\n/* Fix item margins */\n.ui.secondary.item.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n.ui.secondary.item.menu .item:last-child {\n  margin-right: 0em;\n}\n.ui.secondary.attached.menu {\n  box-shadow: none;\n}\n\n/* Sub Menu */\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {\n  margin: 0em -0.92857143em;\n}\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 1.33333333em;\n}\n\n/*---------------------\n   Secondary Vertical\n-----------------------*/\n\n.ui.secondary.vertical.menu > .item {\n  border: none;\n  margin: 0em 0em 0.35714286em;\n  border-radius: 0.28571429rem !important;\n}\n.ui.secondary.vertical.menu > .header.item {\n  border-radius: 0em;\n}\n\n/* Sub Menu */\n.ui.vertical.secondary.menu .item > .menu .item {\n  background-color: transparent;\n}\n\n/* Inverted */\n.ui.secondary.inverted.menu {\n  background-color: transparent;\n}\n\n/*---------------------\n   Secondary Pointing\n-----------------------*/\n\n.ui.secondary.pointing.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n  border-bottom: 2px solid rgba(34, 36, 38, 0.15);\n}\n.ui.secondary.pointing.menu .item {\n  border-bottom-color: transparent;\n  border-bottom-style: solid;\n  border-radius: 0em;\n  -webkit-align-self: flex-end;\n      -ms-flex-item-align: end;\n          align-self: flex-end;\n  margin: 0em 0em -2px;\n  padding: 0.85714286em 1.14285714em;\n  border-bottom-width: 2px;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n\n/* Item Types */\n.ui.secondary.pointing.menu .header.item {\n  color: rgba(0, 0, 0, 0.85) !important;\n}\n.ui.secondary.pointing.menu .text.item {\n  box-shadow: none !important;\n}\n.ui.secondary.pointing.menu .item:after {\n  display: none;\n}\n\n/* Hover */\n.ui.secondary.pointing.menu .dropdown.item:hover,\n.ui.secondary.pointing.menu .link.item:hover,\n.ui.secondary.pointing.menu a.item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Pressed */\n.ui.secondary.pointing.menu .dropdown.item:active,\n.ui.secondary.pointing.menu .link.item:active,\n.ui.secondary.pointing.menu a.item:active {\n  background-color: transparent;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Active */\n.ui.secondary.pointing.menu .active.item {\n  background-color: transparent;\n  box-shadow: none;\n  border-color: #1B1C1D;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Hover */\n.ui.secondary.pointing.menu .active.item:hover {\n  border-color: #1B1C1D;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Dropdown */\n.ui.secondary.pointing.menu .active.dropdown.item {\n  border-color: transparent;\n}\n\n/* Vertical Pointing */\n.ui.secondary.vertical.pointing.menu {\n  border-bottom-width: 0px;\n  border-right-width: 2px;\n  border-right-style: solid;\n  border-right-color: rgba(34, 36, 38, 0.15);\n}\n.ui.secondary.vertical.pointing.menu .item {\n  border-bottom: none;\n  border-right-style: solid;\n  border-right-color: transparent;\n  border-radius: 0em !important;\n  margin: 0em -2px 0em 0em;\n  border-right-width: 2px;\n}\n\n/* Vertical Active */\n.ui.secondary.vertical.pointing.menu .active.item {\n  border-color: #1B1C1D;\n}\n\n/* Inverted */\n.ui.secondary.inverted.pointing.menu {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.ui.secondary.inverted.pointing.menu {\n  border-width: 2px;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n.ui.secondary.inverted.pointing.menu .item {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.secondary.inverted.pointing.menu .header.item {\n  color: #FFFFFF !important;\n}\n\n/* Hover */\n.ui.secondary.inverted.pointing.menu .item:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n.ui.secondary.inverted.pointing.menu .active.item {\n  border-color: #FFFFFF;\n  color: #ffffff;\n}\n\n/*--------------\n    Text Menu\n---------------*/\n\n.ui.text.menu {\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  margin: 1em -0.5em;\n}\n.ui.text.menu .item {\n  border-radius: 0px;\n  box-shadow: none;\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n          align-self: center;\n  margin: 0em 0em;\n  padding: 0.35714286em 0.5em;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.6);\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n\n/* Border */\n.ui.text.menu .item:before,\n.ui.text.menu .menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n.ui.text.menu .header.item {\n  background-color: transparent;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.92857143em;\n  text-transform: uppercase;\n  font-weight: bold;\n}\n\n/* Image */\n.ui.text.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/*--- fluid text ---*/\n\n.ui.text.item.menu .item {\n  margin: 0em;\n}\n\n/*--- vertical text ---*/\n\n.ui.vertical.text.menu {\n  margin: 1em 0em;\n}\n.ui.vertical.text.menu:first-child {\n  margin-top: 0rem;\n}\n.ui.vertical.text.menu:last-child {\n  margin-bottom: 0rem;\n}\n.ui.vertical.text.menu .item {\n  margin: 0.57142857em 0em;\n}\n.ui.vertical.text.menu .item > i.icon {\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n.ui.vertical.text.menu .header.item {\n  margin: 0.57142857em 0em 0.71428571em;\n}\n\n/* Vertical Sub Menu */\n.ui.vertical.text.menu .item:not(.dropdown) > .menu {\n  margin: 0em;\n}\n.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 0em;\n}\n\n/*--- hover ---*/\n\n.ui.text.menu .item:hover {\n  opacity: 1;\n  background-color: transparent;\n}\n\n/*--- active ---*/\n\n.ui.text.menu .active.item {\n  background-color: transparent;\n  border: none;\n  box-shadow: none;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--- active hover ---*/\n\n.ui.text.menu .active.item:hover {\n  background-color: transparent;\n}\n\n/* Disable Bariations */\n.ui.text.pointing.menu .active.item:after {\n  box-shadow: none;\n}\n.ui.text.attached.menu {\n  box-shadow: none;\n}\n\n/* Inverted */\n.ui.inverted.text.menu,\n.ui.inverted.text.menu .item,\n.ui.inverted.text.menu .item:hover,\n.ui.inverted.text.menu .active.item {\n  background-color: transparent !important;\n}\n\n/* Fluid */\n.ui.fluid.text.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n\n/* Vertical Menu */\n.ui.vertical.icon.menu {\n  display: inline-block;\n  width: auto;\n}\n\n/* Item */\n.ui.icon.menu .item {\n  height: auto;\n  text-align: center;\n  color: #1B1C1D;\n}\n\n/* Icon */\n.ui.icon.menu .item > .icon:not(.dropdown) {\n  margin: 0;\n  opacity: 1;\n}\n\n/* Icon Gylph */\n.ui.icon.menu .icon:before {\n  opacity: 1;\n}\n\n/* (x) Item Icon */\n.ui.menu .icon.item > .icon {\n  width: auto;\n  margin: 0em auto;\n}\n\n/* Vertical Icon */\n.ui.vertical.icon.menu .item > .icon:not(.dropdown) {\n  display: block;\n  opacity: 1;\n  margin: 0em auto;\n  float: none;\n}\n\n/* Inverted */\n.ui.inverted.icon.menu .item {\n  color: #FFFFFF;\n}\n\n/*--------------\n   Labeled Icon\n---------------*/\n\n\n/* Menu */\n.ui.labeled.icon.menu {\n  text-align: center;\n}\n\n/* Item */\n.ui.labeled.icon.menu .item {\n  min-width: 6em;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n}\n\n/* Icon */\n.ui.labeled.icon.menu .item > .icon:not(.dropdown) {\n  height: 1em;\n  display: block;\n  font-size: 1.71428571em !important;\n  margin: 0em auto 0.5rem !important;\n}\n\n/* Fluid */\n.ui.fluid.labeled.icon.menu > .item {\n  min-width: 0em;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.menu {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  .ui.stackable.menu .item {\n    width: 100% !important;\n  }\n  .ui.stackable.menu .item:before {\n    position: absolute;\n    content: '';\n    top: auto;\n    bottom: 0px;\n    left: 0px;\n    width: 100%;\n    background: rgba(34, 36, 38, 0.1);\n    height: 1px;\n  }\n}\n\n/*--------------\n     Colors\n---------------*/\n\n\n/*--- Standard Colors  ---*/\n\n.ui.menu .red.active.item,\n.ui.red.menu .active.item {\n  border-color: #DB2828 !important;\n  color: #DB2828 !important;\n}\n.ui.menu .orange.active.item,\n.ui.orange.menu .active.item {\n  border-color: #F2711C !important;\n  color: #F2711C !important;\n}\n.ui.menu .yellow.active.item,\n.ui.yellow.menu .active.item {\n  border-color: #FBBD08 !important;\n  color: #FBBD08 !important;\n}\n.ui.menu .olive.active.item,\n.ui.olive.menu .active.item {\n  border-color: #B5CC18 !important;\n  color: #B5CC18 !important;\n}\n.ui.menu .green.active.item,\n.ui.green.menu .active.item {\n  border-color: #21BA45 !important;\n  color: #21BA45 !important;\n}\n.ui.menu .teal.active.item,\n.ui.teal.menu .active.item {\n  border-color: #00B5AD !important;\n  color: #00B5AD !important;\n}\n.ui.menu .blue.active.item,\n.ui.blue.menu .active.item {\n  border-color: #2185D0 !important;\n  color: #2185D0 !important;\n}\n.ui.menu .violet.active.item,\n.ui.violet.menu .active.item {\n  border-color: #6435C9 !important;\n  color: #6435C9 !important;\n}\n.ui.menu .purple.active.item,\n.ui.purple.menu .active.item {\n  border-color: #A333C8 !important;\n  color: #A333C8 !important;\n}\n.ui.menu .pink.active.item,\n.ui.pink.menu .active.item {\n  border-color: #E03997 !important;\n  color: #E03997 !important;\n}\n.ui.menu .brown.active.item,\n.ui.brown.menu .active.item {\n  border-color: #A5673F !important;\n  color: #A5673F !important;\n}\n.ui.menu .grey.active.item,\n.ui.grey.menu .active.item {\n  border-color: #767676 !important;\n  color: #767676 !important;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.menu {\n  border: 0px solid transparent;\n  background: #1B1C1D;\n  box-shadow: none;\n}\n\n/* Menu Item */\n.ui.inverted.menu .item,\n.ui.inverted.menu .item > a:not(.ui) {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.menu .item.menu {\n  background: transparent;\n}\n\n/*--- Border ---*/\n\n.ui.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n.ui.vertical.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n/* Sub Menu */\n.ui.vertical.inverted.menu .menu .item,\n.ui.vertical.inverted.menu .menu .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/* Header */\n.ui.inverted.menu .header.item {\n  margin: 0em;\n  background: transparent;\n  box-shadow: none;\n}\n\n/* Disabled */\n.ui.inverted.menu .item.disabled,\n.ui.inverted.menu .item.disabled:hover {\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/*--- Hover ---*/\n\n.ui.link.inverted.menu .item:hover,\n.ui.inverted.menu .dropdown.item:hover,\n.ui.inverted.menu .link.item:hover,\n.ui.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n.ui.vertical.inverted.menu .item .menu a.item:hover,\n.ui.vertical.inverted.menu .item .menu .link.item:hover {\n  background: transparent;\n  color: #ffffff;\n}\n\n/*--- Pressed ---*/\n\n.ui.inverted.menu a.item:active,\n.ui.inverted.menu .link.item:active,\n.ui.inverted.menu a.item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/*--- Active ---*/\n\n.ui.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n.ui.inverted.vertical.menu .item .menu .active.item {\n  background: transparent;\n  color: #FFFFFF;\n}\n.ui.inverted.pointing.menu .active.item:after {\n  background: #3D3E3F !important;\n  margin: 0em !important;\n  box-shadow: none !important;\n  border: none !important;\n}\n\n/*--- Active Hover ---*/\n\n.ui.inverted.menu .active.item:hover {\n  background: rgba(255, 255, 255, 0.15);\n  color: #FFFFFF !important;\n}\n.ui.inverted.pointing.menu .active.item:hover:after {\n  background: #3D3E3F !important;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.floated.menu {\n  float: left;\n  margin: 0rem 0.5rem 0rem 0rem;\n}\n.ui.floated.menu .item:last-child:before {\n  display: none;\n}\n.ui.right.floated.menu {\n  float: right;\n  margin: 0rem 0rem 0rem 0.5rem;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n\n/* Red */\n.ui.inverted.menu .red.active.item,\n.ui.inverted.red.menu {\n  background-color: #DB2828;\n}\n.ui.inverted.red.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.red.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Orange */\n.ui.inverted.menu .orange.active.item,\n.ui.inverted.orange.menu {\n  background-color: #F2711C;\n}\n.ui.inverted.orange.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.orange.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Yellow */\n.ui.inverted.menu .yellow.active.item,\n.ui.inverted.yellow.menu {\n  background-color: #FBBD08;\n}\n.ui.inverted.yellow.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.yellow.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Olive */\n.ui.inverted.menu .olive.active.item,\n.ui.inverted.olive.menu {\n  background-color: #B5CC18;\n}\n.ui.inverted.olive.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.olive.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Green */\n.ui.inverted.menu .green.active.item,\n.ui.inverted.green.menu {\n  background-color: #21BA45;\n}\n.ui.inverted.green.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.green.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Teal */\n.ui.inverted.menu .teal.active.item,\n.ui.inverted.teal.menu {\n  background-color: #00B5AD;\n}\n.ui.inverted.teal.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.teal.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Blue */\n.ui.inverted.menu .blue.active.item,\n.ui.inverted.blue.menu {\n  background-color: #2185D0;\n}\n.ui.inverted.blue.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.blue.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Violet */\n.ui.inverted.menu .violet.active.item,\n.ui.inverted.violet.menu {\n  background-color: #6435C9;\n}\n.ui.inverted.violet.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.violet.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Purple */\n.ui.inverted.menu .purple.active.item,\n.ui.inverted.purple.menu {\n  background-color: #A333C8;\n}\n.ui.inverted.purple.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.purple.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Pink */\n.ui.inverted.menu .pink.active.item,\n.ui.inverted.pink.menu {\n  background-color: #E03997;\n}\n.ui.inverted.pink.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.pink.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Brown */\n.ui.inverted.menu .brown.active.item,\n.ui.inverted.brown.menu {\n  background-color: #A5673F;\n}\n.ui.inverted.brown.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.brown.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Grey */\n.ui.inverted.menu .grey.active.item,\n.ui.inverted.grey.menu {\n  background-color: #767676;\n}\n.ui.inverted.grey.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.grey.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.menu .item,\n.ui.fitted.menu .item .menu .item,\n.ui.menu .fitted.item {\n  padding: 0em;\n}\n.ui.horizontally.fitted.menu .item,\n.ui.horizontally.fitted.menu .item .menu .item,\n.ui.menu .horizontally.fitted.item {\n  padding-top: 0.92857143em;\n  padding-bottom: 0.92857143em;\n}\n.ui.vertically.fitted.menu .item,\n.ui.vertically.fitted.menu .item .menu .item,\n.ui.menu .vertically.fitted.item {\n  padding-left: 1.14285714em;\n  padding-right: 1.14285714em;\n}\n\n/*--------------\n   Borderless\n---------------*/\n\n.ui.borderless.menu .item:before,\n.ui.borderless.menu .item .menu .item:before,\n.ui.menu .borderless.item:before {\n  background: none !important;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.menu {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin: 0em;\n  vertical-align: middle;\n}\n.ui.compact.vertical.menu {\n  display: inline-block;\n}\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.compact.menu .item:last-child:before {\n  display: none;\n}\n.ui.compact.vertical.menu {\n  width: auto !important;\n}\n.ui.compact.vertical.menu .item:last-child::before {\n  display: block;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.menu.fluid,\n.ui.vertical.menu.fluid {\n  width: 100% !important;\n}\n\n/*-------------------\n      Evenly Sized\n--------------------*/\n\n.ui.item.menu,\n.ui.item.menu .item {\n  width: 100%;\n  padding-left: 0em !important;\n  padding-right: 0em !important;\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n.ui.item.menu .item:last-child:before {\n  display: none;\n}\n.ui.menu.two.item .item {\n  width: 50%;\n}\n.ui.menu.three.item .item {\n  width: 33.333%;\n}\n.ui.menu.four.item .item {\n  width: 25%;\n}\n.ui.menu.five.item .item {\n  width: 20%;\n}\n.ui.menu.six.item .item {\n  width: 16.666%;\n}\n.ui.menu.seven.item .item {\n  width: 14.285%;\n}\n.ui.menu.eight.item .item {\n  width: 12.500%;\n}\n.ui.menu.nine.item .item {\n  width: 11.11%;\n}\n.ui.menu.ten.item .item {\n  width: 10.0%;\n}\n.ui.menu.eleven.item .item {\n  width: 9.09%;\n}\n.ui.menu.twelve.item .item {\n  width: 8.333%;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.menu.fixed {\n  position: fixed;\n  z-index: 101;\n  margin: 0em;\n  width: 100%;\n}\n.ui.menu.fixed,\n.ui.menu.fixed .item:first-child,\n.ui.menu.fixed .item:last-child {\n  border-radius: 0px !important;\n}\n.ui.fixed.menu,\n.ui[class*=\"top fixed\"].menu {\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n}\n.ui[class*=\"top fixed\"].menu {\n  border-top: none;\n  border-left: none;\n  border-right: none;\n}\n.ui[class*=\"right fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-right: none;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n.ui[class*=\"bottom fixed\"].menu {\n  border-bottom: none;\n  border-left: none;\n  border-right: none;\n  bottom: 0px;\n  left: 0px;\n  top: auto;\n  right: auto;\n}\n.ui[class*=\"left fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-left: none;\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n\n/* Coupling with Grid */\n.ui.fixed.menu + .ui.grid {\n  padding-top: 2.75rem;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.menu .item:after {\n  visibility: hidden;\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  background: none;\n  margin: 0.5px 0em 0em;\n  width: 0.57142857em;\n  height: 0.57142857em;\n  border: none;\n  border-bottom: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n  z-index: 2;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n.ui.vertical.pointing.menu .item:after {\n  position: absolute;\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n          transform: translateX(50%) translateY(-50%) rotate(45deg);\n  margin: 0em -0.5px 0em 0em;\n  border: none;\n  border-top: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n}\n\n/* Active */\n.ui.pointing.menu .active.item:after {\n  visibility: visible;\n}\n.ui.pointing.menu .active.dropdown.item:after {\n  visibility: hidden;\n}\n\n/* Don't double up pointers */\n.ui.pointing.menu .dropdown.active.item:after,\n.ui.pointing.menu .active.item .menu .active.item:after {\n  display: none;\n}\n\n/* Colors */\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n.ui.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n.ui.vertical.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n.ui.vertical.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n.ui.vertical.pointing.menu .menu .active.item:after {\n  background-color: #FFFFFF;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n\n/* Middle */\n.ui.attached.menu {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n}\n.ui.attached + .ui.attached.menu:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n.ui[class*=\"top attached\"].menu {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.menu[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n.ui[class*=\"bottom attached\"].menu {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].menu:last-child {\n  margin-bottom: 0em;\n}\n\n/* Attached Menu Item */\n.ui.top.attached.menu > .item:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui.bottom.attached.menu > .item:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/* Tabular Attached */\n.ui.attached.menu:not(.tabular) {\n  border: 1px solid #D4D4D5;\n}\n.ui.attached.inverted.menu {\n  border: none;\n}\n.ui.attached.tabular.menu {\n  margin-left: 0;\n  margin-right: 0;\n  width: 100%;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n\n/* Small */\n.ui.small.menu {\n  font-size: 0.92857143rem;\n}\n.ui.small.vertical.menu {\n  width: 13rem;\n}\n\n/* Medium */\n.ui.menu {\n  font-size: 1rem;\n}\n.ui.vertical.menu {\n  width: 15rem;\n}\n\n/* Large */\n.ui.large.menu {\n  font-size: 1.14285714rem;\n}\n.ui.large.vertical.menu {\n  width: 18rem;\n}\n\n/* Huge */\n.ui.huge.menu {\n  font-size: 1.42857143rem;\n}\n.ui.huge.vertical.menu {\n  width: 20rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/message.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Message\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Message\n*******************************/\n\n.ui.message {\n  position: relative;\n  min-height: 1em;\n  margin: 1em 0em;\n  background: #F8F8F9;\n  padding: 1em 1.5em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n          transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.message:first-child {\n  margin-top: 0em;\n}\n.ui.message:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n\n/* Header */\n.ui.message .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  margin: -0.14285em 0em 0rem 0em;\n}\n\n/* Default font size */\n.ui.message .header:not(.ui) {\n  font-size: 1.14285714em;\n}\n\n/* Paragraph */\n.ui.message p {\n  opacity: 0.85;\n  margin: 0.75em 0em;\n}\n.ui.message p:first-child {\n  margin-top: 0em;\n}\n.ui.message p:last-child {\n  margin-bottom: 0em;\n}\n.ui.message .header + p {\n  margin-top: 0.25em;\n}\n\n/* List */\n.ui.message .list:not(.ui) {\n  text-align: left;\n  padding: 0em;\n  opacity: 0.85;\n  list-style-position: inside;\n  margin: 0.5em 0em 0em;\n}\n.ui.message .list:not(.ui):first-child {\n  margin-top: 0em;\n}\n.ui.message .list:not(.ui):last-child {\n  margin-bottom: 0em;\n}\n.ui.message .list:not(.ui) li {\n  position: relative;\n  list-style-type: none;\n  margin: 0em 0em 0.3em 1em;\n  padding: 0em;\n}\n.ui.message .list:not(.ui) li:before {\n  position: absolute;\n  content: '•';\n  left: -1em;\n  height: 100%;\n  vertical-align: baseline;\n}\n.ui.message .list:not(.ui) li:last-child {\n  margin-bottom: 0em;\n}\n\n/* Icon */\n.ui.message > .icon {\n  margin-right: 0.6em;\n}\n\n/* Close Icon */\n.ui.message > .close.icon {\n  cursor: pointer;\n  position: absolute;\n  margin: 0em;\n  top: 0.78575em;\n  right: 0.5em;\n  opacity: 0.7;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n.ui.message > .close.icon:hover {\n  opacity: 1;\n}\n\n/* First / Last Element */\n.ui.message > :first-child {\n  margin-top: 0em;\n}\n.ui.message > :last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.dropdown .menu > .message {\n  margin: 0px -1px;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n    Visible\n---------------*/\n\n.ui.visible.visible.visible.visible.message {\n  display: block;\n}\n.ui.icon.visible.visible.visible.visible.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n.ui.hidden.hidden.hidden.hidden.message {\n  display: none;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n    Compact\n---------------*/\n\n.ui.compact.message {\n  display: inline-block;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.message {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n.ui.attached + .ui.attached.message:not(.top):not(.bottom) {\n  margin-top: -1px;\n  border-radius: 0em;\n}\n.ui.bottom.attached.message {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n.ui.bottom.attached.message:not(:last-child) {\n  margin-bottom: 1em;\n}\n.ui.attached.icon.message {\n  width: auto;\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.icon.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.icon.message > .icon:not(.close) {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  width: auto;\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 3em;\n  opacity: 0.8;\n}\n.ui.icon.message > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n  vertical-align: middle;\n}\n.ui.icon.message .icon:not(.close) + .content {\n  padding-left: 0rem;\n}\n.ui.icon.message .circular.icon {\n  width: 1em;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.message {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/*--------------\n     Types\n---------------*/\n\n\n/* Positive */\n.ui.positive.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n.ui.positive.message,\n.ui.attached.positive.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.positive.message .header {\n  color: #1A531B;\n}\n\n/* Negative */\n.ui.negative.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n.ui.negative.message,\n.ui.attached.negative.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.negative.message .header {\n  color: #912D2B;\n}\n\n/* Info */\n.ui.info.message {\n  background-color: #F8FFFF;\n  color: #276F86;\n}\n.ui.info.message,\n.ui.attached.info.message {\n  box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.info.message .header {\n  color: #0E566C;\n}\n\n/* Warning */\n.ui.warning.message {\n  background-color: #FFFAF3;\n  color: #573A08;\n}\n.ui.warning.message,\n.ui.attached.warning.message {\n  box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.warning.message .header {\n  color: #794B02;\n}\n\n/* Error */\n.ui.error.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n.ui.error.message,\n.ui.attached.error.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.error.message .header {\n  color: #912D2B;\n}\n\n/* Success */\n.ui.success.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n.ui.success.message,\n.ui.attached.success.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.success.message .header {\n  color: #1A531B;\n}\n\n/* Colors */\n.ui.inverted.message,\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.red.message {\n  background-color: #FFE8E6;\n  color: #DB2828;\n}\n.ui.red.message .header {\n  color: #c82121;\n}\n.ui.orange.message {\n  background-color: #FFEDDE;\n  color: #F2711C;\n}\n.ui.orange.message .header {\n  color: #e7640d;\n}\n.ui.yellow.message {\n  background-color: #FFF8DB;\n  color: #B58105;\n}\n.ui.yellow.message .header {\n  color: #9c6f04;\n}\n.ui.olive.message {\n  background-color: #FBFDEF;\n  color: #8ABC1E;\n}\n.ui.olive.message .header {\n  color: #7aa61a;\n}\n.ui.green.message {\n  background-color: #E5F9E7;\n  color: #1EBC30;\n}\n.ui.green.message .header {\n  color: #1aa62a;\n}\n.ui.teal.message {\n  background-color: #E1F7F7;\n  color: #10A3A3;\n}\n.ui.teal.message .header {\n  color: #0e8c8c;\n}\n.ui.blue.message {\n  background-color: #DFF0FF;\n  color: #2185D0;\n}\n.ui.blue.message .header {\n  color: #1e77ba;\n}\n.ui.violet.message {\n  background-color: #EAE7FF;\n  color: #6435C9;\n}\n.ui.violet.message .header {\n  color: #5a30b5;\n}\n.ui.purple.message {\n  background-color: #F6E7FF;\n  color: #A333C8;\n}\n.ui.purple.message .header {\n  color: #922eb4;\n}\n.ui.pink.message {\n  background-color: #FFE3FB;\n  color: #E03997;\n}\n.ui.pink.message .header {\n  color: #dd238b;\n}\n.ui.brown.message {\n  background-color: #F1E2D3;\n  color: #A5673F;\n}\n.ui.brown.message .header {\n  color: #935b38;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.small.message {\n  font-size: 0.92857143em;\n}\n.ui.message {\n  font-size: 1em;\n}\n.ui.large.message {\n  font-size: 1.14285714em;\n}\n.ui.huge.message {\n  font-size: 1.42857143em;\n}\n.ui.massive.message {\n  font-size: 1.71428571em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/modal.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Modal\n*******************************/\n\n.ui.modal {\n  display: none;\n  position: fixed;\n  z-index: 1001;\n  top: 50%;\n  left: 50%;\n  text-align: left;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);\n  -webkit-transform-origin: 50% 25%;\n      -ms-transform-origin: 50% 25%;\n          transform-origin: 50% 25%;\n  border-radius: 0.28571429rem;\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n  will-change: top, left, margin, transform, opacity;\n}\n.ui.modal > :first-child:not(.icon),\n.ui.modal > .icon:first-child + * {\n  border-top-left-radius: 0.28571429rem;\n  border-top-right-radius: 0.28571429rem;\n}\n.ui.modal > :last-child {\n  border-bottom-left-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/*--------------\n     Close\n---------------*/\n\n.ui.modal > .close {\n  cursor: pointer;\n  position: absolute;\n  top: -2.5rem;\n  right: -2.5rem;\n  z-index: 1;\n  opacity: 0.8;\n  font-size: 1.25em;\n  color: #FFFFFF;\n  width: 2.25rem;\n  height: 2.25rem;\n  padding: 0.625rem 0rem 0rem 0rem;\n}\n.ui.modal > .close:hover {\n  opacity: 1;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.modal > .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  margin: 0em;\n  padding: 1.25rem 1.5rem;\n  box-shadow: none;\n  color: rgba(0, 0, 0, 0.85);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.modal > .header:not(.ui) {\n  font-size: 1.42857143rem;\n  line-height: 1.2857em;\n  font-weight: bold;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.modal > .content {\n  display: block;\n  width: 100%;\n  font-size: 1em;\n  line-height: 1.4;\n  padding: 1.5rem;\n  background: #FFFFFF;\n}\n.ui.modal > .image.content {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n}\n\n/* Image */\n.ui.modal > .content > .image {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  width: '';\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.modal > [class*=\"top aligned\"] {\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.modal > [class*=\"middle aligned\"] {\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n}\n.ui.modal > [class*=\"stretched\"] {\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n}\n\n/* Description */\n.ui.modal > .content > .description {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  min-width: 0px;\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.modal > .content > .icon + .description,\n.ui.modal > .content > .image + .description {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  min-width: '';\n  width: auto;\n  padding-left: 2em;\n}\n/*rtl:ignore*/\n.ui.modal > .content > .image > i.icon {\n  margin: 0em;\n  opacity: 1;\n  width: auto;\n  line-height: 1;\n  font-size: 8rem;\n}\n\n/*--------------\n     Actions\n---------------*/\n\n.ui.modal > .actions {\n  background: #F9FAFB;\n  padding: 1rem 1rem;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  text-align: right;\n}\n.ui.modal .actions > .button {\n  margin-left: 0.75em;\n}\n\n/*-------------------\n       Responsive\n--------------------*/\n\n\n/* Modal Width */\n@media only screen and (max-width: 767px) {\n  .ui.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.modal {\n    width: 850px;\n    margin: 0em 0em 0em -425px;\n  }\n}\n@media only screen and (min-width: 1200px) {\n  .ui.modal {\n    width: 900px;\n    margin: 0em 0em 0em -450px;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.modal {\n    width: 950px;\n    margin: 0em 0em 0em -475px;\n  }\n}\n\n/* Tablet and Mobile */\n@media only screen and (max-width: 991px) {\n  .ui.modal > .header {\n    padding-right: 2.25rem;\n  }\n  .ui.modal > .close {\n    top: 1.0535rem;\n    right: 1rem;\n    color: rgba(0, 0, 0, 0.87);\n  }\n}\n\n/* Mobile */\n@media only screen and (max-width: 767px) {\n  .ui.modal > .header {\n    padding: 0.75rem 1rem !important;\n    padding-right: 2.25rem !important;\n  }\n  .ui.modal > .content {\n    display: block;\n    padding: 1rem !important;\n  }\n  .ui.modal > .close {\n    top: 0.5rem !important;\n    right: 0.5rem !important;\n  }\n  /*rtl:ignore*/\n  .ui.modal .image.content {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  .ui.modal .content > .image {\n    display: block;\n    max-width: 100%;\n    margin: 0em auto !important;\n    text-align: center;\n    padding: 0rem 0rem 1rem !important;\n  }\n  .ui.modal > .content > .image > i.icon {\n    font-size: 5rem;\n    text-align: center;\n  }\n  /*rtl:ignore*/\n  .ui.modal .content > .description {\n    display: block;\n    width: 100% !important;\n    margin: 0em !important;\n    padding: 1rem 0rem !important;\n    box-shadow: none;\n  }\n  \n/* Let Buttons Stack */\n  .ui.modal > .actions {\n    padding: 1rem 1rem 0rem !important;\n  }\n  .ui.modal .actions > .buttons,\n  .ui.modal .actions > .button {\n    margin-bottom: 1rem;\n  }\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.inverted.dimmer > .ui.modal {\n  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n.ui.basic.modal {\n  background-color: transparent;\n  border: none;\n  border-radius: 0em;\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.basic.modal > .header,\n.ui.basic.modal > .content,\n.ui.basic.modal > .actions {\n  background-color: transparent;\n}\n.ui.basic.modal > .header {\n  color: #FFFFFF;\n}\n.ui.basic.modal > .close {\n  top: 1rem;\n  right: 1.5rem;\n}\n.ui.inverted.dimmer > .basic.modal {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.inverted.dimmer > .ui.basic.modal > .header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Tablet and Mobile */\n@media only screen and (max-width: 991px) {\n  .ui.basic.modal > .close {\n    color: #FFFFFF;\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\n.ui.active.modal {\n  display: block;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Scrolling\n---------------*/\n\n\n/* A modal that cannot fit on the page */\n.scrolling.dimmable.dimmed {\n  overflow: hidden;\n}\n.scrolling.dimmable.dimmed > .dimmer {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n.scrolling.dimmable > .dimmer {\n  position: fixed;\n}\n.modals.dimmer .ui.scrolling.modal {\n  position: static !important;\n  margin: 3.5rem auto !important;\n}\n\n/* undetached scrolling */\n.scrolling.undetached.dimmable.dimmed {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n.scrolling.undetached.dimmable.dimmed > .dimmer {\n  overflow: hidden;\n}\n.scrolling.undetached.dimmable .ui.scrolling.modal {\n  position: absolute;\n  left: 50%;\n  margin-top: 3.5rem !important;\n}\n\n/* Coupling with Sidebar */\n.undetached.dimmable.dimmed > .pusher {\n  z-index: auto;\n}\n@media only screen and (max-width: 991px) {\n  .modals.dimmer .ui.scrolling.modal {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n}\n\n/*--------------\n   Full Screen\n---------------*/\n\n.ui.fullscreen.modal {\n  width: 95% !important;\n  left: 2.5% !important;\n  margin: 1em auto;\n}\n.ui.fullscreen.scrolling.modal {\n  left: 0em !important;\n}\n.ui.fullscreen.modal > .header {\n  padding-right: 2.25rem;\n}\n.ui.fullscreen.modal > .close {\n  top: 1.0535rem;\n  right: 1rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.modal {\n  font-size: 1rem;\n}\n\n/* Small */\n.ui.small.modal > .header:not(.ui) {\n  font-size: 1.3em;\n}\n\n/* Small Modal Width */\n@media only screen and (max-width: 767px) {\n  .ui.small.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.small.modal {\n    width: 70.4%;\n    margin: 0em 0em 0em -35.2%;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.small.modal {\n    width: 680px;\n    margin: 0em 0em 0em -340px;\n  }\n}\n@media only screen and (min-width: 1200px) {\n  .ui.small.modal {\n    width: 720px;\n    margin: 0em 0em 0em -360px;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.small.modal {\n    width: 760px;\n    margin: 0em 0em 0em -380px;\n  }\n}\n\n/* Large Modal Width */\n.ui.large.modal > .header {\n  font-size: 1.6em;\n}\n@media only screen and (max-width: 767px) {\n  .ui.large.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.large.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.large.modal {\n    width: 1020px;\n    margin: 0em 0em 0em -510px;\n  }\n}\n@media only screen and (min-width: 1200px) {\n  .ui.large.modal {\n    width: 1080px;\n    margin: 0em 0em 0em -540px;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.large.modal {\n    width: 1140px;\n    margin: 0em 0em 0em -570px;\n  }\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/modal.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.modal = function(parameters) {\n  var\n    $allModules    = $(this),\n    $window        = $(window),\n    $document      = $(document),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings    = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.modal.settings, parameters)\n          : $.extend({}, $.fn.modal.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $close          = $module.find(selector.close),\n\n        $allModals,\n        $otherModals,\n        $focusedElement,\n        $dimmable,\n        $dimmer,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        observer,\n        module\n      ;\n      module  = {\n\n        initialize: function() {\n          module.verbose('Initializing dimmer', $context);\n\n          module.create.id();\n          module.create.dimmer();\n          module.refreshModals();\n\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of modal');\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        create: {\n          dimmer: function() {\n            var\n              defaultSettings = {\n                debug      : settings.debug,\n                dimmerName : 'modals',\n                duration   : {\n                  show     : settings.duration,\n                  hide     : settings.duration\n                }\n              },\n              dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)\n            ;\n            if(settings.inverted) {\n              dimmerSettings.variation = (dimmerSettings.variation !== undefined)\n                ? dimmerSettings.variation + ' inverted'\n                : 'inverted'\n              ;\n            }\n            if($.fn.dimmer === undefined) {\n              module.error(error.dimmer);\n              return;\n            }\n            module.debug('Creating dimmer with settings', dimmerSettings);\n            $dimmable = $context.dimmer(dimmerSettings);\n            if(settings.detachable) {\n              module.verbose('Modal is detachable, moving content into dimmer');\n              $dimmable.dimmer('add content', $module);\n            }\n            else {\n              module.set.undetached();\n            }\n            if(settings.blurring) {\n              $dimmable.addClass(className.blurring);\n            }\n            $dimmer = $dimmable.dimmer('get dimmer');\n          },\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous modal');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n          $window.off(elementNamespace);\n          $close.off(eventNamespace);\n          $context.dimmer('destroy');\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, refreshing');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        refresh: function() {\n          module.remove.scrolling();\n          module.cacheSizes();\n          module.set.screenHeight();\n          module.set.type();\n          module.set.position();\n        },\n\n        refreshModals: function() {\n          $otherModals = $module.siblings(selector.modal);\n          $allModals   = $otherModals.add($module);\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching modal events to element', selector, event);\n            $toggle\n              .off(eventNamespace)\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching events');\n            $module\n              .on('click' + eventNamespace, selector.close, module.event.close)\n              .on('click' + eventNamespace, selector.approve, module.event.approve)\n              .on('click' + eventNamespace, selector.deny, module.event.deny)\n            ;\n            $window\n              .on('resize' + elementNamespace, module.event.resize)\n            ;\n          }\n        },\n\n        get: {\n          id: function() {\n            return (Math.random().toString(16) + '000000000').substr(2,8);\n          }\n        },\n\n        event: {\n          approve: function() {\n            if(settings.onApprove.call(element, $(this)) === false) {\n              module.verbose('Approve callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          deny: function() {\n            if(settings.onDeny.call(element, $(this)) === false) {\n              module.verbose('Deny callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          close: function() {\n            module.hide();\n          },\n          click: function(event) {\n            var\n              $target   = $(event.target),\n              isInModal = ($target.closest(selector.modal).length > 0),\n              isInDOM   = $.contains(document.documentElement, event.target)\n            ;\n            if(!isInModal && isInDOM) {\n              module.debug('Dimmer clicked, hiding all modals');\n              if( module.is.active() ) {\n                module.remove.clickaway();\n                if(settings.allowMultiple) {\n                  module.hide();\n                }\n                else {\n                  module.hideAll();\n                }\n              }\n            }\n          },\n          debounce: function(method, delay) {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(method, delay);\n          },\n          keyboard: function(event) {\n            var\n              keyCode   = event.which,\n              escapeKey = 27\n            ;\n            if(keyCode == escapeKey) {\n              if(settings.closable) {\n                module.debug('Escape key pressed hiding modal');\n                module.hide();\n              }\n              else {\n                module.debug('Escape key pressed, but closable is set to false');\n              }\n              event.preventDefault();\n            }\n          },\n          resize: function() {\n            if( $dimmable.dimmer('is active') ) {\n              requestAnimationFrame(module.refresh);\n            }\n          }\n        },\n\n        toggle: function() {\n          if( module.is.active() || module.is.animating() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.showModal(callback);\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.hideModal(callback);\n        },\n\n        showModal: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.animating() || !module.is.active() ) {\n\n            module.showDimmer();\n            module.cacheSizes();\n            module.set.position();\n            module.set.screenHeight();\n            module.set.type();\n            module.set.clickaway();\n\n            if( !settings.allowMultiple && module.others.active() ) {\n              module.hideOthers(module.showModal);\n            }\n            else {\n              settings.onShow.call(element);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                module.debug('Showing modal with css animations');\n                $module\n                  .transition({\n                    debug       : settings.debug,\n                    animation   : settings.transition + ' in',\n                    queue       : settings.queue,\n                    duration    : settings.duration,\n                    useFailSafe : true,\n                    onComplete : function() {\n                      settings.onVisible.apply(element);\n                      module.add.keyboardShortcuts();\n                      module.save.focus();\n                      module.set.active();\n                      if(settings.autofocus) {\n                        module.set.autofocus();\n                      }\n                      callback();\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition);\n              }\n            }\n          }\n          else {\n            module.debug('Modal is already visible');\n          }\n        },\n\n        hideModal: function(callback, keepDimmed) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Hiding modal');\n          if(settings.onHide.call(element, $(this)) === false) {\n            module.verbose('Hide callback returned false cancelling hide');\n            return;\n          }\n\n          if( module.is.animating() || module.is.active() ) {\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.remove.active();\n              $module\n                .transition({\n                  debug       : settings.debug,\n                  animation   : settings.transition + ' out',\n                  queue       : settings.queue,\n                  duration    : settings.duration,\n                  useFailSafe : true,\n                  onStart     : function() {\n                    if(!module.others.active() && !keepDimmed) {\n                      module.hideDimmer();\n                    }\n                    module.remove.keyboardShortcuts();\n                  },\n                  onComplete : function() {\n                    settings.onHidden.call(element);\n                    module.restore.focus();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        showDimmer: function() {\n          if($dimmable.dimmer('is animating') || !$dimmable.dimmer('is active') ) {\n            module.debug('Showing dimmer');\n            $dimmable.dimmer('show');\n          }\n          else {\n            module.debug('Dimmer already visible');\n          }\n        },\n\n        hideDimmer: function() {\n          if( $dimmable.dimmer('is animating') || ($dimmable.dimmer('is active')) ) {\n            $dimmable.dimmer('hide', function() {\n              module.remove.clickaway();\n              module.remove.screenHeight();\n            });\n          }\n          else {\n            module.debug('Dimmer is not visible cannot hide');\n            return;\n          }\n        },\n\n        hideAll: function(callback) {\n          var\n            $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding all visible modals');\n            module.hideDimmer();\n            $visibleModals\n              .modal('hide modal', callback)\n            ;\n          }\n        },\n\n        hideOthers: function(callback) {\n          var\n            $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding other modals', $otherModals);\n            $visibleModals\n              .modal('hide modal', callback, true)\n            ;\n          }\n        },\n\n        others: {\n          active: function() {\n            return ($otherModals.filter('.' + className.active).length > 0);\n          },\n          animating: function() {\n            return ($otherModals.filter('.' + className.animating).length > 0);\n          }\n        },\n\n\n        add: {\n          keyboardShortcuts: function() {\n            module.verbose('Adding keyboard shortcuts');\n            $document\n              .on('keyup' + eventNamespace, module.event.keyboard)\n            ;\n          }\n        },\n\n        save: {\n          focus: function() {\n            $focusedElement = $(document.activeElement).blur();\n          }\n        },\n\n        restore: {\n          focus: function() {\n            if($focusedElement && $focusedElement.length > 0) {\n              $focusedElement.focus();\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .off('click' + elementNamespace)\n              ;\n            }\n          },\n          bodyStyle: function() {\n            if($body.attr('style') === '') {\n              module.verbose('Removing style attribute');\n              $body.removeAttr('style');\n            }\n          },\n          screenHeight: function() {\n            module.debug('Removing page height');\n            $body\n              .css('height', '')\n            ;\n          },\n          keyboardShortcuts: function() {\n            module.verbose('Removing keyboard shortcuts');\n            $document\n              .off('keyup' + eventNamespace)\n            ;\n          },\n          scrolling: function() {\n            $dimmable.removeClass(className.scrolling);\n            $module.removeClass(className.scrolling);\n          }\n        },\n\n        cacheSizes: function() {\n          var\n            modalHeight = $module.outerHeight()\n          ;\n          if(module.cache === undefined || modalHeight !== 0) {\n            module.cache = {\n              pageHeight    : $(document).outerHeight(),\n              height        : modalHeight + settings.offset,\n              contextHeight : (settings.context == 'body')\n                ? $(window).height()\n                : $dimmable.height()\n            };\n          }\n          module.debug('Caching modal and container sizes', module.cache);\n        },\n\n        can: {\n          fit: function() {\n            return ( ( module.cache.height + (settings.padding * 2) ) < module.cache.contextHeight);\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return $module.transition('is supported')\n              ? $module.transition('is animating')\n              : $module.is(':visible')\n            ;\n          },\n          scrolling: function() {\n            return $dimmable.hasClass(className.scrolling);\n          },\n          modernBrowser: function() {\n            // appName for IE11 reports 'Netscape' can no longer use\n            return !(window.ActiveXObject || \"ActiveXObject\" in window);\n          }\n        },\n\n        set: {\n          autofocus: function() {\n            var\n              $inputs    = $module.find(':input').filter(':visible'),\n              $autofocus = $inputs.filter('[autofocus]'),\n              $input     = ($autofocus.length > 0)\n                ? $autofocus.first()\n                : $inputs.first()\n            ;\n            if($input.length > 0) {\n              $input.focus();\n            }\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .on('click' + elementNamespace, module.event.click)\n              ;\n            }\n          },\n          screenHeight: function() {\n            if( module.can.fit() ) {\n              $body.css('height', '');\n            }\n            else {\n              module.debug('Modal is taller than page content, resizing page height');\n              $body\n                .css('height', module.cache.height + (settings.padding * 2) )\n              ;\n            }\n          },\n          active: function() {\n            $module.addClass(className.active);\n          },\n          scrolling: function() {\n            $dimmable.addClass(className.scrolling);\n            $module.addClass(className.scrolling);\n          },\n          type: function() {\n            if(module.can.fit()) {\n              module.verbose('Modal fits on screen');\n              if(!module.others.active() && !module.others.animating()) {\n                module.remove.scrolling();\n              }\n            }\n            else {\n              module.verbose('Modal cannot fit on screen setting to scrolling');\n              module.set.scrolling();\n            }\n          },\n          position: function() {\n            module.verbose('Centering modal on page', module.cache);\n            if(module.can.fit()) {\n              $module\n                .css({\n                  top: '',\n                  marginTop: -(module.cache.height / 2)\n                })\n              ;\n            }\n            else {\n              $module\n                .css({\n                  marginTop : '',\n                  top       : $document.scrollTop()\n                })\n              ;\n            }\n          },\n          undetached: function() {\n            $dimmable.addClass(className.undetached);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.modal.settings = {\n\n  name           : 'Modal',\n  namespace      : 'modal',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  observeChanges : false,\n\n  allowMultiple  : false,\n  detachable     : true,\n  closable       : true,\n  autofocus      : true,\n\n  inverted       : false,\n  blurring       : false,\n\n  dimmerSettings : {\n    closable : false,\n    useCSS   : true\n  },\n\n\n  context    : 'body',\n\n  queue      : false,\n  duration   : 500,\n  offset     : 0,\n  transition : 'scale',\n\n  // padding with edge of page\n  padding    : 50,\n\n  // called before show animation\n  onShow     : function(){},\n\n  // called after show animation\n  onVisible  : function(){},\n\n  // called before hide animation\n  onHide     : function(){ return true; },\n\n  // called after hide animation\n  onHidden   : function(){},\n\n  // called after approve selector match\n  onApprove  : function(){ return true; },\n\n  // called after deny selector match\n  onDeny     : function(){ return true; },\n\n  selector    : {\n    close    : '> .close',\n    approve  : '.actions .positive, .actions .approve, .actions .ok',\n    deny     : '.actions .negative, .actions .deny, .actions .cancel',\n    modal    : '.ui.modal'\n  },\n  error : {\n    dimmer    : 'UI Dimmer, a required component is not included in this page',\n    method    : 'The method you called is not defined.',\n    notFound  : 'The element you specified could not be found'\n  },\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    blurring   : 'blurring',\n    scrolling  : 'scrolling',\n    undetached : 'undetached'\n  }\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/nag.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Nag\n*******************************/\n\n.ui.nag {\n  display: none;\n  opacity: 0.95;\n  position: relative;\n  top: 0em;\n  left: 0px;\n  z-index: 999;\n  min-height: 0em;\n  width: 100%;\n  margin: 0em;\n  padding: 0.75em 1em;\n  background: #555555;\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);\n  font-size: 1rem;\n  text-align: center;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  -webkit-transition: 0.2s background ease;\n          transition: 0.2s background ease;\n}\na.ui.nag {\n  cursor: pointer;\n}\n.ui.nag > .title {\n  display: inline-block;\n  margin: 0em 0.5em;\n  color: #FFFFFF;\n}\n.ui.nag > .close.icon {\n  cursor: pointer;\n  opacity: 0.4;\n  position: absolute;\n  top: 50%;\n  right: 1em;\n  font-size: 1em;\n  margin: -0.5em 0em 0em;\n  color: #FFFFFF;\n  -webkit-transition: opacity 0.2s ease;\n          transition: opacity 0.2s ease;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/* Hover */\n.ui.nag:hover {\n  background: #555555;\n  opacity: 1;\n}\n.ui.nag .close:hover {\n  opacity: 1;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Static\n---------------*/\n\n.ui.overlay.nag {\n  position: absolute;\n  display: block;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.nag {\n  position: fixed;\n}\n\n/*--------------\n     Bottom\n---------------*/\n\n.ui.bottom.nags,\n.ui.bottom.nag {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  top: auto;\n  bottom: 0em;\n}\n\n/*--------------\n     White\n---------------*/\n\n.ui.inverted.nags .nag,\n.ui.inverted.nag {\n  background-color: #F3F4F5;\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.inverted.nags .nag .close,\n.ui.inverted.nags .nag .title,\n.ui.inverted.nag .close,\n.ui.inverted.nag .title {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n\n/*******************************\n           Groups\n*******************************/\n\n.ui.nags .nag {\n  border-radius: 0em !important;\n}\n.ui.nags .nag:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.bottom.nags .nag:last-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/nag.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.nag = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.nag.settings, parameters)\n          : $.extend({}, $.fn.nag.settings),\n\n        className       = settings.className,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        $close          = $module.find(selector.close),\n        $context        = (settings.context)\n          ? $(settings.context)\n          : $('body'),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        moduleOffset,\n        moduleHeight,\n\n        contextWidth,\n        contextHeight,\n        contextOffset,\n\n        yOffset,\n        yPosition,\n\n        timer,\n        module,\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); }\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing element');\n\n          $module\n            .on('click' + eventNamespace, selector.close, module.dismiss)\n            .data(moduleNamespace, module)\n          ;\n\n          if(settings.detachable && $module.parent()[0] !== $context[0]) {\n            $module\n              .detach()\n              .prependTo($context)\n            ;\n          }\n\n          if(settings.displayTime > 0) {\n            setTimeout(module.hide, settings.displayTime);\n          }\n          module.show();\n        },\n\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        show: function() {\n          if( module.should.show() && !$module.is(':visible') ) {\n            module.debug('Showing nag', settings.animation.show);\n            if(settings.animation.show == 'fade') {\n              $module\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            else {\n              $module\n                .slideDown(settings.duration, settings.easing)\n              ;\n            }\n          }\n        },\n\n        hide: function() {\n          module.debug('Showing nag', settings.animation.hide);\n          if(settings.animation.show == 'fade') {\n            $module\n              .fadeIn(settings.duration, settings.easing)\n            ;\n          }\n          else {\n            $module\n              .slideUp(settings.duration, settings.easing)\n            ;\n          }\n        },\n\n        onHide: function() {\n          module.debug('Removing nag', settings.animation.hide);\n          $module.remove();\n          if (settings.onHide) {\n            settings.onHide();\n          }\n        },\n\n        dismiss: function(event) {\n          if(settings.storageMethod) {\n            module.storage.set(settings.key, settings.value);\n          }\n          module.hide();\n          event.stopImmediatePropagation();\n          event.preventDefault();\n        },\n\n        should: {\n          show: function() {\n            if(settings.persist) {\n              module.debug('Persistent nag is set, can show nag');\n              return true;\n            }\n            if( module.storage.get(settings.key) != settings.value.toString() ) {\n              module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));\n              return true;\n            }\n            module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));\n            return false;\n          }\n        },\n\n        get: {\n          storageOptions: function() {\n            var\n              options = {}\n            ;\n            if(settings.expires) {\n              options.expires = settings.expires;\n            }\n            if(settings.domain) {\n              options.domain = settings.domain;\n            }\n            if(settings.path) {\n              options.path = settings.path;\n            }\n            return options;\n          }\n        },\n\n        clear: function() {\n          module.storage.remove(settings.key);\n        },\n\n        storage: {\n          set: function(key, value) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.setItem(key, value);\n              module.debug('Value stored using local storage', key, value);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.setItem(key, value);\n              module.debug('Value stored using session storage', key, value);\n            }\n            else if($.cookie !== undefined) {\n              $.cookie(key, value, options);\n              module.debug('Value stored using cookie', key, value, options);\n            }\n            else {\n              module.error(error.noCookieStorage);\n              return;\n            }\n          },\n          get: function(key, value) {\n            var\n              storedValue\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              storedValue = window.localStorage.getItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              storedValue = window.sessionStorage.getItem(key);\n            }\n            // get by cookie\n            else if($.cookie !== undefined) {\n              storedValue = $.cookie(key);\n            }\n            else {\n              module.error(error.noCookieStorage);\n            }\n            if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {\n              storedValue = undefined;\n            }\n            return storedValue;\n          },\n          remove: function(key) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.removeItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.removeItem(key);\n            }\n            // store by cookie\n            else if($.cookie !== undefined) {\n              $.removeCookie(key, options);\n            }\n            else {\n              module.error(error.noStorage);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.nag.settings = {\n\n  name        : 'Nag',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  namespace   : 'Nag',\n\n  // allows cookie to be overriden\n  persist     : false,\n\n  // set to zero to require manually dismissal, otherwise hides on its own\n  displayTime : 0,\n\n  animation   : {\n    show : 'slide',\n    hide : 'slide'\n  },\n\n  context       : false,\n  detachable    : false,\n\n  expires       : 30,\n  domain        : false,\n  path          : '/',\n\n  // type of storage to use\n  storageMethod : 'cookie',\n\n  // value to store in dismissed localstorage/cookie\n  key           : 'nag',\n  value         : 'dismiss',\n\n  error: {\n    noCookieStorage : '$.cookie is not included. A storage solution is required.',\n    noStorage       : 'Neither $.cookie or store is defined. A storage solution is required for storing state',\n    method          : 'The method you called is not defined.'\n  },\n\n  className     : {\n    bottom : 'bottom',\n    fixed  : 'fixed'\n  },\n\n  selector      : {\n    close : '.close.icon'\n  },\n\n  speed         : 500,\n  easing        : 'easeOutQuad',\n\n  onHide: function() {}\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/popup.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Popup\n*******************************/\n\n.ui.popup {\n  display: none;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  \n/* Fixes content being squished when inline (moz only) */\n  min-width: -webkit-min-content;\n  min-width: -moz-min-content;\n  min-width: min-content;\n  z-index: 1900;\n  border: 1px solid #D4D4D5;\n  line-height: 1.4285em;\n  max-width: 250px;\n  background: #FFFFFF;\n  padding: 0.833em 1em;\n  font-weight: normal;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n.ui.popup > .header {\n  padding: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.125em;\n  line-height: 1.2;\n  font-weight: bold;\n}\n.ui.popup > .header + .content {\n  padding-top: 0.5em;\n}\n.ui.popup:before {\n  position: absolute;\n  content: '';\n  width: 0.75em;\n  height: 0.75em;\n  background: #FFFFFF;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n  z-index: 2;\n  box-shadow: 1px 1px 0px 0px #bababc;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Spacing\n---------------*/\n\n.ui.popup {\n  margin: 0em;\n}\n\n/* Extending from Top */\n.ui.top.popup {\n  margin: 0em 0em 0.75em;\n}\n.ui.top.left.popup {\n  -webkit-transform-origin: left bottom;\n      -ms-transform-origin: left bottom;\n          transform-origin: left bottom;\n}\n.ui.top.center.popup {\n  -webkit-transform-origin: center bottom;\n      -ms-transform-origin: center bottom;\n          transform-origin: center bottom;\n}\n.ui.top.right.popup {\n  -webkit-transform-origin: right bottom;\n      -ms-transform-origin: right bottom;\n          transform-origin: right bottom;\n}\n\n/* Extending from Vertical Center */\n.ui.left.center.popup {\n  margin: 0em 0.75em 0em 0em;\n  -webkit-transform-origin: right 50%;\n      -ms-transform-origin: right 50%;\n          transform-origin: right 50%;\n}\n.ui.right.center.popup {\n  margin: 0em 0em 0em 0.75em;\n  -webkit-transform-origin: left 50%;\n      -ms-transform-origin: left 50%;\n          transform-origin: left 50%;\n}\n\n/* Extending from Bottom */\n.ui.bottom.popup {\n  margin: 0.75em 0em 0em;\n}\n.ui.bottom.left.popup {\n  -webkit-transform-origin: left top;\n      -ms-transform-origin: left top;\n          transform-origin: left top;\n}\n.ui.bottom.center.popup {\n  -webkit-transform-origin: center top;\n      -ms-transform-origin: center top;\n          transform-origin: center top;\n}\n.ui.bottom.right.popup {\n  -webkit-transform-origin: right top;\n      -ms-transform-origin: right top;\n          transform-origin: right top;\n}\n\n/*--------------\n     Pointer\n---------------*/\n\n\n/*--- Below ---*/\n\n.ui.bottom.center.popup:before {\n  margin-left: -0.325em;\n  top: -0.325em;\n  left: 50%;\n  right: auto;\n  bottom: auto;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n.ui.bottom.left.popup {\n  margin-left: 0em;\n}\n/*rtl:rename*/\n.ui.bottom.left.popup:before {\n  top: -0.325em;\n  left: 1em;\n  right: auto;\n  bottom: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n.ui.bottom.right.popup {\n  margin-right: 0em;\n}\n/*rtl:rename*/\n.ui.bottom.right.popup:before {\n  top: -0.325em;\n  right: 1em;\n  bottom: auto;\n  left: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n/*--- Above ---*/\n\n.ui.top.center.popup:before {\n  top: auto;\n  right: auto;\n  bottom: -0.325em;\n  left: 50%;\n  margin-left: -0.325em;\n}\n.ui.top.left.popup {\n  margin-left: 0em;\n}\n/*rtl:rename*/\n.ui.top.left.popup:before {\n  bottom: -0.325em;\n  left: 1em;\n  top: auto;\n  right: auto;\n  margin-left: 0em;\n}\n.ui.top.right.popup {\n  margin-right: 0em;\n}\n/*rtl:rename*/\n.ui.top.right.popup:before {\n  bottom: -0.325em;\n  right: 1em;\n  top: auto;\n  left: auto;\n  margin-left: 0em;\n}\n\n/*--- Left Center ---*/\n\n/*rtl:rename*/\n.ui.left.center.popup:before {\n  top: 50%;\n  right: -0.325em;\n  bottom: auto;\n  left: auto;\n  margin-top: -0.325em;\n  box-shadow: 1px -1px 0px 0px #bababc;\n}\n\n/*--- Right Center  ---*/\n\n/*rtl:rename*/\n.ui.right.center.popup:before {\n  top: 50%;\n  left: -0.325em;\n  bottom: auto;\n  right: auto;\n  margin-top: -0.325em;\n  box-shadow: -1px 1px 0px 0px #bababc;\n}\n\n/* Arrow Color By Location */\n.ui.bottom.popup:before {\n  background: #FFFFFF;\n}\n.ui.right.center.popup:before,\n.ui.left.center.popup:before {\n  background: #FFFFFF;\n}\n.ui.top.popup:before {\n  background: #FFFFFF;\n}\n\n/* Inverted Arrow Color */\n.ui.inverted.bottom.popup:before {\n  background: #1B1C1D;\n}\n.ui.inverted.right.center.popup:before,\n.ui.inverted.left.center.popup:before {\n  background: #1B1C1D;\n}\n.ui.inverted.top.popup:before {\n  background: #1B1C1D;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n\n/* Immediate Nested Grid */\n.ui.popup > .ui.grid:not(.padded) {\n  width: calc(100% + 1.75rem);\n  margin: -0.7rem -0.875rem;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.loading.popup {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n.ui.animating.popup,\n.ui.visible.popup {\n  display: block;\n}\n.ui.visible.popup {\n  -webkit-transform: translateZ(0px);\n          transform: translateZ(0px);\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n     Basic\n---------------*/\n\n.ui.basic.popup:before {\n  display: none;\n}\n\n/*--------------\n     Wide\n---------------*/\n\n.ui.wide.popup {\n  max-width: 350px;\n}\n.ui[class*=\"very wide\"].popup {\n  max-width: 550px;\n}\n@media only screen and (max-width: 767px) {\n  .ui.wide.popup,\n  .ui[class*=\"very wide\"].popup {\n    max-width: 250px;\n  }\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.popup {\n  width: 100%;\n  max-width: none;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n\n/* Inverted colors  */\n.ui.inverted.popup {\n  background: #1B1C1D;\n  color: #FFFFFF;\n  border: none;\n  box-shadow: none;\n}\n.ui.inverted.popup .header {\n  background-color: none;\n  color: #FFFFFF;\n}\n.ui.inverted.popup:before {\n  background-color: #1B1C1D;\n  box-shadow: none !important;\n}\n\n/*--------------\n     Flowing\n---------------*/\n\n.ui.flowing.popup {\n  max-width: none;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.popup {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.popup {\n  font-size: 0.85714286rem;\n}\n.ui.small.popup {\n  font-size: 0.92857143rem;\n}\n.ui.popup {\n  font-size: 1rem;\n}\n.ui.large.popup {\n  font-size: 1.14285714rem;\n}\n.ui.huge.popup {\n  font-size: 1.42857143rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/popup.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.popup = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n    $window        = $(window),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = (true),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.popup.settings, parameters)\n          : $.extend({}, $.fn.popup.settings),\n\n        selector           = settings.selector,\n        className          = settings.className,\n        error              = settings.error,\n        metadata           = settings.metadata,\n        namespace          = settings.namespace,\n\n        eventNamespace     = '.' + settings.namespace,\n        moduleNamespace    = 'module-' + namespace,\n\n        $module            = $(this),\n        $context           = $(settings.context),\n        $target            = (settings.target)\n          ? $(settings.target)\n          : $module,\n\n        $popup,\n        $offsetParent,\n\n        searchDepth        = 0,\n        triedPositions     = false,\n        openedWithTouch    = false,\n\n        element            = this,\n        instance           = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        module\n      ;\n\n      module = {\n\n        // binds events\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.createID();\n          module.bind.events();\n          if( !module.exists() && settings.preserve) {\n            module.create();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        refresh: function() {\n          if(settings.popup) {\n            $popup = $(settings.popup).eq(0);\n          }\n          else {\n            if(settings.inline) {\n              $popup = $target.nextAll(selector.popup).eq(0);\n              settings.popup = $popup;\n            }\n          }\n          if(settings.popup) {\n            $popup.addClass(className.loading);\n            $offsetParent = module.get.offsetParent();\n            $popup.removeClass(className.loading);\n            if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {\n              module.debug('Moving popup to the same offset parent as activating element');\n              $popup\n                .detach()\n                .appendTo($offsetParent)\n              ;\n            }\n          }\n          else {\n            $offsetParent = (settings.inline)\n              ? module.get.offsetParent($target)\n              : module.has.popup()\n                ? module.get.offsetParent($popup)\n                : $body\n            ;\n          }\n          if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) {\n            module.debug('Setting page as offset parent');\n            $offsetParent = $body;\n          }\n          if( module.get.variation() ) {\n            module.set.variation();\n          }\n        },\n\n        reposition: function() {\n          module.refresh();\n          module.set.position();\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous module');\n          // remove element only if was created dynamically\n          if($popup && !settings.preserve) {\n            module.removePopup();\n          }\n          // clear all timeouts\n          clearTimeout(module.hideTimer);\n          clearTimeout(module.showTimer);\n          // remove events\n          $window.off(elementNamespace);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        event: {\n          start:  function(event) {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.show\n                : settings.delay\n            ;\n            clearTimeout(module.hideTimer);\n            if(!openedWithTouch) {\n              module.showTimer = setTimeout(module.show, delay);\n            }\n          },\n          end:  function() {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.hide\n                : settings.delay\n            ;\n            clearTimeout(module.showTimer);\n            module.hideTimer = setTimeout(module.hide, delay);\n          },\n          touchstart: function(event) {\n            openedWithTouch = true;\n            module.show();\n          },\n          resize: function() {\n            if( module.is.visible() ) {\n              module.set.position();\n            }\n          },\n          hideGracefully: function(event) {\n            // don't close on clicks inside popup\n            if(event && $(event.target).closest(selector.popup).length === 0) {\n              module.debug('Click occurred outside popup hiding popup');\n              module.hide();\n            }\n            else {\n              module.debug('Click was inside popup, keeping popup open');\n            }\n          }\n        },\n\n        // generates popup html from metadata\n        create: function() {\n          var\n            html      = module.get.html(),\n            title     = module.get.title(),\n            content   = module.get.content()\n          ;\n\n          if(html || content || title) {\n            module.debug('Creating pop-up html');\n            if(!html) {\n              html = settings.templates.popup({\n                title   : title,\n                content : content\n              });\n            }\n            $popup = $('<div/>')\n              .addClass(className.popup)\n              .data(metadata.activator, $module)\n              .html(html)\n            ;\n            if(settings.inline) {\n              module.verbose('Inserting popup element inline', $popup);\n              $popup\n                .insertAfter($module)\n              ;\n            }\n            else {\n              module.verbose('Appending popup element to body', $popup);\n              $popup\n                .appendTo( $context )\n              ;\n            }\n            module.refresh();\n            module.set.variation();\n\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n            settings.onCreate.call($popup, element);\n          }\n          else if($target.next(selector.popup).length !== 0) {\n            module.verbose('Pre-existing popup found');\n            settings.inline = true;\n            settings.popups  = $target.next(selector.popup).data(metadata.activator, $module);\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else if(settings.popup) {\n            $(settings.popup).data(metadata.activator, $module);\n            module.verbose('Used popup specified in settings');\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else {\n            module.debug('No content specified skipping display', element);\n          }\n        },\n\n        createID: function() {\n          id = (Math.random().toString(16) + '000000000').substr(2,8);\n          elementNamespace = '.' + id;\n          module.verbose('Creating unique id for element', id);\n        },\n\n        // determines popup state\n        toggle: function() {\n          module.debug('Toggling pop-up');\n          if( module.is.hidden() ) {\n            module.debug('Popup is hidden, showing pop-up');\n            module.unbind.close();\n            module.show();\n          }\n          else {\n            module.debug('Popup is visible, hiding pop-up');\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = callback || function(){};\n          module.debug('Showing pop-up', settings.transition);\n          if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {\n            if( !module.exists() ) {\n              module.create();\n            }\n            if(settings.onShow.call($popup, element) === false) {\n              module.debug('onShow callback returned false, cancelling popup animation');\n              return;\n            }\n            else if(!settings.preserve && !settings.popup) {\n              module.refresh();\n            }\n            if( $popup && module.set.position() ) {\n              module.save.conditions();\n              if(settings.exclusive) {\n                module.hideAll();\n              }\n              module.animate.show(callback);\n            }\n          }\n        },\n\n\n        hide: function(callback) {\n          callback = callback || function(){};\n          if( module.is.visible() || module.is.animating() ) {\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            module.remove.visible();\n            module.unbind.close();\n            module.restore.conditions();\n            module.animate.hide(callback);\n          }\n        },\n\n        hideAll: function() {\n          $(selector.popup)\n            .filter('.' + className.visible)\n            .each(function() {\n              $(this)\n                .data(metadata.activator)\n                .popup('hide')\n              ;\n            })\n          ;\n        },\n        exists: function() {\n          if(!$popup) {\n            return false;\n          }\n          if(settings.inline || settings.popup) {\n            return ( module.has.popup() );\n          }\n          else {\n            return ( $popup.closest($context).length >= 1 )\n              ? true\n              : false\n            ;\n          }\n        },\n\n        removePopup: function() {\n          if( module.has.popup() && !settings.popup) {\n            module.debug('Removing popup', $popup);\n            $popup.remove();\n            $popup = undefined;\n            settings.onRemove.call($popup, element);\n          }\n        },\n\n        save: {\n          conditions: function() {\n            module.cache = {\n              title: $module.attr('title')\n            };\n            if (module.cache.title) {\n              $module.removeAttr('title');\n            }\n            module.verbose('Saving original attributes', module.cache.title);\n          }\n        },\n        restore: {\n          conditions: function() {\n            if(module.cache && module.cache.title) {\n              $module.attr('title', module.cache.title);\n              module.verbose('Restoring original attributes', module.cache.title);\n            }\n            return true;\n          }\n        },\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.set.visible();\n              $popup\n                .transition({\n                  animation  : settings.transition + ' in',\n                  queue      : false,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  onComplete : function() {\n                    module.bind.close();\n                    callback.call($popup, element);\n                    settings.onVisible.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            module.debug('Hiding pop-up');\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              $popup\n                .transition({\n                  animation  : settings.transition + ' out',\n                  queue      : false,\n                  duration   : settings.duration,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  onComplete : function() {\n                    module.reset();\n                    callback.call($popup, element);\n                    settings.onHidden.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        change: {\n          content: function(html) {\n            $popup.html(html);\n          }\n        },\n\n        get: {\n          html: function() {\n            $module.removeData(metadata.html);\n            return $module.data(metadata.html) || settings.html;\n          },\n          title: function() {\n            $module.removeData(metadata.title);\n            return $module.data(metadata.title) || settings.title;\n          },\n          content: function() {\n            $module.removeData(metadata.content);\n            return $module.data(metadata.content) || $module.attr('title') || settings.content;\n          },\n          variation: function() {\n            $module.removeData(metadata.variation);\n            return $module.data(metadata.variation) || settings.variation;\n          },\n          popup: function() {\n            return $popup;\n          },\n          popupOffset: function() {\n            return $popup.offset();\n          },\n          calculations: function() {\n            var\n              targetElement  = $target[0],\n              targetPosition = (settings.inline || (settings.popup && settings.movePopup))\n                ? $target.position()\n                : $target.offset(),\n              calculations = {},\n              screen\n            ;\n            calculations = {\n              // element which is launching popup\n              target : {\n                element : $target[0],\n                width   : $target.outerWidth(),\n                height  : $target.outerHeight(),\n                top     : targetPosition.top,\n                left    : targetPosition.left,\n                margin  : {}\n              },\n              // popup itself\n              popup : {\n                width  : $popup.outerWidth(),\n                height : $popup.outerHeight()\n              },\n              // offset container (or 3d context)\n              parent : {\n                width  : $offsetParent.outerWidth(),\n                height : $offsetParent.outerHeight()\n              },\n              // screen boundaries\n              screen : {\n                scroll: {\n                  top  : $window.scrollTop(),\n                  left : $window.scrollLeft()\n                },\n                width  : $window.width(),\n                height : $window.height()\n              }\n            };\n\n            // add in container calcs if fluid\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              calculations.container = {\n                width: $popup.parent().outerWidth()\n              };\n              calculations.popup.width = calculations.container.width;\n            }\n\n            // add in margins if inline\n            calculations.target.margin.top = (settings.inline)\n              ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)\n              : 0\n            ;\n            calculations.target.margin.left = (settings.inline)\n              ? module.is.rtl()\n                ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)\n                : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left') , 10)\n              : 0\n            ;\n            // calculate screen boundaries\n            screen = calculations.screen;\n            calculations.boundary = {\n              top    : screen.scroll.top,\n              bottom : screen.scroll.top + screen.height,\n              left   : screen.scroll.left,\n              right  : screen.scroll.left + screen.width\n            };\n            return calculations;\n          },\n          id: function() {\n            return id;\n          },\n          startEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseenter';\n            }\n            else if(settings.on == 'focus') {\n              return 'focus';\n            }\n            return false;\n          },\n          scrollEvent: function() {\n            return 'scroll';\n          },\n          endEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseleave';\n            }\n            else if(settings.on == 'focus') {\n              return 'blur';\n            }\n            return false;\n          },\n          distanceFromBoundary: function(offset, calculations) {\n            var\n              distanceFromBoundary = {},\n              popup,\n              boundary\n            ;\n            offset       = offset       || module.get.offset();\n            calculations = calculations || module.get.calculations();\n\n            // shorthand\n            popup        = calculations.popup;\n            boundary     = calculations.boundary;\n\n            if(offset) {\n              distanceFromBoundary = {\n                top    : (offset.top - boundary.top),\n                left   : (offset.left - boundary.left),\n                right  : (boundary.right - (offset.left + popup.width) ),\n                bottom : (boundary.bottom - (offset.top + popup.height) )\n              };\n              module.verbose('Distance from boundaries determined', offset, distanceFromBoundary);\n            }\n            return distanceFromBoundary;\n          },\n          offsetParent: function($target) {\n            var\n              element = ($target !== undefined)\n                ? $target[0]\n                : $module[0],\n              parentNode = element.parentNode,\n              $node    = $(parentNode)\n            ;\n            if(parentNode) {\n              var\n                is2D     = ($node.css('transform') === 'none'),\n                isStatic = ($node.css('position') === 'static'),\n                isHTML   = $node.is('html')\n              ;\n              while(parentNode && !isHTML && isStatic && is2D) {\n                parentNode = parentNode.parentNode;\n                $node    = $(parentNode);\n                is2D     = ($node.css('transform') === 'none');\n                isStatic = ($node.css('position') === 'static');\n                isHTML   = $node.is('html');\n              }\n            }\n            return ($node && $node.length > 0)\n              ? $node\n              : $()\n            ;\n          },\n          positions: function() {\n            return {\n              'top left'      : false,\n              'top center'    : false,\n              'top right'     : false,\n              'bottom left'   : false,\n              'bottom center' : false,\n              'bottom right'  : false,\n              'left center'   : false,\n              'right center'  : false\n            };\n          },\n          nextPosition: function(position) {\n            var\n              positions          = position.split(' '),\n              verticalPosition   = positions[0],\n              horizontalPosition = positions[1],\n              opposite = {\n                top    : 'bottom',\n                bottom : 'top',\n                left   : 'right',\n                right  : 'left'\n              },\n              adjacent = {\n                left   : 'center',\n                center : 'right',\n                right  : 'left'\n              },\n              backup = {\n                'top left'      : 'top center',\n                'top center'    : 'top right',\n                'top right'     : 'right center',\n                'right center'  : 'bottom right',\n                'bottom right'  : 'bottom center',\n                'bottom center' : 'bottom left',\n                'bottom left'   : 'left center',\n                'left center'   : 'top left'\n              },\n              adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'),\n              oppositeTried = false,\n              adjacentTried = false,\n              nextPosition  = false\n            ;\n            if(!triedPositions) {\n              module.verbose('All available positions available');\n              triedPositions = module.get.positions();\n            }\n\n            module.debug('Recording last position tried', position);\n            triedPositions[position] = true;\n\n            if(settings.prefer === 'opposite') {\n              nextPosition  = [opposite[verticalPosition], horizontalPosition];\n              nextPosition  = nextPosition.join(' ');\n              oppositeTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying opposite strategy', nextPosition);\n            }\n            if((settings.prefer === 'adjacent') && adjacentsAvailable ) {\n              nextPosition  = [verticalPosition, adjacent[horizontalPosition]];\n              nextPosition  = nextPosition.join(' ');\n              adjacentTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying adjacent strategy', nextPosition);\n            }\n            if(adjacentTried || oppositeTried) {\n              module.debug('Using backup position', nextPosition);\n              nextPosition = backup[position];\n            }\n            return nextPosition;\n          }\n        },\n\n        set: {\n          position: function(position, calculations) {\n\n            // exit conditions\n            if($target.length === 0 || $popup.length === 0) {\n              module.error(error.notFound);\n              return;\n            }\n            var\n              offset,\n              distanceAway,\n              target,\n              popup,\n              parent,\n              positioning,\n              popupOffset,\n              distanceFromBoundary\n            ;\n\n            calculations = calculations || module.get.calculations();\n            position     = position     || $module.data(metadata.position) || settings.position;\n\n            offset       = $module.data(metadata.offset) || settings.offset;\n            distanceAway = settings.distanceAway;\n\n            // shorthand\n            target = calculations.target;\n            popup  = calculations.popup;\n            parent = calculations.parent;\n\n            if(target.width === 0 && target.height === 0 && !(target.element instanceof SVGGraphicsElement)) {\n              module.debug('Popup target is hidden, no action taken');\n              return false;\n            }\n\n            if(settings.inline) {\n              module.debug('Adding margin to calculation', target.margin);\n              if(position == 'left center' || position == 'right center') {\n                offset       +=  target.margin.top;\n                distanceAway += -target.margin.left;\n              }\n              else if (position == 'top left' || position == 'top center' || position == 'top right') {\n                offset       += target.margin.left;\n                distanceAway -= target.margin.top;\n              }\n              else {\n                offset       += target.margin.left;\n                distanceAway += target.margin.top;\n              }\n            }\n\n            module.debug('Determining popup position from calculations', position, calculations);\n\n            if (module.is.rtl()) {\n              position = position.replace(/left|right/g, function (match) {\n                return (match == 'left')\n                  ? 'right'\n                  : 'left'\n                ;\n              });\n              module.debug('RTL: Popup position updated', position);\n            }\n\n            // if last attempt use specified last resort position\n            if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') {\n              position = settings.lastResort;\n            }\n\n            switch (position) {\n              case 'top left':\n                positioning = {\n                  top    : 'auto',\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + offset,\n                  right  : 'auto'\n                };\n              break;\n              case 'top center':\n                positioning = {\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  top    : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'top right':\n                positioning = {\n                  bottom :  parent.height - target.top + distanceAway,\n                  right  :  parent.width - target.left - target.width - offset,\n                  top    : 'auto',\n                  left   : 'auto'\n                };\n              break;\n              case 'left center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  right  : parent.width - target.left + distanceAway,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n              case 'right center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  left   : target.left + target.width + distanceAway,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom left':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom center':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom right':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  right  : parent.width - target.left  - target.width - offset,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n            }\n            if(positioning === undefined) {\n              module.error(error.invalidPosition, position);\n            }\n\n            module.debug('Calculated popup positioning values', positioning);\n\n            // tentatively place on stage\n            $popup\n              .css(positioning)\n              .removeClass(className.position)\n              .addClass(position)\n              .addClass(className.loading)\n            ;\n\n            popupOffset = module.get.popupOffset();\n\n            // see if any boundaries are surpassed with this tentative position\n            distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);\n\n            if( module.is.offstage(distanceFromBoundary, position) ) {\n              module.debug('Position is outside viewport', position);\n              if(searchDepth < settings.maxSearchDepth) {\n                searchDepth++;\n                position = module.get.nextPosition(position);\n                module.debug('Trying new position', position);\n                return ($popup)\n                  ? module.set.position(position, calculations)\n                  : false\n                ;\n              }\n              else {\n                if(settings.lastResort) {\n                  module.debug('No position found, showing with last position');\n                }\n                else {\n                  module.debug('Popup could not find a position to display', $popup);\n                  module.error(error.cannotPlace, element);\n                  module.remove.attempts();\n                  module.remove.loading();\n                  module.reset();\n                  return false;\n                }\n              }\n            }\n            module.debug('Position is on stage', position);\n            module.remove.attempts();\n            module.remove.loading();\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              module.set.fluidWidth(calculations);\n            }\n            return true;\n          },\n\n          fluidWidth: function(calculations) {\n            calculations = calculations || module.get.calculations();\n            module.debug('Automatically setting element width to parent width', calculations.parent.width);\n            $popup.css('width', calculations.container.width);\n          },\n\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation && module.has.popup() ) {\n              module.verbose('Adding variation to popup', variation);\n              $popup.addClass(variation);\n            }\n          },\n\n          visible: function() {\n            $module.addClass(className.visible);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $popup.removeClass(className.loading);\n          },\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation) {\n              module.verbose('Removing variation', variation);\n              $popup.removeClass(variation);\n            }\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          attempts: function() {\n            module.verbose('Resetting all searched positions');\n            searchDepth    = 0;\n            triedPositions = false;\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding popup events to module');\n            if(settings.on == 'click') {\n              $module\n                .on('click' + eventNamespace, module.toggle)\n              ;\n            }\n            if(settings.on == 'hover' && hasTouch) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.touchstart)\n              ;\n            }\n            if( module.get.startEvent() ) {\n              $module\n                .on(module.get.startEvent() + eventNamespace, module.event.start)\n                .on(module.get.endEvent() + eventNamespace, module.event.end)\n              ;\n            }\n            if(settings.target) {\n              module.debug('Target set to element', $target);\n            }\n            $window.on('resize' + elementNamespace, module.event.resize);\n          },\n          popup: function() {\n            module.verbose('Allowing hover events on popup to prevent closing');\n            if( $popup && module.has.popup() ) {\n              $popup\n                .on('mouseenter' + eventNamespace, module.event.start)\n                .on('mouseleave' + eventNamespace, module.event.end)\n              ;\n            }\n          },\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click'))   {\n              $document\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n              $context\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('touchstart' + elementNamespace, function(event) {\n                  module.verbose('Touched away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('click' + elementNamespace, function(event) {\n                  module.verbose('Clicked away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {\n              $document\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n              $context\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n              ;\n              openedWithTouch = false;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Removing close event from document');\n              $document\n                .off('click' + elementNamespace)\n              ;\n            }\n          }\n        },\n\n        has: {\n          popup: function() {\n            return ($popup && $popup.length > 0);\n          }\n        },\n\n        is: {\n          offstage: function(distanceFromBoundary, position) {\n            var\n              offstage = []\n            ;\n            // return boundaries that have been surpassed\n            $.each(distanceFromBoundary, function(direction, distance) {\n              if(distance < -settings.jitter) {\n                module.debug('Position exceeds allowable distance from edge', direction, distance, position);\n                offstage.push(direction);\n              }\n            });\n            if(offstage.length > 0) {\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $popup && $popup.hasClass(className.animating) );\n          },\n          fluid: function() {\n            return ( $popup && $popup.hasClass(className.fluid));\n          },\n          visible: function() {\n            return $popup && $popup.hasClass(className.visible);\n          },\n          dropdown: function() {\n            return $module.hasClass(className.dropdown);\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          rtl: function () {\n            return $module.css('direction') == 'rtl';\n          }\n        },\n\n        reset: function() {\n          module.remove.visible();\n          if(settings.preserve) {\n            if($.fn.transition !== undefined) {\n              $popup\n                .transition('remove transition')\n              ;\n            }\n          }\n          else {\n            module.removePopup();\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.popup.settings = {\n\n  name         : 'Popup',\n\n  // module settings\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n  namespace    : 'popup',\n\n  // callback only when element added to dom\n  onCreate     : function(){},\n\n  // callback before element removed from dom\n  onRemove     : function(){},\n\n  // callback before show animation\n  onShow       : function(){},\n\n  // callback after show animation\n  onVisible    : function(){},\n\n  // callback before hide animation\n  onHide       : function(){},\n\n  // callback after hide animation\n  onHidden     : function(){},\n\n  // when to show popup\n  on           : 'hover',\n\n  // whether to add touchstart events when using hover\n  addTouchEvents : true,\n\n  // default position relative to element\n  position     : 'top left',\n\n  // name of variation to use\n  variation    : '',\n\n  // whether popup should be moved to context\n  movePopup      : true,\n\n  // element which popup should be relative to\n  target         : false,\n\n  // jq selector or element that should be used as popup\n  popup          : false,\n\n  // popup should remain inline next to activator\n  inline         : false,\n\n  // popup should be removed from page on hide\n  preserve       : false,\n\n  // popup should not close when being hovered on\n  hoverable      : false,\n\n  // explicitly set content\n  content      : false,\n\n  // explicitly set html\n  html         : false,\n\n  // explicitly set title\n  title        : false,\n\n  // whether automatically close on clickaway when on click\n  closable     : true,\n\n  // automatically hide on scroll\n  hideOnScroll : 'auto',\n\n  // hide other popups on show\n  exclusive    : false,\n\n  // context to attach popups\n  context      : 'body',\n\n  // position to prefer when calculating new position\n  prefer       : 'opposite',\n\n  // specify position to appear even if it doesn't fit\n  lastResort   : false,\n\n  // delay used to prevent accidental refiring of animations due to user error\n  delay        : {\n    show : 50,\n    hide : 70\n  },\n\n  // whether fluid variation should assign width explicitly\n  setFluidWidth  : true,\n\n  // transition settings\n  duration       : 200,\n  transition     : 'scale',\n\n  // distance away from activating element in px\n  distanceAway   : 0,\n\n  // number of pixels an element is allowed to be \"offstage\" for a position to be chosen (allows for rounding)\n  jitter         : 2,\n\n  // offset on aligning axis from calculated position\n  offset         : 0,\n\n  // maximum times to look for a position before failing (9 positions total)\n  maxSearchDepth : 15,\n\n  error: {\n    invalidPosition : 'The position you specified is not a valid position',\n    cannotPlace     : 'Popup does not fit within the boundaries of the viewport',\n    method          : 'The method you called is not defined.',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',\n    notFound        : 'The target or popup you specified does not exist on the page'\n  },\n\n  metadata: {\n    activator : 'activator',\n    content   : 'content',\n    html      : 'html',\n    offset    : 'offset',\n    position  : 'position',\n    title     : 'title',\n    variation : 'variation'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating',\n    dropdown  : 'dropdown',\n    fluid     : 'fluid',\n    loading   : 'loading',\n    popup     : 'ui popup',\n    position  : 'top left center bottom right',\n    visible   : 'visible'\n  },\n\n  selector    : {\n    popup    : '.ui.popup'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    popup: function(text) {\n      var\n        html   = '',\n        escape = $.fn.popup.settings.templates.escape\n      ;\n      if(typeof text !== undefined) {\n        if(typeof text.title !== undefined && text.title) {\n          text.title = escape(text.title);\n          html += '<div class=\"header\">' + text.title + '</div>';\n        }\n        if(typeof text.content !== undefined && text.content) {\n          text.content = escape(text.content);\n          html += '<div class=\"content\">' + text.content + '</div>';\n        }\n      }\n      return html;\n    }\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/progress.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Progress Bar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Progress\n*******************************/\n\n.ui.progress {\n  position: relative;\n  display: block;\n  max-width: 100%;\n  border: none;\n  margin: 1em 0em 2.5em;\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.1);\n  padding: 0em;\n  border-radius: 0.28571429rem;\n}\n.ui.progress:first-child {\n  margin: 0em 0em 2.5em;\n}\n.ui.progress:last-child {\n  margin: 0em 0em 1.5em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* Activity Bar */\n.ui.progress .bar {\n  display: block;\n  line-height: 1;\n  position: relative;\n  width: 0%;\n  min-width: 2em;\n  background: #888888;\n  border-radius: 0.28571429rem;\n  -webkit-transition: width 0.1s ease, background-color 0.1s ease;\n          transition: width 0.1s ease, background-color 0.1s ease;\n}\n\n/* Percent Complete */\n.ui.progress .bar > .progress {\n  white-space: nowrap;\n  position: absolute;\n  width: auto;\n  font-size: 0.92857143em;\n  top: 50%;\n  right: 0.5em;\n  left: auto;\n  bottom: auto;\n  color: rgba(255, 255, 255, 0.7);\n  text-shadow: none;\n  margin-top: -0.5em;\n  font-weight: bold;\n  text-align: left;\n}\n\n/* Label */\n.ui.progress > .label {\n  position: absolute;\n  width: 100%;\n  font-size: 1em;\n  top: 100%;\n  right: auto;\n  left: 0%;\n  bottom: auto;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-shadow: none;\n  margin-top: 0.2em;\n  text-align: center;\n  -webkit-transition: color 0.4s ease;\n          transition: color 0.4s ease;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/* Indicating */\n.ui.indicating.progress[data-percent^=\"1\"] .bar,\n.ui.indicating.progress[data-percent^=\"2\"] .bar {\n  background-color: #D95C5C;\n}\n.ui.indicating.progress[data-percent^=\"3\"] .bar {\n  background-color: #EFBC72;\n}\n.ui.indicating.progress[data-percent^=\"4\"] .bar,\n.ui.indicating.progress[data-percent^=\"5\"] .bar {\n  background-color: #E6BB48;\n}\n.ui.indicating.progress[data-percent^=\"6\"] .bar {\n  background-color: #DDC928;\n}\n.ui.indicating.progress[data-percent^=\"7\"] .bar,\n.ui.indicating.progress[data-percent^=\"8\"] .bar {\n  background-color: #B4D95C;\n}\n.ui.indicating.progress[data-percent^=\"9\"] .bar,\n.ui.indicating.progress[data-percent^=\"100\"] .bar {\n  background-color: #66DA81;\n}\n\n/* Indicating Label */\n.ui.indicating.progress[data-percent^=\"1\"] .label,\n.ui.indicating.progress[data-percent^=\"2\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"3\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"4\"] .label,\n.ui.indicating.progress[data-percent^=\"5\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"6\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"7\"] .label,\n.ui.indicating.progress[data-percent^=\"8\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"9\"] .label,\n.ui.indicating.progress[data-percent^=\"100\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Single Digits */\n.ui.indicating.progress[data-percent=\"1\"] .bar,\n.ui.indicating.progress[data-percent=\"2\"] .bar,\n.ui.indicating.progress[data-percent=\"3\"] .bar,\n.ui.indicating.progress[data-percent=\"4\"] .bar,\n.ui.indicating.progress[data-percent=\"5\"] .bar,\n.ui.indicating.progress[data-percent=\"6\"] .bar,\n.ui.indicating.progress[data-percent=\"7\"] .bar,\n.ui.indicating.progress[data-percent=\"8\"] .bar,\n.ui.indicating.progress[data-percent=\"9\"] .bar {\n  background-color: #D95C5C;\n}\n.ui.indicating.progress[data-percent=\"1\"] .label,\n.ui.indicating.progress[data-percent=\"2\"] .label,\n.ui.indicating.progress[data-percent=\"3\"] .label,\n.ui.indicating.progress[data-percent=\"4\"] .label,\n.ui.indicating.progress[data-percent=\"5\"] .label,\n.ui.indicating.progress[data-percent=\"6\"] .label,\n.ui.indicating.progress[data-percent=\"7\"] .label,\n.ui.indicating.progress[data-percent=\"8\"] .label,\n.ui.indicating.progress[data-percent=\"9\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Indicating Success */\n.ui.indicating.progress.success .label {\n  color: #1A531B;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n     Success\n---------------*/\n\n.ui.progress.success .bar {\n  background-color: #21BA45 !important;\n}\n.ui.progress.success .bar,\n.ui.progress.success .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n.ui.progress.success > .label {\n  color: #1A531B;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.progress.warning .bar {\n  background-color: #F2C037 !important;\n}\n.ui.progress.warning .bar,\n.ui.progress.warning .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n.ui.progress.warning > .label {\n  color: #794B02;\n}\n\n/*--------------\n     Error\n---------------*/\n\n.ui.progress.error .bar {\n  background-color: #DB2828 !important;\n}\n.ui.progress.error .bar,\n.ui.progress.error .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n.ui.progress.error > .label {\n  color: #912D2B;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.progress .bar {\n  position: relative;\n  min-width: 2em;\n}\n.ui.active.progress .bar::after {\n  content: '';\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  right: 0px;\n  bottom: 0px;\n  background: #FFFFFF;\n  border-radius: 0.28571429rem;\n  -webkit-animation: progress-active 2s ease infinite;\n          animation: progress-active 2s ease infinite;\n}\n@-webkit-keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n@keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.progress {\n  opacity: 0.35;\n}\n.ui.disabled.progress .bar,\n.ui.disabled.progress .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.progress {\n  background: rgba(255, 255, 255, 0.08);\n  border: none;\n}\n.ui.inverted.progress .bar {\n  background: #888888;\n}\n.ui.inverted.progress .bar > .progress {\n  color: #F9FAFB;\n}\n.ui.inverted.progress > .label {\n  color: #FFFFFF;\n}\n.ui.inverted.progress.success > .label {\n  color: #21BA45;\n}\n.ui.inverted.progress.warning > .label {\n  color: #F2C037;\n}\n.ui.inverted.progress.error > .label {\n  color: #DB2828;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n\n/* bottom attached */\n.ui.progress.attached {\n  background: transparent;\n  position: relative;\n  border: none;\n  margin: 0em;\n}\n.ui.progress.attached,\n.ui.progress.attached .bar {\n  display: block;\n  height: 0.2rem;\n  padding: 0px;\n  overflow: hidden;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.progress.attached .bar {\n  border-radius: 0em;\n}\n\n/* top attached */\n.ui.progress.top.attached,\n.ui.progress.top.attached .bar {\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.progress.top.attached .bar {\n  border-radius: 0em;\n}\n\n/* Coupling */\n.ui.segment > .ui.attached.progress,\n.ui.card > .ui.attached.progress {\n  position: absolute;\n  top: auto;\n  left: 0;\n  bottom: 100%;\n  width: 100%;\n}\n.ui.segment > .ui.bottom.attached.progress,\n.ui.card > .ui.bottom.attached.progress {\n  top: 100%;\n  bottom: auto;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n\n/* Red */\n.ui.red.progress .bar {\n  background-color: #DB2828;\n}\n.ui.red.inverted.progress .bar {\n  background-color: #FF695E;\n}\n\n/* Orange */\n.ui.orange.progress .bar {\n  background-color: #F2711C;\n}\n.ui.orange.inverted.progress .bar {\n  background-color: #FF851B;\n}\n\n/* Yellow */\n.ui.yellow.progress .bar {\n  background-color: #FBBD08;\n}\n.ui.yellow.inverted.progress .bar {\n  background-color: #FFE21F;\n}\n\n/* Olive */\n.ui.olive.progress .bar {\n  background-color: #B5CC18;\n}\n.ui.olive.inverted.progress .bar {\n  background-color: #D9E778;\n}\n\n/* Green */\n.ui.green.progress .bar {\n  background-color: #21BA45;\n}\n.ui.green.inverted.progress .bar {\n  background-color: #2ECC40;\n}\n\n/* Teal */\n.ui.teal.progress .bar {\n  background-color: #00B5AD;\n}\n.ui.teal.inverted.progress .bar {\n  background-color: #6DFFFF;\n}\n\n/* Blue */\n.ui.blue.progress .bar {\n  background-color: #2185D0;\n}\n.ui.blue.inverted.progress .bar {\n  background-color: #54C8FF;\n}\n\n/* Violet */\n.ui.violet.progress .bar {\n  background-color: #6435C9;\n}\n.ui.violet.inverted.progress .bar {\n  background-color: #A291FB;\n}\n\n/* Purple */\n.ui.purple.progress .bar {\n  background-color: #A333C8;\n}\n.ui.purple.inverted.progress .bar {\n  background-color: #DC73FF;\n}\n\n/* Pink */\n.ui.pink.progress .bar {\n  background-color: #E03997;\n}\n.ui.pink.inverted.progress .bar {\n  background-color: #FF8EDF;\n}\n\n/* Brown */\n.ui.brown.progress .bar {\n  background-color: #A5673F;\n}\n.ui.brown.inverted.progress .bar {\n  background-color: #D67C1C;\n}\n\n/* Grey */\n.ui.grey.progress .bar {\n  background-color: #767676;\n}\n.ui.grey.inverted.progress .bar {\n  background-color: #DCDDDE;\n}\n\n/* Black */\n.ui.black.progress .bar {\n  background-color: #1B1C1D;\n}\n.ui.black.inverted.progress .bar {\n  background-color: #545454;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.tiny.progress {\n  font-size: 0.85714286rem;\n}\n.ui.tiny.progress .bar {\n  height: 0.5em;\n}\n.ui.small.progress {\n  font-size: 0.92857143rem;\n}\n.ui.small.progress .bar {\n  height: 1em;\n}\n.ui.progress {\n  font-size: 1rem;\n}\n.ui.progress .bar {\n  height: 1.75em;\n}\n.ui.large.progress {\n  font-size: 1.14285714rem;\n}\n.ui.large.progress .bar {\n  height: 2.5em;\n}\n.ui.big.progress {\n  font-size: 1.28571429rem;\n}\n.ui.big.progress .bar {\n  height: 3.5em;\n}\n\n\n/*******************************\n            Progress\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/progress.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Progress\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.progress = function(parameters) {\n  var\n    $allModules    = $(this),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.progress.settings, parameters)\n          : $.extend({}, $.fn.progress.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $bar            = $(this).find(selector.bar),\n        $progress       = $(this).find(selector.progress),\n        $label          = $(this).find(selector.label),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        animating = false,\n        transitionEnd,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing progress bar', settings);\n\n          module.set.duration();\n          module.set.transitionEvent();\n\n          module.read.metadata();\n          module.read.settings();\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of progress', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying previous progress for', $module);\n          clearInterval(instance.interval);\n          module.remove.state();\n          $module.removeData(moduleNamespace);\n          instance = undefined;\n        },\n\n        reset: function() {\n          module.set.percent(0);\n          module.set.value(0);\n        },\n\n        complete: function() {\n          if(module.percent === undefined || module.percent < 100) {\n            module.set.percent(100);\n          }\n        },\n\n        read: {\n          metadata: function() {\n            var\n              data = {\n                percent : $module.data(metadata.percent),\n                total   : $module.data(metadata.total),\n                value   : $module.data(metadata.value)\n              }\n            ;\n            if(data.percent) {\n              module.debug('Current percent value set from metadata', data.percent);\n              module.set.percent(data.percent);\n            }\n            if(data.total) {\n              module.debug('Total value set from metadata', data.total);\n              module.set.total(data.total);\n            }\n            if(data.value) {\n              module.debug('Current value set from metadata', data.value);\n              module.set.value(data.value);\n              module.set.progress(data.value);\n            }\n          },\n          settings: function() {\n            if(settings.total !== false) {\n              module.debug('Current total set in settings', settings.total);\n              module.set.total(settings.total);\n            }\n            if(settings.value !== false) {\n              module.debug('Current value set in settings', settings.value);\n              module.set.value(settings.value);\n              module.set.progress(module.value);\n            }\n            if(settings.percent !== false) {\n              module.debug('Current percent set in settings', settings.percent);\n              module.set.percent(settings.percent);\n            }\n          }\n        },\n\n        increment: function(incrementValue) {\n          var\n            maxValue,\n            startValue,\n            newValue\n          ;\n          if( module.has.total() ) {\n            startValue     = module.get.value();\n            incrementValue = incrementValue || 1;\n\n            newValue       = startValue + incrementValue;\n            maxValue       = module.get.total();\n\n            module.debug('Incrementing value', startValue, newValue, maxValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above total', maxValue);\n              newValue = maxValue;\n            }\n          }\n          else {\n            startValue     = module.get.percent();\n            incrementValue = incrementValue || module.get.randomValue();\n\n            newValue       = startValue + incrementValue;\n            maxValue       = 100;\n\n            module.debug('Incrementing percentage by', startValue, newValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above 100 percent');\n              newValue = maxValue;\n            }\n          }\n          module.set.progress(newValue);\n        },\n        decrement: function(decrementValue) {\n          var\n            total     = module.get.total(),\n            startValue,\n            newValue\n          ;\n          if(total) {\n            startValue     =  module.get.value();\n            decrementValue =  decrementValue || 1;\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing value by', decrementValue, startValue);\n          }\n          else {\n            startValue     =  module.get.percent();\n            decrementValue =  decrementValue || module.get.randomValue();\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing percentage by', decrementValue, startValue);\n          }\n\n          if(newValue < 0) {\n            module.debug('Value cannot decrement below 0');\n            newValue = 0;\n          }\n          module.set.progress(newValue);\n        },\n\n        has: {\n          total: function() {\n            return (module.get.total() !== false);\n          }\n        },\n\n        get: {\n          text: function(templateText) {\n            var\n              value   = module.value                || 0,\n              total   = module.total                || 0,\n              percent = (animating)\n                ? module.get.displayPercent()\n                : module.percent || 0,\n              left = (module.total > 0)\n                ? (total - value)\n                : (100 - percent)\n            ;\n            templateText = templateText || '';\n            templateText = templateText\n              .replace('{value}', value)\n              .replace('{total}', total)\n              .replace('{left}', left)\n              .replace('{percent}', percent)\n            ;\n            module.debug('Adding variables to progress bar text', templateText);\n            return templateText;\n          },\n\n\n          randomValue: function() {\n            module.debug('Generating random increment percentage');\n            return Math.floor((Math.random() * settings.random.max) + settings.random.min);\n          },\n\n          numericValue: function(value) {\n            return (typeof value === 'string')\n              ? (value.replace(/[^\\d.]/g, '') !== '')\n                ? +(value.replace(/[^\\d.]/g, ''))\n                : false\n              : value\n            ;\n          },\n\n          transitionEnd: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          // gets current displayed percentage (if animating values this is the intermediary value)\n          displayPercent: function() {\n            var\n              barWidth       = $bar.width(),\n              totalWidth     = $module.width(),\n              minDisplay     = parseInt($bar.css('min-width'), 10),\n              displayPercent = (barWidth > minDisplay)\n                ? (barWidth / totalWidth * 100)\n                : module.percent\n            ;\n            return (settings.precision > 0)\n              ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(displayPercent)\n            ;\n          },\n\n          percent: function() {\n            return module.percent || 0;\n          },\n          value: function() {\n            return module.value || 0;\n          },\n          total: function() {\n            return module.total || false;\n          }\n        },\n\n        is: {\n          success: function() {\n            return $module.hasClass(className.success);\n          },\n          warning: function() {\n            return $module.hasClass(className.warning);\n          },\n          error: function() {\n            return $module.hasClass(className.error);\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          visible: function() {\n            return $module.is(':visible');\n          }\n        },\n\n        remove: {\n          state: function() {\n            module.verbose('Removing stored state');\n            delete module.total;\n            delete module.percent;\n            delete module.value;\n          },\n          active: function() {\n            module.verbose('Removing active state');\n            $module.removeClass(className.active);\n          },\n          success: function() {\n            module.verbose('Removing success state');\n            $module.removeClass(className.success);\n          },\n          warning: function() {\n            module.verbose('Removing warning state');\n            $module.removeClass(className.warning);\n          },\n          error: function() {\n            module.verbose('Removing error state');\n            $module.removeClass(className.error);\n          }\n        },\n\n        set: {\n          barWidth: function(value) {\n            if(value > 100) {\n              module.error(error.tooHigh, value);\n            }\n            else if (value < 0) {\n              module.error(error.tooLow, value);\n            }\n            else {\n              $bar\n                .css('width', value + '%')\n              ;\n              $module\n                .attr('data-percent', parseInt(value, 10))\n              ;\n            }\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting progress bar transition duration', duration);\n            $bar\n              .css({\n                'transition-duration':  duration\n              })\n            ;\n          },\n          percent: function(percent) {\n            percent = (typeof percent == 'string')\n              ? +(percent.replace('%', ''))\n              : percent\n            ;\n            // round display percentage\n            percent = (settings.precision > 0)\n              ? Math.round(percent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(percent)\n            ;\n            module.percent = percent;\n            if( !module.has.total() ) {\n              module.value = (settings.precision > 0)\n                ? Math.round( (percent / 100) * module.total * (10 * settings.precision)) / (10 * settings.precision)\n                : Math.round( (percent / 100) * module.total * 10) / 10\n              ;\n              if(settings.limitValues) {\n                module.value = (module.value > 100)\n                  ? 100\n                  : (module.value < 0)\n                    ? 0\n                    : module.value\n                ;\n              }\n            }\n            module.set.barWidth(percent);\n            module.set.labelInterval();\n            module.set.labels();\n            settings.onChange.call(element, percent, module.value, module.total);\n          },\n          labelInterval: function() {\n            var\n              animationCallback = function() {\n                module.verbose('Bar finished animating, removing continuous label updates');\n                clearInterval(module.interval);\n                animating = false;\n                module.set.labels();\n              }\n            ;\n            clearInterval(module.interval);\n            $bar.one(transitionEnd + eventNamespace, animationCallback);\n            module.timer = setTimeout(animationCallback, settings.duration + 100);\n            animating = true;\n            module.interval = setInterval(module.set.labels, settings.framerate);\n          },\n          labels: function() {\n            module.verbose('Setting both bar progress and outer label text');\n            module.set.barLabel();\n            module.set.state();\n          },\n          label: function(text) {\n            text = text || '';\n            if(text) {\n              text = module.get.text(text);\n              module.debug('Setting label to text', text);\n              $label.text(text);\n            }\n          },\n          state: function(percent) {\n            percent = (percent !== undefined)\n              ? percent\n              : module.percent\n            ;\n            if(percent === 100) {\n              if(settings.autoSuccess && !(module.is.warning() || module.is.error())) {\n                module.set.success();\n                module.debug('Automatically triggering success at 100%');\n              }\n              else {\n                module.verbose('Reached 100% removing active state');\n                module.remove.active();\n              }\n            }\n            else if(percent > 0) {\n              module.verbose('Adjusting active progress bar label', percent);\n              module.set.active();\n            }\n            else {\n              module.remove.active();\n              module.set.label(settings.text.active);\n            }\n          },\n          barLabel: function(text) {\n            if(text !== undefined) {\n              $progress.text( module.get.text(text) );\n            }\n            else if(settings.label == 'ratio' && module.total) {\n              module.debug('Adding ratio to bar label');\n              $progress.text( module.get.text(settings.text.ratio) );\n            }\n            else if(settings.label == 'percent') {\n              module.debug('Adding percentage to bar label');\n              $progress.text( module.get.text(settings.text.percent) );\n            }\n          },\n          active: function(text) {\n            text = text || settings.text.active;\n            module.debug('Setting active state');\n            if(settings.showActivity && !module.is.active() ) {\n              $module.addClass(className.active);\n            }\n            module.remove.warning();\n            module.remove.error();\n            module.remove.success();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onActive.call(element, module.value, module.total);\n          },\n          success : function(text) {\n            text = text || settings.text.success;\n            module.debug('Setting success state');\n            $module.addClass(className.success);\n            module.remove.active();\n            module.remove.warning();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onSuccess.call(element, module.total);\n          },\n          warning : function(text) {\n            text = text || settings.text.warning;\n            module.debug('Setting warning state');\n            $module.addClass(className.warning);\n            module.remove.active();\n            module.remove.success();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onWarning.call(element, module.value, module.total);\n          },\n          error : function(text) {\n            text = text || settings.text.error;\n            module.debug('Setting error state');\n            $module.addClass(className.error);\n            module.remove.active();\n            module.remove.success();\n            module.remove.warning();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onError.call(element, module.value, module.total);\n          },\n          transitionEvent: function() {\n            transitionEnd = module.get.transitionEnd();\n          },\n          total: function(totalValue) {\n            module.total = totalValue;\n          },\n          value: function(value) {\n            module.value = value;\n          },\n          progress: function(value) {\n            var\n              numericValue = module.get.numericValue(value),\n              percentComplete\n            ;\n            if(numericValue === false) {\n              module.error(error.nonNumeric, value);\n            }\n            if( module.has.total() ) {\n              module.set.value(numericValue);\n              percentComplete = (numericValue / module.total) * 100;\n              module.debug('Calculating percent complete from total', percentComplete);\n              module.set.percent( percentComplete );\n            }\n            else {\n              percentComplete = numericValue;\n              module.debug('Setting value to exact percentage value', percentComplete);\n              module.set.percent( percentComplete );\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.progress.settings = {\n\n  name         : 'Progress',\n  namespace    : 'progress',\n\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n\n  random       : {\n    min : 2,\n    max : 5\n  },\n\n  duration     : 300,\n\n  autoSuccess  : true,\n  showActivity : true,\n  limitValues  : true,\n\n  label        : 'percent',\n  precision    : 0,\n  framerate    : (1000 / 30), /// 30 fps\n\n  percent      : false,\n  total        : false,\n  value        : false,\n\n  onChange     : function(percent, value, total){},\n  onSuccess    : function(total){},\n  onActive     : function(value, total){},\n  onError      : function(value, total){},\n  onWarning    : function(value, total){},\n\n  error    : {\n    method     : 'The method you called is not defined.',\n    nonNumeric : 'Progress value is non numeric',\n    tooHigh    : 'Value specified is above 100%',\n    tooLow     : 'Value specified is below 0%'\n  },\n\n  regExp: {\n    variable: /\\{\\$*[A-z0-9]+\\}/g\n  },\n\n  metadata: {\n    percent : 'percent',\n    total   : 'total',\n    value   : 'value'\n  },\n\n  selector : {\n    bar      : '> .bar',\n    label    : '> .label',\n    progress : '.bar > .progress'\n  },\n\n  text : {\n    active  : false,\n    error   : false,\n    success : false,\n    warning : false,\n    percent : '{percent}%',\n    ratio   : '{value} of {total}'\n  },\n\n  className : {\n    active  : 'active',\n    error   : 'error',\n    success : 'success',\n    warning : 'warning'\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/rail.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Rail\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Rails\n*******************************/\n\n.ui.rail {\n  position: absolute;\n  top: 0%;\n  width: 300px;\n  height: 100%;\n}\n.ui.left.rail {\n  left: auto;\n  right: 100%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n.ui.right.rail {\n  left: 100%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Internal\n---------------*/\n\n.ui.left.internal.rail {\n  left: 0%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n.ui.right.internal.rail {\n  left: auto;\n  right: 0%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n\n/*--------------\n    Dividing\n---------------*/\n\n.ui.dividing.rail {\n  width: 302.5px;\n}\n.ui.left.dividing.rail {\n  padding: 0em 2.5rem 0em 0em;\n  margin: 0em 2.5rem 0em 0em;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.right.dividing.rail {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  padding: 0em 0em 0em 2.5rem;\n  margin: 0em 0em 0em 2.5rem;\n}\n\n/*--------------\n    Distance\n---------------*/\n\n.ui.close.rail {\n  width: 301px;\n}\n.ui.close.left.rail {\n  padding: 0em 1em 0em 0em;\n  margin: 0em 1em 0em 0em;\n}\n.ui.close.right.rail {\n  padding: 0em 0em 0em 1em;\n  margin: 0em 0em 0em 1em;\n}\n.ui.very.close.rail {\n  width: 300.5px;\n}\n.ui.very.close.left.rail {\n  padding: 0em 0.5em 0em 0em;\n  margin: 0em 0.5em 0em 0em;\n}\n.ui.very.close.right.rail {\n  padding: 0em 0em 0em 0.5em;\n  margin: 0em 0em 0em 0.5em;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.left.rail,\n.ui.attached.right.rail {\n  padding: 0em;\n  margin: 0em;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.rail {\n  font-size: 1rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/rating.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Rating\n*******************************/\n\n.ui.rating {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  white-space: nowrap;\n  vertical-align: baseline;\n}\n.ui.rating:last-child {\n  margin-right: 0em;\n}\n\n/* Icon */\n.ui.rating .icon {\n  padding: 0em;\n  margin: 0em;\n  text-align: center;\n  font-weight: normal;\n  font-style: normal;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  cursor: pointer;\n  width: 1.25em;\n  height: auto;\n  -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n          transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n      Standard\n--------------------*/\n\n\n/* Inactive Icon */\n.ui.rating .icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n}\n\n/* Active Icon */\n.ui.rating .active.icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Selected Icon */\n.ui.rating .icon.selected,\n.ui.rating .icon.selected.active {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n\n/* Inactive */\n.ui.star.rating .icon {\n  width: 1.25em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none;\n}\n\n/* Active Star */\n.ui.star.rating .active.icon {\n  background: transparent !important;\n  color: #FFE623 !important;\n  text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important;\n}\n\n/* Selected Star */\n.ui.star.rating .icon.selected,\n.ui.star.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FFCC00 !important;\n  text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important;\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n.ui.heart.rating .icon {\n  width: 1.4em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none !important;\n}\n\n/* Active Heart */\n.ui.heart.rating .active.icon {\n  background: transparent !important;\n  color: #FF6D75 !important;\n  text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important;\n}\n\n/* Selected Heart */\n.ui.heart.rating .icon.selected,\n.ui.heart.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FF3000 !important;\n  text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*-------------------\n       Disabled\n--------------------*/\n\n\n/* disabled rating */\n.ui.disabled.rating .icon {\n  cursor: default;\n}\n\n/*-------------------\n   User Interactive\n--------------------*/\n\n\n/* Selected Rating */\n.ui.rating.selected .active.icon {\n  opacity: 1;\n}\n.ui.rating.selected .icon.selected,\n.ui.rating .icon.selected {\n  opacity: 1;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.mini.rating {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.rating {\n  font-size: 0.85714286rem;\n}\n.ui.small.rating {\n  font-size: 0.92857143rem;\n}\n.ui.rating {\n  font-size: 1rem;\n}\n.ui.large.rating {\n  font-size: 1.14285714rem;\n}\n.ui.huge.rating {\n  font-size: 1.42857143rem;\n}\n.ui.massive.rating {\n  font-size: 2rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Rating';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n.ui.rating .icon {\n  font-family: 'Rating';\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n/* Empty Star */\n.ui.rating .icon:before {\n  content: '\\f006';\n}\n\n/* Active Star */\n.ui.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n\n/* Unfilled Star */\n.ui.star.rating .icon:before {\n  content: '\\f005';\n}\n\n/* Active Star */\n.ui.star.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/* Partial */\n.ui.star.rating .partial.icon:before {\n  content: '\\f006';\n}\n.ui.star.rating .partial.icon {\n  content: '\\f005';\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n\n/* Empty Heart\n.ui.heart.rating .icon:before {\n  content: '\\f08a';\n}\n*/\n.ui.heart.rating .icon:before {\n  content: '\\f004';\n}\n/* Active */\n.ui.heart.rating .active.icon:before {\n  content: '\\f004';\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/rating.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.rating = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.rating.settings, parameters)\n          : $.extend({}, $.fn.rating.settings),\n\n        namespace       = settings.namespace,\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        element         = this,\n        instance        = $(this).data(moduleNamespace),\n\n        $module         = $(this),\n        $icon           = $module.find(selector.icon),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing rating module', settings);\n\n          if($icon.length === 0) {\n            module.setup.layout();\n          }\n\n          if(settings.interactive) {\n            module.enable();\n          }\n          else {\n            module.disable();\n          }\n          module.set.rating( module.get.initialRating() );\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Instantiating module', settings);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance', instance);\n          module.remove.events();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $icon   = $module.find(selector.icon);\n        },\n\n        setup: {\n          layout: function() {\n            var\n              maxRating = module.get.maxRating(),\n              html      = $.fn.rating.settings.templates.icon(maxRating)\n            ;\n            module.debug('Generating icon html dynamically');\n            $module\n              .html(html)\n            ;\n            module.refresh();\n          }\n        },\n\n        event: {\n          mouseenter: function() {\n            var\n              $activeIcon = $(this)\n            ;\n            $activeIcon\n              .nextAll()\n                .removeClass(className.selected)\n            ;\n            $module\n              .addClass(className.selected)\n            ;\n            $activeIcon\n              .addClass(className.selected)\n                .prevAll()\n                .addClass(className.selected)\n            ;\n          },\n          mouseleave: function() {\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n            ;\n          },\n          click: function() {\n            var\n              $activeIcon   = $(this),\n              currentRating = module.get.rating(),\n              rating        = $icon.index($activeIcon) + 1,\n              canClear      = (settings.clearable == 'auto')\n               ? ($icon.length === 1)\n               : settings.clearable\n            ;\n            if(canClear && currentRating == rating) {\n              module.clearRating();\n            }\n            else {\n              module.set.rating( rating );\n            }\n          }\n        },\n\n        clearRating: function() {\n          module.debug('Clearing current rating');\n          module.set.rating(0);\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events');\n            $module\n              .on('mouseenter' + eventNamespace, selector.icon, module.event.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.icon, module.event.mouseleave)\n              .on('click'      + eventNamespace, selector.icon, module.event.click)\n            ;\n          }\n        },\n\n        remove: {\n          events: function() {\n            module.verbose('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        enable: function() {\n          module.debug('Setting rating to interactive mode');\n          module.bind.events();\n          $module\n            .removeClass(className.disabled)\n          ;\n        },\n\n        disable: function() {\n          module.debug('Setting rating to read-only mode');\n          module.remove.events();\n          $module\n            .addClass(className.disabled)\n          ;\n        },\n\n        get: {\n          initialRating: function() {\n            if($module.data(metadata.rating) !== undefined) {\n              $module.removeData(metadata.rating);\n              return $module.data(metadata.rating);\n            }\n            return settings.initialRating;\n          },\n          maxRating: function() {\n            if($module.data(metadata.maxRating) !== undefined) {\n              $module.removeData(metadata.maxRating);\n              return $module.data(metadata.maxRating);\n            }\n            return settings.maxRating;\n          },\n          rating: function() {\n            var\n              currentRating = $icon.filter('.' + className.active).length\n            ;\n            module.verbose('Current rating retrieved', currentRating);\n            return currentRating;\n          }\n        },\n\n        set: {\n          rating: function(rating) {\n            var\n              ratingIndex = (rating - 1 >= 0)\n                ? (rating - 1)\n                : 0,\n              $activeIcon = $icon.eq(ratingIndex)\n            ;\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n              .removeClass(className.active)\n            ;\n            if(rating > 0) {\n              module.verbose('Setting current rating to', rating);\n              $activeIcon\n                .prevAll()\n                .andSelf()\n                  .addClass(className.active)\n              ;\n            }\n            settings.onRate.call(element, rating);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.rating.settings = {\n\n  name          : 'Rating',\n  namespace     : 'rating',\n\n  debug         : false,\n  verbose       : false,\n  performance   : true,\n\n  initialRating : 0,\n  interactive   : true,\n  maxRating     : 4,\n  clearable     : 'auto',\n\n  onRate        : function(rating){},\n\n  error         : {\n    method    : 'The method you called is not defined',\n    noMaximum : 'No maximum rating specified. Cannot generate HTML automatically'\n  },\n\n\n  metadata: {\n    rating    : 'rating',\n    maxRating : 'maxRating'\n  },\n\n  className : {\n    active   : 'active',\n    disabled : 'disabled',\n    selected : 'selected',\n    loading  : 'loading'\n  },\n\n  selector  : {\n    icon : '.icon'\n  },\n\n  templates: {\n    icon: function(maxRating) {\n      var\n        icon = 1,\n        html = ''\n      ;\n      while(icon <= maxRating) {\n        html += '<i class=\"icon\"></i>';\n        icon++;\n      }\n      return html;\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/reset.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Reset\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Reset\n*******************************/\n\n\n/* Border-Box */\n*,\n*:before,\n*:after {\n  box-sizing: inherit;\n}\nhtml {\n  box-sizing: border-box;\n}\n\n/* iPad Input Shadows */\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"password\"] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  \n/* mobile firefox too! */\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\nhtml {\n  font-family: sans-serif;\n  \n/* 1 */\n  -ms-text-size-adjust: 100%;\n  \n/* 2 */\n  -webkit-text-size-adjust: 100%;\n  \n/* 2 */\n}\n/**\n * Remove default margin.\n */\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  \n/* 1 */\n  vertical-align: baseline;\n  \n/* 2 */\n}\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n  background: transparent;\n}\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n  font-weight: bold;\n}\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n  font-style: italic;\n}\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n  background: #ff0;\n  color: #000;\n}\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n  font-size: 80%;\n}\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n  border: 0;\n}\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n  margin: 1em 40px;\n}\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n/**\n * Contain overflow in all browsers.\n */\npre {\n  overflow: auto;\n}\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  \n/* 1 */\n  font: inherit;\n  \n/* 2 */\n  margin: 0;\n  \n/* 3 */\n}\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n  overflow: visible;\n}\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n  text-transform: none;\n}\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  \n/* 2 */\n  cursor: pointer;\n  \n/* 3 */\n}\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n  line-height: normal;\n}\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  \n/* 1 */\n  padding: 0;\n  \n/* 2 */\n}\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n *    (include `-moz` to future-proof).\n */\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  \n/* 1 */\n  \n/* 2 */\n  box-sizing: content-box;\n}\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n  border: 0;\n  \n/* 1 */\n  padding: 0;\n  \n/* 2 */\n}\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n  overflow: auto;\n}\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/reveal.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Reveal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Reveal\n*******************************/\n\n.ui.reveal {\n  display: inherit;\n  position: relative !important;\n  font-size: 0em !important;\n}\n.ui.reveal > .visible.content {\n  position: absolute !important;\n  top: 0em !important;\n  left: 0em !important;\n  z-index: 3 !important;\n  -webkit-transition: all 0.5s ease 0.1s;\n          transition: all 0.5s ease 0.1s;\n}\n.ui.reveal > .hidden.content {\n  position: relative !important;\n  z-index: 2 !important;\n}\n\n/* Make sure hovered element is on top of other reveal */\n.ui.active.reveal .visible.content,\n.ui.reveal:hover .visible.content {\n  z-index: 4 !important;\n}\n\n\n/*******************************\n              Types\n*******************************/\n\n\n/*--------------\n      Slide\n---------------*/\n\n.ui.slide.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n.ui.slide.reveal > .content {\n  display: block;\n  width: 100%;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s ease 0.1s;\n          transition: transform 0.5s ease 0.1s;\n}\n.ui.slide.reveal > .visible.content {\n  position: relative !important;\n}\n.ui.slide.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n  -webkit-transform: translateX(100%) !important;\n      -ms-transform: translateX(100%) !important;\n          transform: translateX(100%) !important;\n}\n.ui.slide.active.reveal > .visible.content,\n.ui.slide.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n      -ms-transform: translateX(-100%) !important;\n          transform: translateX(-100%) !important;\n}\n.ui.slide.active.reveal > .hidden.content,\n.ui.slide.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n      -ms-transform: translateX(0%) !important;\n          transform: translateX(0%) !important;\n}\n.ui.slide.right.reveal > .visible.content {\n  -webkit-transform: translateX(0%) !important;\n      -ms-transform: translateX(0%) !important;\n          transform: translateX(0%) !important;\n}\n.ui.slide.right.reveal > .hidden.content {\n  -webkit-transform: translateX(-100%) !important;\n      -ms-transform: translateX(-100%) !important;\n          transform: translateX(-100%) !important;\n}\n.ui.slide.right.active.reveal > .visible.content,\n.ui.slide.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n      -ms-transform: translateX(100%) !important;\n          transform: translateX(100%) !important;\n}\n.ui.slide.right.active.reveal > .hidden.content,\n.ui.slide.right.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n      -ms-transform: translateX(0%) !important;\n          transform: translateX(0%) !important;\n}\n.ui.slide.up.reveal > .hidden.content {\n  -webkit-transform: translateY(100%) !important;\n      -ms-transform: translateY(100%) !important;\n          transform: translateY(100%) !important;\n}\n.ui.slide.up.active.reveal > .visible.content,\n.ui.slide.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n      -ms-transform: translateY(-100%) !important;\n          transform: translateY(-100%) !important;\n}\n.ui.slide.up.active.reveal > .hidden.content,\n.ui.slide.up.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n      -ms-transform: translateY(0%) !important;\n          transform: translateY(0%) !important;\n}\n.ui.slide.down.reveal > .hidden.content {\n  -webkit-transform: translateY(-100%) !important;\n      -ms-transform: translateY(-100%) !important;\n          transform: translateY(-100%) !important;\n}\n.ui.slide.down.active.reveal > .visible.content,\n.ui.slide.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n      -ms-transform: translateY(100%) !important;\n          transform: translateY(100%) !important;\n}\n.ui.slide.down.active.reveal > .hidden.content,\n.ui.slide.down.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n      -ms-transform: translateY(0%) !important;\n          transform: translateY(0%) !important;\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.ui.fade.reveal > .visible.content {\n  opacity: 1;\n}\n.ui.fade.active.reveal > .visible.content,\n.ui.fade.reveal:hover > .visible.content {\n  opacity: 0;\n}\n\n/*--------------\n      Move\n---------------*/\n\n.ui.move.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n.ui.move.reveal > .content {\n  display: block;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n          transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n}\n.ui.move.reveal > .visible.content {\n  position: relative !important;\n}\n.ui.move.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n}\n.ui.move.active.reveal > .visible.content,\n.ui.move.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n      -ms-transform: translateX(-100%) !important;\n          transform: translateX(-100%) !important;\n}\n.ui.move.right.active.reveal > .visible.content,\n.ui.move.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n      -ms-transform: translateX(100%) !important;\n          transform: translateX(100%) !important;\n}\n.ui.move.up.active.reveal > .visible.content,\n.ui.move.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n      -ms-transform: translateY(-100%) !important;\n          transform: translateY(-100%) !important;\n}\n.ui.move.down.active.reveal > .visible.content,\n.ui.move.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n      -ms-transform: translateY(100%) !important;\n          transform: translateY(100%) !important;\n}\n\n/*--------------\n     Rotate\n---------------*/\n\n.ui.rotate.reveal > .visible.content {\n  -webkit-transition-duration: 0.5s;\n          transition-duration: 0.5s;\n  -webkit-transform: rotate(0deg);\n      -ms-transform: rotate(0deg);\n          transform: rotate(0deg);\n}\n.ui.rotate.reveal > .visible.content,\n.ui.rotate.right.reveal > .visible.content {\n  -webkit-transform-origin: bottom right;\n      -ms-transform-origin: bottom right;\n          transform-origin: bottom right;\n}\n.ui.rotate.active.reveal > .visible.conten,\n.ui.rotate.reveal:hover > .visible.content,\n.ui.rotate.right.active.reveal > .visible.content,\n.ui.rotate.right.reveal:hover > .visible.content {\n  -webkit-transform: rotate(110deg);\n      -ms-transform: rotate(110deg);\n          transform: rotate(110deg);\n}\n.ui.rotate.left.reveal > .visible.content {\n  -webkit-transform-origin: bottom left;\n      -ms-transform-origin: bottom left;\n          transform-origin: bottom left;\n}\n.ui.rotate.left.active.reveal > .visible.content,\n.ui.rotate.left.reveal:hover > .visible.content {\n  -webkit-transform: rotate(-110deg);\n      -ms-transform: rotate(-110deg);\n          transform: rotate(-110deg);\n}\n\n\n/*******************************\n              States\n*******************************/\n\n.ui.disabled.reveal:hover > .visible.visible.content {\n  position: static !important;\n  display: block !important;\n  opacity: 1 !important;\n  top: 0 !important;\n  left: 0 !important;\n  right: auto !important;\n  bottom: auto !important;\n  -webkit-transform: none !important;\n      -ms-transform: none !important;\n          transform: none !important;\n}\n.ui.disabled.reveal:hover > .hidden.hidden.content {\n  display: none !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.reveal {\n  overflow: visible;\n}\n\n/*--------------\n     Instant\n---------------*/\n\n.ui.instant.reveal > .content {\n  -webkit-transition-delay: 0s !important;\n          transition-delay: 0s !important;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.reveal > .content {\n  font-size: 1rem !important;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/search.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Search\n*******************************/\n\n.ui.search {\n  position: relative;\n}\n.ui.search > .prompt {\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-shadow: none;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n          transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n}\n.ui.search .prompt {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.search .prompt ~ .search.icon {\n  cursor: pointer;\n}\n\n/*--------------\n    Results\n---------------*/\n\n.ui.search > .results {\n  display: none;\n  position: absolute;\n  top: 100%;\n  left: 0%;\n  -webkit-transform-origin: center top;\n      -ms-transform-origin: center top;\n          transform-origin: center top;\n  background: #FFFFFF;\n  margin-top: 0.5em;\n  width: 18em;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n  border: 1px solid #D4D4D5;\n  z-index: 998;\n}\n.ui.search > .results > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.search > .results > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/*--------------\n    Result\n---------------*/\n\n.ui.search > .results .result {\n  cursor: pointer;\n  display: block;\n  overflow: hidden;\n  font-size: 1em;\n  padding: 0.85714286em 1.14285714em;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.33;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n}\n.ui.search > .results .result:last-child {\n  border-bottom: none !important;\n}\n\n/* Image */\n.ui.search > .results .result .image {\n  float: right;\n  overflow: hidden;\n  background: none;\n  width: 5em;\n  height: 3em;\n  border-radius: 0.25em;\n}\n.ui.search > .results .result .image img {\n  display: block;\n  width: auto;\n  height: 100%;\n}\n\n/*--------------\n      Info\n---------------*/\n\n.ui.search > .results .result .image + .content {\n  margin: 0em 6em 0em 0em;\n}\n.ui.search > .results .result .title {\n  margin: -0.14285em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.search > .results .result .description {\n  margin-top: 0;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.search > .results .result .price {\n  float: right;\n  color: #21BA45;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.search > .results > .message {\n  padding: 1em 1em;\n}\n.ui.search > .results > .message .header {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1rem;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.search > .results > .message .description {\n  margin-top: 0.25rem;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* View All Results */\n.ui.search > .results > .action {\n  display: block;\n  border-top: none;\n  background: #F3F4F5;\n  padding: 0.92857143em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-align: center;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n       Focus\n---------------------*/\n\n.ui.search > .prompt:focus {\n  border-color: rgba(34, 36, 38, 0.35);\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.search .input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.loading.search .input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.search > .results .result:hover,\n.ui.category.search > .results .category .result:hover {\n  background: #F9FAFB;\n}\n.ui.search .action:hover {\n  background: #E0E0E0;\n}\n\n/*--------------\n      Active\n---------------*/\n\n.ui.category.search > .results .category.active {\n  background: #F3F4F5;\n}\n.ui.category.search > .results .category.active > .name {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.search > .results .result.active,\n.ui.category.search > .results .category .result.active {\n  position: relative;\n  border-left-color: rgba(34, 36, 38, 0.1);\n  background: #F3F4F5;\n  box-shadow: none;\n}\n.ui.search > .results .result.active .title {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.search > .results .result.active .description {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n\n/*******************************\n           Types\n*******************************/\n\n\n/*--------------\n    Categories\n---------------*/\n\n.ui.category.search .results {\n  width: 28em;\n}\n\n/* Category */\n.ui.category.search > .results .category {\n  background: #F3F4F5;\n  box-shadow: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n          transition: background 0.1s ease, border-color 0.1s ease;\n}\n\n/* Last Category */\n.ui.category.search > .results .category:last-child {\n  border-bottom: none;\n}\n\n/* First / Last */\n.ui.category.search > .results .category:first-child .name + .result {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Category Result */\n.ui.category.search > .results .category .result {\n  background: #FFFFFF;\n  margin-left: 100px;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n          transition: background 0.1s ease, border-color 0.1s ease;\n  padding: 0.85714286em 1.14285714em;\n}\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-bottom: none;\n}\n\n/* Category Result Name */\n.ui.category.search > .results .category > .name {\n  width: 100px;\n  background: transparent;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  float: 1em;\n  float: left;\n  padding: 0.4em 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n     Left / Right\n--------------------*/\n\n.ui[class*=\"left aligned\"].search > .results {\n  right: auto;\n  left: 0%;\n}\n.ui[class*=\"right aligned\"].search > .results {\n  right: 0%;\n  left: auto;\n}\n\n/*--------------\n    Fluid\n---------------*/\n\n.ui.fluid.search .results {\n  width: 100%;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n.ui.mini.search {\n  font-size: 0.71428571em;\n}\n.ui.small.search {\n  font-size: 0.92857143em;\n}\n.ui.search {\n  font-size: 1em;\n}\n.ui.large.search {\n  font-size: 1.14285714em;\n}\n.ui.big.search {\n  font-size: 1.28571429em;\n}\n.ui.huge.search {\n  font-size: 1.42857143em;\n}\n.ui.massive.search {\n  font-size: 1.71428571em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/search.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.search = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $(this)\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.search.settings, parameters)\n          : $.extend({}, $.fn.search.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        regExp          = settings.regExp,\n        fields          = settings.fields,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n        $prompt         = $module.find(selector.prompt),\n        $searchButton   = $module.find(selector.searchButton),\n        $results        = $module.find(selector.results),\n        $result         = $module.find(selector.result),\n        $category       = $module.find(selector.category),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n          module.determine.searchFields();\n          module.bind.events();\n          module.set.type();\n          module.create.results();\n          module.instantiate();\n        },\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events to search');\n            if(settings.automatic) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input)\n              ;\n              $prompt\n                .attr('autocomplete', 'off')\n              ;\n            }\n            $module\n              // prompt\n              .on('focus'     + eventNamespace, selector.prompt, module.event.focus)\n              .on('blur'      + eventNamespace, selector.prompt, module.event.blur)\n              .on('keydown'   + eventNamespace, selector.prompt, module.handleKeyboard)\n              // search button\n              .on('click'     + eventNamespace, selector.searchButton, module.query)\n              // results\n              .on('mousedown' + eventNamespace, selector.results, module.event.result.mousedown)\n              .on('mouseup'   + eventNamespace, selector.results, module.event.result.mouseup)\n              .on('click'     + eventNamespace, selector.result,  module.event.result.click)\n            ;\n          }\n        },\n\n        determine: {\n          searchFields: function() {\n            // this makes sure $.extend does not add specified search fields to default fields\n            // this is the only setting which should not extend defaults\n            if(parameters && parameters.searchFields !== undefined) {\n              settings.searchFields = parameters.searchFields;\n            }\n          }\n        },\n\n        event: {\n          input: function() {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.query, settings.searchDelay);\n          },\n          focus: function() {\n            module.set.focus();\n            if( module.has.minimumCharacters() ) {\n              module.query();\n              if( module.can.show() ) {\n                module.showResults();\n              }\n            }\n          },\n          blur: function(event) {\n            var\n              pageLostFocus = (document.activeElement === this)\n            ;\n            if(!pageLostFocus && !module.resultsClicked) {\n              module.cancel.query();\n              module.remove.focus();\n              module.timer = setTimeout(module.hideResults, settings.hideDelay);\n            }\n          },\n          result: {\n            mousedown: function() {\n              module.resultsClicked = true;\n            },\n            mouseup: function() {\n              module.resultsClicked = false;\n            },\n            click: function(event) {\n              module.debug('Search result selected');\n              var\n                $result = $(this),\n                $title  = $result.find(selector.title).eq(0),\n                $link   = $result.find('a[href]').eq(0),\n                href    = $link.attr('href')   || false,\n                target  = $link.attr('target') || false,\n                title   = $title.html(),\n                // title is used for result lookup\n                value   = ($title.length > 0)\n                  ? $title.text()\n                  : false,\n                results = module.get.results(),\n                result  = $result.data(metadata.result) || module.get.result(value, results),\n                returnedValue\n              ;\n              if( $.isFunction(settings.onSelect) ) {\n                if(settings.onSelect.call(element, result, results) === false) {\n                  module.debug('Custom onSelect callback cancelled default select action');\n                  return;\n                }\n              }\n              module.hideResults();\n              if(value) {\n                module.set.value(value);\n              }\n              if(href) {\n                module.verbose('Opening search link found in result', $link);\n                if(target == '_blank' || event.ctrlKey) {\n                  window.open(href);\n                }\n                else {\n                  window.location.href = (href);\n                }\n              }\n            }\n          }\n        },\n        handleKeyboard: function(event) {\n          var\n            // force selector refresh\n            $result      = $module.find(selector.result),\n            $category    = $module.find(selector.category),\n            currentIndex = $result.index( $result.filter('.' + className.active) ),\n            resultSize   = $result.length,\n\n            keyCode      = event.which,\n            keys         = {\n              backspace : 8,\n              enter     : 13,\n              escape    : 27,\n              upArrow   : 38,\n              downArrow : 40\n            },\n            newIndex\n          ;\n          // search shortcuts\n          if(keyCode == keys.escape) {\n            module.verbose('Escape key pressed, blurring search field');\n            module.trigger.blur();\n          }\n          if( module.is.visible() ) {\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, selecting active result');\n              if( $result.filter('.' + className.active).length > 0 ) {\n                module.event.result.click.call($result.filter('.' + className.active), event);\n                event.preventDefault();\n                return false;\n              }\n            }\n            else if(keyCode == keys.upArrow) {\n              module.verbose('Up key pressed, changing active result');\n              newIndex = (currentIndex - 1 < 0)\n                ? currentIndex\n                : currentIndex - 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n            else if(keyCode == keys.downArrow) {\n              module.verbose('Down key pressed, changing active result');\n              newIndex = (currentIndex + 1 >= resultSize)\n                ? currentIndex\n                : currentIndex + 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n          }\n          else {\n            // query shortcuts\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, executing query');\n              module.query();\n              module.set.buttonPressed();\n              $prompt.one('keyup', module.remove.buttonFocus);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug     : settings.debug,\n                on        : false,\n                cache     : 'local',\n                action    : 'search',\n                onError   : module.error\n              },\n              searchHTML\n            ;\n            module.verbose('First request, initializing API');\n            $module.api(apiSettings);\n          }\n        },\n\n        can: {\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          },\n          show: function() {\n            return module.is.focused() && !module.is.visible() && !module.is.empty();\n          },\n          transition: function() {\n            return settings.transition && $.fn.transition !== undefined && $module.transition('is supported');\n          }\n        },\n\n        is: {\n          empty: function() {\n            return ($results.html() === '');\n          },\n          visible: function() {\n            return ($results.filter(':visible').length > 0);\n          },\n          focused: function() {\n            return ($prompt.filter(':focus').length > 0);\n          }\n        },\n\n        trigger: {\n          blur: function() {\n            var\n              events        = document.createEvent('HTMLEvents'),\n              promptElement = $prompt[0]\n            ;\n            if(promptElement) {\n              module.verbose('Triggering native blur event');\n              events.initEvent('blur', false, false);\n              promptElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        get: {\n          inputEvent: function() {\n            var\n              prompt = $prompt[0],\n              inputEvent   = (prompt !== undefined && prompt.oninput !== undefined)\n                ? 'input'\n                : (prompt !== undefined && prompt.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n            ;\n            return inputEvent;\n          },\n          value: function() {\n            return $prompt.val();\n          },\n          results: function() {\n            var\n              results = $module.data(metadata.results)\n            ;\n            return results;\n          },\n          result: function(value, results) {\n            var\n              lookupFields = ['title', 'id'],\n              result       = false\n            ;\n            value = (value !== undefined)\n              ? value\n              : module.get.value()\n            ;\n            results = (results !== undefined)\n              ? results\n              : module.get.results()\n            ;\n            if(settings.type === 'category') {\n              module.debug('Finding result that matches', value);\n              $.each(results, function(index, category) {\n                if($.isArray(category.results)) {\n                  result = module.search.object(value, category.results, lookupFields)[0];\n                  // don't continue searching if a result is found\n                  if(result) {\n                    return false;\n                  }\n                }\n              });\n            }\n            else {\n              module.debug('Finding result in results object', value);\n              result = module.search.object(value, results, lookupFields)[0];\n            }\n            return result || false;\n          },\n        },\n\n        set: {\n          focus: function() {\n            $module.addClass(className.focus);\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          value: function(value) {\n            module.verbose('Setting search input value', value);\n            $prompt\n              .val(value)\n            ;\n          },\n          type: function(type) {\n            type = type || settings.type;\n            if(settings.type == 'category') {\n              $module.addClass(settings.type);\n            }\n          },\n          buttonPressed: function() {\n            $searchButton.addClass(className.pressed);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          focus: function() {\n            $module.removeClass(className.focus);\n          },\n          buttonPressed: function() {\n            $searchButton.removeClass(className.pressed);\n          }\n        },\n\n        query: function() {\n          var\n            searchTerm = module.get.value(),\n            cache = module.read.cache(searchTerm)\n          ;\n          if( module.has.minimumCharacters() )  {\n            if(cache) {\n              module.debug('Reading result from cache', searchTerm);\n              module.save.results(cache.results);\n              module.addResults(cache.html);\n              module.inject.id(cache.results);\n            }\n            else {\n              module.debug('Querying for', searchTerm);\n              if($.isPlainObject(settings.source) || $.isArray(settings.source)) {\n                module.search.local(searchTerm);\n              }\n              else if( module.can.useAPI() ) {\n                module.search.remote(searchTerm);\n              }\n              else {\n                module.error(error.source);\n              }\n            }\n            settings.onSearchQuery.call(element, searchTerm);\n          }\n          else {\n            module.hideResults();\n          }\n        },\n\n        search: {\n          local: function(searchTerm) {\n            var\n              results = module.search.object(searchTerm, settings.content),\n              searchHTML\n            ;\n            module.set.loading();\n            module.save.results(results);\n            module.debug('Returned local search results', results);\n\n            searchHTML = module.generateResults({\n              results: results\n            });\n            module.remove.loading();\n            module.addResults(searchHTML);\n            module.inject.id(results);\n            module.write.cache(searchTerm, {\n              html    : searchHTML,\n              results : results\n            });\n          },\n          remote: function(searchTerm) {\n            var\n              apiSettings = {\n                onSuccess : function(response) {\n                  module.parse.response.call(element, response, searchTerm);\n                },\n                onFailure: function() {\n                  module.displayMessage(error.serverError);\n                },\n                urlData: {\n                  query: searchTerm\n                }\n              }\n            ;\n            if( !$module.api('get request') ) {\n              module.setup.api();\n            }\n            $.extend(true, apiSettings, settings.apiSettings);\n            module.debug('Executing search', apiSettings);\n            module.cancel.query();\n            $module\n              .api('setting', apiSettings)\n              .api('query')\n            ;\n          },\n          object: function(searchTerm, source, searchFields) {\n            var\n              results      = [],\n              fuzzyResults = [],\n              searchExp    = searchTerm.toString().replace(regExp.escape, '\\\\$&'),\n              matchRegExp  = new RegExp(regExp.beginsWith + searchExp, 'i'),\n\n              // avoid duplicates when pushing results\n              addResult = function(array, result) {\n                var\n                  notResult      = ($.inArray(result, results) == -1),\n                  notFuzzyResult = ($.inArray(result, fuzzyResults) == -1)\n                ;\n                if(notResult && notFuzzyResult) {\n                  array.push(result);\n                }\n              }\n            ;\n            source = source || settings.source;\n            searchFields = (searchFields !== undefined)\n              ? searchFields\n              : settings.searchFields\n            ;\n\n            // search fields should be array to loop correctly\n            if(!$.isArray(searchFields)) {\n              searchFields = [searchFields];\n            }\n\n            // exit conditions if no source\n            if(source === undefined || source === false) {\n              module.error(error.source);\n              return [];\n            }\n\n            // iterate through search fields looking for matches\n            $.each(searchFields, function(index, field) {\n              $.each(source, function(label, content) {\n                var\n                  fieldExists = (typeof content[field] == 'string')\n                ;\n                if(fieldExists) {\n                  if( content[field].search(matchRegExp) !== -1) {\n                    // content starts with value (first in results)\n                    addResult(results, content);\n                  }\n                  else if(settings.searchFullText && module.fuzzySearch(searchTerm, content[field]) ) {\n                    // content fuzzy matches (last in results)\n                    addResult(fuzzyResults, content);\n                  }\n                }\n              });\n            });\n            return $.merge(results, fuzzyResults);\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          if(typeof query !== 'string') {\n            return false;\n          }\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        parse: {\n          response: function(response, searchTerm) {\n            var\n              searchHTML = module.generateResults(response)\n            ;\n            module.verbose('Parsing server response', response);\n            if(response !== undefined) {\n              if(searchTerm !== undefined && response[fields.results] !== undefined) {\n                module.addResults(searchHTML);\n                module.inject.id(response[fields.results]);\n                module.write.cache(searchTerm, {\n                  html    : searchHTML,\n                  results : response[fields.results]\n                });\n                module.save.results(response[fields.results]);\n              }\n            }\n          }\n        },\n\n        cancel: {\n          query: function() {\n            if( module.can.useAPI() ) {\n              $module.api('abort');\n            }\n          }\n        },\n\n        has: {\n          minimumCharacters: function() {\n            var\n              searchTerm    = module.get.value(),\n              numCharacters = searchTerm.length\n            ;\n            return (numCharacters >= settings.minCharacters);\n          }\n        },\n\n        clear: {\n          cache: function(value) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(!value) {\n              module.debug('Clearing cache', value);\n              $module.removeData(metadata.cache);\n            }\n            else if(value && cache && cache[value]) {\n              module.debug('Removing value from cache', value);\n              delete cache[value];\n              $module.data(metadata.cache, cache);\n            }\n          }\n        },\n\n        read: {\n          cache: function(name) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(settings.cache) {\n              module.verbose('Checking cache for generated html for query', name);\n              return (typeof cache == 'object') && (cache[name] !== undefined)\n                ? cache[name]\n                : false\n              ;\n            }\n            return false;\n          }\n        },\n\n        create: {\n          id: function(resultIndex, categoryIndex) {\n            var\n              resultID      = (resultIndex + 1), // not zero indexed\n              categoryID    = (categoryIndex + 1),\n              firstCharCode,\n              letterID,\n              id\n            ;\n            if(categoryIndex !== undefined) {\n              // start char code for \"A\"\n              letterID = String.fromCharCode(97 + categoryIndex);\n              id          = letterID + resultID;\n              module.verbose('Creating category result id', id);\n            }\n            else {\n              id = resultID;\n              module.verbose('Creating result id', id);\n            }\n            return id;\n          },\n          results: function() {\n            if($results.length === 0) {\n              $results = $('<div />')\n                .addClass(className.results)\n                .appendTo($module)\n              ;\n            }\n          }\n        },\n\n        inject: {\n          result: function(result, resultIndex, categoryIndex) {\n            module.verbose('Injecting result into results');\n            var\n              $selectedResult = (categoryIndex !== undefined)\n                ? $results\n                    .children().eq(categoryIndex)\n                      .children(selector.result).eq(resultIndex)\n                : $results\n                    .children(selector.result).eq(resultIndex)\n            ;\n            module.verbose('Injecting results metadata', $selectedResult);\n            $selectedResult\n              .data(metadata.result, result)\n            ;\n          },\n          id: function(results) {\n            module.debug('Injecting unique ids into results');\n            var\n              // since results may be object, we must use counters\n              categoryIndex = 0,\n              resultIndex   = 0\n            ;\n            if(settings.type === 'category') {\n              // iterate through each category result\n              $.each(results, function(index, category) {\n                resultIndex = 0;\n                $.each(category.results, function(index, value) {\n                  var\n                    result = category.results[index]\n                  ;\n                  if(result.id === undefined) {\n                    result.id = module.create.id(resultIndex, categoryIndex);\n                  }\n                  module.inject.result(result, resultIndex, categoryIndex);\n                  resultIndex++;\n                });\n                categoryIndex++;\n              });\n            }\n            else {\n              // top level\n              $.each(results, function(index, value) {\n                var\n                  result = results[index]\n                ;\n                if(result.id === undefined) {\n                  result.id = module.create.id(resultIndex);\n                }\n                module.inject.result(result, resultIndex);\n                resultIndex++;\n              });\n            }\n            return results;\n          }\n        },\n\n        save: {\n          results: function(results) {\n            module.verbose('Saving current search results to metadata', results);\n            $module.data(metadata.results, results);\n          }\n        },\n\n        write: {\n          cache: function(name, value) {\n            var\n              cache = ($module.data(metadata.cache) !== undefined)\n                ? $module.data(metadata.cache)\n                : {}\n            ;\n            if(settings.cache) {\n              module.verbose('Writing generated html to cache', name, value);\n              cache[name] = value;\n              $module\n                .data(metadata.cache, cache)\n              ;\n            }\n          }\n        },\n\n        addResults: function(html) {\n          if( $.isFunction(settings.onResultsAdd) ) {\n            if( settings.onResultsAdd.call($results, html) === false ) {\n              module.debug('onResultsAdd callback cancelled default action');\n              return false;\n            }\n          }\n          $results\n            .html(html)\n          ;\n          if( module.can.show() ) {\n            module.showResults();\n          }\n        },\n\n        showResults: function() {\n          if(!module.is.visible()) {\n            if( module.can.transition() ) {\n              module.debug('Showing results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' in',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Showing results with javascript');\n              $results\n                .stop()\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsOpen.call($results);\n          }\n        },\n        hideResults: function() {\n          if( module.is.visible() ) {\n            if( module.can.transition() ) {\n              module.debug('Hiding results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' out',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Hiding results with javascript');\n              $results\n                .stop()\n                .fadeOut(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsClose.call($results);\n          }\n        },\n\n        generateResults: function(response) {\n          module.debug('Generating html from response', response);\n          var\n            template       = settings.templates[settings.type],\n            isProperObject = ($.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results])),\n            isProperArray  = ($.isArray(response[fields.results]) && response[fields.results].length > 0),\n            html           = ''\n          ;\n          if(isProperObject || isProperArray ) {\n            if(settings.maxResults > 0) {\n              if(isProperObject) {\n                if(settings.type == 'standard') {\n                  module.error(error.maxResults);\n                }\n              }\n              else {\n                response[fields.results] = response[fields.results].slice(0, settings.maxResults);\n              }\n            }\n            if($.isFunction(template)) {\n              html = template(response, fields);\n            }\n            else {\n              module.error(error.noTemplate, false);\n            }\n          }\n          else {\n            html = module.displayMessage(error.noResults, 'empty');\n          }\n          settings.onResults.call(element, response);\n          return html;\n        },\n\n        displayMessage: function(text, type) {\n          type = type || 'standard';\n          module.debug('Displaying message', text, type);\n          module.addResults( settings.templates.message(text, type) );\n          return settings.templates.message(text, type);\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.search.settings = {\n\n  name           : 'Search',\n  namespace      : 'search',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  type           : 'standard',\n  // template to use (specified in settings.templates)\n\n  minCharacters  : 1,\n  // minimum characters required to search\n\n  apiSettings    : false,\n  // API config\n\n  source         : false,\n  // object to search\n\n  searchFields   : [\n    'title',\n    'description'\n  ],\n  // fields to search\n\n  displayField   : '',\n  // field to display in standard results template\n\n  searchFullText : true,\n  // whether to include fuzzy results in local search\n\n  automatic      : true,\n  // whether to add events to prompt automatically\n\n  hideDelay      : 0,\n  // delay before hiding menu after blur\n\n  searchDelay    : 200,\n  // delay before searching\n\n  maxResults     : 7,\n  // maximum results returned from local\n\n  cache          : true,\n  // whether to store lookups in local cache\n\n  // transition settings\n  transition     : 'scale',\n  duration       : 200,\n  easing         : 'easeOutExpo',\n\n  // callbacks\n  onSelect       : false,\n  onResultsAdd   : false,\n\n  onSearchQuery  : function(query){},\n  onResults      : function(response){},\n\n  onResultsOpen  : function(){},\n  onResultsClose : function(){},\n\n  className: {\n    active  : 'active',\n    empty   : 'empty',\n    focus   : 'focus',\n    loading : 'loading',\n    results : 'results',\n    pressed : 'down'\n  },\n\n  error : {\n    source      : 'Cannot search. No source used, and Semantic API module was not included',\n    noResults   : 'Your search returned no results',\n    logging     : 'Error in debug logging, exiting.',\n    noEndpoint  : 'No search endpoint was specified',\n    noTemplate  : 'A valid template name was not specified.',\n    serverError : 'There was an issue querying the server.',\n    maxResults  : 'Results must be an array to use maxResults setting',\n    method      : 'The method you called is not defined.'\n  },\n\n  metadata: {\n    cache   : 'cache',\n    results : 'results',\n    result  : 'result'\n  },\n\n  regExp: {\n    escape     : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    beginsWith : '(?:\\s|^)'\n  },\n\n  // maps api response attributes to internal representation\n  fields: {\n    categories      : 'results',     // array of categories (category view)\n    categoryName    : 'name',        // name of category (category view)\n    categoryResults : 'results',     // array of results (category view)\n    description     : 'description', // result description\n    image           : 'image',       // result image\n    price           : 'price',       // result price\n    results         : 'results',     // array of results (standard)\n    title           : 'title',       // result title\n    url             : 'url',         // result url\n    action          : 'action',      // \"view more\" object name\n    actionText      : 'text',        // \"view more\" text\n    actionURL       : 'url'          // \"view more\" url\n  },\n\n  selector : {\n    prompt       : '.prompt',\n    searchButton : '.search.button',\n    results      : '.results',\n    category     : '.category',\n    result       : '.result',\n    title        : '.title, .name'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    message: function(message, type) {\n      var\n        html = ''\n      ;\n      if(message !== undefined && type !== undefined) {\n        html +=  ''\n          + '<div class=\"message ' + type + '\">'\n        ;\n        // message type\n        if(type == 'empty') {\n          html += ''\n            + '<div class=\"header\">No Results</div class=\"header\">'\n            + '<div class=\"description\">' + message + '</div class=\"description\">'\n          ;\n        }\n        else {\n          html += ' <div class=\"description\">' + message + '</div>';\n        }\n        html += '</div>';\n      }\n      return html;\n    },\n    category: function(response, fields) {\n      var\n        html = '',\n        escape = $.fn.search.settings.templates.escape\n      ;\n      if(response[fields.categoryResults] !== undefined) {\n\n        // each category\n        $.each(response[fields.categoryResults], function(index, category) {\n          if(category[fields.results] !== undefined && category.results.length > 0) {\n\n            html  += '<div class=\"category\">';\n\n            if(category[fields.categoryName] !== undefined) {\n              html += '<div class=\"name\">' + category[fields.categoryName] + '</div>';\n            }\n\n            // each item inside category\n            $.each(category.results, function(index, result) {\n              if(result[fields.url]) {\n                html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n              }\n              else {\n                html  += '<a class=\"result\">';\n              }\n              if(result[fields.image] !== undefined) {\n                html += ''\n                  + '<div class=\"image\">'\n                  + ' <img src=\"' + result[fields.image] + '\">'\n                  + '</div>'\n                ;\n              }\n              html += '<div class=\"content\">';\n              if(result[fields.price] !== undefined) {\n                html += '<div class=\"price\">' + result[fields.price] + '</div>';\n              }\n              if(result[fields.title] !== undefined) {\n                html += '<div class=\"title\">' + result[fields.title] + '</div>';\n              }\n              if(result[fields.description] !== undefined) {\n                html += '<div class=\"description\">' + result[fields.description] + '</div>';\n              }\n              html  += ''\n                + '</div>'\n              ;\n              html += '</a>';\n            });\n            html  += ''\n              + '</div>'\n            ;\n          }\n        });\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    },\n    standard: function(response, fields) {\n      var\n        html = ''\n      ;\n      if(response[fields.results] !== undefined) {\n\n        // each result\n        $.each(response[fields.results], function(index, result) {\n          if(result[fields.url]) {\n            html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n          }\n          else {\n            html  += '<a class=\"result\">';\n          }\n          if(result[fields.image] !== undefined) {\n            html += ''\n              + '<div class=\"image\">'\n              + ' <img src=\"' + result[fields.image] + '\">'\n              + '</div>'\n            ;\n          }\n          html += '<div class=\"content\">';\n          if(result[fields.price] !== undefined) {\n            html += '<div class=\"price\">' + result[fields.price] + '</div>';\n          }\n          if(result[fields.title] !== undefined) {\n            html += '<div class=\"title\">' + result[fields.title] + '</div>';\n          }\n          if(result[fields.description] !== undefined) {\n            html += '<div class=\"description\">' + result[fields.description] + '</div>';\n          }\n          html  += ''\n            + '</div>'\n          ;\n          html += '</a>';\n        });\n\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    }\n  }\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/segment.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Segment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Segment\n*******************************/\n\n.ui.segment {\n  position: relative;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  padding: 1em 1em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.segment:first-child {\n  margin-top: 0em;\n}\n.ui.segment:last-child {\n  margin-bottom: 0em;\n}\n\n/* Vertical */\n.ui.vertical.segment {\n  margin: 0em;\n  padding-left: 0em;\n  padding-right: 0em;\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.vertical.segment:last-child {\n  border-bottom: none;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n\n/* Header */\n.ui.inverted.segment > .ui.header {\n  color: #FFFFFF;\n}\n\n/* Label */\n.ui[class*=\"bottom attached\"].segment > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n.ui[class*=\"top attached\"].segment > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n/* Grid */\n.ui.page.grid.segment,\n.ui.grid > .row > .ui.segment.column,\n.ui.grid > .ui.segment.column {\n  padding-top: 2em;\n  padding-bottom: 2em;\n}\n.ui.grid.segment {\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n}\n\n/* Table */\n.ui.basic.table.segment {\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n.ui[class*=\"very basic\"].table.segment {\n  padding: 1em 1em;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n        Piled\n--------------------*/\n\n.ui.piled.segments,\n.ui.piled.segment {\n  margin: 3em 0em;\n  box-shadow: '';\n  z-index: auto;\n}\n.ui.piled.segment:first-child {\n  margin-top: 0em;\n}\n.ui.piled.segment:last-child {\n  margin-bottom: 0em;\n}\n.ui.piled.segments:after,\n.ui.piled.segments:before,\n.ui.piled.segment:after,\n.ui.piled.segment:before {\n  background-color: #FFFFFF;\n  visibility: visible;\n  content: '';\n  display: block;\n  height: 100%;\n  left: 0px;\n  position: absolute;\n  width: 100%;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: '';\n}\n.ui.piled.segments:before,\n.ui.piled.segment:before {\n  -webkit-transform: rotate(-1.2deg);\n      -ms-transform: rotate(-1.2deg);\n          transform: rotate(-1.2deg);\n  top: 0;\n  z-index: -2;\n}\n.ui.piled.segments:after,\n.ui.piled.segment:after {\n  -webkit-transform: rotate(1.2deg);\n      -ms-transform: rotate(1.2deg);\n          transform: rotate(1.2deg);\n  top: 0;\n  z-index: -1;\n}\n\n/* Piled Attached */\n.ui[class*=\"top attached\"].piled.segment {\n  margin-top: 3em;\n  margin-bottom: 0em;\n}\n.ui.piled.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n.ui.piled.segment[class*=\"bottom attached\"] {\n  margin-top: 0em;\n  margin-bottom: 3em;\n}\n.ui.piled.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n       Stacked\n--------------------*/\n\n.ui.stacked.segment {\n  padding-bottom: 1.4em;\n}\n.ui.stacked.segments:before,\n.ui.stacked.segments:after,\n.ui.stacked.segment:before,\n.ui.stacked.segment:after {\n  content: '';\n  position: absolute;\n  bottom: -3px;\n  left: 0%;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: rgba(0, 0, 0, 0.03);\n  width: 100%;\n  height: 6px;\n  visibility: visible;\n}\n.ui.stacked.segments:before,\n.ui.stacked.segment:before {\n  display: none;\n}\n\n/* Add additional page */\n.ui.tall.stacked.segments:before,\n.ui.tall.stacked.segment:before {\n  display: block;\n  bottom: 0px;\n}\n\n/* Inverted */\n.ui.stacked.inverted.segments:before,\n.ui.stacked.inverted.segments:after,\n.ui.stacked.inverted.segment:before,\n.ui.stacked.inverted.segment:after {\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(34, 36, 38, 0.35);\n}\n\n/*-------------------\n       Padded\n--------------------*/\n\n.ui.padded.segment {\n  padding: 1.5em;\n}\n.ui[class*=\"very padded\"].segment {\n  padding: 3em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.segment {\n  display: table;\n}\n\n/* Compact Group */\n.ui.compact.segments {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n.ui.compact.segments .segment,\n.ui.segments .compact.segment {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.segment {\n  display: table-cell;\n  padding: 2em;\n  text-align: center;\n  vertical-align: middle;\n  border-radius: 500em;\n}\n\n/*-------------------\n       Raised\n--------------------*/\n\n.ui.raised.segments,\n.ui.raised.segment {\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n\n/*******************************\n            Groups\n*******************************/\n\n\n/* Group */\n.ui.segments {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  position: relative;\n  margin: 1rem 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n.ui.segments:first-child {\n  margin-top: 0em;\n}\n.ui.segments:last-child {\n  margin-bottom: 0em;\n}\n\n/* Nested Segment */\n.ui.segments > .segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em;\n  width: auto;\n  box-shadow: none;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.segments:not(.horizontal) > .segment:first-child {\n  border-top: none;\n  margin-top: 0em;\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n.ui.segments:not(.horizontal) > .segment:last-child {\n  top: 0px;\n  bottom: 0px;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Nested Group */\n.ui.segments > .ui.segments {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 1rem 1rem;\n}\n.ui.segments > .segments:first-child {\n  border-top: none;\n}\n.ui.segments > .segment + .segments:not(.horizontal) {\n  margin-top: 0em;\n}\n\n/* Horizontal Group */\n.ui.horizontal.segments {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  background-color: transparent;\n  border-radius: 0px;\n  padding: 0em;\n  background-color: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Nested Horizontal Group */\n.ui.segments > .horizontal.segments {\n  margin: 0em;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Horizontal Segment */\n.ui.horizontal.segments > .segment {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  -ms-flex: 1 1 0px;\n  \n/* Solves #2550 MS Flex */\n  margin: 0em;\n  min-width: 0px;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Border Fixes */\n.ui.segments > .horizontal.segments:first-child {\n  border-top: none;\n}\n.ui.horizontal.segments > .segment:first-child {\n  border-left: none;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.segment {\n  opacity: 0.45;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.segment {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n          transition: all 0s linear;\n}\n.ui.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  border-radius: 0.28571429rem;\n  z-index: 100;\n}\n.ui.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: segment-spin 0.6s linear;\n          animation: segment-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n@-webkit-keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Basic\n--------------------*/\n\n.ui.basic.segment {\n  background: none transparent;\n  box-shadow: none;\n  border: none;\n  border-radius: 0px;\n}\n\n/*-------------------\n       Clearing\n--------------------*/\n\n.ui.clearing.segment:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\n.ui.red.segment:not(.inverted) {\n  border-top: 2px solid #DB2828;\n}\n.ui.inverted.red.segment {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n.ui.orange.segment:not(.inverted) {\n  border-top: 2px solid #F2711C;\n}\n.ui.inverted.orange.segment {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n.ui.yellow.segment:not(.inverted) {\n  border-top: 2px solid #FBBD08;\n}\n.ui.inverted.yellow.segment {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n.ui.olive.segment:not(.inverted) {\n  border-top: 2px solid #B5CC18;\n}\n.ui.inverted.olive.segment {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n.ui.green.segment:not(.inverted) {\n  border-top: 2px solid #21BA45;\n}\n.ui.inverted.green.segment {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n.ui.teal.segment:not(.inverted) {\n  border-top: 2px solid #00B5AD;\n}\n.ui.inverted.teal.segment {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n.ui.blue.segment:not(.inverted) {\n  border-top: 2px solid #2185D0;\n}\n.ui.inverted.blue.segment {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n.ui.violet.segment:not(.inverted) {\n  border-top: 2px solid #6435C9;\n}\n.ui.inverted.violet.segment {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n.ui.purple.segment:not(.inverted) {\n  border-top: 2px solid #A333C8;\n}\n.ui.inverted.purple.segment {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n.ui.pink.segment:not(.inverted) {\n  border-top: 2px solid #E03997;\n}\n.ui.inverted.pink.segment {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n.ui.brown.segment:not(.inverted) {\n  border-top: 2px solid #A5673F;\n}\n.ui.inverted.brown.segment {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n.ui.grey.segment:not(.inverted) {\n  border-top: 2px solid #767676;\n}\n.ui.inverted.grey.segment {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n.ui.black.segment:not(.inverted) {\n  border-top: 2px solid #1B1C1D;\n}\n.ui.inverted.black.segment {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui[class*=\"left aligned\"].segment {\n  text-align: left;\n}\n.ui[class*=\"right aligned\"].segment {\n  text-align: right;\n}\n.ui[class*=\"center aligned\"].segment {\n  text-align: center;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.segment,\n.ui[class*=\"left floated\"].segment {\n  float: left;\n  margin-right: 1em;\n}\n.ui[class*=\"right floated\"].segment {\n  float: right;\n  margin-left: 1em;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.segment {\n  border: none;\n  box-shadow: none;\n}\n.ui.inverted.segment,\n.ui.primary.inverted.segment {\n  background: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Nested */\n.ui.inverted.segment .segment {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.inverted.segment .inverted.segment {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Attached */\n.ui.inverted.attached.segment {\n  border-color: #555555;\n}\n\n/*-------------------\n     Emphasis\n--------------------*/\n\n\n/* Secondary */\n.ui.secondary.segment {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.secondary.inverted.segment {\n  background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/* Tertiary */\n.ui.tertiary.segment {\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.tertiary.inverted.segment {\n  background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n\n/* Middle */\n.ui.attached.segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n.ui.attached + .ui.attached.segment:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n.ui[class*=\"top attached\"].segment {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n.ui.segment[class*=\"bottom attached\"] {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/shape.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n              Shape\n*******************************/\n\n.ui.shape {\n  position: relative;\n  vertical-align: top;\n  display: inline-block;\n  -webkit-perspective: 2000px;\n          perspective: 2000px;\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n          transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n.ui.shape .sides {\n  -webkit-transform-style: preserve-3d;\n          transform-style: preserve-3d;\n}\n.ui.shape .side {\n  opacity: 1;\n  width: 100%;\n  margin: 0em !important;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n.ui.shape .side {\n  display: none;\n}\n.ui.shape .side * {\n  -webkit-backface-visibility: visible !important;\n          backface-visibility: visible !important;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n.ui.cube.shape .side {\n  min-width: 15em;\n  height: 15em;\n  padding: 2em;\n  background-color: #E6E6E6;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);\n}\n.ui.cube.shape .side > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  text-align: center;\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n}\n.ui.cube.shape .side > .content > div {\n  display: table-cell;\n  vertical-align: middle;\n  font-size: 2em;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.text.shape.animating .sides {\n  position: static;\n}\n.ui.text.shape .side {\n  white-space: nowrap;\n}\n.ui.text.shape .side > * {\n  white-space: normal;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.shape {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.shape .animating.side {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  display: block;\n  z-index: 100;\n}\n.ui.shape .hidden.side {\n  opacity: 0.6;\n}\n\n/*--------------\n      CSS\n---------------*/\n\n.ui.shape.animating .sides {\n  position: absolute;\n}\n.ui.shape.animating .sides {\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n          transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n.ui.shape.animating .side {\n  -webkit-transition: opacity 0.6s ease-in-out;\n          transition: opacity 0.6s ease-in-out;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.shape .active.side {\n  display: block;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/shape.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.shape = function(parameters) {\n  var\n    $allModules     = $(this),\n    $body           = $('body'),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        moduleSelector = $allModules.selector || '',\n        settings       = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.shape.settings, parameters)\n          : $.extend({}, $.fn.shape.settings),\n\n        // internal aliases\n        namespace     = settings.namespace,\n        selector      = settings.selector,\n        error         = settings.error,\n        className     = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // selector cache\n        $module       = $(this),\n        $sides        = $module.find(selector.sides),\n        $side         = $module.find(selector.side),\n\n        // private variables\n        nextIndex = false,\n        $activeSide,\n        $nextSide,\n\n        // standard module\n        element       = this,\n        instance      = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module for', element);\n          module.set.defaultSide();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache for', element);\n          $module = $(element);\n          $sides  = $(this).find(selector.shape);\n          $side   = $(this).find(selector.side);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          var\n            shape          = $sides[0] || document.createElement('div'),\n            fakeAssignment = shape.offsetWidth\n          ;\n        },\n\n        animate: function(propertyObject, callback) {\n          module.verbose('Animating box with properties', propertyObject);\n          callback = callback || function(event) {\n            module.verbose('Executing animation callback');\n            if(event !== undefined) {\n              event.stopPropagation();\n            }\n            module.reset();\n            module.set.active();\n          };\n          settings.beforeChange.call($nextSide[0]);\n          if(module.get.transitionEvent()) {\n            module.verbose('Starting CSS animation');\n            $module\n              .addClass(className.animating)\n            ;\n            $sides\n              .css(propertyObject)\n              .one(module.get.transitionEvent(), callback)\n            ;\n            module.set.duration(settings.duration);\n            requestAnimationFrame(function() {\n              $module\n                .addClass(className.animating)\n              ;\n              $activeSide\n                .addClass(className.hidden)\n              ;\n            });\n          }\n          else {\n            callback();\n          }\n        },\n\n        queue: function(method) {\n          module.debug('Queueing animation of', method);\n          $sides\n            .one(module.get.transitionEvent(), function() {\n              module.debug('Executing queued animation');\n              setTimeout(function(){\n                $module.shape(method);\n              }, 0);\n            })\n          ;\n        },\n\n        reset: function() {\n          module.verbose('Animating states reset');\n          $module\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          // removeAttr style does not consistently work in safari\n          $sides\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          $side\n            .attr('style', '')\n            .removeAttr('style')\n            .removeClass(className.hidden)\n          ;\n          $nextSide\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n        },\n\n        is: {\n          complete: function() {\n            return ($side.filter('.' + className.active)[0] == $nextSide[0]);\n          },\n          animating: function() {\n            return $module.hasClass(className.animating);\n          }\n        },\n\n        set: {\n\n          defaultSide: function() {\n            $activeSide = $module.find('.' + settings.className.active);\n            $nextSide   = ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n            nextIndex = false;\n            module.verbose('Active side set to', $activeSide);\n            module.verbose('Next side set to', $nextSide);\n          },\n\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting animation duration', duration);\n            if(settings.duration || settings.duration === 0) {\n              $sides.add($side)\n                .css({\n                  '-webkit-transition-duration': duration,\n                  '-moz-transition-duration': duration,\n                  '-ms-transition-duration': duration,\n                  '-o-transition-duration': duration,\n                  'transition-duration': duration\n                })\n              ;\n            }\n          },\n\n          currentStageSize: function() {\n            var\n              $activeSide = $module.find('.' + settings.className.active),\n              width       = $activeSide.outerWidth(true),\n              height      = $activeSide.outerHeight(true)\n            ;\n            $module\n              .css({\n                width: width,\n                height: height\n              })\n            ;\n          },\n\n          stageSize: function() {\n            var\n              $clone      = $module.clone().addClass(className.loading),\n              $activeSide = $clone.find('.' + settings.className.active),\n              $nextSide   = (nextIndex)\n                ? $clone.find(selector.side).eq(nextIndex)\n                : ( $activeSide.next(selector.side).length > 0 )\n                  ? $activeSide.next(selector.side)\n                  : $clone.find(selector.side).first(),\n              newSize = {}\n            ;\n            module.set.currentStageSize();\n            $activeSide.removeClass(className.active);\n            $nextSide.addClass(className.active);\n            $clone.insertAfter($module);\n            newSize = {\n              width  : $nextSide.outerWidth(true),\n              height : $nextSide.outerHeight(true)\n            };\n            $clone.remove();\n            $module\n              .css(newSize)\n            ;\n            module.verbose('Resizing stage to fit new content', newSize);\n          },\n\n          nextSide: function(selector) {\n            nextIndex = selector;\n            $nextSide = $side.filter(selector);\n            nextIndex = $side.index($nextSide);\n            if($nextSide.length === 0) {\n              module.set.defaultSide();\n              module.error(error.side);\n            }\n            module.verbose('Next side manually set to', $nextSide);\n          },\n\n          active: function() {\n            module.verbose('Setting new side to active', $nextSide);\n            $side\n              .removeClass(className.active)\n            ;\n            $nextSide\n              .addClass(className.active)\n            ;\n            settings.onChange.call($nextSide[0]);\n            module.set.defaultSide();\n          }\n        },\n\n        flip: {\n\n          up: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping up', $nextSide);\n              module.set.stageSize();\n              module.stage.above();\n              module.animate( module.get.transform.up() );\n            }\n            else {\n              module.queue('flip up');\n            }\n          },\n\n          down: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping down', $nextSide);\n              module.set.stageSize();\n              module.stage.below();\n              module.animate( module.get.transform.down() );\n            }\n            else {\n              module.queue('flip down');\n            }\n          },\n\n          left: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping left', $nextSide);\n              module.set.stageSize();\n              module.stage.left();\n              module.animate(module.get.transform.left() );\n            }\n            else {\n              module.queue('flip left');\n            }\n          },\n\n          right: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping right', $nextSide);\n              module.set.stageSize();\n              module.stage.right();\n              module.animate(module.get.transform.right() );\n            }\n            else {\n              module.queue('flip right');\n            }\n          },\n\n          over: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping over', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.over() );\n            }\n            else {\n              module.queue('flip over');\n            }\n          },\n\n          back: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping back', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.back() );\n            }\n            else {\n              module.queue('flip back');\n            }\n          }\n\n        },\n\n        get: {\n\n          transform: {\n            up: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'\n              };\n            },\n\n            down: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'\n              };\n            },\n\n            left: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'\n              };\n            },\n\n            right: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'\n              };\n            },\n\n            over: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'\n              };\n            },\n\n            back: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'\n              };\n            }\n          },\n\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          nextSide: function() {\n            return ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n          }\n\n        },\n\n        stage: {\n\n          above: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as above', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          below: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as below', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          left: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          right: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          behind: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as behind', $nextSide, box);\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-180deg)'\n              })\n            ;\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.shape.settings = {\n\n  // module info\n  name : 'Shape',\n\n  // debug content outputted to console\n  debug      : false,\n\n  // verbose debug output\n  verbose    : false,\n\n  // performance data output\n  performance: true,\n\n  // event namespace\n  namespace  : 'shape',\n\n  // callback occurs on side change\n  beforeChange : function() {},\n  onChange     : function() {},\n\n  // allow animation to same side\n  allowRepeats: false,\n\n  // animation duration\n  duration   : false,\n\n  // possible errors\n  error: {\n    side   : 'You tried to switch to a side that does not exist.',\n    method : 'The method you called is not defined'\n  },\n\n  // classnames used\n  className   : {\n    animating : 'animating',\n    hidden    : 'hidden',\n    loading   : 'loading',\n    active    : 'active'\n  },\n\n  // selectors used\n  selector    : {\n    sides : '.sides',\n    side  : '.side'\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/sidebar.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Sidebar\n*******************************/\n\n\n/* Sidebar Menu */\n.ui.sidebar {\n  position: fixed;\n  top: 0;\n  left: 0;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-transition: none;\n          transition: none;\n  will-change: transform;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  height: 100% !important;\n  max-height: 100%;\n  border-radius: 0em !important;\n  margin: 0em !important;\n  overflow-y: auto !important;\n  z-index: 102;\n}\n\n/* GPU Layers for Child Elements */\n.ui.sidebar > * {\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-transform: rotateZ(0deg);\n          transform: rotateZ(0deg);\n}\n\n/*--------------\n   Direction\n---------------*/\n\n.ui.left.sidebar {\n  right: auto;\n  left: 0px;\n  -webkit-transform: translate3d(-100%, 0, 0);\n          transform: translate3d(-100%, 0, 0);\n}\n.ui.right.sidebar {\n  right: 0px !important;\n  left: auto !important;\n  -webkit-transform: translate3d(100%, 0%, 0);\n          transform: translate3d(100%, 0%, 0);\n}\n.ui.top.sidebar,\n.ui.bottom.sidebar {\n  width: 100% !important;\n  height: auto !important;\n}\n.ui.top.sidebar {\n  top: 0px !important;\n  bottom: auto !important;\n  -webkit-transform: translate3d(0, -100%, 0);\n          transform: translate3d(0, -100%, 0);\n}\n.ui.bottom.sidebar {\n  top: auto !important;\n  bottom: 0px !important;\n  -webkit-transform: translate3d(0, 100%, 0);\n          transform: translate3d(0, 100%, 0);\n}\n\n/*--------------\n     Pushable\n---------------*/\n\n.pushable {\n  height: 100%;\n  overflow-x: hidden;\n  padding: 0em !important;\n}\n\n/* Whole Page */\nbody.pushable {\n  background: #545454 !important;\n}\n\n/* Page Context */\n.pushable:not(body) {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n.pushable:not(body) > .ui.sidebar,\n.pushable:not(body) > .fixed,\n.pushable:not(body) > .pusher:after {\n  position: absolute;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.pushable > .fixed {\n  position: fixed;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  will-change: transform;\n  z-index: 101;\n}\n\n/*--------------\n     Page\n---------------*/\n\n.pushable > .pusher {\n  position: relative;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  overflow: hidden;\n  min-height: 100%;\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  z-index: 2;\n}\nbody.pushable > .pusher {\n  background: #FFFFFF;\n}\n\n/* Pusher should inherit background from context */\n.pushable > .pusher {\n  background: inherit;\n}\n\n/*--------------\n     Dimmer\n---------------*/\n\n.pushable > .pusher:after {\n  position: fixed;\n  top: 0px;\n  right: 0px;\n  content: '';\n  background-color: rgba(0, 0, 0, 0.4);\n  overflow: hidden;\n  opacity: 0;\n  -webkit-transition: opacity 500ms;\n          transition: opacity 500ms;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.sidebar.menu .item {\n  border-radius: 0em !important;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n     Dimmed\n---------------*/\n\n.pushable > .pusher.dimmed:after {\n  width: 100% !important;\n  height: 100% !important;\n  opacity: 1 !important;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.animating.sidebar {\n  visibility: visible;\n}\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.sidebar {\n  visibility: visible;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n\n/* Shadow Direction */\n.ui.left.visible.sidebar,\n.ui.right.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n.ui.top.visible.sidebar,\n.ui.bottom.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible On Load */\n.ui.visible.left.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(260px, 0, 0);\n          transform: translate3d(260px, 0, 0);\n}\n.ui.visible.right.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-260px, 0, 0);\n          transform: translate3d(-260px, 0, 0);\n}\n.ui.visible.top.sidebar ~ .fixed,\n.ui.visible.top.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 36px, 0);\n          transform: translate3d(0, 36px, 0);\n}\n.ui.visible.bottom.sidebar ~ .fixed,\n.ui.visible.bottom.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, -36px, 0);\n          transform: translate3d(0, -36px, 0);\n}\n\n/* opposite sides visible forces content overlay */\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n\n/*--------------\n       iOS\n---------------*/\n\n/*\n  iOS incorrectly sizes document when content\n  is presented outside of view with 2Dtranslate\n*/\nhtml.ios {\n  overflow-x: hidden;\n  -webkit-overflow-scrolling: touch;\n}\nhtml.ios,\nhtml.ios body {\n  height: initial !important;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n     Width\n---------------*/\n\n\n/* Left / Right */\n.ui[class*=\"very thin\"].left.sidebar,\n.ui[class*=\"very thin\"].right.sidebar {\n  width: 60px;\n}\n.ui.thin.left.sidebar,\n.ui.thin.right.sidebar {\n  width: 150px;\n}\n.ui.left.sidebar,\n.ui.right.sidebar {\n  width: 260px;\n}\n.ui.wide.left.sidebar,\n.ui.wide.right.sidebar {\n  width: 350px;\n}\n.ui[class*=\"very wide\"].left.sidebar,\n.ui[class*=\"very wide\"].right.sidebar {\n  width: 475px;\n}\n\n/* Left Visible */\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(60px, 0, 0);\n          transform: translate3d(60px, 0, 0);\n}\n.ui.visible.thin.left.sidebar ~ .fixed,\n.ui.visible.thin.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(150px, 0, 0);\n          transform: translate3d(150px, 0, 0);\n}\n.ui.visible.wide.left.sidebar ~ .fixed,\n.ui.visible.wide.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(350px, 0, 0);\n          transform: translate3d(350px, 0, 0);\n}\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(475px, 0, 0);\n          transform: translate3d(475px, 0, 0);\n}\n\n/* Right Visible */\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-60px, 0, 0);\n          transform: translate3d(-60px, 0, 0);\n}\n.ui.visible.thin.right.sidebar ~ .fixed,\n.ui.visible.thin.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-150px, 0, 0);\n          transform: translate3d(-150px, 0, 0);\n}\n.ui.visible.wide.right.sidebar ~ .fixed,\n.ui.visible.wide.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-350px, 0, 0);\n          transform: translate3d(-350px, 0, 0);\n}\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-475px, 0, 0);\n          transform: translate3d(-475px, 0, 0);\n}\n\n\n/*******************************\n          Animations\n*******************************/\n\n\n/*--------------\n    Overlay\n---------------*/\n\n\n/* Set-up */\n.ui.overlay.sidebar {\n  z-index: 102;\n}\n\n/* Initial */\n.ui.left.overlay.sidebar {\n  -webkit-transform: translate3d(-100%, 0%, 0);\n          transform: translate3d(-100%, 0%, 0);\n}\n.ui.right.overlay.sidebar {\n  -webkit-transform: translate3d(100%, 0%, 0);\n          transform: translate3d(100%, 0%, 0);\n}\n.ui.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n          transform: translate3d(0%, -100%, 0);\n}\n.ui.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n          transform: translate3d(0%, 100%, 0);\n}\n\n/* Animation */\n.animating.ui.overlay.sidebar,\n.ui.visible.overlay.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/* End - Sidebar */\n.ui.visible.left.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n.ui.visible.right.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n.ui.visible.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n.ui.visible.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n\n/* End - Pusher */\n.ui.visible.overlay.sidebar ~ .fixed,\n.ui.visible.overlay.sidebar ~ .pusher {\n  -webkit-transform: none !important;\n      -ms-transform: none !important;\n          transform: none !important;\n}\n\n/*--------------\n      Push\n---------------*/\n\n\n/* Initial */\n.ui.push.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial */\n.ui.left.push.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n          transform: translate3d(-100%, 0, 0);\n}\n.ui.right.push.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n          transform: translate3d(100%, 0, 0);\n}\n.ui.top.push.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n          transform: translate3d(0%, -100%, 0);\n}\n.ui.bottom.push.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n          transform: translate3d(0%, 100%, 0);\n}\n\n/* End */\n.ui.visible.push.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n          transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n    Uncover\n---------------*/\n\n\n/* Initial */\n.ui.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  z-index: 1;\n}\n\n/* End */\n.ui.visible.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/*--------------\n   Slide Along\n---------------*/\n\n\n/* Initial */\n.ui.slide.along.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n.ui.left.slide.along.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n          transform: translate3d(-50%, 0, 0);\n}\n.ui.right.slide.along.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n          transform: translate3d(50%, 0, 0);\n}\n.ui.top.slide.along.sidebar {\n  -webkit-transform: translate3d(0, -50%, 0);\n          transform: translate3d(0, -50%, 0);\n}\n.ui.bottom.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n          transform: translate3d(0%, 50%, 0);\n}\n\n/* Animation */\n.ui.animating.slide.along.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/* End */\n.ui.visible.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n          transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Slide Out\n---------------*/\n\n\n/* Initial */\n.ui.slide.out.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n.ui.left.slide.out.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n          transform: translate3d(50%, 0, 0);\n}\n.ui.right.slide.out.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n          transform: translate3d(-50%, 0, 0);\n}\n.ui.top.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n          transform: translate3d(0%, 50%, 0);\n}\n.ui.bottom.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, -50%, 0);\n          transform: translate3d(0%, -50%, 0);\n}\n\n/* Animation */\n.ui.animating.slide.out.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/* End */\n.ui.visible.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n          transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Scale Down\n---------------*/\n\n\n/* Initial */\n.ui.scale.down.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial  */\n.ui.left.scale.down.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n          transform: translate3d(-100%, 0, 0);\n}\n.ui.right.scale.down.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n          transform: translate3d(100%, 0, 0);\n}\n.ui.top.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n          transform: translate3d(0%, -100%, 0);\n}\n.ui.bottom.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n          transform: translate3d(0%, 100%, 0);\n}\n\n/* Pusher - Initial */\n.ui.scale.down.left.sidebar ~ .pusher {\n  -webkit-transform-origin: 75% 50%;\n      -ms-transform-origin: 75% 50%;\n          transform-origin: 75% 50%;\n}\n.ui.scale.down.right.sidebar ~ .pusher {\n  -webkit-transform-origin: 25% 50%;\n      -ms-transform-origin: 25% 50%;\n          transform-origin: 25% 50%;\n}\n.ui.scale.down.top.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 75%;\n      -ms-transform-origin: 50% 75%;\n          transform-origin: 50% 75%;\n}\n.ui.scale.down.bottom.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 25%;\n      -ms-transform-origin: 50% 25%;\n          transform-origin: 50% 25%;\n}\n\n/* Animation */\n.ui.animating.scale.down > .visible.ui.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n.ui.visible.scale.down.sidebar ~ .pusher,\n.ui.animating.scale.down.sidebar ~ .pusher {\n  display: block !important;\n  width: 100%;\n  height: 100%;\n  overflow: hidden !important;\n}\n\n/* End */\n.ui.visible.scale.down.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n.ui.visible.scale.down.sidebar ~ .pusher {\n  -webkit-transform: scale(0.75);\n      -ms-transform: scale(0.75);\n          transform: scale(0.75);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/sidebar.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sidebar = function(parameters) {\n  var\n    $allModules     = $(this),\n    $window         = $(window),\n    $document       = $(document),\n    $html           = $('html'),\n    $head           = $('head'),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sidebar.settings, parameters)\n          : $.extend({}, $.fn.sidebar.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $sidebars       = $module.children(selector.sidebar),\n        $fixed          = $context.children(selector.fixed),\n        $pusher         = $context.children(selector.pusher),\n        $style,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        currentScroll,\n        transitionEvent,\n\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.debug('Initializing sidebar', parameters);\n\n          module.create.id();\n\n          transitionEvent = module.get.transitionEvent();\n\n          if(module.is.ios()) {\n            module.set.ios();\n          }\n\n          // avoids locking rendering if initialized in onReady\n          if(settings.delaySetup) {\n            requestAnimationFrame(module.setup.layout);\n          }\n          else {\n            module.setup.layout();\n          }\n\n          requestAnimationFrame(function() {\n            module.setup.cache();\n          });\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          if(module.is.ios()) {\n            module.remove.ios();\n          }\n          // bound by uuid\n          $context.off(elementNamespace);\n          $window.off(elementNamespace);\n          $document.off(elementNamespace);\n        },\n\n        event: {\n          clickaway: function(event) {\n            var\n              clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)),\n              clickedContext  = ($context.is(event.target))\n            ;\n            if(clickedInPusher) {\n              module.verbose('User clicked on dimmed page');\n              module.hide();\n            }\n            if(clickedContext) {\n              module.verbose('User clicked on dimmable context (scaled out page)');\n              module.hide();\n            }\n          },\n          touch: function(event) {\n            //event.stopPropagation();\n          },\n          containScroll: function(event) {\n            if(element.scrollTop <= 0)  {\n              element.scrollTop = 1;\n            }\n            if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) {\n              element.scrollTop = element.scrollHeight - element.offsetHeight - 1;\n            }\n          },\n          scroll: function(event) {\n            if( $(event.target).closest(selector.sidebar).length === 0 ) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        bind: {\n          clickaway: function() {\n            module.verbose('Adding clickaway events to context', $context);\n            if(settings.closable) {\n              $context\n                .on('click'    + elementNamespace, module.event.clickaway)\n                .on('touchend' + elementNamespace, module.event.clickaway)\n              ;\n            }\n          },\n          scrollLock: function() {\n            if(settings.scrollLock) {\n              module.debug('Disabling page scroll');\n              $window\n                .on('DOMMouseScroll' + elementNamespace, module.event.scroll)\n              ;\n            }\n            module.verbose('Adding events to contain sidebar scroll');\n            $document\n              .on('touchmove' + elementNamespace, module.event.touch)\n            ;\n            $module\n              .on('scroll' + eventNamespace, module.event.containScroll)\n            ;\n          }\n        },\n        unbind: {\n          clickaway: function() {\n            module.verbose('Removing clickaway events from context', $context);\n            $context.off(elementNamespace);\n          },\n          scrollLock: function() {\n            module.verbose('Removing scroll lock from page');\n            $document.off(elementNamespace);\n            $window.off(elementNamespace);\n            $module.off('scroll' + eventNamespace);\n          }\n        },\n\n        add: {\n          inlineCSS: function() {\n            var\n              width     = module.cache.width  || $module.outerWidth(),\n              height    = module.cache.height || $module.outerHeight(),\n              isRTL     = module.is.rtl(),\n              direction = module.get.direction(),\n              distance  = {\n                left   : width,\n                right  : -width,\n                top    : height,\n                bottom : -height\n              },\n              style\n            ;\n\n            if(isRTL){\n              module.verbose('RTL detected, flipping widths');\n              distance.left = -width;\n              distance.right = width;\n            }\n\n            style  = '<style>';\n\n            if(direction === 'left' || direction === 'right') {\n              module.debug('Adding CSS rules for animation distance', width);\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + ' }'\n              ;\n            }\n            else if(direction === 'top' || direction == 'bottom') {\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + ' }'\n              ;\n            }\n\n            /* IE is only browser not to create context with transforms */\n            /* https://www.w3.org/Bugs/Public/show_bug.cgi?id=16328 */\n            if( module.is.ie() ) {\n              if(direction === 'left' || direction === 'right') {\n                module.debug('Adding CSS rules for animation distance', width);\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + ' }'\n                ;\n              }\n              else if(direction === 'top' || direction == 'bottom') {\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + ' }'\n                ;\n              }\n              /* opposite sides visible forces content overlay */\n              style += ''\n                + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,'\n                + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {'\n                + '   -webkit-transform: translate3d(0px, 0, 0);'\n                + '           transform: translate3d(0px, 0, 0);'\n                + ' }'\n              ;\n            }\n            style += '</style>';\n            $style = $(style)\n              .appendTo($head)\n            ;\n            module.debug('Adding sizing css to head', $style);\n          }\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $context  = $(settings.context);\n          $sidebars = $context.children(selector.sidebar);\n          $pusher   = $context.children(selector.pusher);\n          $fixed    = $context.children(selector.fixed);\n          module.clear.cache();\n        },\n\n        refreshSidebars: function() {\n          module.verbose('Refreshing other sidebars');\n          $sidebars = $context.children(selector.sidebar);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          element.style.display = 'none';\n          var ignored = element.offsetHeight;\n          element.scrollTop = element.scrollTop;\n          element.style.display = '';\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              width  : $module.outerWidth(),\n              height : $module.outerHeight(),\n              rtl    : ($module.css('direction') == 'rtl')\n            };\n          },\n          layout: function() {\n            if( $context.children(selector.pusher).length === 0 ) {\n              module.debug('Adding wrapper element for sidebar');\n              module.error(error.pusher);\n              $pusher = $('<div class=\"pusher\" />');\n              $context\n                .children()\n                  .not(selector.omitted)\n                  .not($sidebars)\n                  .wrapAll($pusher)\n              ;\n              module.refresh();\n            }\n            if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {\n              module.debug('Moved sidebar to correct parent element');\n              module.error(error.movedSidebar, element);\n              $module.detach().prependTo($context);\n              module.refresh();\n            }\n            module.clear.cache();\n            module.set.pushable();\n            module.set.direction();\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching sidebar events to element', selector, event);\n            $toggle\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.hidden()) {\n            module.refreshSidebars();\n            if(settings.overlay)  {\n              module.error(error.overlay);\n              settings.transition = 'overlay';\n            }\n            module.refresh();\n            if(module.othersActive()) {\n              module.debug('Other sidebars currently visible');\n              if(settings.exclusive) {\n                // if not overlay queue animation after hide\n                if(settings.transition != 'overlay') {\n                  module.hideOthers(module.show);\n                  return;\n                }\n                else {\n                  module.hideOthers();\n                }\n              }\n              else {\n                settings.transition = 'overlay';\n              }\n            }\n            module.pushPage(function() {\n              callback.call(element);\n              settings.onShow.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onVisible.call(element);\n          }\n          else {\n            module.debug('Sidebar is already visible');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.visible() || module.is.animating()) {\n            module.debug('Hiding sidebar', callback);\n            module.refreshSidebars();\n            module.pullPage(function() {\n              callback.call(element);\n              settings.onHidden.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onHide.call(element);\n          }\n        },\n\n        othersAnimating: function() {\n          return ($sidebars.not($module).filter('.' + className.animating).length > 0);\n        },\n        othersVisible: function() {\n          return ($sidebars.not($module).filter('.' + className.visible).length > 0);\n        },\n        othersActive: function() {\n          return(module.othersVisible() || module.othersAnimating());\n        },\n\n        hideOthers: function(callback) {\n          var\n            $otherSidebars = $sidebars.not($module).filter('.' + className.visible),\n            sidebarCount   = $otherSidebars.length,\n            callbackCount  = 0\n          ;\n          callback = callback || function(){};\n          $otherSidebars\n            .sidebar('hide', function() {\n              callbackCount++;\n              if(callbackCount == sidebarCount) {\n                callback();\n              }\n            })\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Determining toggled direction');\n          if(module.is.hidden()) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        pushPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition === 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            dim,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(settings.transition == 'scale down') {\n            module.scrollToTop();\n          }\n          module.set.transition(transition);\n          module.repaint();\n          animate = function() {\n            module.bind.clickaway();\n            module.add.inlineCSS();\n            module.set.animating();\n            module.set.visible();\n          };\n          dim = function() {\n            module.set.dimmed();\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.bind.scrollLock();\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n          if(settings.dimPage && !module.othersVisible()) {\n            requestAnimationFrame(dim);\n          }\n        },\n\n        pullPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition == 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.verbose('Removing context push state', module.get.direction());\n\n          module.unbind.clickaway();\n          module.unbind.scrollLock();\n\n          animate = function() {\n            module.set.transition(transition);\n            module.set.animating();\n            module.remove.visible();\n            if(settings.dimPage && !module.othersVisible()) {\n              $pusher.removeClass(className.dimmed);\n            }\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.remove.transition();\n              module.remove.inlineCSS();\n              if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) {\n                module.scrollBack();\n              }\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n        },\n\n        scrollToTop: function() {\n          module.verbose('Scrolling to top of page to avoid animation issues');\n          currentScroll = $(window).scrollTop();\n          $module.scrollTop(0);\n          window.scrollTo(0, 0);\n        },\n\n        scrollBack: function() {\n          module.verbose('Scrolling back to original page position');\n          window.scrollTo(0, currentScroll);\n        },\n\n        clear: {\n          cache: function() {\n            module.verbose('Clearing cached dimensions');\n            module.cache = {};\n          }\n        },\n\n        set: {\n\n          // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios\n          ios: function() {\n            $html.addClass(className.ios);\n          },\n\n          // container\n          pushed: function() {\n            $context.addClass(className.pushed);\n          },\n          pushable: function() {\n            $context.addClass(className.pushable);\n          },\n\n          // pusher\n          dimmed: function() {\n            $pusher.addClass(className.dimmed);\n          },\n\n          // sidebar\n          active: function() {\n            $module.addClass(className.active);\n          },\n          animating: function() {\n            $module.addClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.addClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.addClass(className[direction]);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          overlay: function() {\n            $module.addClass(className.overlay);\n          }\n        },\n        remove: {\n\n          inlineCSS: function() {\n            module.debug('Removing inline css styles', $style);\n            if($style && $style.length > 0) {\n              $style.remove();\n            }\n          },\n\n          // ios scroll on html not document\n          ios: function() {\n            $html.removeClass(className.ios);\n          },\n\n          // context\n          pushed: function() {\n            $context.removeClass(className.pushed);\n          },\n          pushable: function() {\n            $context.removeClass(className.pushable);\n          },\n\n          // sidebar\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.removeClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.removeClass(className[direction]);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          overlay: function() {\n            $module.removeClass(className.overlay);\n          }\n        },\n\n        get: {\n          direction: function() {\n            if($module.hasClass(className.top)) {\n              return className.top;\n            }\n            else if($module.hasClass(className.right)) {\n              return className.right;\n            }\n            else if($module.hasClass(className.bottom)) {\n              return className.bottom;\n            }\n            return className.left;\n          },\n          transition: function() {\n            var\n              direction = module.get.direction(),\n              transition\n            ;\n            transition = ( module.is.mobile() )\n              ? (settings.mobileTransition == 'auto')\n                ? settings.defaultTransition.mobile[direction]\n                : settings.mobileTransition\n              : (settings.transition == 'auto')\n                ? settings.defaultTransition.computer[direction]\n                : settings.transition\n            ;\n            module.verbose('Determined transition', transition);\n            return transition;\n          },\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          }\n        },\n\n        is: {\n\n          ie: function() {\n            var\n              isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),\n              isIE   = ('ActiveXObject' in window)\n            ;\n            return (isIE11 || isIE);\n          },\n\n          ios: function() {\n            var\n              userAgent      = navigator.userAgent,\n              isIOS          = userAgent.match(regExp.ios),\n              isMobileChrome = userAgent.match(regExp.mobileChrome)\n            ;\n            if(isIOS && !isMobileChrome) {\n              module.verbose('Browser was found to be iOS', userAgent);\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          mobile: function() {\n            var\n              userAgent    = navigator.userAgent,\n              isMobile     = userAgent.match(regExp.mobile)\n            ;\n            if(isMobile) {\n              module.verbose('Browser was found to be mobile', userAgent);\n              return true;\n            }\n            else {\n              module.verbose('Browser is not mobile, using regular transition', userAgent);\n              return false;\n            }\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          visible: function() {\n            return $module.hasClass(className.visible);\n          },\n          // alias\n          open: function() {\n            return module.is.visible();\n          },\n          closed: function() {\n            return module.is.hidden();\n          },\n          vertical: function() {\n            return $module.hasClass(className.top);\n          },\n          animating: function() {\n            return $context.hasClass(className.animating);\n          },\n          rtl: function () {\n            if(module.cache.rtl === undefined) {\n              module.cache.rtl = ($module.css('direction') == 'rtl');\n            }\n            return module.cache.rtl;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      }\n    ;\n\n    if(methodInvoked) {\n      if(instance === undefined) {\n        module.initialize();\n      }\n      module.invoke(query);\n    }\n    else {\n      if(instance !== undefined) {\n        module.invoke('destroy');\n      }\n      module.initialize();\n    }\n  });\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sidebar.settings = {\n\n  name              : 'Sidebar',\n  namespace         : 'sidebar',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  transition        : 'auto',\n  mobileTransition  : 'auto',\n\n  defaultTransition : {\n    computer: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    },\n    mobile: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    }\n  },\n\n  context           : 'body',\n  exclusive         : false,\n  closable          : true,\n  dimPage           : true,\n  scrollLock        : false,\n  returnScroll      : false,\n  delaySetup        : false,\n\n  duration          : 500,\n\n  onChange          : function(){},\n  onShow            : function(){},\n  onHide            : function(){},\n\n  onHidden          : function(){},\n  onVisible         : function(){},\n\n  className         : {\n    active    : 'active',\n    animating : 'animating',\n    dimmed    : 'dimmed',\n    ios       : 'ios',\n    pushable  : 'pushable',\n    pushed    : 'pushed',\n    right     : 'right',\n    top       : 'top',\n    left      : 'left',\n    bottom    : 'bottom',\n    visible   : 'visible'\n  },\n\n  selector: {\n    fixed   : '.fixed',\n    omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',\n    pusher  : '.pusher',\n    sidebar : '.ui.sidebar'\n  },\n\n  regExp: {\n    ios          : /(iPad|iPhone|iPod)/g,\n    mobileChrome : /(CriOS)/g,\n    mobile       : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\n  },\n\n  error   : {\n    method       : 'The method you called is not defined.',\n    pusher       : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element',\n    movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag',\n    overlay      : 'The overlay setting is no longer supported, use animation: overlay',\n    notFound     : 'There were no elements that matched the specified selector'\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/site.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Page\n*******************************/\n\n@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin');\nhtml,\nbody {\n  height: 100%;\n}\nhtml {\n  font-size: 14px;\n}\nbody {\n  margin: 0px;\n  padding: 0px;\n  overflow-x: hidden;\n  min-width: 320px;\n  background: #FFFFFF;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 14px;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  font-smoothing: antialiased;\n}\n\n\n/*******************************\n             Headers\n*******************************/\n\nh1,\nh2,\nh3,\nh4,\nh5 {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  line-height: 1.2857em;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  font-weight: bold;\n  padding: 0em;\n}\nh1 {\n  min-height: 1rem;\n  font-size: 2rem;\n}\nh2 {\n  font-size: 1.714rem;\n}\nh3 {\n  font-size: 1.28rem;\n}\nh4 {\n  font-size: 1.071rem;\n}\nh5 {\n  font-size: 1rem;\n}\nh1:first-child,\nh2:first-child,\nh3:first-child,\nh4:first-child,\nh5:first-child {\n  margin-top: 0em;\n}\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n             Text\n*******************************/\n\np {\n  margin: 0em 0em 1em;\n  line-height: 1.4285em;\n}\np:first-child {\n  margin-top: 0em;\n}\np:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n        Links\n--------------------*/\n\na {\n  color: #4183C4;\n  text-decoration: none;\n}\na:hover {\n  color: #1e70bf;\n  text-decoration: none;\n}\n\n\n/*******************************\n          Highlighting\n*******************************/\n\n\n/* Site */\n::-webkit-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n::-moz-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n::selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Form */\ntextarea::-webkit-selection,\ninput::-webkit-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\ntextarea::-moz-selection,\ninput::-moz-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\ntextarea::selection,\ninput::selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\n\n/*******************************\n        Global Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/site.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n;(function ( $, window, document, undefined ) {\n\n$.site = $.fn.site = function(parameters) {\n  var\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    settings        = ( $.isPlainObject(parameters) )\n      ? $.extend(true, {}, $.site.settings, parameters)\n      : $.extend({}, $.site.settings),\n\n    namespace       = settings.namespace,\n    error           = settings.error,\n\n    eventNamespace  = '.' + namespace,\n    moduleNamespace = 'module-' + namespace,\n\n    $document       = $(document),\n    $module         = $document,\n    element         = this,\n    instance        = $module.data(moduleNamespace),\n\n    module,\n    returnedValue\n  ;\n  module = {\n\n    initialize: function() {\n      module.instantiate();\n    },\n\n    instantiate: function() {\n      module.verbose('Storing instance of site', module);\n      instance = module;\n      $module\n        .data(moduleNamespace, module)\n      ;\n    },\n\n    normalize: function() {\n      module.fix.console();\n      module.fix.requestAnimationFrame();\n    },\n\n    fix: {\n      console: function() {\n        module.debug('Normalizing window.console');\n        if (console === undefined || console.log === undefined) {\n          module.verbose('Console not available, normalizing events');\n          module.disable.console();\n        }\n        if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {\n          module.verbose('Console group not available, normalizing events');\n          window.console.group = function() {};\n          window.console.groupEnd = function() {};\n          window.console.groupCollapsed = function() {};\n        }\n        if (typeof console.markTimeline == 'undefined') {\n          module.verbose('Mark timeline not available, normalizing events');\n          window.console.markTimeline = function() {};\n        }\n      },\n      consoleClear: function() {\n        module.debug('Disabling programmatic console clearing');\n        window.console.clear = function() {};\n      },\n      requestAnimationFrame: function() {\n        module.debug('Normalizing requestAnimationFrame');\n        if(window.requestAnimationFrame === undefined) {\n          module.debug('RequestAnimationFrame not available, normalizing event');\n          window.requestAnimationFrame = window.requestAnimationFrame\n            || window.mozRequestAnimationFrame\n            || window.webkitRequestAnimationFrame\n            || window.msRequestAnimationFrame\n            || function(callback) { setTimeout(callback, 0); }\n          ;\n        }\n      }\n    },\n\n    moduleExists: function(name) {\n      return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);\n    },\n\n    enabled: {\n      modules: function(modules) {\n        var\n          enabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(module.moduleExists(name)) {\n            enabledModules.push(name);\n          }\n        });\n        return enabledModules;\n      }\n    },\n\n    disabled: {\n      modules: function(modules) {\n        var\n          disabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(!module.moduleExists(name)) {\n            disabledModules.push(name);\n          }\n        });\n        return disabledModules;\n      }\n    },\n\n    change: {\n      setting: function(setting, value, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? (modules === 'all')\n            ? settings.modules\n            : [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            namespace = (module.moduleExists(name))\n              ? $.fn[name].settings.namespace || false\n              : true,\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', setting, value, name);\n            $.fn[name].settings[setting] = value;\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', setting, value);\n              }\n            }\n          }\n        });\n      },\n      settings: function(newSettings, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', newSettings, name);\n            $.extend(true, $.fn[name].settings, newSettings);\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', newSettings);\n              }\n            }\n          }\n        });\n      }\n    },\n\n    enable: {\n      console: function() {\n        module.console(true);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling debug for modules', modules);\n        module.change.setting('debug', true, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling verbose debug for modules', modules);\n        module.change.setting('verbose', true, modules, modifyExisting);\n      }\n    },\n    disable: {\n      console: function() {\n        module.console(false);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling debug for modules', modules);\n        module.change.setting('debug', false, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling verbose debug for modules', modules);\n        module.change.setting('verbose', false, modules, modifyExisting);\n      }\n    },\n\n    console: function(enable) {\n      if(enable) {\n        if(instance.cache.console === undefined) {\n          module.error(error.console);\n          return;\n        }\n        module.debug('Restoring console function');\n        window.console = instance.cache.console;\n      }\n      else {\n        module.debug('Disabling console function');\n        instance.cache.console = window.console;\n        window.console = {\n          clear          : function(){},\n          error          : function(){},\n          group          : function(){},\n          groupCollapsed : function(){},\n          groupEnd       : function(){},\n          info           : function(){},\n          log            : function(){},\n          markTimeline   : function(){},\n          warn           : function(){}\n        };\n      }\n    },\n\n    destroy: function() {\n      module.verbose('Destroying previous site for', $module);\n      $module\n        .removeData(moduleNamespace)\n      ;\n    },\n\n    cache: {},\n\n    setting: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, settings, name);\n      }\n      else if(value !== undefined) {\n        settings[name] = value;\n      }\n      else {\n        return settings[name];\n      }\n    },\n    internal: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, module, name);\n      }\n      else if(value !== undefined) {\n        module[name] = value;\n      }\n      else {\n        return module[name];\n      }\n    },\n    debug: function() {\n      if(settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.debug.apply(console, arguments);\n        }\n      }\n    },\n    verbose: function() {\n      if(settings.verbose && settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.verbose.apply(console, arguments);\n        }\n      }\n    },\n    error: function() {\n      module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n      module.error.apply(console, arguments);\n    },\n    performance: {\n      log: function(message) {\n        var\n          currentTime,\n          executionTime,\n          previousTime\n        ;\n        if(settings.performance) {\n          currentTime   = new Date().getTime();\n          previousTime  = time || currentTime;\n          executionTime = currentTime - previousTime;\n          time          = currentTime;\n          performance.push({\n            'Element'        : element,\n            'Name'           : message[0],\n            'Arguments'      : [].slice.call(message, 1) || '',\n            'Execution Time' : executionTime\n          });\n        }\n        clearTimeout(module.performance.timer);\n        module.performance.timer = setTimeout(module.performance.display, 500);\n      },\n      display: function() {\n        var\n          title = settings.name + ':',\n          totalTime = 0\n        ;\n        time = false;\n        clearTimeout(module.performance.timer);\n        $.each(performance, function(index, data) {\n          totalTime += data['Execution Time'];\n        });\n        title += ' ' + totalTime + 'ms';\n        if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n          console.groupCollapsed(title);\n          if(console.table) {\n            console.table(performance);\n          }\n          else {\n            $.each(performance, function(index, data) {\n              console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n            });\n          }\n          console.groupEnd();\n        }\n        performance = [];\n      }\n    },\n    invoke: function(query, passedArguments, context) {\n      var\n        object = instance,\n        maxDepth,\n        found,\n        response\n      ;\n      passedArguments = passedArguments || queryArguments;\n      context         = element         || context;\n      if(typeof query == 'string' && object !== undefined) {\n        query    = query.split(/[\\. ]/);\n        maxDepth = query.length - 1;\n        $.each(query, function(depth, value) {\n          var camelCaseValue = (depth != maxDepth)\n            ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n            : query\n          ;\n          if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n            object = object[camelCaseValue];\n          }\n          else if( object[camelCaseValue] !== undefined ) {\n            found = object[camelCaseValue];\n            return false;\n          }\n          else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n            object = object[value];\n          }\n          else if( object[value] !== undefined ) {\n            found = object[value];\n            return false;\n          }\n          else {\n            module.error(error.method, query);\n            return false;\n          }\n        });\n      }\n      if ( $.isFunction( found ) ) {\n        response = found.apply(context, passedArguments);\n      }\n      else if(found !== undefined) {\n        response = found;\n      }\n      if($.isArray(returnedValue)) {\n        returnedValue.push(response);\n      }\n      else if(returnedValue !== undefined) {\n        returnedValue = [returnedValue, response];\n      }\n      else if(response !== undefined) {\n        returnedValue = response;\n      }\n      return found;\n    }\n  };\n\n  if(methodInvoked) {\n    if(instance === undefined) {\n      module.initialize();\n    }\n    module.invoke(query);\n  }\n  else {\n    if(instance !== undefined) {\n      module.destroy();\n    }\n    module.initialize();\n  }\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.site.settings = {\n\n  name        : 'Site',\n  namespace   : 'site',\n\n  error : {\n    console : 'Console cannot be restored, most likely it was overwritten outside of module',\n    method : 'The method you called is not defined.'\n  },\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  modules: [\n    'accordion',\n    'api',\n    'checkbox',\n    'dimmer',\n    'dropdown',\n    'embed',\n    'form',\n    'modal',\n    'nag',\n    'popup',\n    'rating',\n    'shape',\n    'sidebar',\n    'state',\n    'sticky',\n    'tab',\n    'transition',\n    'visit',\n    'visibility'\n  ],\n\n  siteNamespace   : 'site',\n  namespaceStub   : {\n    cache     : {},\n    config    : {},\n    sections  : {},\n    section   : {},\n    utilities : {}\n  }\n\n};\n\n// allows for selection of elements with data attributes\n$.extend($.expr[ \":\" ], {\n  data: ($.expr.createPseudo)\n    ? $.expr.createPseudo(function(dataName) {\n        return function(elem) {\n          return !!$.data(elem, dataName);\n        };\n      })\n    : function(elem, i, match) {\n      // support: jQuery < 1.8\n      return !!$.data(elem, match[ 3 ]);\n    }\n});\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/state.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - State\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.state = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    hasTouch        = ('ontouchstart' in document.documentElement),\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.state.settings, parameters)\n          : $.extend({}, $.fn.state.settings),\n\n        error           = settings.error,\n        metadata        = settings.metadata,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        states          = settings.states,\n        text            = settings.text,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n\n          // allow module to guess desired state based on element\n          if(settings.automatic) {\n            module.add.defaults();\n          }\n\n          // bind events with delegated events\n          if(settings.context && moduleSelector !== '') {\n            $(settings.context)\n              .on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)\n              .on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)\n              .on(moduleSelector, 'click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          else {\n            $module\n              .on('mouseenter' + eventNamespace, module.change.text)\n              .on('mouseleave' + eventNamespace, module.reset.text)\n              .on('click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $module = $(element);\n        },\n\n        add: {\n          defaults: function() {\n            var\n              userStates = parameters && $.isPlainObject(parameters.states)\n                ? parameters.states\n                : {}\n            ;\n            $.each(settings.defaults, function(type, typeStates) {\n              if( module.is[type] !== undefined && module.is[type]() ) {\n                module.verbose('Adding default states', type, element);\n                $.extend(settings.states, typeStates, userStates);\n              }\n            });\n          }\n        },\n\n        is: {\n\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          loading: function() {\n            return $module.hasClass(className.loading);\n          },\n          inactive: function() {\n            return !( $module.hasClass(className.active) );\n          },\n          state: function(state) {\n            if(className[state] === undefined) {\n              return false;\n            }\n            return $module.hasClass( className[state] );\n          },\n\n          enabled: function() {\n            return !( $module.is(settings.filter.active) );\n          },\n          disabled: function() {\n            return ( $module.is(settings.filter.active) );\n          },\n          textEnabled: function() {\n            return !( $module.is(settings.filter.text) );\n          },\n\n          // definitions for automatic type detection\n          button: function() {\n            return $module.is('.button:not(a, .submit)');\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          progress: function() {\n            return $module.is('.ui.progress');\n          }\n        },\n\n        allow: function(state) {\n          module.debug('Now allowing state', state);\n          states[state] = true;\n        },\n        disallow: function(state) {\n          module.debug('No longer allowing', state);\n          states[state] = false;\n        },\n\n        allows: function(state) {\n          return states[state] || false;\n        },\n\n        enable: function() {\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          $module.addClass(className.disabled);\n        },\n\n        setState: function(state) {\n          if(module.allows(state)) {\n            $module.addClass( className[state] );\n          }\n        },\n\n        removeState: function(state) {\n          if(module.allows(state)) {\n            $module.removeClass( className[state] );\n          }\n        },\n\n        toggle: {\n          state: function() {\n            var\n              apiRequest,\n              requestCancelled\n            ;\n            if( module.allows('active') && module.is.enabled() ) {\n              module.refresh();\n              if($.fn.api !== undefined) {\n                apiRequest       = $module.api('get request');\n                requestCancelled = $module.api('was cancelled');\n                if( requestCancelled ) {\n                  module.debug('API Request cancelled by beforesend');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                else if(apiRequest) {\n                  module.listenTo(apiRequest);\n                  return;\n                }\n              }\n              module.change.state();\n            }\n          }\n        },\n\n        listenTo: function(apiRequest) {\n          module.debug('API request detected, waiting for state signal', apiRequest);\n          if(apiRequest) {\n            if(text.loading) {\n              module.update.text(text.loading);\n            }\n            $.when(apiRequest)\n              .then(function() {\n                if(apiRequest.state() == 'resolved') {\n                  module.debug('API request succeeded');\n                  settings.activateTest   = function(){ return true; };\n                  settings.deactivateTest = function(){ return true; };\n                }\n                else {\n                  module.debug('API request failed');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                module.change.state();\n              })\n            ;\n          }\n        },\n\n        // checks whether active/inactive state can be given\n        change: {\n\n          state: function() {\n            module.debug('Determining state change direction');\n            // inactive to active change\n            if( module.is.inactive() ) {\n              module.activate();\n            }\n            else {\n              module.deactivate();\n            }\n            if(settings.sync) {\n              module.sync();\n            }\n            settings.onChange.call(element);\n          },\n\n          text: function() {\n            if( module.is.textEnabled() ) {\n              if(module.is.disabled() ) {\n                module.verbose('Changing text to disabled text', text.hover);\n                module.update.text(text.disabled);\n              }\n              else if( module.is.active() ) {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.deactivate) {\n                  module.verbose('Changing text to deactivating text', text.deactivate);\n                  module.update.text(text.deactivate);\n                }\n              }\n              else {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.activate){\n                  module.verbose('Changing text to activating text', text.activate);\n                  module.update.text(text.activate);\n                }\n              }\n            }\n          }\n\n        },\n\n        activate: function() {\n          if( settings.activateTest.call(element) ) {\n            module.debug('Setting state to active');\n            $module\n              .addClass(className.active)\n            ;\n            module.update.text(text.active);\n            settings.onActivate.call(element);\n          }\n        },\n\n        deactivate: function() {\n          if( settings.deactivateTest.call(element) ) {\n            module.debug('Setting state to inactive');\n            $module\n              .removeClass(className.active)\n            ;\n            module.update.text(text.inactive);\n            settings.onDeactivate.call(element);\n          }\n        },\n\n        sync: function() {\n          module.verbose('Syncing other buttons to current state');\n          if( module.is.active() ) {\n            $allModules\n              .not($module)\n                .state('activate');\n          }\n          else {\n            $allModules\n              .not($module)\n                .state('deactivate')\n            ;\n          }\n        },\n\n        get: {\n          text: function() {\n            return (settings.selector.text)\n              ? $module.find(settings.selector.text).text()\n              : $module.html()\n            ;\n          },\n          textFor: function(state) {\n            return text[state] || false;\n          }\n        },\n\n        flash: {\n          text: function(text, duration, callback) {\n            var\n              previousText = module.get.text()\n            ;\n            module.debug('Flashing text message', text, duration);\n            text     = text     || settings.text.flash;\n            duration = duration || settings.flashDuration;\n            callback = callback || function() {};\n            module.update.text(text);\n            setTimeout(function(){\n              module.update.text(previousText);\n              callback.call(element);\n            }, duration);\n          }\n        },\n\n        reset: {\n          // on mouseout sets text to previous value\n          text: function() {\n            var\n              activeText   = text.active   || $module.data(metadata.storedText),\n              inactiveText = text.inactive || $module.data(metadata.storedText)\n            ;\n            if( module.is.textEnabled() ) {\n              if( module.is.active() && activeText) {\n                module.verbose('Resetting active text', activeText);\n                module.update.text(activeText);\n              }\n              else if(inactiveText) {\n                module.verbose('Resetting inactive text', activeText);\n                module.update.text(inactiveText);\n              }\n            }\n          }\n        },\n\n        update: {\n          text: function(text) {\n            var\n              currentText = module.get.text()\n            ;\n            if(text && text !== currentText) {\n              module.debug('Updating text', text);\n              if(settings.selector.text) {\n                $module\n                  .data(metadata.storedText, text)\n                  .find(settings.selector.text)\n                    .text(text)\n                ;\n              }\n              else {\n                $module\n                  .data(metadata.storedText, text)\n                  .html(text)\n                ;\n              }\n            }\n            else {\n              module.debug('Text is already set, ignoring update', text);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.state.settings = {\n\n  // module info\n  name           : 'State',\n\n  // debug output\n  debug          : false,\n\n  // verbose debug output\n  verbose        : false,\n\n  // namespace for events\n  namespace      : 'state',\n\n  // debug data includes performance\n  performance    : true,\n\n  // callback occurs on state change\n  onActivate     : function() {},\n  onDeactivate   : function() {},\n  onChange       : function() {},\n\n  // state test functions\n  activateTest   : function() { return true; },\n  deactivateTest : function() { return true; },\n\n  // whether to automatically map default states\n  automatic      : true,\n\n  // activate / deactivate changes all elements instantiated at same time\n  sync           : false,\n\n  // default flash text duration, used for temporarily changing text of an element\n  flashDuration  : 1000,\n\n  // selector filter\n  filter     : {\n    text   : '.loading, .disabled',\n    active : '.disabled'\n  },\n\n  context    : false,\n\n  // error\n  error: {\n    beforeSend : 'The before send function has cancelled state change',\n    method     : 'The method you called is not defined.'\n  },\n\n  // metadata\n  metadata: {\n    promise    : 'promise',\n    storedText : 'stored-text'\n  },\n\n  // change class on state\n  className: {\n    active   : 'active',\n    disabled : 'disabled',\n    error    : 'error',\n    loading  : 'loading',\n    success  : 'success',\n    warning  : 'warning'\n  },\n\n  selector: {\n    // selector for text node\n    text: false\n  },\n\n  defaults : {\n    input: {\n      disabled : true,\n      loading  : true,\n      active   : true\n    },\n    button: {\n      disabled : true,\n      loading  : true,\n      active   : true,\n    },\n    progress: {\n      active   : true,\n      success  : true,\n      warning  : true,\n      error    : true\n    }\n  },\n\n  states     : {\n    active   : true,\n    disabled : true,\n    error    : true,\n    loading  : true,\n    success  : true,\n    warning  : true\n  },\n\n  text     : {\n    disabled   : false,\n    flash      : false,\n    hover      : false,\n    active     : false,\n    inactive   : false,\n    activate   : false,\n    deactivate : false\n  }\n\n};\n\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/statistic.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Statistic\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Statistic\n*******************************/\n\n\n/* Standalone */\n.ui.statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin: 1em 0em;\n  max-width: auto;\n}\n.ui.statistic + .ui.statistic {\n  margin: 0em 0em 0em 1.5em;\n}\n.ui.statistic:first-child {\n  margin-top: 0em;\n}\n.ui.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Group\n*******************************/\n\n\n/* Grouped */\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: start;\n  -webkit-align-items: flex-start;\n      -ms-flex-align: start;\n          align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n}\n.ui.statistics > .statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin: 0em 1.5em 2em;\n  max-width: auto;\n}\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em -1.5em -2em;\n}\n\n/* Clearing */\n.ui.statistics:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.statistics:first-child {\n  margin-top: 0em;\n}\n.ui.statistics:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/*--------------\n      Value\n---------------*/\n\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 4rem;\n  font-weight: normal;\n  line-height: 1em;\n  color: #1B1C1D;\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/*--------------\n     Label\n---------------*/\n\n.ui.statistics .statistic > .label,\n.ui.statistic > .label {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/* Top Label */\n.ui.statistics .statistic > .label ~ .value,\n.ui.statistic > .label ~ .value {\n  margin-top: 0rem;\n}\n\n/* Bottom Label */\n.ui.statistics .statistic > .value ~ .label,\n.ui.statistic > .value ~ .label {\n  margin-top: 0rem;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n   Icon Value\n---------------*/\n\n.ui.statistics .statistic > .value .icon,\n.ui.statistic > .value .icon {\n  opacity: 1;\n  width: auto;\n  margin: 0em;\n}\n\n/*--------------\n   Text Value\n---------------*/\n\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  line-height: 1em;\n  min-height: 2em;\n  font-weight: bold;\n  text-align: center;\n}\n.ui.statistics .statistic > .text.value + .label,\n.ui.statistic > .text.value + .label {\n  text-align: center;\n}\n\n/*--------------\n   Image Value\n---------------*/\n\n.ui.statistics .statistic > .value img,\n.ui.statistic > .value img {\n  max-height: 3rem;\n  vertical-align: baseline;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n      Count\n---------------*/\n\n.ui.ten.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.ten.statistics .statistic {\n  min-width: 10%;\n  margin: 0em 0em 2em;\n}\n.ui.nine.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.nine.statistics .statistic {\n  min-width: 11.11111111%;\n  margin: 0em 0em 2em;\n}\n.ui.eight.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.eight.statistics .statistic {\n  min-width: 12.5%;\n  margin: 0em 0em 2em;\n}\n.ui.seven.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.seven.statistics .statistic {\n  min-width: 14.28571429%;\n  margin: 0em 0em 2em;\n}\n.ui.six.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.six.statistics .statistic {\n  min-width: 16.66666667%;\n  margin: 0em 0em 2em;\n}\n.ui.five.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.five.statistics .statistic {\n  min-width: 20%;\n  margin: 0em 0em 2em;\n}\n.ui.four.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.four.statistics .statistic {\n  min-width: 25%;\n  margin: 0em 0em 2em;\n}\n.ui.three.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.three.statistics .statistic {\n  min-width: 33.33333333%;\n  margin: 0em 0em 2em;\n}\n.ui.two.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.two.statistics .statistic {\n  min-width: 50%;\n  margin: 0em 0em 2em;\n}\n.ui.one.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.one.statistics .statistic {\n  min-width: 100%;\n  margin: 0em 0em 2em;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.horizontal.statistics {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin: 0em;\n  max-width: none;\n}\n.ui.horizontal.statistics .statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  max-width: none;\n  margin: 1em 0em;\n}\n.ui.horizontal.statistic > .text.value,\n.ui.horizontal.statistics > .statistic > .text.value {\n  min-height: 0em !important;\n}\n.ui.horizontal.statistics .statistic > .value .icon,\n.ui.horizontal.statistic > .value .icon {\n  width: 1.18em;\n}\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  display: inline-block;\n  vertical-align: middle;\n}\n.ui.horizontal.statistics .statistic > .label,\n.ui.horizontal.statistic > .label {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0em 0em 0em 0.75em;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.red.statistics .statistic > .value,\n.ui.statistics .red.statistic > .value,\n.ui.red.statistic > .value {\n  color: #DB2828;\n}\n.ui.orange.statistics .statistic > .value,\n.ui.statistics .orange.statistic > .value,\n.ui.orange.statistic > .value {\n  color: #F2711C;\n}\n.ui.yellow.statistics .statistic > .value,\n.ui.statistics .yellow.statistic > .value,\n.ui.yellow.statistic > .value {\n  color: #FBBD08;\n}\n.ui.olive.statistics .statistic > .value,\n.ui.statistics .olive.statistic > .value,\n.ui.olive.statistic > .value {\n  color: #B5CC18;\n}\n.ui.green.statistics .statistic > .value,\n.ui.statistics .green.statistic > .value,\n.ui.green.statistic > .value {\n  color: #21BA45;\n}\n.ui.teal.statistics .statistic > .value,\n.ui.statistics .teal.statistic > .value,\n.ui.teal.statistic > .value {\n  color: #00B5AD;\n}\n.ui.blue.statistics .statistic > .value,\n.ui.statistics .blue.statistic > .value,\n.ui.blue.statistic > .value {\n  color: #2185D0;\n}\n.ui.violet.statistics .statistic > .value,\n.ui.statistics .violet.statistic > .value,\n.ui.violet.statistic > .value {\n  color: #6435C9;\n}\n.ui.purple.statistics .statistic > .value,\n.ui.statistics .purple.statistic > .value,\n.ui.purple.statistic > .value {\n  color: #A333C8;\n}\n.ui.pink.statistics .statistic > .value,\n.ui.statistics .pink.statistic > .value,\n.ui.pink.statistic > .value {\n  color: #E03997;\n}\n.ui.brown.statistics .statistic > .value,\n.ui.statistics .brown.statistic > .value,\n.ui.brown.statistic > .value {\n  color: #A5673F;\n}\n.ui.grey.statistics .statistic > .value,\n.ui.statistics .grey.statistic > .value,\n.ui.grey.statistic > .value {\n  color: #767676;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.statistics .statistic > .value,\n.ui.inverted.statistic .value {\n  color: #FFFFFF;\n}\n.ui.inverted.statistics .statistic > .label,\n.ui.inverted.statistic .label {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.red.statistics .statistic > .value,\n.ui.statistics .inverted.red.statistic > .value,\n.ui.inverted.red.statistic > .value {\n  color: #FF695E;\n}\n.ui.inverted.orange.statistics .statistic > .value,\n.ui.statistics .inverted.orange.statistic > .value,\n.ui.inverted.orange.statistic > .value {\n  color: #FF851B;\n}\n.ui.inverted.yellow.statistics .statistic > .value,\n.ui.statistics .inverted.yellow.statistic > .value,\n.ui.inverted.yellow.statistic > .value {\n  color: #FFE21F;\n}\n.ui.inverted.olive.statistics .statistic > .value,\n.ui.statistics .inverted.olive.statistic > .value,\n.ui.inverted.olive.statistic > .value {\n  color: #D9E778;\n}\n.ui.inverted.green.statistics .statistic > .value,\n.ui.statistics .inverted.green.statistic > .value,\n.ui.inverted.green.statistic > .value {\n  color: #2ECC40;\n}\n.ui.inverted.teal.statistics .statistic > .value,\n.ui.statistics .inverted.teal.statistic > .value,\n.ui.inverted.teal.statistic > .value {\n  color: #6DFFFF;\n}\n.ui.inverted.blue.statistics .statistic > .value,\n.ui.statistics .inverted.blue.statistic > .value,\n.ui.inverted.blue.statistic > .value {\n  color: #54C8FF;\n}\n.ui.inverted.violet.statistics .statistic > .value,\n.ui.statistics .inverted.violet.statistic > .value,\n.ui.inverted.violet.statistic > .value {\n  color: #A291FB;\n}\n.ui.inverted.purple.statistics .statistic > .value,\n.ui.statistics .inverted.purple.statistic > .value,\n.ui.inverted.purple.statistic > .value {\n  color: #DC73FF;\n}\n.ui.inverted.pink.statistics .statistic > .value,\n.ui.statistics .inverted.pink.statistic > .value,\n.ui.inverted.pink.statistic > .value {\n  color: #FF8EDF;\n}\n.ui.inverted.brown.statistics .statistic > .value,\n.ui.statistics .inverted.brown.statistic > .value,\n.ui.inverted.brown.statistic > .value {\n  color: #D67C1C;\n}\n.ui.inverted.grey.statistics .statistic > .value,\n.ui.statistics .inverted.grey.statistic > .value,\n.ui.inverted.grey.statistic > .value {\n  color: #DCDDDE;\n}\n\n/*--------------\n    Floated\n---------------*/\n\n.ui[class*=\"left floated\"].statistic {\n  float: left;\n  margin: 0em 2em 1em 0em;\n}\n.ui[class*=\"right floated\"].statistic {\n  float: right;\n  margin: 0em 0em 1em 2em;\n}\n.ui.floated.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n\n/* Mini */\n.ui.mini.statistics .statistic > .value,\n.ui.mini.statistic > .value {\n  font-size: 1.5rem;\n}\n.ui.mini.horizontal.statistics .statistic > .value,\n.ui.mini.horizontal.statistic > .value {\n  font-size: 1.5rem;\n}\n.ui.mini.statistics .statistic > .text.value,\n.ui.mini.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Tiny */\n.ui.tiny.statistics .statistic > .value,\n.ui.tiny.statistic > .value {\n  font-size: 2rem;\n}\n.ui.tiny.horizontal.statistics .statistic > .value,\n.ui.tiny.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n.ui.tiny.statistics .statistic > .text.value,\n.ui.tiny.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Small */\n.ui.small.statistics .statistic > .value,\n.ui.small.statistic > .value {\n  font-size: 3rem;\n}\n.ui.small.horizontal.statistics .statistic > .value,\n.ui.small.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n.ui.small.statistics .statistic > .text.value,\n.ui.small.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Medium */\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-size: 4rem;\n}\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  font-size: 3rem;\n}\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  font-size: 2rem;\n}\n\n/* Large */\n.ui.large.statistics .statistic > .value,\n.ui.large.statistic > .value {\n  font-size: 5rem;\n}\n.ui.large.horizontal.statistics .statistic > .value,\n.ui.large.horizontal.statistic > .value {\n  font-size: 4rem;\n}\n.ui.large.statistics .statistic > .text.value,\n.ui.large.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n/* Huge */\n.ui.huge.statistics .statistic > .value,\n.ui.huge.statistic > .value {\n  font-size: 6rem;\n}\n.ui.huge.horizontal.statistics .statistic > .value,\n.ui.huge.horizontal.statistic > .value {\n  font-size: 5rem;\n}\n.ui.huge.statistics .statistic > .text.value,\n.ui.huge.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/step.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Step\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Plural\n*******************************/\n\n.ui.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch;\n  margin: 1em 0em;\n  background: '';\n  box-shadow: none;\n  line-height: 1.14285714em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* First Steps */\n.ui.steps:first-child {\n  margin-top: 0em;\n}\n\n/* Last Steps */\n.ui.steps:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n           Singular\n*******************************/\n\n.ui.steps .step {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  vertical-align: middle;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  margin: 0em 0em;\n  padding: 1.14285714em 2em;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border-radius: 0em;\n  border: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n          transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n}\n\n/* Arrow */\n.ui.steps .step:after {\n  display: none;\n  position: absolute;\n  z-index: 2;\n  content: '';\n  top: 50%;\n  right: 0%;\n  border: medium none;\n  background-color: #FFFFFF;\n  width: 1.14285714em;\n  height: 1.14285714em;\n  border-style: solid;\n  border-color: rgba(34, 36, 38, 0.15);\n  border-width: 0px 1px 1px 0px;\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n          transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n      -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n          transform: translateY(-50%) translateX(50%) rotate(-45deg);\n}\n\n/* First Step */\n.ui.steps .step:first-child {\n  padding-left: 2em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n/* Last Step */\n.ui.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.steps .step:last-child {\n  border-right: none;\n  margin-right: 0em;\n}\n\n/* Only Step */\n.ui.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* Title */\n.ui.steps .step .title {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.14285714em;\n  font-weight: bold;\n}\n.ui.steps .step > .title {\n  width: 100%;\n}\n\n/* Description */\n.ui.steps .step .description {\n  font-weight: normal;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.steps .step > .description {\n  width: 100%;\n}\n.ui.steps .step .title ~ .description {\n  margin-top: 0.25em;\n}\n\n/* Icon */\n.ui.steps .step > .icon {\n  line-height: 1;\n  font-size: 2.5em;\n  margin: 0em 1rem 0em 0em;\n}\n.ui.steps .step > .icon,\n.ui.steps .step > .icon ~ .content {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n}\n.ui.steps .step > .icon ~ .content {\n  -webkit-box-flex: 1 0 auto;\n  -webkit-flex-grow: 1 0 auto;\n      -ms-flex-positive: 1 0 auto;\n          flex-grow: 1 0 auto;\n}\n\n/* Horizontal Icon */\n.ui.steps:not(.vertical) .step > .icon {\n  width: auto;\n}\n\n/* Link */\n.ui.steps .link.step,\n.ui.steps a.step {\n  cursor: pointer;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Ordered\n---------------*/\n\n.ui.ordered.steps {\n  counter-reset: ordered;\n}\n.ui.ordered.steps .step:before {\n  display: block;\n  position: static;\n  text-align: center;\n  content: counters(ordered, \".\");\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n  margin-right: 1rem;\n  font-size: 2.5em;\n  counter-increment: ordered;\n  font-family: inherit;\n  font-weight: bold;\n}\n.ui.ordered.steps .step > * {\n  display: block;\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  overflow: visible;\n}\n.ui.vertical.steps .step {\n  -webkit-box-pack: start;\n  -webkit-justify-content: flex-start;\n      -ms-flex-pack: start;\n          justify-content: flex-start;\n  border-radius: 0em;\n  padding: 1.14285714em 2em;\n  border-right: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.vertical.steps .step:first-child {\n  padding: 1.14285714em 2em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.vertical.steps .step:last-child {\n  border-bottom: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.vertical.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n/* Arrow */\n.ui.vertical.steps .step:after {\n  display: none;\n}\n.ui.vertical.steps .step:after {\n  top: 50%;\n  right: 0%;\n  border-width: 0px 1px 1px 0px;\n}\n.ui.vertical.steps .step:after {\n  display: none;\n}\n.ui.vertical.steps .active.step:after {\n  display: block;\n}\n.ui.vertical.steps .step:last-child:after {\n  display: none;\n}\n.ui.vertical.steps .active.step:last-child:after {\n  display: block;\n}\n\n/*---------------\n    Responsive\n----------------*/\n\n\n/* Mobile (Default) */\n@media only screen and (max-width: 767px) {\n  .ui.steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  .ui.steps .step {\n    width: 100% !important;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n  .ui.steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n  .ui.steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n  \n/* Arrow */\n  .ui.steps .step:after {\n    display: none !important;\n  }\n  \n/* Content */\n  .ui.steps .step .content {\n    text-align: center;\n  }\n  \n/* Icon */\n  .ui.steps .step > .icon,\n  .ui.ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/* Link Hover */\n.ui.steps .link.step:hover::after,\n.ui.steps .link.step:hover,\n.ui.steps a.step:hover::after,\n.ui.steps a.step:hover {\n  background: #F9FAFB;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Link Down */\n.ui.steps .link.step:active::after,\n.ui.steps .link.step:active,\n.ui.steps a.step:active::after,\n.ui.steps a.step:active {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.9);\n}\n\n/* Active */\n.ui.steps .step.active {\n  cursor: auto;\n  background: #F3F4F5;\n}\n.ui.steps .step.active:after {\n  background: #F3F4F5;\n}\n.ui.steps .step.active .title {\n  color: #4183C4;\n}\n.ui.ordered.steps .step.active:before,\n.ui.steps .active.step .icon {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Active Arrow */\n.ui.steps .step:after {\n  display: block;\n}\n.ui.steps .active.step:after {\n  display: block;\n}\n.ui.steps .step:last-child:after {\n  display: none;\n}\n.ui.steps .active.step:last-child:after {\n  display: none;\n}\n\n/* Active Hover */\n.ui.steps .link.active.step:hover::after,\n.ui.steps .link.active.step:hover,\n.ui.steps a.active.step:hover::after,\n.ui.steps a.active.step:hover {\n  cursor: pointer;\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Completed */\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  color: #21BA45;\n}\n\n/* Disabled */\n.ui.steps .disabled.step {\n  cursor: auto;\n  background: #FFFFFF;\n  pointer-events: none;\n}\n.ui.steps .disabled.step,\n.ui.steps .disabled.step .title,\n.ui.steps .disabled.step .description {\n  color: rgba(40, 40, 40, 0.3);\n}\n.ui.steps .disabled.step:after {\n  background: #FFFFFF;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n   Stackable\n---------------*/\n\n\n/* Tablet Or Below */\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  \n/* Steps */\n  .ui[class*=\"tablet stackable\"].steps .step {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n  .ui[class*=\"tablet stackable\"].steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n  .ui[class*=\"tablet stackable\"].steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n  \n/* Arrow */\n  .ui[class*=\"tablet stackable\"].steps .step:after {\n    display: none !important;\n  }\n  \n/* Content */\n  .ui[class*=\"tablet stackable\"].steps .step .content {\n    text-align: center;\n  }\n  \n/* Icon */\n  .ui[class*=\"tablet stackable\"].steps .step > .icon,\n  .ui[class*=\"tablet stackable\"].ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n\n/* Fluid */\n.ui.fluid.steps {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n\n/* Top */\n.ui.attached.steps {\n  width: calc(100% +  2px ) !important;\n  margin: 0em -1px -1px;\n  max-width: calc(100% +  2px );\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.attached.steps .step:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui.attached.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n.ui.bottom.attached.steps {\n  margin: -1px -1px 0em;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.bottom.attached.steps .step:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n.ui.bottom.attached.steps .step:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/*-------------------\n    Evenly Divided\n--------------------*/\n\n.ui.one.steps,\n.ui.two.steps,\n.ui.three.steps,\n.ui.four.steps,\n.ui.five.steps,\n.ui.six.steps,\n.ui.seven.steps,\n.ui.eight.steps {\n  width: 100%;\n}\n.ui.one.steps > .step,\n.ui.two.steps > .step,\n.ui.three.steps > .step,\n.ui.four.steps > .step,\n.ui.five.steps > .step,\n.ui.six.steps > .step,\n.ui.seven.steps > .step,\n.ui.eight.steps > .step {\n  -webkit-flex-wrap: nowrap;\n      -ms-flex-wrap: nowrap;\n          flex-wrap: nowrap;\n}\n.ui.one.steps > .step {\n  width: 100%;\n}\n.ui.two.steps > .step {\n  width: 50%;\n}\n.ui.three.steps > .step {\n  width: 33.333%;\n}\n.ui.four.steps > .step {\n  width: 25%;\n}\n.ui.five.steps > .step {\n  width: 20%;\n}\n.ui.six.steps > .step {\n  width: 16.666%;\n}\n.ui.seven.steps > .step {\n  width: 14.285%;\n}\n.ui.eight.steps > .step {\n  width: 12.500%;\n}\n\n/*-------------------\n       Sizes\n--------------------*/\n\n.ui.small.step,\n.ui.small.steps .step {\n  font-size: 0.92857143rem;\n}\n.ui.step,\n.ui.steps .step {\n  font-size: 1rem;\n}\n.ui.large.step,\n.ui.large.steps .step {\n  font-size: 1.14285714rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Step';\n  src: url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff');\n}\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  font-family: 'Step';\n  content: '\\e800';\n  \n/* '' */\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/sticky.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Sticky\n*******************************/\n\n.ui.sticky {\n  position: static;\n  -webkit-transition: none;\n          transition: none;\n  z-index: 800;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/* Bound */\n.ui.sticky.bound {\n  position: absolute;\n  left: auto;\n  right: auto;\n}\n\n/* Fixed */\n.ui.sticky.fixed {\n  position: fixed;\n  left: auto;\n  right: auto;\n}\n\n/* Bound/Fixed Position */\n.ui.sticky.bound.top,\n.ui.sticky.fixed.top {\n  top: 0px;\n  bottom: auto;\n}\n.ui.sticky.bound.bottom,\n.ui.sticky.fixed.bottom {\n  top: auto;\n  bottom: 0px;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n.ui.native.sticky {\n  position: -webkit-sticky;\n  position: -moz-sticky;\n  position: -ms-sticky;\n  position: -o-sticky;\n  position: sticky;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/sticky.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sticky = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings              = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sticky.settings, parameters)\n          : $.extend({}, $.fn.sticky.settings),\n\n        className             = settings.className,\n        namespace             = settings.namespace,\n        error                 = settings.error,\n\n        eventNamespace        = '.' + namespace,\n        moduleNamespace       = 'module-' + namespace,\n\n        $module               = $(this),\n        $window               = $(window),\n        $scroll               = $(settings.scrollContext),\n        $container,\n        $context,\n\n        selector              = $module.selector || '',\n        instance              = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        observer,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          module.determineContainer();\n          module.determineContext();\n          module.verbose('Initializing sticky', settings, $container);\n\n          module.save.positions();\n          module.checkErrors();\n          module.bind.events();\n\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance');\n          module.reset();\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load' + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $scroll\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module.removeData(moduleNamespace);\n        },\n\n        observeChanges: function() {\n          var\n            context = $context[0]\n          ;\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu', mutations);\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            observer.observe(context, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        determineContainer: function() {\n          $container = $module.offsetParent();\n        },\n\n        determineContext: function() {\n          if(settings.context) {\n            $context = $(settings.context);\n          }\n          else {\n            $context = $container;\n          }\n          if($context.length === 0) {\n            module.error(error.invalidContext, settings.context, $module);\n            return;\n          }\n        },\n\n        checkErrors: function() {\n          if( module.is.hidden() ) {\n            module.error(error.visible, $module);\n          }\n          if(module.cache.element.height > module.cache.context.height) {\n            module.reset();\n            module.error(error.elementSize, $module);\n            return;\n          }\n        },\n\n        bind: {\n          events: function() {\n            $window\n              .on('load' + eventNamespace, module.event.load)\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $scroll\n              .off('scroll' + eventNamespace)\n              .on('scroll' + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          load: function() {\n            module.verbose('Page contents finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          resize: function() {\n            module.verbose('Window resized');\n            requestAnimationFrame(module.refresh);\n          },\n          scroll: function() {\n            requestAnimationFrame(function() {\n              $scroll.triggerHandler('scrollchange' + eventNamespace, $scroll.scrollTop() );\n            });\n          },\n          scrollchange: function(event, scrollPosition) {\n            module.stick(scrollPosition);\n            settings.onScroll.call(element);\n          }\n        },\n\n        refresh: function(hardRefresh) {\n          module.reset();\n          if(!settings.context) {\n            module.determineContext();\n          }\n          if(hardRefresh) {\n            module.determineContainer();\n          }\n          module.save.positions();\n          module.stick();\n          settings.onReposition.call(element);\n        },\n\n        supports: {\n          sticky: function() {\n            var\n              $element = $('<div/>'),\n              element = $element[0]\n            ;\n            $element.addClass(className.supported);\n            return($element.css('position').match('sticky'));\n          }\n        },\n\n        save: {\n          lastScroll: function(scroll) {\n            module.lastScroll = scroll;\n          },\n          elementScroll: function(scroll) {\n            module.elementScroll = scroll;\n          },\n          positions: function() {\n            var\n              scrollContext = {\n                height : $scroll.height()\n              },\n              element = {\n                margin: {\n                  top    : parseInt($module.css('margin-top'), 10),\n                  bottom : parseInt($module.css('margin-bottom'), 10),\n                },\n                offset : $module.offset(),\n                width  : $module.outerWidth(),\n                height : $module.outerHeight()\n              },\n              context = {\n                offset : $context.offset(),\n                height : $context.outerHeight()\n              },\n              container = {\n                height: $container.outerHeight()\n              }\n            ;\n            if( !module.is.standardScroll() ) {\n              module.debug('Non-standard scroll. Removing scroll offset from element offset');\n\n              scrollContext.top  = $scroll.scrollTop();\n              scrollContext.left = $scroll.scrollLeft();\n\n              element.offset.top  += scrollContext.top;\n              context.offset.top  += scrollContext.top;\n              element.offset.left += scrollContext.left;\n              context.offset.left += scrollContext.left;\n            }\n            module.cache = {\n              fits : ( element.height < scrollContext.height ),\n              scrollContext : {\n                height : scrollContext.height\n              },\n              element: {\n                margin : element.margin,\n                top    : element.offset.top - element.margin.top,\n                left   : element.offset.left,\n                width  : element.width,\n                height : element.height,\n                bottom : element.offset.top + element.height\n              },\n              context: {\n                top           : context.offset.top,\n                height        : context.height,\n                bottom        : context.offset.top + context.height\n              }\n            };\n            module.set.containerSize();\n            module.set.size();\n            module.stick();\n            module.debug('Caching element positions', module.cache);\n          }\n        },\n\n        get: {\n          direction: function(scroll) {\n            var\n              direction = 'down'\n            ;\n            scroll = scroll || $scroll.scrollTop();\n            if(module.lastScroll !== undefined) {\n              if(module.lastScroll < scroll) {\n                direction = 'down';\n              }\n              else if(module.lastScroll > scroll) {\n                direction = 'up';\n              }\n            }\n            return direction;\n          },\n          scrollChange: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            return (module.lastScroll)\n              ? (scroll - module.lastScroll)\n              : 0\n            ;\n          },\n          currentElementScroll: function() {\n            if(module.elementScroll) {\n              return module.elementScroll;\n            }\n            return ( module.is.top() )\n              ? Math.abs(parseInt($module.css('top'), 10))    || 0\n              : Math.abs(parseInt($module.css('bottom'), 10)) || 0\n            ;\n          },\n\n          elementScroll: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            var\n              element        = module.cache.element,\n              scrollContext  = module.cache.scrollContext,\n              delta          = module.get.scrollChange(scroll),\n              maxScroll      = (element.height - scrollContext.height + settings.offset),\n              elementScroll  = module.get.currentElementScroll(),\n              possibleScroll = (elementScroll + delta)\n            ;\n            if(module.cache.fits || possibleScroll < 0) {\n              elementScroll = 0;\n            }\n            else if(possibleScroll > maxScroll ) {\n              elementScroll = maxScroll;\n            }\n            else {\n              elementScroll = possibleScroll;\n            }\n            return elementScroll;\n          }\n        },\n\n        remove: {\n          lastScroll: function() {\n            delete module.lastScroll;\n          },\n          elementScroll: function(scroll) {\n            delete module.elementScroll;\n          },\n          offset: function() {\n            $module.css('margin-top', '');\n          }\n        },\n\n        set: {\n          offset: function() {\n            module.verbose('Setting offset on element', settings.offset);\n            $module\n              .css('margin-top', settings.offset)\n            ;\n          },\n          containerSize: function() {\n            var\n              tagName = $container.get(0).tagName\n            ;\n            if(tagName === 'HTML' || tagName == 'body') {\n              // this can trigger for too many reasons\n              //module.error(error.container, tagName, $module);\n              module.determineContainer();\n            }\n            else {\n              if( Math.abs($container.outerHeight() - module.cache.context.height) > settings.jitter) {\n                module.debug('Context has padding, specifying exact height for container', module.cache.context.height);\n                $container.css({\n                  height: module.cache.context.height\n                });\n              }\n            }\n          },\n          minimumSize: function() {\n            var\n              element   = module.cache.element\n            ;\n            $container\n              .css('min-height', element.height)\n            ;\n          },\n          scroll: function(scroll) {\n            module.debug('Setting scroll on element', scroll);\n            if(module.elementScroll == scroll) {\n              return;\n            }\n            if( module.is.top() ) {\n              $module\n                .css('bottom', '')\n                .css('top', -scroll)\n              ;\n            }\n            if( module.is.bottom() ) {\n              $module\n                .css('top', '')\n                .css('bottom', scroll)\n              ;\n            }\n          },\n          size: function() {\n            if(module.cache.element.height !== 0 && module.cache.element.width !== 0) {\n              element.style.setProperty('width',  module.cache.element.width  + 'px', 'important');\n              element.style.setProperty('height', module.cache.element.height + 'px', 'important');\n            }\n          }\n        },\n\n        is: {\n          standardScroll: function() {\n            return ($scroll[0] == window);\n          },\n          top: function() {\n            return $module.hasClass(className.top);\n          },\n          bottom: function() {\n            return $module.hasClass(className.bottom);\n          },\n          initialPosition: function() {\n            return (!module.is.fixed() && !module.is.bound());\n          },\n          hidden: function() {\n            return (!$module.is(':visible'));\n          },\n          bound: function() {\n            return $module.hasClass(className.bound);\n          },\n          fixed: function() {\n            return $module.hasClass(className.fixed);\n          }\n        },\n\n        stick: function(scroll) {\n          var\n            cachedPosition = scroll || $scroll.scrollTop(),\n            cache          = module.cache,\n            fits           = cache.fits,\n            element        = cache.element,\n            scrollContext  = cache.scrollContext,\n            context        = cache.context,\n            offset         = (module.is.bottom() && settings.pushing)\n              ? settings.bottomOffset\n              : settings.offset,\n            scroll         = {\n              top    : cachedPosition + offset,\n              bottom : cachedPosition + offset + scrollContext.height\n            },\n            direction      = module.get.direction(scroll.top),\n            elementScroll  = (fits)\n              ? 0\n              : module.get.elementScroll(scroll.top),\n\n            // shorthand\n            doesntFit      = !fits,\n            elementVisible = (element.height !== 0)\n          ;\n\n          if(elementVisible) {\n\n            if( module.is.initialPosition() ) {\n              if(scroll.top >= context.bottom) {\n                module.debug('Initial element position is bottom of container');\n                module.bindBottom();\n              }\n              else if(scroll.top > element.top) {\n                if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Initial element position is bottom of container');\n                  module.bindBottom();\n                }\n                else {\n                  module.debug('Initial element position is fixed');\n                  module.fixTop();\n                }\n              }\n\n            }\n            else if( module.is.fixed() ) {\n\n              // currently fixed top\n              if( module.is.top() ) {\n                if( scroll.top <= element.top ) {\n                  module.debug('Fixed element reached top of container');\n                  module.setInitialPosition();\n                }\n                else if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Fixed element reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n              }\n\n              // currently fixed bottom\n              else if(module.is.bottom() ) {\n\n                // top edge\n                if( (scroll.bottom - element.height) <= element.top) {\n                  module.debug('Bottom fixed rail has reached top of container');\n                  module.setInitialPosition();\n                }\n                // bottom edge\n                else if(scroll.bottom >= context.bottom) {\n                  module.debug('Bottom fixed rail has reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n\n              }\n            }\n            else if( module.is.bottom() ) {\n              if( scroll.top <= element.top ) {\n                module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button');\n                module.setInitialPosition();\n              }\n              else {\n                if(settings.pushing) {\n                  if(module.is.bound() && scroll.bottom <= context.bottom ) {\n                    module.debug('Fixing bottom attached element to bottom of browser.');\n                    module.fixBottom();\n                  }\n                }\n                else {\n                  if(module.is.bound() && (scroll.top <= context.bottom - element.height) ) {\n                    module.debug('Fixing bottom attached element to top of browser.');\n                    module.fixTop();\n                  }\n                }\n              }\n            }\n          }\n        },\n\n        bindTop: function() {\n          module.debug('Binding element to top of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : '',\n              marginBottom : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.bottom)\n            .addClass(className.bound)\n            .addClass(className.top)\n          ;\n          settings.onTop.call(element);\n          settings.onUnstick.call(element);\n        },\n        bindBottom: function() {\n          module.debug('Binding element to bottom of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.top)\n            .addClass(className.bound)\n            .addClass(className.bottom)\n          ;\n          settings.onBottom.call(element);\n          settings.onUnstick.call(element);\n        },\n\n        setInitialPosition: function() {\n          module.debug('Returning to initial position');\n          module.unfix();\n          module.unbind();\n        },\n\n\n        fixTop: function() {\n          module.debug('Fixing element to top of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.bottom)\n            .addClass(className.fixed)\n            .addClass(className.top)\n          ;\n          settings.onStick.call(element);\n        },\n\n        fixBottom: function() {\n          module.debug('Sticking element to bottom of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.top)\n            .addClass(className.fixed)\n            .addClass(className.bottom)\n          ;\n          settings.onStick.call(element);\n        },\n\n        unbind: function() {\n          if( module.is.bound() ) {\n            module.debug('Removing container bound position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.bound)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n          }\n        },\n\n        unfix: function() {\n          if( module.is.fixed() ) {\n            module.debug('Removing fixed position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.fixed)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n            settings.onUnstick.call(element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Reseting elements position');\n          module.unbind();\n          module.unfix();\n          module.resetCSS();\n          module.remove.offset();\n          module.remove.lastScroll();\n        },\n\n        resetCSS: function() {\n          $module\n            .css({\n              width  : '',\n              height : ''\n            })\n          ;\n          $container\n            .css({\n              height: ''\n            })\n          ;\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 0);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sticky.settings = {\n\n  name           : 'Sticky',\n  namespace      : 'sticky',\n\n  debug          : false,\n  verbose        : true,\n  performance    : true,\n\n  // whether to stick in the opposite direction on scroll up\n  pushing        : false,\n\n  context        : false,\n\n  // Context to watch scroll events\n  scrollContext  : window,\n\n  // Offset to adjust scroll\n  offset         : 0,\n\n  // Offset to adjust scroll when attached to bottom of screen\n  bottomOffset   : 0,\n\n  jitter         : 5, // will only set container height if difference between context and container is larger than this number\n\n  // Whether to automatically observe changes with Mutation Observers\n  observeChanges : false,\n\n  // Called when position is recalculated\n  onReposition   : function(){},\n\n  // Called on each scroll\n  onScroll       : function(){},\n\n  // Called when element is stuck to viewport\n  onStick        : function(){},\n\n  // Called when element is unstuck from viewport\n  onUnstick      : function(){},\n\n  // Called when element reaches top of context\n  onTop          : function(){},\n\n  // Called when element reaches bottom of context\n  onBottom       : function(){},\n\n  error         : {\n    container      : 'Sticky element must be inside a relative container',\n    visible        : 'Element is hidden, you must call refresh after element becomes visible',\n    method         : 'The method you called is not defined.',\n    invalidContext : 'Context specified does not exist',\n    elementSize    : 'Sticky element is larger than its container, cannot create sticky.'\n  },\n\n  className : {\n    bound     : 'bound',\n    fixed     : 'fixed',\n    supported : 'native',\n    top       : 'top',\n    bottom    : 'bottom'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/tab.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           UI Tabs\n*******************************/\n\n.ui.tab {\n  display: none;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------------\n       Active\n---------------------*/\n\n.ui.tab.active,\n.ui.tab.open {\n  display: block;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.tab.loading {\n  position: relative;\n  overflow: hidden;\n  display: block;\n  min-height: 250px;\n}\n.ui.tab.loading * {\n  position: relative !important;\n  left: -10000px !important;\n}\n.ui.tab.loading:before,\n.ui.tab.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.tab.loading:after,\n.ui.tab.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n\n/*******************************\n         Tab Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/tab.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.tab = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n\n    moduleSelector  = $allModules.selector || '',\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    initializedHistory = false,\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.tab.settings, parameters)\n          : $.extend({}, $.fn.tab.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + settings.namespace,\n        moduleNamespace = 'module-' + settings.namespace,\n\n        $module         = $(this),\n        $context,\n        $tabs,\n\n        cache           = {},\n        firstLoad       = true,\n        recursionDepth  = 0,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        activeTabPath,\n        parameterArray,\n        module,\n\n        historyEvent\n\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing tab menu item', $module);\n          module.fix.callbacks();\n          module.determineTabs();\n\n          module.debug('Determining tabs', settings.context, $tabs);\n          // set up automatic routing\n          if(settings.auto) {\n            module.set.auto();\n          }\n          module.bind.events();\n\n          if(settings.history && !initializedHistory) {\n            module.initializeHistory();\n            initializedHistory = true;\n          }\n\n          module.instantiate();\n        },\n\n        instantiate: function () {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying tabs', $module);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            // if using $.tab don't add events\n            if( !$.isWindow( element ) ) {\n              module.debug('Attaching tab activation events to element', $module);\n              $module\n                .on('click' + eventNamespace, module.event.click)\n              ;\n            }\n          }\n        },\n\n        determineTabs: function() {\n          var\n            $reference\n          ;\n\n          // determine tab context\n          if(settings.context === 'parent') {\n            if($module.closest(selector.ui).length > 0) {\n              $reference = $module.closest(selector.ui);\n              module.verbose('Using closest UI element as parent', $reference);\n            }\n            else {\n              $reference = $module;\n            }\n            $context = $reference.parent();\n            module.verbose('Determined parent element for creating context', $context);\n          }\n          else if(settings.context) {\n            $context = $(settings.context);\n            module.verbose('Using selector for tab context', settings.context, $context);\n          }\n          else {\n            $context = $('body');\n          }\n          // find tabs\n          if(settings.childrenOnly) {\n            $tabs = $context.children(selector.tabs);\n            module.debug('Searching tab context children for tabs', $context, $tabs);\n          }\n          else {\n            $tabs = $context.find(selector.tabs);\n            module.debug('Searching tab context for tabs', $context, $tabs);\n          }\n        },\n\n        fix: {\n          callbacks: function() {\n            if( $.isPlainObject(parameters) && (parameters.onTabLoad || parameters.onTabInit) ) {\n              if(parameters.onTabLoad) {\n                parameters.onLoad = parameters.onTabLoad;\n                delete parameters.onTabLoad;\n                module.error(error.legacyLoad, parameters.onLoad);\n              }\n              if(parameters.onTabInit) {\n                parameters.onFirstLoad = parameters.onTabInit;\n                delete parameters.onTabInit;\n                module.error(error.legacyInit, parameters.onFirstLoad);\n              }\n              settings = $.extend(true, {}, $.fn.tab.settings, parameters);\n            }\n          }\n        },\n\n        initializeHistory: function() {\n          module.debug('Initializing page state');\n          if( $.address === undefined ) {\n            module.error(error.state);\n            return false;\n          }\n          else {\n            if(settings.historyType == 'state') {\n              module.debug('Using HTML5 to manage state');\n              if(settings.path !== false) {\n                $.address\n                  .history(true)\n                  .state(settings.path)\n                ;\n              }\n              else {\n                module.error(error.path);\n                return false;\n              }\n            }\n            $.address\n              .bind('change', module.event.history.change)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              tabPath = $(this).data(metadata.tab)\n            ;\n            if(tabPath !== undefined) {\n              if(settings.history) {\n                module.verbose('Updating page state', event);\n                $.address.value(tabPath);\n              }\n              else {\n                module.verbose('Changing tab', event);\n                module.changeTab(tabPath);\n              }\n              event.preventDefault();\n            }\n            else {\n              module.debug('No tab specified');\n            }\n          },\n          history: {\n            change: function(event) {\n              var\n                tabPath   = event.pathNames.join('/') || module.get.initialPath(),\n                pageTitle = settings.templates.determineTitle(tabPath) || false\n              ;\n              module.performance.display();\n              module.debug('History change event', tabPath, event);\n              historyEvent = event;\n              if(tabPath !== undefined) {\n                module.changeTab(tabPath);\n              }\n              if(pageTitle) {\n                $.address.title(pageTitle);\n              }\n            }\n          }\n        },\n\n        refresh: function() {\n          if(activeTabPath) {\n            module.debug('Refreshing tab', activeTabPath);\n            module.changeTab(activeTabPath);\n          }\n        },\n\n        cache: {\n\n          read: function(cacheKey) {\n            return (cacheKey !== undefined)\n              ? cache[cacheKey]\n              : false\n            ;\n          },\n          add: function(cacheKey, content) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Adding cached content for', cacheKey);\n            cache[cacheKey] = content;\n          },\n          remove: function(cacheKey) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Removing cached content for', cacheKey);\n            delete cache[cacheKey];\n          }\n        },\n\n        set: {\n          auto: function() {\n            var\n              url = (typeof settings.path == 'string')\n                ? settings.path.replace(/\\/$/, '') + '/{$tab}'\n                : '/{$tab}'\n            ;\n            module.verbose('Setting up automatic tab retrieval from server', url);\n            if($.isPlainObject(settings.apiSettings)) {\n              settings.apiSettings.url = url;\n            }\n            else {\n              settings.apiSettings = {\n                url: url\n              };\n            }\n          },\n          loading: function(tabPath) {\n            var\n              $tab      = module.get.tabElement(tabPath),\n              isLoading = $tab.hasClass(className.loading)\n            ;\n            if(!isLoading) {\n              module.verbose('Setting loading state for', $tab);\n              $tab\n                .addClass(className.loading)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onRequest.call($tab[0], tabPath);\n              }\n            }\n          },\n          state: function(state) {\n            $.address.value(state);\n          }\n        },\n\n        changeTab: function(tabPath) {\n          var\n            pushStateAvailable = (window.history && window.history.pushState),\n            shouldIgnoreLoad   = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad),\n            remoteContent      = (settings.auto || $.isPlainObject(settings.apiSettings) ),\n            // only add default path if not remote content\n            pathArray = (remoteContent && !shouldIgnoreLoad)\n              ? module.utilities.pathToArray(tabPath)\n              : module.get.defaultPathArray(tabPath)\n          ;\n          tabPath = module.utilities.arrayToPath(pathArray);\n          $.each(pathArray, function(index, tab) {\n            var\n              currentPathArray   = pathArray.slice(0, index + 1),\n              currentPath        = module.utilities.arrayToPath(currentPathArray),\n\n              isTab              = module.is.tab(currentPath),\n              isLastIndex        = (index + 1 == pathArray.length),\n\n              $tab               = module.get.tabElement(currentPath),\n              $anchor,\n              nextPathArray,\n              nextPath,\n              isLastTab\n            ;\n            module.verbose('Looking for tab', tab);\n            if(isTab) {\n              module.verbose('Tab was found', tab);\n              // scope up\n              activeTabPath  = currentPath;\n              parameterArray = module.utilities.filterArray(pathArray, currentPathArray);\n\n              if(isLastIndex) {\n                isLastTab = true;\n              }\n              else {\n                nextPathArray = pathArray.slice(0, index + 2);\n                nextPath      = module.utilities.arrayToPath(nextPathArray);\n                isLastTab     = ( !module.is.tab(nextPath) );\n                if(isLastTab) {\n                  module.verbose('Tab parameters found', nextPathArray);\n                }\n              }\n              if(isLastTab && remoteContent) {\n                if(!shouldIgnoreLoad) {\n                  module.activate.navigation(currentPath);\n                  module.fetch.content(currentPath, tabPath);\n                }\n                else {\n                  module.debug('Ignoring remote content on first tab load', currentPath);\n                  firstLoad = false;\n                  module.cache.add(tabPath, $tab.html());\n                  module.activate.all(currentPath);\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                return false;\n              }\n              else {\n                module.debug('Opened local tab', currentPath);\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n              }\n\n            }\n            else if(tabPath.search('/') == -1 && tabPath !== '') {\n              // look for in page anchor\n              $anchor     = $('#' + tabPath + ', a[name=\"' + tabPath + '\"]');\n              currentPath = $anchor.closest('[data-tab]').data(metadata.tab);\n              $tab        = module.get.tabElement(currentPath);\n              // if anchor exists use parent tab\n              if($anchor && $anchor.length > 0 && currentPath) {\n                module.debug('Anchor link used, opening parent tab', $tab, $anchor);\n                if( !$tab.hasClass(className.active) ) {\n                  setTimeout(function() {\n                    module.scrollTo($anchor);\n                  }, 0);\n                }\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                return false;\n              }\n            }\n            else {\n              module.error(error.missingTab, $module, $context, currentPath);\n              return false;\n            }\n          });\n        },\n\n        scrollTo: function($element) {\n          var\n            scrollOffset = ($element && $element.length > 0)\n              ? $element.offset().top\n              : false\n          ;\n          if(scrollOffset !== false) {\n            module.debug('Forcing scroll to an in-page link in a hidden tab', scrollOffset, $element);\n            $(document).scrollTop(scrollOffset);\n          }\n        },\n\n        update: {\n          content: function(tabPath, html, evaluateScripts) {\n            var\n              $tab = module.get.tabElement(tabPath),\n              tab  = $tab[0]\n            ;\n            evaluateScripts = (evaluateScripts !== undefined)\n              ? evaluateScripts\n              : settings.evaluateScripts\n            ;\n            if(evaluateScripts) {\n              module.debug('Updating HTML and evaluating inline scripts', tabPath, html);\n              $tab.html(html);\n            }\n            else {\n              module.debug('Updating HTML', tabPath, html);\n              tab.innerHTML = html;\n            }\n          }\n        },\n\n        fetch: {\n\n          content: function(tabPath, fullTabPath) {\n            var\n              $tab        = module.get.tabElement(tabPath),\n              apiSettings = {\n                dataType         : 'html',\n                encodeParameters : false,\n                on               : 'now',\n                cache            : settings.alwaysRefresh,\n                headers          : {\n                  'X-Remote': true\n                },\n                onSuccess : function(response) {\n                  module.cache.add(fullTabPath, response);\n                  module.update.content(tabPath, response);\n                  if(tabPath == activeTabPath) {\n                    module.debug('Content loaded', tabPath);\n                    module.activate.tab(tabPath);\n                  }\n                  else {\n                    module.debug('Content loaded in background', tabPath);\n                  }\n                  settings.onFirstLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                },\n                urlData: {\n                  tab: fullTabPath\n                }\n              },\n              request         = $tab.api('get request') || false,\n              existingRequest = ( request && request.state() === 'pending' ),\n              requestSettings,\n              cachedContent\n            ;\n\n            fullTabPath   = fullTabPath || tabPath;\n            cachedContent = module.cache.read(fullTabPath);\n\n\n            if(settings.cache && cachedContent) {\n              module.activate.tab(tabPath);\n              module.debug('Adding cached content', fullTabPath);\n              if(settings.evaluateScripts == 'once') {\n                module.update.content(tabPath, cachedContent, false);\n              }\n              else {\n                module.update.content(tabPath, cachedContent);\n              }\n              settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n            }\n            else if(existingRequest) {\n              module.set.loading(tabPath);\n              module.debug('Content is already loading', fullTabPath);\n            }\n            else if($.api !== undefined) {\n              requestSettings = $.extend(true, {}, settings.apiSettings, apiSettings);\n              module.debug('Retrieving remote content', fullTabPath, requestSettings);\n              module.set.loading(tabPath);\n              $tab.api(requestSettings);\n            }\n            else {\n              module.error(error.api);\n            }\n          }\n        },\n\n        activate: {\n          all: function(tabPath) {\n            module.activate.tab(tabPath);\n            module.activate.navigation(tabPath);\n          },\n          tab: function(tabPath) {\n            var\n              $tab     = module.get.tabElement(tabPath),\n              isActive = $tab.hasClass(className.active)\n            ;\n            module.verbose('Showing tab content for', $tab);\n            if(!isActive) {\n              $tab\n                .addClass(className.active)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onVisible.call($tab[0], tabPath);\n              }\n            }\n          },\n          navigation: function(tabPath) {\n            var\n              $navigation = module.get.navElement(tabPath),\n              isActive    = $navigation.hasClass(className.active)\n            ;\n            module.verbose('Activating tab navigation for', $navigation, tabPath);\n            if(!isActive) {\n              $navigation\n                .addClass(className.active)\n                .siblings($allModules)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n            }\n          }\n        },\n\n        deactivate: {\n          all: function() {\n            module.deactivate.navigation();\n            module.deactivate.tabs();\n          },\n          navigation: function() {\n            $allModules\n              .removeClass(className.active)\n            ;\n          },\n          tabs: function() {\n            $tabs\n              .removeClass(className.active + ' ' + className.loading)\n            ;\n          }\n        },\n\n        is: {\n          tab: function(tabName) {\n            return (tabName !== undefined)\n              ? ( module.get.tabElement(tabName).length > 0 )\n              : false\n            ;\n          }\n        },\n\n        get: {\n          initialPath: function() {\n            return $allModules.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab);\n          },\n          path: function() {\n            return $.address.value();\n          },\n          // adds default tabs to tab path\n          defaultPathArray: function(tabPath) {\n            return module.utilities.pathToArray( module.get.defaultPath(tabPath) );\n          },\n          defaultPath: function(tabPath) {\n            var\n              $defaultNav = $allModules.filter('[data-' + metadata.tab + '^=\"' + tabPath + '/\"]').eq(0),\n              defaultTab  = $defaultNav.data(metadata.tab) || false\n            ;\n            if( defaultTab ) {\n              module.debug('Found default tab', defaultTab);\n              if(recursionDepth < settings.maxDepth) {\n                recursionDepth++;\n                return module.get.defaultPath(defaultTab);\n              }\n              module.error(error.recursion);\n            }\n            else {\n              module.debug('No default tabs found for', tabPath, $tabs);\n            }\n            recursionDepth = 0;\n            return tabPath;\n          },\n          navElement: function(tabPath) {\n            tabPath = tabPath || activeTabPath;\n            return $allModules.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n          },\n          tabElement: function(tabPath) {\n            var\n              $fullPathTab,\n              $simplePathTab,\n              tabPathArray,\n              lastTab\n            ;\n            tabPath        = tabPath || activeTabPath;\n            tabPathArray   = module.utilities.pathToArray(tabPath);\n            lastTab        = module.utilities.last(tabPathArray);\n            $fullPathTab   = $tabs.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n            $simplePathTab = $tabs.filter('[data-' + metadata.tab + '=\"' + lastTab + '\"]');\n            return ($fullPathTab.length > 0)\n              ? $fullPathTab\n              : $simplePathTab\n            ;\n          },\n          tab: function() {\n            return activeTabPath;\n          }\n        },\n\n        utilities: {\n          filterArray: function(keepArray, removeArray) {\n            return $.grep(keepArray, function(keepValue) {\n              return ( $.inArray(keepValue, removeArray) == -1);\n            });\n          },\n          last: function(array) {\n            return $.isArray(array)\n              ? array[ array.length - 1]\n              : false\n            ;\n          },\n          pathToArray: function(pathName) {\n            if(pathName === undefined) {\n              pathName = activeTabPath;\n            }\n            return typeof pathName == 'string'\n              ? pathName.split('/')\n              : [pathName]\n            ;\n          },\n          arrayToPath: function(pathArray) {\n            return $.isArray(pathArray)\n              ? pathArray.join('/')\n              : false\n            ;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n\n};\n\n// shortcut for tabbed content with no defined navigation\n$.tab = function() {\n  $(window).tab.apply(this, arguments);\n};\n\n$.fn.tab.settings = {\n\n  name            : 'Tab',\n  namespace       : 'tab',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  auto            : false,  // uses pjax style endpoints fetching content from same url with remote-content headers\n  history         : false,  // use browser history\n  historyType     : 'hash', // #/ or html5 state\n  path            : false,  // base path of url\n\n  context         : false,  // specify a context that tabs must appear inside\n  childrenOnly    : false,  // use only tabs that are children of context\n  maxDepth        : 25,     // max depth a tab can be nested\n\n  alwaysRefresh   : false,  // load tab content new every tab click\n  cache           : true,   // cache the content requests to pull locally\n  ignoreFirstLoad : false,  // don't load remote content on first load\n\n  apiSettings     : false,  // settings for api call\n  evaluateScripts : 'once', // whether inline scripts should be parsed (true/false/once). Once will not re-evaluate on cached content\n\n  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded\n  onLoad      : function(tabPath, parameterArray, historyEvent) {}, // called on every load\n  onVisible   : function(tabPath, parameterArray, historyEvent) {}, // called every time tab visible\n  onRequest   : function(tabPath, parameterArray, historyEvent) {}, // called ever time a tab beings loading remote content\n\n  templates    : {\n    determineTitle: function(tabArray) {} // returns page title for path\n  },\n\n  error: {\n    api        : 'You attempted to load content without API module',\n    method     : 'The method you called is not defined',\n    missingTab : 'Activated tab cannot be found. Tabs are case-sensitive.',\n    noContent  : 'The tab you specified is missing a content url.',\n    path       : 'History enabled, but no path was specified',\n    recursion  : 'Max recursive depth reached',\n    legacyInit : 'onTabInit has been renamed to onFirstLoad in 2.0, please adjust your code.',\n    legacyLoad : 'onTabLoad has been renamed to onLoad in 2.0. Please adjust your code',\n    state      : 'History requires Asual\\'s Address library <https://github.com/asual/jquery-address>'\n  },\n\n  metadata : {\n    tab    : 'tab',\n    loaded : 'loaded',\n    promise: 'promise'\n  },\n\n  className   : {\n    loading : 'loading',\n    active  : 'active'\n  },\n\n  selector    : {\n    tabs : '.ui.tab',\n    ui   : '.ui'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/table.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Table\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Table\n*******************************/\n\n\n/* Prototype */\n.ui.table {\n  width: 100%;\n  background: #FFFFFF;\n  margin: 1em 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n  border-radius: 0.28571429rem;\n  text-align: left;\n  color: rgba(0, 0, 0, 0.87);\n  border-collapse: separate;\n  border-spacing: 0px;\n}\n.ui.table:first-child {\n  margin-top: 0em;\n}\n.ui.table:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n             Parts\n*******************************/\n\n\n/* Table Content */\n.ui.table th,\n.ui.table td {\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n          transition: background 0.1s ease, color 0.1s ease;\n}\n\n/* Headers */\n.ui.table thead {\n  box-shadow: none;\n}\n.ui.table thead th {\n  cursor: auto;\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.92857143em 0.71428571em;\n  vertical-align: inherit;\n  font-style: none;\n  font-weight: bold;\n  text-transform: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  border-left: none;\n}\n.ui.table thead tr > th:first-child {\n  border-left: none;\n}\n.ui.table thead tr:first-child > th:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui.table thead tr:first-child > th:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui.table thead tr:first-child > th:only-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Footer */\n.ui.table tfoot {\n  box-shadow: none;\n}\n.ui.table tfoot th {\n  cursor: auto;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571em 0.71428571em;\n  vertical-align: middle;\n  font-style: normal;\n  font-weight: normal;\n  text-transform: none;\n}\n.ui.table tfoot tr > th:first-child {\n  border-left: none;\n}\n.ui.table tfoot tr:first-child > th:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n.ui.table tfoot tr:first-child > th:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n.ui.table tfoot tr:first-child > th:only-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Table Row */\n.ui.table tr td {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n}\n.ui.table tr:first-child td {\n  border-top: none;\n}\n\n/* Table Cells */\n.ui.table td {\n  padding: 0.71428571em 0.71428571em;\n  text-align: inherit;\n}\n\n/* Icons */\n.ui.table > .icon {\n  vertical-align: baseline;\n}\n.ui.table > .icon:only-child {\n  margin: 0em;\n}\n\n/* Table Segment */\n.ui.table.segment {\n  padding: 0em;\n}\n.ui.table.segment:after {\n  display: none;\n}\n.ui.table.segment.stacked:after {\n  display: block;\n}\n\n/* Responsive */\n@media only screen and (max-width: 767px) {\n  .ui.table:not(.unstackable) {\n    width: 100%;\n  }\n  .ui.table:not(.unstackable) tbody,\n  .ui.table:not(.unstackable) tr,\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    width: auto !important;\n    display: block !important;\n  }\n  .ui.table:not(.unstackable) {\n    padding: 0em;\n  }\n  .ui.table:not(.unstackable) thead {\n    display: block;\n  }\n  .ui.table:not(.unstackable) tfoot {\n    display: block;\n  }\n  .ui.table:not(.unstackable) tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em !important;\n    box-shadow: none !important;\n  }\n  .ui.table:not(.unstackable) th:first-child,\n  .ui.table:not(.unstackable) td:first-child {\n    font-weight: bold;\n  }\n  \n/* Definition Table */\n  .ui.definition.table:not(.unstackable) thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n\n/* UI Image */\n.ui.table th .image,\n.ui.table th .image img,\n.ui.table td .image,\n.ui.table td .image img {\n  max-width: none;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n    Complex\n---------------*/\n\n.ui.structured.table {\n  border-collapse: collapse;\n}\n.ui.structured.table thead th {\n  border-left: none;\n  border-right: none;\n}\n.ui.structured.sortable.table thead th {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.structured.basic.table th {\n  border-left: none;\n  border-right: none;\n}\n.ui.structured.celled.table tr th,\n.ui.structured.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n  border-right: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n   Definition\n---------------*/\n\n.ui.definition.table thead:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: -1px -1px 0px 1px #FFFFFF;\n}\n.ui.definition.table tfoot:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: rgba(0, 0, 0, 0.4);\n  color: normal;\n  box-shadow: 1px 1px 0px 1px #FFFFFF;\n}\n\n/* Remove Border */\n.ui.celled.definition.table thead:not(.full-width) th:first-child {\n  box-shadow: 0px -1px 0px 1px #FFFFFF;\n}\n.ui.celled.definition.table tfoot:not(.full-width) th:first-child {\n  box-shadow: 0px 1px 0px 1px #FFFFFF;\n}\n\n/* Highlight Defining Column */\n.ui.definition.table tr td:first-child {\n  background: rgba(0, 0, 0, 0.03);\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Fix 2nd Column */\n.ui.definition.table thead:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.definition.table td:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n    Positive\n---------------*/\n\n.ui.table tr.positive,\n.ui.table td.positive {\n  box-shadow: 0px 0px 0px #A3C293 inset;\n}\n.ui.table tr.positive,\n.ui.table td.positive {\n  background: #FCFFF5 !important;\n  color: #2C662D !important;\n}\n\n/*--------------\n     Negative\n---------------*/\n\n.ui.table tr.negative,\n.ui.table td.negative {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n.ui.table tr.negative,\n.ui.table td.negative {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n      Error\n---------------*/\n\n.ui.table tr.error,\n.ui.table td.error {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n.ui.table tr.error,\n.ui.table td.error {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.table tr.warning,\n.ui.table td.warning {\n  box-shadow: 0px 0px 0px #C9BA9B inset;\n}\n.ui.table tr.warning,\n.ui.table td.warning {\n  background: #FFFAF3 !important;\n  color: #573A08 !important;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.table tr.active,\n.ui.table td.active {\n  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset;\n}\n.ui.table tr.active,\n.ui.table td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.table tr.disabled td,\n.ui.table tr td.disabled,\n.ui.table tr.disabled:hover,\n.ui.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].table,\n  .ui[class*=\"tablet stackable\"].table tbody,\n  .ui[class*=\"tablet stackable\"].table tr,\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    width: 100% !important;\n    display: block !important;\n  }\n  .ui[class*=\"tablet stackable\"].table {\n    padding: 0em;\n  }\n  .ui[class*=\"tablet stackable\"].table thead {\n    display: block;\n  }\n  .ui[class*=\"tablet stackable\"].table tfoot {\n    display: block;\n  }\n  .ui[class*=\"tablet stackable\"].table tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em;\n    box-shadow: none !important;\n  }\n  \n/* Definition Table */\n  .ui.definition[class*=\"tablet stackable\"].table thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n/*--------------\n Text Alignment\n---------------*/\n\n.ui.table[class*=\"left aligned\"],\n.ui.table [class*=\"left aligned\"] {\n  text-align: left;\n}\n.ui.table[class*=\"center aligned\"],\n.ui.table [class*=\"center aligned\"] {\n  text-align: center;\n}\n.ui.table[class*=\"right aligned\"],\n.ui.table [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*------------------\n Vertical Alignment\n------------------*/\n\n.ui.table[class*=\"top aligned\"],\n.ui.table [class*=\"top aligned\"] {\n  vertical-align: top;\n}\n.ui.table[class*=\"middle aligned\"],\n.ui.table [class*=\"middle aligned\"] {\n  vertical-align: middle;\n}\n.ui.table[class*=\"bottom aligned\"],\n.ui.table [class*=\"bottom aligned\"] {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Collapsing\n---------------*/\n\n.ui.table th.collapsing,\n.ui.table td.collapsing {\n  width: 1px;\n  white-space: nowrap;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.table {\n  table-layout: fixed;\n}\n.ui.fixed.table th,\n.ui.fixed.table td {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n/*--------------\n   Selectable\n---------------*/\n\n.ui.selectable.table tbody tr:hover,\n.ui.table tbody tr td.selectable:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.selectable.inverted.table tbody tr:hover,\n.ui.inverted.table tbody tr td.selectable:hover {\n  background: rgba(255, 255, 255, 0.08) !important;\n  color: #ffffff !important;\n}\n\n/* Selectable Cell Link */\n.ui.table tbody tr td.selectable {\n  padding: 0em;\n}\n.ui.table tbody tr td.selectable > a:not(.ui) {\n  display: block;\n  color: inherit;\n  padding: 0.71428571em 0.71428571em;\n}\n\n/* Other States */\n.ui.selectable.table tr.error:hover,\n.ui.table tr td.selectable.error:hover,\n.ui.selectable.table tr:hover td.error {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n.ui.selectable.table tr.warning:hover,\n.ui.table tr td.selectable.warning:hover,\n.ui.selectable.table tr:hover td.warning {\n  background: #fff4e4 !important;\n  color: #493107 !important;\n}\n.ui.selectable.table tr.active:hover,\n.ui.table tr td.selectable.active:hover,\n.ui.selectable.table tr:hover td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n.ui.selectable.table tr.positive:hover,\n.ui.table tr td.selectable.positive:hover,\n.ui.selectable.table tr:hover td.positive {\n  background: #f7ffe6 !important;\n  color: #275b28 !important;\n}\n.ui.selectable.table tr.negative:hover,\n.ui.table tr td.selectable.negative:hover,\n.ui.selectable.table tr:hover td.negative {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n\n/* Middle */\n.ui.attached.table {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n.ui.attached + .ui.attached.table:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n.ui[class*=\"top attached\"].table {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.table[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n.ui[class*=\"bottom attached\"].table {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1em;\n  box-shadow: none, none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].table:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Striped\n---------------*/\n\n\n/* Table Striping */\n.ui.striped.table > tr:nth-child(2n),\n.ui.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 50, 0.02);\n}\n\n/* Stripes */\n.ui.inverted.striped.table > tr:nth-child(2n),\n.ui.inverted.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n/*--------------\n   Single Line\n---------------*/\n\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\n.ui.red.table {\n  border-top: 0.2em solid #DB2828;\n}\n.ui.inverted.red.table {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n.ui.orange.table {\n  border-top: 0.2em solid #F2711C;\n}\n.ui.inverted.orange.table {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n.ui.yellow.table {\n  border-top: 0.2em solid #FBBD08;\n}\n.ui.inverted.yellow.table {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n.ui.olive.table {\n  border-top: 0.2em solid #B5CC18;\n}\n.ui.inverted.olive.table {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n.ui.green.table {\n  border-top: 0.2em solid #21BA45;\n}\n.ui.inverted.green.table {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n.ui.teal.table {\n  border-top: 0.2em solid #00B5AD;\n}\n.ui.inverted.teal.table {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n.ui.blue.table {\n  border-top: 0.2em solid #2185D0;\n}\n.ui.inverted.blue.table {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n.ui.violet.table {\n  border-top: 0.2em solid #6435C9;\n}\n.ui.inverted.violet.table {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n.ui.purple.table {\n  border-top: 0.2em solid #A333C8;\n}\n.ui.inverted.purple.table {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n.ui.pink.table {\n  border-top: 0.2em solid #E03997;\n}\n.ui.inverted.pink.table {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n.ui.brown.table {\n  border-top: 0.2em solid #A5673F;\n}\n.ui.inverted.brown.table {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n.ui.grey.table {\n  border-top: 0.2em solid #767676;\n}\n.ui.inverted.grey.table {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n.ui.black.table {\n  border-top: 0.2em solid #1B1C1D;\n}\n.ui.inverted.black.table {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n  Column Count\n---------------*/\n\n\n/* Grid Based */\n.ui.one.column.table td {\n  width: 100%;\n}\n.ui.two.column.table td {\n  width: 50%;\n}\n.ui.three.column.table td {\n  width: 33.33333333%;\n}\n.ui.four.column.table td {\n  width: 25%;\n}\n.ui.five.column.table td {\n  width: 20%;\n}\n.ui.six.column.table td {\n  width: 16.66666667%;\n}\n.ui.seven.column.table td {\n  width: 14.28571429%;\n}\n.ui.eight.column.table td {\n  width: 12.5%;\n}\n.ui.nine.column.table td {\n  width: 11.11111111%;\n}\n.ui.ten.column.table td {\n  width: 10%;\n}\n.ui.eleven.column.table td {\n  width: 9.09090909%;\n}\n.ui.twelve.column.table td {\n  width: 8.33333333%;\n}\n.ui.thirteen.column.table td {\n  width: 7.69230769%;\n}\n.ui.fourteen.column.table td {\n  width: 7.14285714%;\n}\n.ui.fifteen.column.table td {\n  width: 6.66666667%;\n}\n.ui.sixteen.column.table td {\n  width: 6.25%;\n}\n\n/* Column Width */\n.ui.table th.one.wide,\n.ui.table td.one.wide {\n  width: 6.25%;\n}\n.ui.table th.two.wide,\n.ui.table td.two.wide {\n  width: 12.5%;\n}\n.ui.table th.three.wide,\n.ui.table td.three.wide {\n  width: 18.75%;\n}\n.ui.table th.four.wide,\n.ui.table td.four.wide {\n  width: 25%;\n}\n.ui.table th.five.wide,\n.ui.table td.five.wide {\n  width: 31.25%;\n}\n.ui.table th.six.wide,\n.ui.table td.six.wide {\n  width: 37.5%;\n}\n.ui.table th.seven.wide,\n.ui.table td.seven.wide {\n  width: 43.75%;\n}\n.ui.table th.eight.wide,\n.ui.table td.eight.wide {\n  width: 50%;\n}\n.ui.table th.nine.wide,\n.ui.table td.nine.wide {\n  width: 56.25%;\n}\n.ui.table th.ten.wide,\n.ui.table td.ten.wide {\n  width: 62.5%;\n}\n.ui.table th.eleven.wide,\n.ui.table td.eleven.wide {\n  width: 68.75%;\n}\n.ui.table th.twelve.wide,\n.ui.table td.twelve.wide {\n  width: 75%;\n}\n.ui.table th.thirteen.wide,\n.ui.table td.thirteen.wide {\n  width: 81.25%;\n}\n.ui.table th.fourteen.wide,\n.ui.table td.fourteen.wide {\n  width: 87.5%;\n}\n.ui.table th.fifteen.wide,\n.ui.table td.fifteen.wide {\n  width: 93.75%;\n}\n.ui.table th.sixteen.wide,\n.ui.table td.sixteen.wide {\n  width: 100%;\n}\n\n/*--------------\n    Sortable\n---------------*/\n\n.ui.sortable.table thead th {\n  cursor: pointer;\n  white-space: nowrap;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.sortable.table thead th:first-child {\n  border-left: none;\n}\n.ui.sortable.table thead th.sorted,\n.ui.sortable.table thead th.sorted:hover {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n.ui.sortable.table thead th:after {\n  display: none;\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  content: '';\n  height: 1em;\n  width: auto;\n  opacity: 0.8;\n  margin: 0em 0em 0em 0.5em;\n  font-family: 'Icons';\n}\n.ui.sortable.table thead th.ascending:after {\n  content: '\\f0d8';\n}\n.ui.sortable.table thead th.descending:after {\n  content: '\\f0d7';\n}\n\n/* Hover */\n.ui.sortable.table th.disabled:hover {\n  cursor: auto;\n  color: rgba(40, 40, 40, 0.3);\n}\n.ui.sortable.table thead th:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Sorted */\n.ui.sortable.table thead th.sorted {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.sortable.table thead th.sorted:after {\n  display: inline-block;\n}\n\n/* Sorted Hover */\n.ui.sortable.table thead th.sorted:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.inverted.sortable.table thead th.sorted {\n  background: rgba(255, 255, 255, 0.15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n.ui.inverted.sortable.table thead th:hover {\n  background: rgba(255, 255, 255, 0.08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n.ui.inverted.sortable.table thead th {\n  border-left-color: transparent;\n  border-right-color: transparent;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n\n/* Text Color */\n.ui.inverted.table {\n  background: #333333;\n  color: rgba(255, 255, 255, 0.9);\n  border: none;\n}\n.ui.inverted.table th {\n  background-color: rgba(0, 0, 0, 0.15);\n  border-color: rgba(255, 255, 255, 0.1) !important;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.table tr td {\n  border-color: rgba(255, 255, 255, 0.1) !important;\n}\n.ui.inverted.table tr.disabled td,\n.ui.inverted.table tr td.disabled,\n.ui.inverted.table tr.disabled:hover td,\n.ui.inverted.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/* Definition */\n.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,\n.ui.inverted.definition.table thead:not(.full-width) th:first-child {\n  background: #FFFFFF;\n}\n.ui.inverted.definition.table tr td:first-child {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n\n/*--------------\n   Collapsing\n---------------*/\n\n.ui.collapsing.table {\n  width: auto;\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.basic.table {\n  background: transparent;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n.ui.basic.table thead,\n.ui.basic.table tfoot {\n  box-shadow: none;\n}\n.ui.basic.table th {\n  background: transparent;\n  border-left: none;\n}\n.ui.basic.table tbody tr {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n.ui.basic.table td {\n  background: transparent;\n}\n.ui.basic.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 0, 0.05) !important;\n}\n\n/* Very Basic */\n.ui[class*=\"very basic\"].table {\n  border: none;\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td {\n  padding: '';\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:first-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:first-child {\n  padding-left: 0em;\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:last-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:last-child {\n  padding-right: 0em;\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) thead tr:first-child th {\n  padding-top: 0em;\n}\n\n/*--------------\n     Celled\n---------------*/\n\n.ui.celled.table tr th,\n.ui.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n}\n.ui.celled.table tr th:first-child,\n.ui.celled.table tr td:first-child {\n  border-left: none;\n}\n\n/*--------------\n     Padded\n---------------*/\n\n.ui.padded.table th {\n  padding-left: 1em;\n  padding-right: 1em;\n}\n.ui.padded.table th,\n.ui.padded.table td {\n  padding: 1em 1em;\n}\n\n/* Very */\n.ui[class*=\"very padded\"].table th {\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n}\n.ui[class*=\"very padded\"].table td {\n  padding: 1.5em 1.5em;\n}\n\n/*--------------\n     Compact\n---------------*/\n\n.ui.compact.table th {\n  padding-left: 0.7em;\n  padding-right: 0.7em;\n}\n.ui.compact.table td {\n  padding: 0.5em 0.7em;\n}\n\n/* Very */\n.ui[class*=\"very compact\"].table th {\n  padding-left: 0.6em;\n  padding-right: 0.6em;\n}\n.ui[class*=\"very compact\"].table td {\n  padding: 0.4em 0.6em;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n\n/* Small */\n.ui.small.table {\n  font-size: 0.9em;\n}\n\n/* Standard */\n.ui.table {\n  font-size: 1em;\n}\n\n/* Large */\n.ui.large.table {\n  font-size: 1.1em;\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/transition.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n          Transitions\n*******************************/\n\n.transition {\n  -webkit-animation-iteration-count: 1;\n          animation-iteration-count: 1;\n  -webkit-animation-duration: 300ms;\n          animation-duration: 300ms;\n  -webkit-animation-timing-function: ease;\n          animation-timing-function: ease;\n  -webkit-animation-fill-mode: both;\n          animation-fill-mode: both;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/* Animating */\n.animating.transition {\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  visibility: visible !important;\n}\n\n/* Loading */\n.loading.transition {\n  position: absolute;\n  top: -99999px;\n  left: -99999px;\n}\n\n/* Hidden */\n.hidden.transition {\n  display: none;\n  visibility: hidden;\n}\n\n/* Visible */\n.visible.transition {\n  display: block !important;\n  visibility: visible !important;\n  \n/*  backface-visibility: @backfaceVisibility;\n  transform: @use3DAcceleration;*/\n}\n/* Disabled */\n.disabled.transition {\n  -webkit-animation-play-state: paused;\n          animation-play-state: paused;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n.looping.transition {\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n}\n\n\n/*******************************\n          Transitions\n*******************************/\n\n/*\n  Some transitions adapted from Animate CSS\n  https://github.com/daneden/animate.css\n\n  Additional transitions adapted from Glide\n  by Nick Pettit - https://github.com/nickpettit/glide\n*/\n\n/*--------------\n     Browse\n---------------*/\n\n.transition.browse {\n  -webkit-animation-duration: 500ms;\n          animation-duration: 500ms;\n}\n.transition.browse.in {\n  -webkit-animation-name: browseIn;\n          animation-name: browseIn;\n}\n.transition.browse.out,\n.transition.browse.left.out {\n  -webkit-animation-name: browseOutLeft;\n          animation-name: browseOutLeft;\n}\n.transition.browse.right.out {\n  -webkit-animation-name: browseOutRight;\n          animation-name: browseOutRight;\n}\n\n/* In */\n@-webkit-keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n            transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n            transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n@keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n            transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n            transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n\n/* Out */\n@-webkit-keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n@keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n@keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n/*--------------\n     Drop\n---------------*/\n\n.drop.transition {\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n  -webkit-animation-duration: 400ms;\n          animation-duration: 400ms;\n  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n          animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n}\n.drop.transition.in {\n  -webkit-animation-name: dropIn;\n          animation-name: dropIn;\n}\n.drop.transition.out {\n  -webkit-animation-name: dropOut;\n          animation-name: dropOut;\n}\n\n/* Drop */\n@-webkit-keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@-webkit-keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n}\n@keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.transition.fade.in {\n  -webkit-animation-name: fadeIn;\n          animation-name: fadeIn;\n}\n.transition[class*=\"fade up\"].in {\n  -webkit-animation-name: fadeInUp;\n          animation-name: fadeInUp;\n}\n.transition[class*=\"fade down\"].in {\n  -webkit-animation-name: fadeInDown;\n          animation-name: fadeInDown;\n}\n.transition[class*=\"fade left\"].in {\n  -webkit-animation-name: fadeInLeft;\n          animation-name: fadeInLeft;\n}\n.transition[class*=\"fade right\"].in {\n  -webkit-animation-name: fadeInRight;\n          animation-name: fadeInRight;\n}\n.transition.fade.out {\n  -webkit-animation-name: fadeOut;\n          animation-name: fadeOut;\n}\n.transition[class*=\"fade up\"].out {\n  -webkit-animation-name: fadeOutUp;\n          animation-name: fadeOutUp;\n}\n.transition[class*=\"fade down\"].out {\n  -webkit-animation-name: fadeOutDown;\n          animation-name: fadeOutDown;\n}\n.transition[class*=\"fade left\"].out {\n  -webkit-animation-name: fadeOutLeft;\n          animation-name: fadeOutLeft;\n}\n.transition[class*=\"fade right\"].out {\n  -webkit-animation-name: fadeOutRight;\n          animation-name: fadeOutRight;\n}\n\n/* In */\n@-webkit-keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@-webkit-keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n            transform: translateY(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n            transform: translateY(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@-webkit-keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n            transform: translateY(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n            transform: translateY(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@-webkit-keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n            transform: translateX(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n@keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n            transform: translateX(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n@-webkit-keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n            transform: translateX(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n@keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n            transform: translateX(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n\n/* Out */\n@-webkit-keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n@keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n@-webkit-keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n            transform: translateY(5%);\n  }\n}\n@keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n            transform: translateY(5%);\n  }\n}\n@-webkit-keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n            transform: translateY(-5%);\n  }\n}\n@keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n            transform: translateY(-5%);\n  }\n}\n@-webkit-keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n            transform: translateX(5%);\n  }\n}\n@keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n            transform: translateX(5%);\n  }\n}\n@-webkit-keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n            transform: translateX(-5%);\n  }\n}\n@keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n            transform: translateX(-5%);\n  }\n}\n\n/*--------------\n     Flips\n---------------*/\n\n.flip.transition.in,\n.flip.transition.out {\n  -webkit-animation-duration: 600ms;\n          animation-duration: 600ms;\n}\n.horizontal.flip.transition.in {\n  -webkit-animation-name: horizontalFlipIn;\n          animation-name: horizontalFlipIn;\n}\n.horizontal.flip.transition.out {\n  -webkit-animation-name: horizontalFlipOut;\n          animation-name: horizontalFlipOut;\n}\n.vertical.flip.transition.in {\n  -webkit-animation-name: verticalFlipIn;\n          animation-name: verticalFlipIn;\n}\n.vertical.flip.transition.out {\n  -webkit-animation-name: verticalFlipOut;\n          animation-name: verticalFlipOut;\n}\n\n/* In */\n@-webkit-keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n            transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n@keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n            transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n@-webkit-keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n@keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n\n/* Out */\n@-webkit-keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n            transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n@keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n            transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n@keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n\n/*--------------\n      Scale\n---------------*/\n\n.scale.transition.in {\n  -webkit-animation-name: scaleIn;\n          animation-name: scaleIn;\n}\n.scale.transition.out {\n  -webkit-animation-name: scaleOut;\n          animation-name: scaleOut;\n}\n@-webkit-keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n            transform: scale(0.8);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n            transform: scale(0.8);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n\n/* Out */\n@-webkit-keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n  }\n}\n@keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n  }\n}\n\n/*--------------\n      Fly\n---------------*/\n\n\n/* Inward */\n.transition.fly {\n  -webkit-animation-duration: 0.6s;\n          animation-duration: 0.6s;\n  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.transition.fly.in {\n  -webkit-animation-name: flyIn;\n          animation-name: flyIn;\n}\n.transition[class*=\"fly up\"].in {\n  -webkit-animation-name: flyInUp;\n          animation-name: flyInUp;\n}\n.transition[class*=\"fly down\"].in {\n  -webkit-animation-name: flyInDown;\n          animation-name: flyInDown;\n}\n.transition[class*=\"fly left\"].in {\n  -webkit-animation-name: flyInLeft;\n          animation-name: flyInLeft;\n}\n.transition[class*=\"fly right\"].in {\n  -webkit-animation-name: flyInRight;\n          animation-name: flyInRight;\n}\n\n/* Outward */\n.transition.fly.out {\n  -webkit-animation-name: flyOut;\n          animation-name: flyOut;\n}\n.transition[class*=\"fly up\"].out {\n  -webkit-animation-name: flyOutUp;\n          animation-name: flyOutUp;\n}\n.transition[class*=\"fly down\"].out {\n  -webkit-animation-name: flyOutDown;\n          animation-name: flyOutDown;\n}\n.transition[class*=\"fly left\"].out {\n  -webkit-animation-name: flyOutLeft;\n          animation-name: flyOutLeft;\n}\n.transition[class*=\"fly right\"].out {\n  -webkit-animation-name: flyOutRight;\n          animation-name: flyOutRight;\n}\n\n/* In */\n@-webkit-keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n            transform: scale3d(1.03, 1.03, 1.03);\n  }\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n            transform: scale3d(0.97, 0.97, 0.97);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n@keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n            transform: scale3d(1.03, 1.03, 1.03);\n  }\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n            transform: scale3d(0.97, 0.97, 0.97);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n@-webkit-keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n            transform: translate3d(0, 1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n            transform: translate3d(0, -5px, 0);\n  }\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n@keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n            transform: translate3d(0, 1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n            transform: translate3d(0, -5px, 0);\n  }\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n@-webkit-keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n            transform: translate3d(0, -1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n            transform: translate3d(0, 25px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n            transform: translate3d(0, 5px, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n            transform: translate3d(0, -1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n            transform: translate3d(0, 25px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n            transform: translate3d(0, 5px, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@-webkit-keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n            transform: translate3d(1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n            transform: translate3d(-25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n            transform: translate3d(10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n            transform: translate3d(-5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n            transform: translate3d(1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n            transform: translate3d(-25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n            transform: translate3d(10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n            transform: translate3d(-5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@-webkit-keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n            transform: translate3d(-1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n            transform: translate3d(25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n            transform: translate3d(-10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n            transform: translate3d(5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n            transform: translate3d(-1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n            transform: translate3d(25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n            transform: translate3d(-10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n            transform: translate3d(5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n\n/* Out */\n@-webkit-keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  50%,\n  55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n@keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  50%,\n  55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n@-webkit-keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n            transform: translate3d(0, 2000px, 0);\n  }\n}\n@keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n            transform: translate3d(0, 2000px, 0);\n  }\n}\n@-webkit-keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n            transform: translate3d(0, 20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n            transform: translate3d(0, -2000px, 0);\n  }\n}\n@keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n            transform: translate3d(0, 20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n            transform: translate3d(0, -2000px, 0);\n  }\n}\n@-webkit-keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n            transform: translate3d(20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n            transform: translate3d(-2000px, 0, 0);\n  }\n}\n@keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n            transform: translate3d(20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n            transform: translate3d(-2000px, 0, 0);\n  }\n}\n@-webkit-keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n            transform: translate3d(-20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n            transform: translate3d(2000px, 0, 0);\n  }\n}\n@keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n            transform: translate3d(-20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n            transform: translate3d(2000px, 0, 0);\n  }\n}\n\n/*--------------\n     Slide\n---------------*/\n\n.transition.slide.in,\n.transition[class*=\"slide down\"].in {\n  -webkit-animation-name: slideInY;\n          animation-name: slideInY;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"slide up\"].in {\n  -webkit-animation-name: slideInY;\n          animation-name: slideInY;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"slide left\"].in {\n  -webkit-animation-name: slideInX;\n          animation-name: slideInX;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"slide right\"].in {\n  -webkit-animation-name: slideInX;\n          animation-name: slideInX;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n.transition.slide.out,\n.transition[class*=\"slide down\"].out {\n  -webkit-animation-name: slideOutY;\n          animation-name: slideOutY;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"slide up\"].out {\n  -webkit-animation-name: slideOutY;\n          animation-name: slideOutY;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"slide left\"].out {\n  -webkit-animation-name: slideOutX;\n          animation-name: slideOutX;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"slide right\"].out {\n  -webkit-animation-name: slideOutX;\n          animation-name: slideOutX;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n\n/* In */\n@-webkit-keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n}\n@keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n}\n@-webkit-keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n}\n@keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n}\n\n/* Out */\n@-webkit-keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n}\n@keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n}\n@-webkit-keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n}\n@keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n}\n\n/*--------------\n     Swing\n---------------*/\n\n.transition.swing {\n  -webkit-animation-duration: 800ms;\n          animation-duration: 800ms;\n}\n.transition[class*=\"swing down\"].in {\n  -webkit-animation-name: swingInX;\n          animation-name: swingInX;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"swing up\"].in {\n  -webkit-animation-name: swingInX;\n          animation-name: swingInX;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"swing left\"].in {\n  -webkit-animation-name: swingInY;\n          animation-name: swingInY;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"swing right\"].in {\n  -webkit-animation-name: swingInY;\n          animation-name: swingInY;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n.transition.swing.out,\n.transition[class*=\"swing down\"].out {\n  -webkit-animation-name: swingOutX;\n          animation-name: swingOutX;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"swing up\"].out {\n  -webkit-animation-name: swingOutX;\n          animation-name: swingOutX;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"swing left\"].out {\n  -webkit-animation-name: swingOutY;\n          animation-name: swingOutY;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"swing right\"].out {\n  -webkit-animation-name: swingOutY;\n          animation-name: swingOutY;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n\n/* In */\n@-webkit-keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n            transform: perspective(1000px) rotateX(15deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n}\n@keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n            transform: perspective(1000px) rotateX(15deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n}\n@-webkit-keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n            transform: perspective(1000px) rotateY(-17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n}\n@keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n            transform: perspective(1000px) rotateY(-17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n}\n\n/* Out */\n@-webkit-keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n            transform: perspective(1000px) rotateX(17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n@keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n            transform: perspective(1000px) rotateX(17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n            transform: perspective(1000px) rotateY(-10deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n@keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n            transform: perspective(1000px) rotateY(-10deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n\n\n/*******************************\n       Static Animations\n*******************************/\n\n\n/*--------------\n    Emphasis\n---------------*/\n\n.flash.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: flash;\n          animation-name: flash;\n}\n.shake.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: shake;\n          animation-name: shake;\n}\n.bounce.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: bounce;\n          animation-name: bounce;\n}\n.tada.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: tada;\n          animation-name: tada;\n}\n.pulse.transition {\n  -webkit-animation-duration: 500ms;\n          animation-duration: 500ms;\n  -webkit-animation-name: pulse;\n          animation-name: pulse;\n}\n.jiggle.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: jiggle;\n          animation-name: jiggle;\n}\n\n/* Flash */\n@-webkit-keyframes flash {\n  0%,\n  50%,\n  100% {\n    opacity: 1;\n  }\n  25%,\n  75% {\n    opacity: 0;\n  }\n}\n@keyframes flash {\n  0%,\n  50%,\n  100% {\n    opacity: 1;\n  }\n  25%,\n  75% {\n    opacity: 0;\n  }\n}\n\n/* Shake */\n@-webkit-keyframes shake {\n  0%,\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n  }\n  10%,\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: translateX(-10px);\n            transform: translateX(-10px);\n  }\n  20%,\n  40%,\n  60%,\n  80% {\n    -webkit-transform: translateX(10px);\n            transform: translateX(10px);\n  }\n}\n@keyframes shake {\n  0%,\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n  }\n  10%,\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: translateX(-10px);\n            transform: translateX(-10px);\n  }\n  20%,\n  40%,\n  60%,\n  80% {\n    -webkit-transform: translateX(10px);\n            transform: translateX(10px);\n  }\n}\n\n/* Bounce */\n@-webkit-keyframes bounce {\n  0%,\n  20%,\n  50%,\n  80%,\n  100% {\n    -webkit-transform: translateY(0);\n            transform: translateY(0);\n  }\n  40% {\n    -webkit-transform: translateY(-30px);\n            transform: translateY(-30px);\n  }\n  60% {\n    -webkit-transform: translateY(-15px);\n            transform: translateY(-15px);\n  }\n}\n@keyframes bounce {\n  0%,\n  20%,\n  50%,\n  80%,\n  100% {\n    -webkit-transform: translateY(0);\n            transform: translateY(0);\n  }\n  40% {\n    -webkit-transform: translateY(-30px);\n            transform: translateY(-30px);\n  }\n  60% {\n    -webkit-transform: translateY(-15px);\n            transform: translateY(-15px);\n  }\n}\n\n/* Tada */\n@-webkit-keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  10%,\n  20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n            transform: scale(0.9) rotate(-3deg);\n  }\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n            transform: scale(1.1) rotate(3deg);\n  }\n  40%,\n  60%,\n  80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n            transform: scale(1.1) rotate(-3deg);\n  }\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n            transform: scale(1) rotate(0);\n  }\n}\n@keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  10%,\n  20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n            transform: scale(0.9) rotate(-3deg);\n  }\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n            transform: scale(1.1) rotate(3deg);\n  }\n  40%,\n  60%,\n  80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n            transform: scale(1.1) rotate(-3deg);\n  }\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n            transform: scale(1) rotate(0);\n  }\n}\n\n/* Pulse */\n@-webkit-keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n  50% {\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n    opacity: 0.7;\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n}\n@keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n  50% {\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n    opacity: 0.7;\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n}\n\n/* Rubberband */\n@-webkit-keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n            transform: scale3d(1.25, 0.75, 1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n            transform: scale3d(0.75, 1.25, 1);\n  }\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n            transform: scale3d(1.15, 0.85, 1);\n  }\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n            transform: scale3d(0.95, 1.05, 1);\n  }\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n            transform: scale3d(1.05, 0.95, 1);\n  }\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n@keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n            transform: scale3d(1.25, 0.75, 1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n            transform: scale3d(0.75, 1.25, 1);\n  }\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n            transform: scale3d(1.15, 0.85, 1);\n  }\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n            transform: scale3d(0.95, 1.05, 1);\n  }\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n            transform: scale3d(1.05, 0.95, 1);\n  }\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/transition.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.transition = function() {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    moduleArguments = arguments,\n    query           = moduleArguments[0],\n    queryArguments  = [].slice.call(arguments, 1),\n    methodInvoked   = (typeof query === 'string'),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function(index) {\n      var\n        $module  = $(this),\n        element  = this,\n\n        // set at run time\n        settings,\n        instance,\n\n        error,\n        className,\n        metadata,\n        animationEnd,\n        animationName,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n\n          // get full settings\n          settings        = module.get.settings.apply(element, moduleArguments);\n\n          // shorthand\n          className       = settings.className;\n          error           = settings.error;\n          metadata        = settings.metadata;\n\n          // define namespace\n          eventNamespace  = '.' + settings.namespace;\n          moduleNamespace = 'module-' + settings.namespace;\n          instance        = $module.data(moduleNamespace) || module;\n\n          // get vendor specific events\n          animationEnd    = module.get.animationEndEvent();\n\n          if(methodInvoked) {\n            methodInvoked = module.invoke(query);\n          }\n\n          // method not invoked, lets run an animation\n          if(methodInvoked === false) {\n            module.verbose('Converted arguments into settings object', settings);\n            if(settings.interval) {\n              module.delay(settings.animate);\n            }\n            else  {\n              module.animate();\n            }\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing display type on next animation');\n          delete module.displayType;\n        },\n\n        forceRepaint: function() {\n          module.verbose('Forcing element repaint');\n          var\n            $parentElement = $module.parent(),\n            $nextElement = $module.next()\n          ;\n          if($nextElement.length === 0) {\n            $module.detach().appendTo($parentElement);\n          }\n          else {\n            $module.detach().insertBefore($nextElement);\n          }\n        },\n\n        repaint: function() {\n          module.verbose('Repainting element');\n          var\n            fakeAssignment = element.offsetWidth\n          ;\n        },\n\n        delay: function(interval) {\n          var\n            direction = module.get.animationDirection(),\n            shouldReverse,\n            delay\n          ;\n          if(!direction) {\n            direction = module.can.transition()\n              ? module.get.direction()\n              : 'static'\n            ;\n          }\n          interval = (interval !== undefined)\n            ? interval\n            : settings.interval\n          ;\n          shouldReverse = (settings.reverse == 'auto' && direction == className.outward);\n          delay = (shouldReverse || settings.reverse == true)\n            ? ($allModules.length - index) * settings.interval\n            : index * settings.interval\n          ;\n          module.debug('Delaying animation by', delay);\n          setTimeout(module.animate, delay);\n        },\n\n        animate: function(overrideSettings) {\n          settings = overrideSettings || settings;\n          if(!module.is.supported()) {\n            module.error(error.support);\n            return false;\n          }\n          module.debug('Preparing animation', settings.animation);\n          if(module.is.animating()) {\n            if(settings.queue) {\n              if(!settings.allowRepeats && module.has.direction() && module.is.occurring() && module.queuing !== true) {\n                module.debug('Animation is currently occurring, preventing queueing same animation', settings.animation);\n              }\n              else {\n                module.queue(settings.animation);\n              }\n              return false;\n            }\n            else if(!settings.allowRepeats && module.is.occurring()) {\n              module.debug('Animation is already occurring, will not execute repeated animation', settings.animation);\n              return false;\n            }\n            else {\n              module.debug('New animation started, completing previous early', settings.animation);\n              instance.complete();\n            }\n          }\n          if( module.can.animate() ) {\n            module.set.animating(settings.animation);\n          }\n          else {\n            module.error(error.noAnimation, settings.animation, element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Resetting animation to beginning conditions');\n          module.remove.animationCallbacks();\n          module.restore.conditions();\n          module.remove.animating();\n        },\n\n        queue: function(animation) {\n          module.debug('Queueing animation of', animation);\n          module.queuing = true;\n          $module\n            .one(animationEnd + '.queue' + eventNamespace, function() {\n              module.queuing = false;\n              module.repaint();\n              module.animate.apply(this, settings);\n            })\n          ;\n        },\n\n        complete: function (event) {\n          module.debug('Animation complete', settings.animation);\n          module.remove.completeCallback();\n          module.remove.failSafe();\n          if(!module.is.looping()) {\n            if( module.is.outward() ) {\n              module.verbose('Animation is outward, hiding element');\n              module.restore.conditions();\n              module.hide();\n            }\n            else if( module.is.inward() ) {\n              module.verbose('Animation is outward, showing element');\n              module.restore.conditions();\n              module.show();\n            }\n            else {\n              module.verbose('Static animation completed');\n              module.restore.conditions();\n              settings.onComplete.call(element);\n            }\n          }\n        },\n\n        force: {\n          visible: function() {\n            var\n              style          = $module.attr('style'),\n              userStyle      = module.get.userStyle(),\n              displayType    = module.get.displayType(),\n              overrideStyle  = userStyle + 'display: ' + displayType + ' !important;',\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== displayType) {\n              module.verbose('Overriding default display to show element', displayType);\n              $module\n                .attr('style', overrideStyle)\n              ;\n            }\n            else if(emptyStyle) {\n              $module.removeAttr('style');\n            }\n          },\n          hidden: function() {\n            var\n              style          = $module.attr('style'),\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== 'none' && !module.is.hidden()) {\n              module.verbose('Overriding default display to hide element');\n              $module\n                .css('display', 'none')\n              ;\n            }\n            else if(emptyStyle) {\n              $module\n                .removeAttr('style')\n              ;\n            }\n          }\n        },\n\n        has: {\n          direction: function(animation) {\n            var\n              hasDirection = false\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              $.each(animation, function(index, word){\n                if(word === className.inward || word === className.outward) {\n                  hasDirection = true;\n                }\n              });\n            }\n            return hasDirection;\n          },\n          inlineDisplay: function() {\n            var\n              style = $module.attr('style') || ''\n            ;\n            return $.isArray(style.match(/display.*?;/, ''));\n          }\n        },\n\n        set: {\n          animating: function(animation) {\n            var\n              animationClass,\n              direction\n            ;\n            // remove previous callbacks\n            module.remove.completeCallback();\n\n            // determine exact animation\n            animation      = animation || settings.animation;\n            animationClass = module.get.animationClass(animation);\n\n            // save animation class in cache to restore class names\n            module.save.animation(animationClass);\n\n            // override display if necessary so animation appears visibly\n            module.force.visible();\n\n            module.remove.hidden();\n            module.remove.direction();\n\n            module.start.animation(animationClass);\n\n          },\n          duration: function(animationName, duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            if(duration || duration === 0) {\n              module.verbose('Setting animation duration', duration);\n              $module\n                .css({\n                  'animation-duration':  duration\n                })\n              ;\n            }\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            if(direction == className.inward) {\n              module.set.inward();\n            }\n            else {\n              module.set.outward();\n            }\n          },\n          looping: function() {\n            module.debug('Transition set to loop');\n            $module\n              .addClass(className.looping)\n            ;\n          },\n          hidden: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.hidden)\n            ;\n          },\n          inward: function() {\n            module.debug('Setting direction to inward');\n            $module\n              .removeClass(className.outward)\n              .addClass(className.inward)\n            ;\n          },\n          outward: function() {\n            module.debug('Setting direction to outward');\n            $module\n              .removeClass(className.inward)\n              .addClass(className.outward)\n            ;\n          },\n          visible: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.visible)\n            ;\n          }\n        },\n\n        start: {\n          animation: function(animationClass) {\n            animationClass = animationClass || module.get.animationClass();\n            module.debug('Starting tween', animationClass);\n            $module\n              .addClass(animationClass)\n              .one(animationEnd + '.complete' + eventNamespace, module.complete)\n            ;\n            if(settings.useFailSafe) {\n              module.add.failSafe();\n            }\n            module.set.duration(settings.duration);\n            settings.onStart.call(element);\n          }\n        },\n\n        save: {\n          animation: function(animation) {\n            if(!module.cache) {\n              module.cache = {};\n            }\n            module.cache.animation = animation;\n          },\n          displayType: function(displayType) {\n            if(displayType !== 'none') {\n              $module.data(metadata.displayType, displayType);\n            }\n          },\n          transitionExists: function(animation, exists) {\n            $.fn.transition.exists[animation] = exists;\n            module.verbose('Saving existence of transition', animation, exists);\n          }\n        },\n\n        restore: {\n          conditions: function() {\n            var\n              animation = module.get.currentAnimation()\n            ;\n            if(animation) {\n              $module\n                .removeClass(animation)\n              ;\n              module.verbose('Removing animation class', module.cache);\n            }\n            module.remove.duration();\n          }\n        },\n\n        add: {\n          failSafe: function() {\n            var\n              duration = module.get.duration()\n            ;\n            module.timer = setTimeout(function() {\n              $module.triggerHandler(animationEnd);\n            }, duration + settings.failSafeDelay);\n            module.verbose('Adding fail safe timer', module.timer);\n          }\n        },\n\n        remove: {\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          animationCallbacks: function() {\n            module.remove.queueCallback();\n            module.remove.completeCallback();\n          },\n          queueCallback: function() {\n            $module.off('.queue' + eventNamespace);\n          },\n          completeCallback: function() {\n            $module.off('.complete' + eventNamespace);\n          },\n          display: function() {\n            $module.css('display', '');\n          },\n          direction: function() {\n            $module\n              .removeClass(className.inward)\n              .removeClass(className.outward)\n            ;\n          },\n          duration: function() {\n            $module\n              .css('animation-duration', '')\n            ;\n          },\n          failSafe: function() {\n            module.verbose('Removing fail safe timer', module.timer);\n            if(module.timer) {\n              clearTimeout(module.timer);\n            }\n          },\n          hidden: function() {\n            $module.removeClass(className.hidden);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          looping: function() {\n            module.debug('Transitions are no longer looping');\n            if( module.is.looping() ) {\n              module.reset();\n              $module\n                .removeClass(className.looping)\n              ;\n            }\n          },\n          transition: function() {\n            $module\n              .removeClass(className.visible)\n              .removeClass(className.hidden)\n            ;\n          }\n        },\n        get: {\n          settings: function(animation, duration, onComplete) {\n            // single settings object\n            if(typeof animation == 'object') {\n              return $.extend(true, {}, $.fn.transition.settings, animation);\n            }\n            // all arguments provided\n            else if(typeof onComplete == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : onComplete,\n                duration   : duration\n              });\n            }\n            // only duration provided\n            else if(typeof duration == 'string' || typeof duration == 'number') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation,\n                duration  : duration\n              });\n            }\n            // duration is actually settings object\n            else if(typeof duration == 'object') {\n              return $.extend({}, $.fn.transition.settings, duration, {\n                animation : animation\n              });\n            }\n            // duration is actually callback\n            else if(typeof duration == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : duration\n              });\n            }\n            // only animation provided\n            else {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation\n              });\n            }\n            return $.fn.transition.settings;\n          },\n          animationClass: function(animation) {\n            var\n              animationClass = animation || settings.animation,\n              directionClass = (module.can.transition() && !module.has.direction())\n                ? module.get.direction() + ' '\n                : ''\n            ;\n            return className.animating + ' '\n              + className.transition + ' '\n              + directionClass\n              + animationClass\n            ;\n          },\n          currentAnimation: function() {\n            return (module.cache && module.cache.animation !== undefined)\n              ? module.cache.animation\n              : false\n            ;\n          },\n          currentDirection: function() {\n            return module.is.inward()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          direction: function() {\n            return module.is.hidden() || !module.is.visible()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          animationDirection: function(animation) {\n            var\n              direction\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              // search animation name for out/in class\n              $.each(animation, function(index, word){\n                if(word === className.inward) {\n                  direction = className.inward;\n                }\n                else if(word === className.outward) {\n                  direction = className.outward;\n                }\n              });\n            }\n            // return found direction\n            if(direction) {\n              return direction;\n            }\n            return false;\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            if(duration === false) {\n              duration = $module.css('animation-duration') || 0;\n            }\n            return (typeof duration === 'string')\n              ? (duration.indexOf('ms') > -1)\n                ? parseFloat(duration)\n                : parseFloat(duration) * 1000\n              : duration\n            ;\n          },\n          displayType: function() {\n            if(settings.displayType) {\n              return settings.displayType;\n            }\n            if($module.data(metadata.displayType) === undefined) {\n              // create fake element to determine display state\n              module.can.transition(true);\n            }\n            return $module.data(metadata.displayType);\n          },\n          userStyle: function(style) {\n            style = style || $module.attr('style') || '';\n            return style.replace(/display.*?;/, '');\n          },\n          transitionExists: function(animation) {\n            return $.fn.transition.exists[animation];\n          },\n          animationStartEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationstart',\n                'OAnimation'      :'oAnimationStart',\n                'MozAnimation'    :'mozAnimationStart',\n                'WebkitAnimation' :'webkitAnimationStart'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          },\n          animationEndEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationend',\n                'OAnimation'      :'oAnimationEnd',\n                'MozAnimation'    :'mozAnimationEnd',\n                'WebkitAnimation' :'webkitAnimationEnd'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          }\n\n        },\n\n        can: {\n          transition: function(forced) {\n            var\n              animation         = settings.animation,\n              transitionExists  = module.get.transitionExists(animation),\n              elementClass,\n              tagName,\n              $clone,\n              currentAnimation,\n              inAnimation,\n              directionExists,\n              displayType\n            ;\n            if( transitionExists === undefined || forced) {\n              module.verbose('Determining whether animation exists');\n              elementClass = $module.attr('class');\n              tagName      = $module.prop('tagName');\n\n              $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module);\n              currentAnimation = $clone\n                .addClass(animation)\n                .removeClass(className.inward)\n                .removeClass(className.outward)\n                .addClass(className.animating)\n                .addClass(className.transition)\n                .css('animationName')\n              ;\n              inAnimation = $clone\n                .addClass(className.inward)\n                .css('animationName')\n              ;\n              displayType = $clone\n                .attr('class', elementClass)\n                .removeAttr('style')\n                .removeClass(className.hidden)\n                .removeClass(className.visible)\n                .show()\n                .css('display')\n              ;\n              module.verbose('Determining final display state', displayType);\n              module.save.displayType(displayType);\n\n              $clone.remove();\n              if(currentAnimation != inAnimation) {\n                module.debug('Direction exists for animation', animation);\n                directionExists = true;\n              }\n              else if(currentAnimation == 'none' || !currentAnimation) {\n                module.debug('No animation defined in css', animation);\n                return;\n              }\n              else {\n                module.debug('Static animation found', animation, displayType);\n                directionExists = false;\n              }\n              module.save.transitionExists(animation, directionExists);\n            }\n            return (transitionExists !== undefined)\n              ? transitionExists\n              : directionExists\n            ;\n          },\n          animate: function() {\n            // can transition does not return a value if animation does not exist\n            return (module.can.transition() !== undefined);\n          }\n        },\n\n        is: {\n          animating: function() {\n            return $module.hasClass(className.animating);\n          },\n          inward: function() {\n            return $module.hasClass(className.inward);\n          },\n          outward: function() {\n            return $module.hasClass(className.outward);\n          },\n          looping: function() {\n            return $module.hasClass(className.looping);\n          },\n          occurring: function(animation) {\n            animation = animation || settings.animation;\n            animation = '.' + animation.replace(' ', '.');\n            return ( $module.filter(animation).length > 0 );\n          },\n          visible: function() {\n            return $module.is(':visible');\n          },\n          hidden: function() {\n            return $module.css('visibility') === 'hidden';\n          },\n          supported: function() {\n            return(animationEnd !== false);\n          }\n        },\n\n        hide: function() {\n          module.verbose('Hiding element');\n          if( module.is.animating() ) {\n            module.reset();\n          }\n          element.blur(); // IE will trigger focus change if element is not blurred before hiding\n          module.remove.display();\n          module.remove.visible();\n          module.set.hidden();\n          module.force.hidden();\n          settings.onHide.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        show: function(display) {\n          module.verbose('Showing element', display);\n          module.remove.hidden();\n          module.set.visible();\n          module.force.visible();\n          settings.onShow.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        toggle: function() {\n          if( module.is.visible() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        stop: function() {\n          module.debug('Stopping current animation');\n          $module.triggerHandler(animationEnd);\n        },\n\n        stopAll: function() {\n          module.debug('Stopping all animation');\n          module.remove.queueCallback();\n          $module.triggerHandler(animationEnd);\n        },\n\n        clear: {\n          queue: function() {\n            module.debug('Clearing animation queue');\n            module.remove.queueCallback();\n          }\n        },\n\n        enable: function() {\n          module.verbose('Starting animation');\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          module.debug('Stopping animation');\n          $module.addClass(className.disabled);\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        // modified for transition to return invoke success\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return (found !== undefined)\n            ? found\n            : false\n          ;\n        }\n      };\n      module.initialize();\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n// Records if CSS transition is available\n$.fn.transition.exists = {};\n\n$.fn.transition.settings = {\n\n  // module info\n  name          : 'Transition',\n\n  // debug content outputted to console\n  debug         : false,\n\n  // verbose debug output\n  verbose       : false,\n\n  // performance data output\n  performance   : true,\n\n  // event namespace\n  namespace     : 'transition',\n\n  // delay between animations in group\n  interval      : 0,\n\n  // whether group animations should be reversed\n  reverse       : 'auto',\n\n  // animation callback event\n  onStart       : function() {},\n  onComplete    : function() {},\n  onShow        : function() {},\n  onHide        : function() {},\n\n  // whether timeout should be used to ensure callback fires in cases animationend does not\n  useFailSafe   : true,\n\n  // delay in ms for fail safe\n  failSafeDelay : 100,\n\n  // whether EXACT animation can occur twice in a row\n  allowRepeats  : false,\n\n  // Override final display type on visible\n  displayType   : false,\n\n  // animation duration\n  animation     : 'fade',\n  duration      : false,\n\n  // new animations will occur after previous ones\n  queue         : true,\n\n  metadata : {\n    displayType: 'display'\n  },\n\n  className   : {\n    animating  : 'animating',\n    disabled   : 'disabled',\n    hidden     : 'hidden',\n    inward     : 'in',\n    loading    : 'loading',\n    looping    : 'looping',\n    outward    : 'out',\n    transition : 'transition',\n    visible    : 'visible'\n  },\n\n  // possible errors\n  error: {\n    noAnimation : 'There is no css animation matching the one you specified. Please make sure your css is vendor prefixed, and you have included transition css.',\n    repeated    : 'That animation is already occurring, cancelling repeated animation',\n    method      : 'The method you called is not defined',\n    support     : 'This browser does not support CSS animations'\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/video.css",
    "content": "/*!\n * # Semantic UI 2.0.0 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Video\n*******************************/\n\n.ui.video {\n  background-color: #dddddd;\n  position: relative;\n  max-width: 100%;\n  padding-bottom: 56.25%;\n  height: 0px;\n  overflow: hidden;\n}\n\n/*--------------\n     Content\n---------------*/\n\n\n/* Placeholder Image */\n.ui.video .placeholder {\n  background-color: #333333;\n}\n\n/* Play Icon Overlay */\n.ui.video .play {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  z-index: 10;\n  width: 100%;\n  height: 100%;\n  background: transparent;\n  -webkit-transition: background 0.2s ease;\n          transition: background 0.2s ease;\n}\n.ui.video .play.icon:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 11;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  color: rgba(255, 255, 255, 0.7);\n  font-size: 7rem;\n  text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.15);\n  -webkit-transition: color 0.2s ease;\n          transition: color 0.2s ease;\n}\n.ui.video .placeholder {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: 100%;\n  height: 100%;\n}\n\n/* IFrame Embed */\n.ui.video .embed iframe,\n.ui.video .embed embed,\n.ui.video .embed object {\n  position: absolute;\n  border: none;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  margin: 0em;\n  padding: 0em;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n    Hover\n---------------*/\n\n.ui.video .play:hover {\n  background: rgba(0, 0, 0, 0);\n}\n.ui.video .play:hover:before {\n  color: #ffffff;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.video .play,\n.ui.active.video .placeholder {\n  display: none;\n}\n.ui.active.video .embed {\n  display: inline;\n}\n\n\n/*******************************\n        Video Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/video.js",
    "content": "/*!\n * # Semantic UI 2.0.0 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2014 Contributorss\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.video = function(parameters) {\n\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.video.settings, parameters)\n          : $.extend({}, $.fn.video.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        error           = settings.error,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n        $module         = $(this),\n        $placeholder    = $module.find(selector.placeholder),\n        $playButton     = $module.find(selector.playButton),\n        $embed          = $module.find(selector.embed),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing video');\n          module.create();\n          $module\n            .on('click' + eventNamespace, selector.placeholder, module.play)\n            .on('click' + eventNamespace, selector.playButton, module.play)\n          ;\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        create: function() {\n          var\n            image = $module.data(metadata.image),\n            html = templates.video(image)\n          ;\n          $module.html(html);\n          module.refresh();\n          if(!image) {\n            module.play();\n          }\n          module.debug('Creating html for video element', html);\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance of video');\n          module.reset();\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $placeholder    = $module.find(selector.placeholder);\n          $playButton     = $module.find(selector.playButton);\n          $embed          = $module.find(selector.embed);\n        },\n\n        // sets new video\n        change: function(source, id, url) {\n          module.debug('Changing video to ', source, id, url);\n          $module\n            .data(metadata.source, source)\n            .data(metadata.id, id)\n            .data(metadata.url, url)\n          ;\n          settings.onChange();\n        },\n\n        // clears video embed\n        reset: function() {\n          module.debug('Clearing video embed and showing placeholder');\n          $module\n            .removeClass(className.active)\n          ;\n          $embed\n            .html(' ')\n          ;\n          $placeholder\n            .show()\n          ;\n          settings.onReset();\n        },\n\n        // plays current video\n        play: function() {\n          module.debug('Playing video');\n          var\n            source = $module.data(metadata.source) || false,\n            url    = $module.data(metadata.url)    || false,\n            id     = $module.data(metadata.id)     || false\n          ;\n          $embed\n            .html( module.generate.html(source, id, url) )\n          ;\n          $module\n            .addClass(className.active)\n          ;\n          settings.onPlay();\n        },\n\n        get: {\n          source: function(url) {\n            if(typeof url !== 'string') {\n              return false;\n            }\n            if(url.search('youtube.com') !== -1) {\n              return 'youtube';\n            }\n            else if(url.search('vimeo.com') !== -1) {\n              return 'vimeo';\n            }\n            return false;\n          },\n          id: function(url) {\n            if(url.match(settings.regExp.youtube)) {\n              return url.match(settings.regExp.youtube)[1];\n            }\n            else if(url.match(settings.regExp.vimeo)) {\n              return url.match(settings.regExp.vimeo)[2];\n            }\n            return false;\n          }\n        },\n\n        generate: {\n          // generates iframe html\n          html: function(source, id, url) {\n            module.debug('Generating embed html');\n            var\n              html\n            ;\n            // allow override of settings\n            source = source || settings.source;\n            id     = id     || settings.id;\n            if((source && id) || url) {\n              if(!source || !id) {\n                source = module.get.source(url);\n                id     = module.get.id(url);\n              }\n              if(source == 'vimeo') {\n                html = ''\n                  + '<iframe src=\"//player.vimeo.com/video/' + id + '?=' + module.generate.url(source) + '\"'\n                  + ' width=\"100%\" height=\"100%\"'\n                  + ' frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n                ;\n              }\n              else if(source == 'youtube') {\n                html = ''\n                  + '<iframe src=\"//www.youtube.com/embed/' + id + '?=' + module.generate.url(source) + '\"'\n                  + ' width=\"100%\" height=\"100%\"'\n                  + ' frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n                ;\n              }\n            }\n            else {\n              module.error(error.noVideo);\n            }\n            return html;\n          },\n\n          // generate url parameters\n          url: function(source) {\n            var\n              api      = (settings.api)\n                ? 1\n                : 0,\n              autoplay = (settings.autoplay === 'auto')\n                ? ($module.data('image') !== undefined)\n                : settings.autoplay,\n              hd       = (settings.hd)\n                ? 1\n                : 0,\n              showUI   = (settings.showUI)\n                ? 1\n                : 0,\n              // opposite used for some params\n              hideUI   = !(settings.showUI)\n                ? 1\n                : 0,\n              url = ''\n            ;\n            if(source == 'vimeo') {\n              url = ''\n                +      'api='      + api\n                + '&amp;title='    + showUI\n                + '&amp;byline='   + showUI\n                + '&amp;portrait=' + showUI\n                + '&amp;autoplay=' + autoplay\n              ;\n              if(settings.color) {\n                url += '&amp;color=' + settings.color;\n              }\n            }\n            if(source == 'ustream') {\n              url = ''\n                + 'autoplay=' + autoplay\n              ;\n              if(settings.color) {\n                url += '&amp;color=' + settings.color;\n              }\n            }\n            else if(source == 'youtube') {\n              url = ''\n                + 'enablejsapi='      + api\n                + '&amp;autoplay='    + autoplay\n                + '&amp;autohide='    + hideUI\n                + '&amp;hq='          + hd\n                + '&amp;modestbranding=1'\n              ;\n              if(settings.color) {\n                url += '&amp;color=' + settings.color;\n              }\n            }\n            return url;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.video.settings = {\n\n  name        : 'Video',\n  namespace   : 'video',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  metadata    : {\n    id     : 'id',\n    image  : 'image',\n    source : 'source',\n    url    : 'url'\n  },\n\n  source      : false,\n  url         : false,\n  id          : false,\n\n  aspectRatio : (16/9),\n\n  onPlay   : function(){},\n  onReset  : function(){},\n  onChange : function(){},\n\n  // callbacks not coded yet (needs to use jsapi)\n  onPause  : function() {},\n  onStop   : function() {},\n\n  width    : 'auto',\n  height   : 'auto',\n\n  autoplay : 'auto',\n  color    : '#442359',\n  hd       : true,\n  showUI   : false,\n  api      : true,\n\n  regExp : {\n    youtube : /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/,\n    vimeo   : /http:\\/\\/(www\\.)?vimeo.com\\/(\\d+)($|\\/)/\n  },\n\n  error      : {\n    noVideo     : 'No video specified',\n    method      : 'The method you called is not defined'\n  },\n\n  className   : {\n    active      : 'active'\n  },\n\n  selector    : {\n    embed       : '.embed',\n    placeholder : '.placeholder',\n    playButton  : '.play'\n  }\n};\n\n$.fn.video.settings.templates = {\n  video: function(image) {\n    var\n      html = ''\n    ;\n    if(image) {\n      html += ''\n        + '<i class=\"video play icon\"></i>'\n        + '<img class=\"placeholder\" src=\"' + image + '\">'\n      ;\n    }\n    html += '<div class=\"embed\"></div>';\n    return html;\n  }\n};\n\n\n})( jQuery, window , document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/visibility.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Visibility\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.visibility = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.visibility.settings, parameters)\n          : $.extend({}, $.fn.visibility.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n        metadata        = settings.metadata,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $placeholder,\n\n        selector        = $module.selector || '',\n        instance        = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        disabled        = false,\n\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', settings);\n\n          module.setup.cache();\n\n          if( module.should.trackChanges() ) {\n\n            if(settings.type == 'image') {\n              module.setup.image();\n            }\n            if(settings.type == 'fixed') {\n              module.setup.fixed();\n            }\n\n            if(settings.observeChanges) {\n              module.observeChanges();\n            }\n            module.bind.events();\n          }\n\n          module.save.position();\n          if( !module.is.visible() ) {\n            module.error(error.visible, $module);\n          }\n\n          if(settings.initialCheck) {\n            module.checkVisibility();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.debug('Storing instance', module);\n          $module\n            .data(moduleNamespace, module)\n          ;\n          instance = module;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module');\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load'   + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $context\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.verbose('DOM tree modified, updating visibility calculations');\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu');\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding visibility events to scroll and resize');\n            if(settings.refreshOnLoad) {\n              $window\n                .on('load'   + eventNamespace, module.event.load)\n              ;\n            }\n            $window\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $context\n              .off('scroll'      + eventNamespace)\n              .on('scroll'       + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          resize: function() {\n            module.debug('Window resized');\n            if(settings.refreshOnResize) {\n              requestAnimationFrame(module.refresh);\n            }\n          },\n          load: function() {\n            module.debug('Page finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          // publishes scrollchange event on one scroll\n          scroll: function() {\n            if(settings.throttle) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              }, settings.throttle);\n            }\n            else {\n              requestAnimationFrame(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              });\n            }\n          },\n          // subscribes to scrollchange\n          scrollchange: function(event, scrollPosition) {\n            module.checkVisibility(scrollPosition);\n          },\n        },\n\n        precache: function(images, callback) {\n          if (!(images instanceof Array)) {\n            images = [images];\n          }\n          var\n            imagesLength  = images.length,\n            loadedCounter = 0,\n            cache         = [],\n            cacheImage    = document.createElement('img'),\n            handleLoad    = function() {\n              loadedCounter++;\n              if (loadedCounter >= images.length) {\n                if ($.isFunction(callback)) {\n                  callback();\n                }\n              }\n            }\n          ;\n          while (imagesLength--) {\n            cacheImage         = document.createElement('img');\n            cacheImage.onload  = handleLoad;\n            cacheImage.onerror = handleLoad;\n            cacheImage.src     = images[imagesLength];\n            cache.push(cacheImage);\n          }\n        },\n\n        enableCallbacks: function() {\n          module.debug('Allowing callbacks to occur');\n          disabled = false;\n        },\n\n        disableCallbacks: function() {\n          module.debug('Disabling all callbacks temporarily');\n          disabled = true;\n        },\n\n        should: {\n          trackChanges: function() {\n            if(methodInvoked) {\n              module.debug('One time query, no need to bind events');\n              return false;\n            }\n            module.debug('Callbacks being attached');\n            return true;\n          }\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              occurred : {},\n              screen   : {},\n              element  : {},\n            };\n          },\n          image: function() {\n            var\n              src = $module.data(metadata.src)\n            ;\n            if(src) {\n              module.verbose('Lazy loading image', src);\n              settings.once           = true;\n              settings.observeChanges = false;\n\n              // show when top visible\n              settings.onOnScreen = function() {\n                module.debug('Image on screen', element);\n                module.precache(src, function() {\n                  module.set.image(src);\n                });\n              };\n            }\n          },\n          fixed: function() {\n            module.debug('Setting up fixed');\n            settings.once           = false;\n            settings.observeChanges = false;\n            settings.initialCheck   = true;\n            settings.refreshOnLoad  = true;\n            if(!parameters.transition) {\n              settings.transition = false;\n            }\n            module.create.placeholder();\n            module.debug('Added placeholder', $placeholder);\n            settings.onTopPassed = function() {\n              module.debug('Element passed, adding fixed position', $module);\n              module.show.placeholder();\n              module.set.fixed();\n              if(settings.transition) {\n                if($.fn.transition !== undefined) {\n                  $module.transition(settings.transition, settings.duration);\n                }\n              }\n            };\n            settings.onTopPassedReverse = function() {\n              module.debug('Element returned to position, removing fixed', $module);\n              module.hide.placeholder();\n              module.remove.fixed();\n            };\n          }\n        },\n\n        create: {\n          placeholder: function() {\n            module.verbose('Creating fixed position placeholder');\n            $placeholder = $module\n              .clone(false)\n              .css('display', 'none')\n              .addClass(className.placeholder)\n              .insertAfter($module)\n            ;\n          }\n        },\n\n        show: {\n          placeholder: function() {\n            module.verbose('Showing placeholder');\n            $placeholder\n              .css('display', 'block')\n              .css('visibility', 'hidden')\n            ;\n          }\n        },\n        hide: {\n          placeholder: function() {\n            module.verbose('Hiding placeholder');\n            $placeholder\n              .css('display', 'none')\n              .css('visibility', '')\n            ;\n          }\n        },\n\n        set: {\n          fixed: function() {\n            module.verbose('Setting element to fixed position');\n            $module\n              .addClass(className.fixed)\n              .css({\n                position : 'fixed',\n                top      : settings.offset + 'px',\n                left     : 'auto',\n                zIndex   : '1'\n              })\n            ;\n          },\n          image: function(src) {\n            $module\n              .attr('src', src)\n            ;\n            if(settings.transition) {\n              if( $.fn.transition !== undefined ) {\n                $module.transition(settings.transition, settings.duration);\n              }\n              else {\n                $module.fadeIn(settings.duration);\n              }\n            }\n            else {\n              $module.show();\n            }\n          }\n        },\n\n        is: {\n          onScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.onScreen;\n          },\n          offScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.offScreen;\n          },\n          visible: function() {\n            if(module.cache && module.cache.element) {\n              return !(module.cache.element.width === 0 && module.cache.element.offset.top === 0);\n            }\n            return false;\n          }\n        },\n\n        refresh: function() {\n          module.debug('Refreshing constants (width/height)');\n          if(settings.type == 'fixed') {\n            module.remove.fixed();\n            module.remove.occurred();\n          }\n          module.reset();\n          module.save.position();\n          if(settings.checkOnRefresh) {\n            module.checkVisibility();\n          }\n          settings.onRefresh.call(element);\n        },\n\n        reset: function() {\n          module.verbose('Reseting all cached values');\n          if( $.isPlainObject(module.cache) ) {\n            module.cache.screen = {};\n            module.cache.element = {};\n          }\n        },\n\n        checkVisibility: function(scroll) {\n          module.verbose('Checking visibility of element', module.cache.element);\n\n          if( !disabled && module.is.visible() ) {\n\n            // save scroll position\n            module.save.scroll(scroll);\n\n            // update calculations derived from scroll\n            module.save.calculations();\n\n            // percentage\n            module.passed();\n\n            // reverse (must be first)\n            module.passingReverse();\n            module.topVisibleReverse();\n            module.bottomVisibleReverse();\n            module.topPassedReverse();\n            module.bottomPassedReverse();\n\n            // one time\n            module.onScreen();\n            module.offScreen();\n            module.passing();\n            module.topVisible();\n            module.bottomVisible();\n            module.topPassed();\n            module.bottomPassed();\n\n            // on update callback\n            if(settings.onUpdate) {\n              settings.onUpdate.call(element, module.get.elementCalculations());\n            }\n          }\n        },\n\n        passed: function(amount, newCallback) {\n          var\n            calculations   = module.get.elementCalculations(),\n            amountInPixels\n          ;\n          // assign callback\n          if(amount && newCallback) {\n            settings.onPassed[amount] = newCallback;\n          }\n          else if(amount !== undefined) {\n            return (module.get.pixelsPassed(amount) > calculations.pixelsPassed);\n          }\n          else if(calculations.passing) {\n            $.each(settings.onPassed, function(amount, callback) {\n              if(calculations.bottomVisible || calculations.pixelsPassed > module.get.pixelsPassed(amount)) {\n                module.execute(callback, amount);\n              }\n              else if(!settings.once) {\n                module.remove.occurred(callback);\n              }\n            });\n          }\n        },\n\n        onScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOnScreen,\n            callbackName = 'onScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for onScreen', newCallback);\n            settings.onOnScreen = newCallback;\n          }\n          if(calculations.onScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOnScreen;\n          }\n        },\n\n        offScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOffScreen,\n            callbackName = 'offScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for offScreen', newCallback);\n            settings.onOffScreen = newCallback;\n          }\n          if(calculations.offScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOffScreen;\n          }\n        },\n\n        passing: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassing,\n            callbackName = 'passing'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing', newCallback);\n            settings.onPassing = newCallback;\n          }\n          if(calculations.passing) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.passing;\n          }\n        },\n\n\n        topVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisible,\n            callbackName = 'topVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible', newCallback);\n            settings.onTopVisible = newCallback;\n          }\n          if(calculations.topVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topVisible;\n          }\n        },\n\n        bottomVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisible,\n            callbackName = 'bottomVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible', newCallback);\n            settings.onBottomVisible = newCallback;\n          }\n          if(calculations.bottomVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomVisible;\n          }\n        },\n\n        topPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassed,\n            callbackName = 'topPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed', newCallback);\n            settings.onTopPassed = newCallback;\n          }\n          if(calculations.topPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topPassed;\n          }\n        },\n\n        bottomPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassed,\n            callbackName = 'bottomPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed', newCallback);\n            settings.onBottomPassed = newCallback;\n          }\n          if(calculations.bottomPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomPassed;\n          }\n        },\n\n        passingReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassingReverse,\n            callbackName = 'passingReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing reverse', newCallback);\n            settings.onPassingReverse = newCallback;\n          }\n          if(!calculations.passing) {\n            if(module.get.occurred('passing')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return !calculations.passing;\n          }\n        },\n\n\n        topVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisibleReverse,\n            callbackName = 'topVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible reverse', newCallback);\n            settings.onTopVisibleReverse = newCallback;\n          }\n          if(!calculations.topVisible) {\n            if(module.get.occurred('topVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.topVisible;\n          }\n        },\n\n        bottomVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisibleReverse,\n            callbackName = 'bottomVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible reverse', newCallback);\n            settings.onBottomVisibleReverse = newCallback;\n          }\n          if(!calculations.bottomVisible) {\n            if(module.get.occurred('bottomVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomVisible;\n          }\n        },\n\n        topPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassedReverse,\n            callbackName = 'topPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed reverse', newCallback);\n            settings.onTopPassedReverse = newCallback;\n          }\n          if(!calculations.topPassed) {\n            if(module.get.occurred('topPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.onTopPassed;\n          }\n        },\n\n        bottomPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassedReverse,\n            callbackName = 'bottomPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed reverse', newCallback);\n            settings.onBottomPassedReverse = newCallback;\n          }\n          if(!calculations.bottomPassed) {\n            if(module.get.occurred('bottomPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomPassed;\n          }\n        },\n\n        execute: function(callback, callbackName) {\n          var\n            calculations = module.get.elementCalculations(),\n            screen       = module.get.screenCalculations()\n          ;\n          callback = callback || false;\n          if(callback) {\n            if(settings.continuous) {\n              module.debug('Callback being called continuously', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n            else if(!module.get.occurred(callbackName)) {\n              module.debug('Conditions met', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n          }\n          module.save.occurred(callbackName);\n        },\n\n        remove: {\n          fixed: function() {\n            module.debug('Removing fixed position');\n            $module\n              .removeClass(className.fixed)\n              .css({\n                position : '',\n                top      : '',\n                left     : '',\n                zIndex   : ''\n              })\n            ;\n          },\n          occurred: function(callback) {\n            if(callback) {\n              var\n                occurred = module.cache.occurred\n              ;\n              if(occurred[callback] !== undefined && occurred[callback] === true) {\n                module.debug('Callback can now be called again', callback);\n                module.cache.occurred[callback] = false;\n              }\n            }\n            else {\n              module.cache.occurred = {};\n            }\n          }\n        },\n\n        save: {\n          calculations: function() {\n            module.verbose('Saving all calculations necessary to determine positioning');\n            module.save.direction();\n            module.save.screenCalculations();\n            module.save.elementCalculations();\n          },\n          occurred: function(callback) {\n            if(callback) {\n              if(module.cache.occurred[callback] === undefined || (module.cache.occurred[callback] !== true)) {\n                module.verbose('Saving callback occurred', callback);\n                module.cache.occurred[callback] = true;\n              }\n            }\n          },\n          scroll: function(scrollPosition) {\n            scrollPosition      = scrollPosition + settings.offset || $context.scrollTop() + settings.offset;\n            module.cache.scroll = scrollPosition;\n          },\n          direction: function() {\n            var\n              scroll     = module.get.scroll(),\n              lastScroll = module.get.lastScroll(),\n              direction\n            ;\n            if(scroll > lastScroll && lastScroll) {\n              direction = 'down';\n            }\n            else if(scroll < lastScroll && lastScroll) {\n              direction = 'up';\n            }\n            else {\n              direction = 'static';\n            }\n            module.cache.direction = direction;\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            var\n              element = module.cache.element,\n              screen  = module.get.screenSize()\n            ;\n            module.verbose('Saving element position');\n            // (quicker than $.extend)\n            element.fits          = (element.height < screen.height);\n            element.offset        = $module.offset();\n            element.width         = $module.outerWidth();\n            element.height        = $module.outerHeight();\n            // store\n            module.cache.element = element;\n            return element;\n          },\n          elementCalculations: function() {\n            var\n              screen     = module.get.screenCalculations(),\n              element    = module.get.elementPosition()\n            ;\n            // offset\n            if(settings.includeMargin) {\n              element.margin        = {};\n              element.margin.top    = parseInt($module.css('margin-top'), 10);\n              element.margin.bottom = parseInt($module.css('margin-bottom'), 10);\n              element.top    = element.offset.top - element.margin.top;\n              element.bottom = element.offset.top + element.height + element.margin.bottom;\n            }\n            else {\n              element.top    = element.offset.top;\n              element.bottom = element.offset.top + element.height;\n            }\n\n            // visibility\n            element.topVisible       = (screen.bottom >= element.top);\n            element.topPassed        = (screen.top >= element.top);\n            element.bottomVisible    = (screen.bottom >= element.bottom);\n            element.bottomPassed     = (screen.top >= element.bottom);\n            element.pixelsPassed     = 0;\n            element.percentagePassed = 0;\n\n            // meta calculations\n            element.onScreen  = (element.topVisible && !element.bottomPassed);\n            element.passing   = (element.topPassed && !element.bottomPassed);\n            element.offScreen = (!element.onScreen);\n\n            // passing calculations\n            if(element.passing) {\n              element.pixelsPassed     = (screen.top - element.top);\n              element.percentagePassed = (screen.top - element.top) / element.height;\n            }\n            module.cache.element = element;\n            module.verbose('Updated element calculations', element);\n            return element;\n          },\n          screenCalculations: function() {\n            var\n              scroll = module.get.scroll()\n            ;\n            module.save.direction();\n            module.cache.screen.top    = scroll;\n            module.cache.screen.bottom = scroll + module.cache.screen.height;\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            module.verbose('Saving window position');\n            module.cache.screen = {\n              height: $context.height()\n            };\n          },\n          position: function() {\n            module.save.screenSize();\n            module.save.elementPosition();\n          }\n        },\n\n        get: {\n          pixelsPassed: function(amount) {\n            var\n              element = module.get.elementCalculations()\n            ;\n            if(amount.search('%') > -1) {\n              return ( element.height * (parseInt(amount, 10) / 100) );\n            }\n            return parseInt(amount, 10);\n          },\n          occurred: function(callback) {\n            return (module.cache.occurred !== undefined)\n              ? module.cache.occurred[callback] || false\n              : false\n            ;\n          },\n          direction: function() {\n            if(module.cache.direction === undefined) {\n              module.save.direction();\n            }\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementPosition();\n            }\n            return module.cache.element;\n          },\n          elementCalculations: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementCalculations();\n            }\n            return module.cache.element;\n          },\n          screenCalculations: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenCalculations();\n            }\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenSize();\n            }\n            return module.cache.screen;\n          },\n          scroll: function() {\n            if(module.cache.scroll === undefined) {\n              module.save.scroll();\n            }\n            return module.cache.scroll;\n          },\n          lastScroll: function() {\n            if(module.cache.screen === undefined) {\n              module.debug('First scroll event, no last scroll could be found');\n              return false;\n            }\n            return module.cache.screen.top;\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        instance.save.scroll();\n        instance.save.calculations();\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.visibility.settings = {\n\n  name                   : 'Visibility',\n  namespace              : 'visibility',\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  // whether to use mutation observers to follow changes\n  observeChanges         : true,\n\n  // check position immediately on init\n  initialCheck           : true,\n\n  // whether to refresh calculations after all page images load\n  refreshOnLoad          : true,\n\n  // whether to refresh calculations after page resize event\n  refreshOnResize        : true,\n\n  // should call callbacks on refresh event (resize, etc)\n  checkOnRefresh         : true,\n\n  // callback should only occur one time\n  once                   : true,\n\n  // callback should fire continuously whe evaluates to true\n  continuous             : false,\n\n  // offset to use with scroll top\n  offset                 : 0,\n\n  // whether to include margin in elements position\n  includeMargin          : false,\n\n  // scroll context for visibility checks\n  context                : window,\n\n  // visibility check delay in ms (defaults to animationFrame)\n  throttle               : false,\n\n  // special visibility type (image, fixed)\n  type                   : false,\n\n  // image only animation settings\n  transition             : 'fade in',\n  duration               : 1000,\n\n  // array of callbacks for percentage\n  onPassed               : {},\n\n  // standard callbacks\n  onOnScreen             : false,\n  onOffScreen            : false,\n  onPassing              : false,\n  onTopVisible           : false,\n  onBottomVisible        : false,\n  onTopPassed            : false,\n  onBottomPassed         : false,\n\n  // reverse callbacks\n  onPassingReverse       : false,\n  onTopVisibleReverse    : false,\n  onBottomVisibleReverse : false,\n  onTopPassedReverse     : false,\n  onBottomPassedReverse  : false,\n\n  // utility callbacks\n  onUpdate               : false, // disabled by default for performance\n  onRefresh              : function(){},\n\n  metadata : {\n    src: 'src'\n  },\n\n  className: {\n    fixed       : 'fixed',\n    placeholder : 'placeholder'\n  },\n\n  error : {\n    method  : 'The method you called is not defined.',\n    visible : 'Element is hidden, you must call refresh after element becomes visible'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/components/visit.js",
    "content": "/*!\n * # Semantic UI 2.0.0 - Visit\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.visit = $.fn.visit = function(parameters) {\n  var\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.visit.settings, parameters)\n          : $.extend({}, $.fn.visit.settings),\n\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n        $displays       = $(),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n      module = {\n\n        initialize: function() {\n          if(settings.count) {\n            module.store(settings.key.count, settings.count);\n          }\n          else if(settings.id) {\n            module.add.id(settings.id);\n          }\n          else if(settings.increment && methodInvoked !== 'increment') {\n            module.increment();\n          }\n          module.add.display($module);\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of visit module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        increment: function(id) {\n          var\n            currentValue = module.get.count(),\n            newValue     = +(currentValue) + 1\n          ;\n          if(id) {\n            module.add.id(id);\n          }\n          else {\n            if(newValue > settings.limit && !settings.surpass) {\n              newValue = settings.limit;\n            }\n            module.debug('Incrementing visits', newValue);\n            module.store(settings.key.count, newValue);\n          }\n        },\n\n        decrement: function(id) {\n          var\n            currentValue = module.get.count(),\n            newValue     = +(currentValue) - 1\n          ;\n          if(id) {\n            module.remove.id(id);\n          }\n          else {\n            module.debug('Removing visit');\n            module.store(settings.key.count, newValue);\n          }\n        },\n\n        get: {\n          count: function() {\n            return +(module.retrieve(settings.key.count)) || 0;\n          },\n          idCount: function(ids) {\n            ids = ids || module.get.ids();\n            return ids.length;\n          },\n          ids: function(delimitedIDs) {\n            var\n              idArray = []\n            ;\n            delimitedIDs = delimitedIDs || module.retrieve(settings.key.ids);\n            if(typeof delimitedIDs === 'string') {\n              idArray = delimitedIDs.split(settings.delimiter);\n            }\n            module.verbose('Found visited ID list', idArray);\n            return idArray;\n          },\n          storageOptions: function(data) {\n            var\n              options = {}\n            ;\n            if(settings.expires) {\n              options.expires = settings.expires;\n            }\n            if(settings.domain) {\n              options.domain = settings.domain;\n            }\n            if(settings.path) {\n              options.path = settings.path;\n            }\n            return options;\n          }\n        },\n\n        has: {\n          visited: function(id, ids) {\n            var\n              visited = false\n            ;\n            ids = ids || module.get.ids();\n            if(id !== undefined && ids) {\n              $.each(ids, function(index, value){\n                if(value == id) {\n                  visited = true;\n                }\n              });\n            }\n            return visited;\n          }\n        },\n\n        set: {\n          count: function(value) {\n            module.store(settings.key.count, value);\n          },\n          ids: function(value) {\n            module.store(settings.key.ids, value);\n          }\n        },\n\n        reset: function() {\n          module.store(settings.key.count, 0);\n          module.store(settings.key.ids, null);\n        },\n\n        add: {\n          id: function(id) {\n            var\n              currentIDs = module.retrieve(settings.key.ids),\n              newIDs = (currentIDs === undefined || currentIDs === '')\n                ? id\n                : currentIDs + settings.delimiter + id\n            ;\n            if( module.has.visited(id) ) {\n              module.debug('Unique content already visited, not adding visit', id, currentIDs);\n            }\n            else if(id === undefined) {\n              module.debug('ID is not defined');\n            }\n            else {\n              module.debug('Adding visit to unique content', id);\n              module.store(settings.key.ids, newIDs);\n            }\n            module.set.count( module.get.idCount() );\n          },\n          display: function(selector) {\n            var\n              $element = $(selector)\n            ;\n            if($element.length > 0 && !$.isWindow($element[0])) {\n              module.debug('Updating visit count for element', $element);\n              $displays = ($displays.length > 0)\n                ? $displays.add($element)\n                : $element\n              ;\n            }\n          }\n        },\n\n        remove: {\n          id: function(id) {\n            var\n              currentIDs = module.get.ids(),\n              newIDs     = []\n            ;\n            if(id !== undefined && currentIDs !== undefined) {\n              module.debug('Removing visit to unique content', id, currentIDs);\n              $.each(currentIDs, function(index, value){\n                if(value !== id) {\n                  newIDs.push(value);\n                }\n              });\n              newIDs = newIDs.join(settings.delimiter);\n              module.store(settings.key.ids, newIDs );\n            }\n            module.set.count( module.get.idCount() );\n          }\n        },\n\n        check: {\n          limit: function(value) {\n            value = value || module.get.count();\n            if(settings.limit) {\n              if(value >= settings.limit) {\n                module.debug('Pages viewed exceeded limit, firing callback', value, settings.limit);\n                settings.onLimit.call(element, value);\n              }\n              module.debug('Limit not reached', value, settings.limit);\n              settings.onChange.call(element, value);\n            }\n            module.update.display(value);\n          }\n        },\n\n        update: {\n          display: function(value) {\n            value = value || module.get.count();\n            if($displays.length > 0) {\n              module.debug('Updating displayed view count', $displays);\n              $displays.html(value);\n            }\n          }\n        },\n\n        store: function(key, value) {\n          var\n            options = module.get.storageOptions(value)\n          ;\n          if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n            window.localStorage.setItem(key, value);\n            module.debug('Value stored using local storage', key, value);\n          }\n          else if($.cookie !== undefined) {\n            $.cookie(key, value, options);\n            module.debug('Value stored using cookie', key, value, options);\n          }\n          else {\n            module.error(error.noCookieStorage);\n            return;\n          }\n          if(key == settings.key.count) {\n            module.check.limit(value);\n          }\n        },\n        retrieve: function(key, value) {\n          var\n            storedValue\n          ;\n          if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n            storedValue = window.localStorage.getItem(key);\n          }\n          // get by cookie\n          else if($.cookie !== undefined) {\n            storedValue = $.cookie(key);\n          }\n          else {\n            module.error(error.noCookieStorage);\n          }\n          if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {\n            storedValue = undefined;\n          }\n          return storedValue;\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          module.debug('Changing internal', name, value);\n          if(value !== undefined) {\n            if( $.isPlainObject(name) ) {\n              $.extend(true, module, name);\n            }\n            else {\n              module[name] = value;\n            }\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.visit.settings = {\n\n  name          : 'Visit',\n\n  debug         : false,\n  verbose       : false,\n  performance   : true,\n\n  namespace     : 'visit',\n\n  increment     : false,\n  surpass       : false,\n  count         : false,\n  limit         : false,\n\n  delimiter     : '&',\n  storageMethod : 'localstorage',\n\n  key           : {\n    count : 'visit-count',\n    ids   : 'visit-ids'\n  },\n\n  expires       : 30,\n  domain        : false,\n  path          : '/',\n\n  onLimit       : function() {},\n  onChange      : function() {},\n\n  error         : {\n    method          : 'The method you called is not defined',\n    missingPersist  : 'Using the persist setting requires the inclusion of PersistJS',\n    noCookieStorage : 'The default storage cookie requires $.cookie to be included.'\n  }\n\n};\n\n})( jQuery, window , document );\n"
  },
  {
    "path": "dist/asset/semantic-ui/semantic.css",
    "content": " /*\n * # Semantic UI - 2.1.6\n * https://github.com/Semantic-Org/Semantic-UI\n * http://www.semantic-ui.com/\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin');\n/*!\n * # Semantic UI 2.1.6 - Reset\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Reset\n*******************************/\n\n/* Border-Box */\n\n*,\n*:before,\n*:after {\n  box-sizing: inherit;\n}\n\nhtml {\n  box-sizing: border-box;\n}\n\n/* iPad Input Shadows */\n\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"password\"] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  /* mobile firefox too! */\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\n\nhtml {\n  font-family: sans-serif;\n  /* 1 */\n  -ms-text-size-adjust: 100%;\n  /* 2 */\n  -webkit-text-size-adjust: 100%;\n  /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  /* 1 */\n  vertical-align: baseline;\n  /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  /* 1 */\n  font: inherit;\n  /* 2 */\n  margin: 0;\n  /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  /* 2 */\n  cursor: pointer;\n  /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n *    (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  /* 2 */\n  box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0;\n  /* 1 */\n  padding: 0;\n  /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Page\n*******************************/\n\nhtml,\nbody {\n  height: 100%;\n}\n\nhtml {\n  font-size: 14px;\n}\n\nbody {\n  margin: 0px;\n  padding: 0px;\n  overflow-x: hidden;\n  min-width: 320px;\n  background: #FFFFFF;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 14px;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  font-smoothing: antialiased;\n}\n\n/*******************************\n             Headers\n*******************************/\n\nh1,\nh2,\nh3,\nh4,\nh5 {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  line-height: 1.2857em;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  font-weight: bold;\n  padding: 0em;\n}\n\nh1 {\n  min-height: 1rem;\n  font-size: 2rem;\n}\n\nh2 {\n  font-size: 1.714rem;\n}\n\nh3 {\n  font-size: 1.28rem;\n}\n\nh4 {\n  font-size: 1.071rem;\n}\n\nh5 {\n  font-size: 1rem;\n}\n\nh1:first-child,\nh2:first-child,\nh3:first-child,\nh4:first-child,\nh5:first-child {\n  margin-top: 0em;\n}\n\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n             Text\n*******************************/\n\np {\n  margin: 0em 0em 1em;\n  line-height: 1.4285em;\n}\n\np:first-child {\n  margin-top: 0em;\n}\n\np:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n        Links\n--------------------*/\n\na {\n  color: #4183C4;\n  text-decoration: none;\n}\n\na:hover {\n  color: #1e70bf;\n  text-decoration: none;\n}\n\n/*******************************\n          Highlighting\n*******************************/\n\n/* Site */\n\n::-webkit-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n::-moz-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n::selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Form */\n\ntextarea::-webkit-selection,\ninput::-webkit-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\ntextarea::-moz-selection,\ninput::-moz-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\ntextarea::selection,\ninput::selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*******************************\n        Global Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Button\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Button\n*******************************/\n\n.ui.button {\n  cursor: pointer;\n  display: inline-block;\n  min-height: 1em;\n  outline: none;\n  border: none;\n  vertical-align: baseline;\n  background: #E0E1E2 none;\n  color: rgba(0, 0, 0, 0.6);\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em 0.25em 0em 0em;\n  padding: 0.78571429em 1.5em 0.78571429em;\n  text-transform: none;\n  text-shadow: none;\n  font-weight: bold;\n  line-height: 1em;\n  font-style: normal;\n  text-align: center;\n  text-decoration: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n  will-change: '';\n  -webkit-tap-highlight-color: transparent;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.button:hover {\n  background-color: #CACBCD;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.button:hover .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Focus\n---------------*/\n\n.ui.button:focus {\n  background-color: #CACBCD;\n  color: rgba(0, 0, 0, 0.8);\n  background-image: '' !important;\n  box-shadow: '' !important;\n}\n\n.ui.button:focus .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.button:active,\n.ui.active.button:active {\n  background-color: #BABBBC;\n  background-image: '';\n  color: rgba(0, 0, 0, 0.9);\n  box-shadow: 0px 0px 0px 1px transparent inset, none;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.button {\n  background-color: #C0C1C2;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.active.button:hover {\n  background-color: #C0C1C2;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.active.button:active {\n  background-color: #C0C1C2;\n  background-image: none;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n/* Specificity hack */\n\n.ui.loading.loading.loading.loading.loading.loading.button {\n  position: relative;\n  cursor: default;\n  text-shadow: none !important;\n  color: transparent !important;\n  opacity: 1;\n  pointer-events: auto;\n  -webkit-transition: all 0s linear, opacity 0.1s ease;\n  transition: all 0s linear, opacity 0.1s ease;\n}\n\n.ui.loading.button:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.15);\n}\n\n.ui.loading.button:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #FFFFFF transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n.ui.labeled.icon.loading.button .icon {\n  background-color: transparent;\n  box-shadow: none;\n}\n\n@-webkit-keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n.ui.basic.loading.button:not(.inverted):before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.ui.basic.loading.button:not(.inverted):after {\n  border-top-color: #767676;\n}\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.buttons .disabled.button,\n.ui.disabled.button,\n.ui.button:disabled,\n.ui.disabled.button:hover,\n.ui.disabled.active.button {\n  cursor: default;\n  opacity: 0.45 !important;\n  background-image: none !important;\n  box-shadow: none !important;\n  pointer-events: none;\n}\n\n/* Basic Group With Disabled */\n\n.ui.basic.buttons .ui.disabled.button {\n  border-color: rgba(34, 36, 38, 0.5);\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.button {\n  position: relative;\n  overflow: hidden;\n  padding-right: 0em !important;\n  vertical-align: middle;\n  z-index: 1;\n}\n\n.ui.animated.button .content {\n  will-change: transform, opacity;\n}\n\n.ui.animated.button .visible.content {\n  position: relative;\n  margin-right: 1.5em;\n}\n\n.ui.animated.button .hidden.content {\n  position: absolute;\n  width: 100%;\n}\n\n/* Horizontal */\n\n.ui.animated.button .visible.content,\n.ui.animated.button .hidden.content {\n  -webkit-transition: right 0.3s ease 0s;\n  transition: right 0.3s ease 0s;\n}\n\n.ui.animated.button .visible.content {\n  left: auto;\n  right: 0%;\n}\n\n.ui.animated.button .hidden.content {\n  top: 50%;\n  left: auto;\n  right: -100%;\n  margin-top: -0.5em;\n}\n\n.ui.animated.button:focus .visible.content,\n.ui.animated.button:hover .visible.content {\n  left: auto;\n  right: 200%;\n}\n\n.ui.animated.button:focus .hidden.content,\n.ui.animated.button:hover .hidden.content {\n  left: auto;\n  right: 0%;\n}\n\n/* Vertical */\n\n.ui.vertical.animated.button .visible.content,\n.ui.vertical.animated.button .hidden.content {\n  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;\n  transition: top 0.3s ease, transform 0.3s ease;\n}\n\n.ui.vertical.animated.button .visible.content {\n  -webkit-transform: translateY(0%);\n  -ms-transform: translateY(0%);\n  transform: translateY(0%);\n  right: auto;\n}\n\n.ui.vertical.animated.button .hidden.content {\n  top: -50%;\n  left: 0%;\n  right: auto;\n}\n\n.ui.vertical.animated.button:focus .visible.content,\n.ui.vertical.animated.button:hover .visible.content {\n  -webkit-transform: translateY(200%);\n  -ms-transform: translateY(200%);\n  transform: translateY(200%);\n  right: auto;\n}\n\n.ui.vertical.animated.button:focus .hidden.content,\n.ui.vertical.animated.button:hover .hidden.content {\n  top: 50%;\n  right: auto;\n}\n\n/* Fade */\n\n.ui.fade.animated.button .visible.content,\n.ui.fade.animated.button .hidden.content {\n  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;\n  transition: opacity 0.3s ease, transform 0.3s ease;\n}\n\n.ui.fade.animated.button .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n  -ms-transform: scale(1);\n  transform: scale(1);\n}\n\n.ui.fade.animated.button .hidden.content {\n  opacity: 0;\n  left: 0%;\n  right: auto;\n  -webkit-transform: scale(1.5);\n  -ms-transform: scale(1.5);\n  transform: scale(1.5);\n}\n\n.ui.fade.animated.button:focus .visible.content,\n.ui.fade.animated.button:hover .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 0;\n  -webkit-transform: scale(0.75);\n  -ms-transform: scale(0.75);\n  transform: scale(0.75);\n}\n\n.ui.fade.animated.button:focus .hidden.content,\n.ui.fade.animated.button:hover .hidden.content {\n  left: 0%;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n  -ms-transform: scale(1);\n  transform: scale(1);\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.button {\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  background: transparent none;\n  color: #FFFFFF;\n  text-shadow: none !important;\n}\n\n/* Group */\n\n.ui.inverted.buttons .button {\n  margin: 0px 0px 0px -2px;\n}\n\n.ui.inverted.buttons .button:first-child {\n  margin-left: 0em;\n}\n\n.ui.inverted.vertical.buttons .button {\n  margin: 0px 0px -2px 0px;\n}\n\n.ui.inverted.vertical.buttons .button:first-child {\n  margin-top: 0em;\n}\n\n/* States */\n\n/* Hover */\n\n.ui.inverted.button:hover {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active / Focus */\n\n.ui.inverted.button:focus,\n.ui.inverted.button.active {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active Focus */\n\n.ui.inverted.button.active:focus {\n  background: #DCDDDE;\n  box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n    Labeled Button\n--------------------*/\n\n.ui.labeled.button:not(.icon) {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  background: none !important;\n  padding: 0px !important;\n  border: none !important;\n  box-shadow: none !important;\n}\n\n.ui.labeled.button > .button {\n  margin: 0px;\n}\n\n.ui.labeled.button > .label {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  margin: 0px 0px 0px -1px !important;\n  padding: '';\n  font-size: 1em;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Tag */\n\n.ui.labeled.button > .tag.label:before {\n  width: 1.85em;\n  height: 1.85em;\n}\n\n/* Right */\n\n.ui.labeled.button:not([class*=\"left labeled\"]) > .button {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n.ui.labeled.button:not([class*=\"left labeled\"]) > .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n/* Left Side */\n\n.ui[class*=\"left labeled\"].button > .button {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n.ui[class*=\"left labeled\"].button > .label {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n/*-------------------\n       Social\n--------------------*/\n\n/* Facebook */\n\n.ui.facebook.button {\n  background-color: #3B5998;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.facebook.button:hover {\n  background-color: #304d8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.facebook.button:active {\n  background-color: #2d4373;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Twitter */\n\n.ui.twitter.button {\n  background-color: #0084B4;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.twitter.button:hover {\n  background-color: #00719b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.twitter.button:active {\n  background-color: #005f81;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Google Plus */\n\n.ui.google.plus.button {\n  background-color: #DC4A38;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.google.plus.button:hover {\n  background-color: #de321d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.google.plus.button:active {\n  background-color: #bf3322;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Linked In */\n\n.ui.linkedin.button {\n  background-color: #1F88BE;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.linkedin.button:hover {\n  background-color: #147baf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.linkedin.button:active {\n  background-color: #186992;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* YouTube */\n\n.ui.youtube.button {\n  background-color: #CC181E;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.youtube.button:hover {\n  background-color: #bd0d13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.youtube.button:active {\n  background-color: #9e1317;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Instagram */\n\n.ui.instagram.button {\n  background-color: #49769C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.instagram.button:hover {\n  background-color: #3d698e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.instagram.button:active {\n  background-color: #395c79;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Pinterest */\n\n.ui.pinterest.button {\n  background-color: #00ACED;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.pinterest.button:hover {\n  background-color: #0099d4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pinterest.button:active {\n  background-color: #0087ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* VK */\n\n.ui.vk.button {\n  background-color: #4D7198;\n  color: #FFFFFF;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.vk.button:hover {\n  background-color: #41648a;\n  color: #FFFFFF;\n}\n\n.ui.vk.button:active {\n  background-color: #3c5876;\n  color: #FFFFFF;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.button > .icon:not(.button) {\n  height: 0.85714286em;\n  opacity: 0.8;\n  margin: 0em 0.42857143em 0em -0.21428571em;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n  vertical-align: '';\n  color: '';\n}\n\n.ui.button > .right.icon:not(.button) {\n  margin: 0em -0.21428571em 0em 0.42857143em;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui[class*=\"left floated\"].buttons,\n.ui[class*=\"left floated\"].button {\n  float: left;\n  margin-left: 0em;\n  margin-right: 0.25em;\n}\n\n.ui[class*=\"right floated\"].buttons,\n.ui[class*=\"right floated\"].button {\n  float: right;\n  margin-right: 0em;\n  margin-left: 0.25em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.buttons .button,\n.ui.compact.button {\n  padding: 0.58928571em 1.125em 0.58928571em;\n}\n\n.ui.compact.icon.buttons .button,\n.ui.compact.icon.button {\n  padding: 0.58928571em 0.58928571em 0.58928571em;\n}\n\n.ui.compact.labeled.icon.buttons .button,\n.ui.compact.labeled.icon.button {\n  padding: 0.58928571em 3.69642857em 0.58928571em;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.buttons .button,\n.ui.mini.buttons .or,\n.ui.mini.button {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.buttons .button,\n.ui.tiny.buttons .or,\n.ui.tiny.button {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.buttons .button,\n.ui.small.buttons .or,\n.ui.small.button {\n  font-size: 0.92857143rem;\n}\n\n.ui.buttons .button,\n.ui.buttons .or,\n.ui.button {\n  font-size: 1rem;\n}\n\n.ui.large.buttons .button,\n.ui.large.buttons .or,\n.ui.large.button {\n  font-size: 1.14285714rem;\n}\n\n.ui.big.buttons .button,\n.ui.big.buttons .or,\n.ui.big.button {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.buttons .button,\n.ui.huge.buttons .or,\n.ui.huge.button {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.buttons .button,\n.ui.massive.buttons .or,\n.ui.massive.button {\n  font-size: 1.71428571rem;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n.ui.icon.buttons .button,\n.ui.icon.button {\n  padding: 0.78571429em 0.78571429em 0.78571429em;\n}\n\n.ui.icon.buttons .button > .icon,\n.ui.icon.button > .icon {\n  opacity: 0.9;\n  margin: 0em;\n  vertical-align: top;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.buttons .button,\n.ui.basic.button {\n  background: transparent none !important;\n  color: rgba(0, 0, 0, 0.6) !important;\n  font-weight: normal;\n  border-radius: 0.28571429rem;\n  text-transform: none;\n  text-shadow: none !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons {\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n\n.ui.basic.buttons .button {\n  border-radius: 0em;\n}\n\n.ui.basic.buttons .button:hover,\n.ui.basic.button:hover {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons .button:focus,\n.ui.basic.button:focus {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons .button:active,\n.ui.basic.button:active {\n  background: #F8F8F8 !important;\n  color: rgba(0, 0, 0, 0.9) !important;\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons .active.button,\n.ui.basic.active.button {\n  background: rgba(0, 0, 0, 0.05) !important;\n  box-shadow: '' !important;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: rgba(34, 36, 38, 0.35);\n}\n\n.ui.basic.buttons .active.button:hover,\n.ui.basic.active.button:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n/* Vertical */\n\n.ui.basic.buttons .button:hover {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n\n.ui.basic.buttons .button:active {\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n\n.ui.basic.buttons .active.button {\n  box-shadow: rgba(34, 36, 38, 0.35) inset;\n}\n\n/* Standard Basic Inverted */\n\n.ui.basic.inverted.buttons .button,\n.ui.basic.inverted.button {\n  background-color: transparent !important;\n  color: #F9FAFB !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n}\n\n.ui.basic.inverted.buttons .button:hover,\n.ui.basic.inverted.button:hover {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n.ui.basic.inverted.buttons .button:focus,\n.ui.basic.inverted.button:focus {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n.ui.basic.inverted.buttons .button:active,\n.ui.basic.inverted.button:active {\n  background-color: rgba(255, 255, 255, 0.08) !important;\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important;\n}\n\n.ui.basic.inverted.buttons .active.button,\n.ui.basic.inverted.active.button {\n  background-color: rgba(255, 255, 255, 0.08);\n  color: #FFFFFF;\n  text-shadow: none;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;\n}\n\n.ui.basic.inverted.buttons .active.button:hover,\n.ui.basic.inverted.active.button:hover {\n  background-color: rgba(255, 255, 255, 0.15);\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n/* Basic Group */\n\n.ui.basic.buttons .button {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n.ui.basic.vertical.buttons .button {\n  border-left: none;\n}\n\n.ui.basic.vertical.buttons .button {\n  border-left-width: 0px;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.basic.vertical.buttons .button:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Labeled Icon\n---------------*/\n\n.ui.labeled.icon.buttons .button,\n.ui.labeled.icon.button {\n  position: relative;\n  padding-left: 4.07142857em !important;\n  padding-right: 1.5em !important;\n}\n\n/* Left Labeled */\n\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  position: absolute;\n  height: 100%;\n  line-height: 1;\n  border-radius: 0px;\n  border-top-left-radius: inherit;\n  border-bottom-left-radius: inherit;\n  text-align: center;\n  margin: 0em;\n  width: 2.57142857em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: '';\n  box-shadow: -1px 0px 0px 0px transparent inset;\n}\n\n/* Left Labeled */\n\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  top: 0em;\n  left: 0em;\n}\n\n/* Right Labeled */\n\n.ui[class*=\"right labeled\"].icon.button {\n  padding-right: 4.07142857em !important;\n  padding-left: 1.5em !important;\n}\n\n.ui[class*=\"right labeled\"].icon.button > .icon {\n  left: auto;\n  right: 0em;\n  border-radius: 0px;\n  border-top-right-radius: inherit;\n  border-bottom-right-radius: inherit;\n  box-shadow: 1px 0px 0px 0px transparent inset;\n}\n\n.ui.labeled.icon.buttons > .button > .icon:before,\n.ui.labeled.icon.button > .icon:before,\n.ui.labeled.icon.buttons > .button > .icon:after,\n.ui.labeled.icon.button > .icon:after {\n  display: block;\n  position: absolute;\n  width: 100%;\n  top: 50%;\n  text-align: center;\n  -webkit-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  transform: translateY(-50%);\n}\n\n.ui.labeled.icon.buttons .button > .icon {\n  border-radius: 0em;\n}\n\n.ui.labeled.icon.buttons .button:first-child > .icon {\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n.ui.labeled.icon.buttons .button:last-child > .icon {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n.ui.vertical.labeled.icon.buttons .button:first-child > .icon {\n  border-radius: 0em;\n  border-top-left-radius: 0.28571429rem;\n}\n\n.ui.vertical.labeled.icon.buttons .button:last-child > .icon {\n  border-radius: 0em;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n/* Fluid Labeled */\n\n.ui.fluid[class*=\"left labeled\"].icon.button,\n.ui.fluid[class*=\"right labeled\"].icon.button {\n  padding-left: 1.5em !important;\n  padding-right: 1.5em !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n/* Toggle (Modifies active state to give affordances) */\n\n.ui.toggle.buttons .active.button,\n.ui.buttons .button.toggle.active,\n.ui.button.toggle.active {\n  background-color: #21BA45 !important;\n  box-shadow: none !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n\n.ui.button.toggle.active:hover {\n  background-color: #16ab39 !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.button {\n  border-radius: 10em;\n}\n\n.ui.circular.button > .icon {\n  width: 1em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n      Or Buttons\n--------------------*/\n\n.ui.buttons .or {\n  position: relative;\n  width: 0.3em;\n  height: 2.57142857em;\n  z-index: 3;\n}\n\n.ui.buttons .or:before {\n  position: absolute;\n  text-align: center;\n  border-radius: 500rem;\n  content: 'or';\n  top: 50%;\n  left: 50%;\n  background-color: #FFFFFF;\n  text-shadow: none;\n  margin-top: -0.89285714em;\n  margin-left: -0.89285714em;\n  width: 1.78571429em;\n  height: 1.78571429em;\n  line-height: 1.78571429em;\n  color: rgba(0, 0, 0, 0.4);\n  font-style: normal;\n  font-weight: bold;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n}\n\n.ui.buttons .or[data-text]:before {\n  content: attr(data-text);\n}\n\n/* Fluid Or */\n\n.ui.fluid.buttons .or {\n  width: 0em !important;\n}\n\n.ui.fluid.buttons .or:after {\n  display: none;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n/* Singular */\n\n.ui.attached.button {\n  position: relative;\n  display: block;\n  margin: 0em;\n  border-radius: 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;\n}\n\n/* Top / Bottom */\n\n.ui.attached.top.button {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.attached.bottom.button {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Left / Right */\n\n.ui.left.attached.button {\n  display: inline-block;\n  border-left: none;\n  text-align: right;\n  padding-right: 0.75em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui.right.attached.button {\n  display: inline-block;\n  text-align: left;\n  padding-left: 0.75em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/* Plural */\n\n.ui.attached.buttons {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  border-radius: 0em;\n  width: auto !important;\n  z-index: 2;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n\n.ui.attached.buttons .button {\n  margin: 0em;\n}\n\n.ui.attached.buttons .button:first-child {\n  border-radius: 0em;\n}\n\n.ui.attached.buttons .button:last-child {\n  border-radius: 0em;\n}\n\n/* Top / Bottom */\n\n.ui[class*=\"top attached\"].buttons {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui[class*=\"top attached\"].buttons .button:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui[class*=\"top attached\"].buttons .button:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui[class*=\"bottom attached\"].buttons {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].buttons .button:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].buttons .button:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Left / Right */\n\n.ui[class*=\"left attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-right: 0em;\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui[class*=\"left attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui[class*=\"left attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n.ui[class*=\"right attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-left: 0em;\n  margin-right: -1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"right attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui[class*=\"right attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.buttons,\n.ui.fluid.button {\n  width: 100%;\n}\n\n.ui.fluid.button {\n  display: block;\n}\n\n.ui.two.buttons {\n  width: 100%;\n}\n\n.ui.two.buttons > .button {\n  width: 50%;\n}\n\n.ui.three.buttons {\n  width: 100%;\n}\n\n.ui.three.buttons > .button {\n  width: 33.333%;\n}\n\n.ui.four.buttons {\n  width: 100%;\n}\n\n.ui.four.buttons > .button {\n  width: 25%;\n}\n\n.ui.five.buttons {\n  width: 100%;\n}\n\n.ui.five.buttons > .button {\n  width: 20%;\n}\n\n.ui.six.buttons {\n  width: 100%;\n}\n\n.ui.six.buttons > .button {\n  width: 16.666%;\n}\n\n.ui.seven.buttons {\n  width: 100%;\n}\n\n.ui.seven.buttons > .button {\n  width: 14.285%;\n}\n\n.ui.eight.buttons {\n  width: 100%;\n}\n\n.ui.eight.buttons > .button {\n  width: 12.500%;\n}\n\n.ui.nine.buttons {\n  width: 100%;\n}\n\n.ui.nine.buttons > .button {\n  width: 11.11%;\n}\n\n.ui.ten.buttons {\n  width: 100%;\n}\n\n.ui.ten.buttons > .button {\n  width: 10%;\n}\n\n.ui.eleven.buttons {\n  width: 100%;\n}\n\n.ui.eleven.buttons > .button {\n  width: 9.09%;\n}\n\n.ui.twelve.buttons {\n  width: 100%;\n}\n\n.ui.twelve.buttons > .button {\n  width: 8.3333%;\n}\n\n/* Fluid Vertical Buttons */\n\n.ui.fluid.vertical.buttons,\n.ui.fluid.vertical.buttons > .button {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: auto;\n}\n\n.ui.two.vertical.buttons > .button {\n  height: 50%;\n}\n\n.ui.three.vertical.buttons > .button {\n  height: 33.333%;\n}\n\n.ui.four.vertical.buttons > .button {\n  height: 25%;\n}\n\n.ui.five.vertical.buttons > .button {\n  height: 20%;\n}\n\n.ui.six.vertical.buttons > .button {\n  height: 16.666%;\n}\n\n.ui.seven.vertical.buttons > .button {\n  height: 14.285%;\n}\n\n.ui.eight.vertical.buttons > .button {\n  height: 12.500%;\n}\n\n.ui.nine.vertical.buttons > .button {\n  height: 11.11%;\n}\n\n.ui.ten.vertical.buttons > .button {\n  height: 10%;\n}\n\n.ui.eleven.vertical.buttons > .button {\n  height: 9.09%;\n}\n\n.ui.twelve.vertical.buttons > .button {\n  height: 8.3333%;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/*--- Black ---*/\n\n.ui.black.buttons .button,\n.ui.black.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.black.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.black.buttons .button:hover,\n.ui.black.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.black.buttons .button:focus,\n.ui.black.button:focus {\n  background-color: #2f3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.black.buttons .button:active,\n.ui.black.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.black.buttons .active.button,\n.ui.black.buttons .active.button:active,\n.ui.black.active.button,\n.ui.black.button .active.button:active {\n  background-color: #0f0f10;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.black.buttons .button,\n.ui.basic.black.button {\n  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;\n  color: #1B1C1D !important;\n}\n\n.ui.basic.black.buttons .button:hover,\n.ui.basic.black.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\n  color: #27292a !important;\n}\n\n.ui.basic.black.buttons .button:focus,\n.ui.basic.black.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #2f3032 inset !important;\n  color: #27292a !important;\n}\n\n.ui.basic.black.buttons .active.button,\n.ui.basic.black.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;\n  color: #343637 !important;\n}\n\n.ui.basic.black.buttons .button:active,\n.ui.basic.black.button:active {\n  box-shadow: 0px 0px 0px 1px #343637 inset !important;\n  color: #343637 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.black.buttons .button,\n.ui.inverted.black.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover,\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus,\n.ui.inverted.black.buttons .button.active,\n.ui.inverted.black.button.active,\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover {\n  background-color: #000000;\n}\n\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus {\n  background-color: #000000;\n}\n\n.ui.inverted.black.buttons .active.button,\n.ui.inverted.black.active.button {\n  background-color: #000000;\n}\n\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  background-color: #000000;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.black.basic.buttons .button,\n.ui.inverted.black.buttons .basic.button,\n.ui.inverted.black.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.black.basic.buttons .button:hover,\n.ui.inverted.black.buttons .basic.button:hover,\n.ui.inverted.black.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #545454 !important;\n}\n\n.ui.inverted.black.basic.buttons .active.button,\n.ui.inverted.black.buttons .basic.active.button,\n.ui.inverted.black.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.black.basic.buttons .button:active,\n.ui.inverted.black.buttons .basic.button:active,\n.ui.inverted.black.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.buttons .button,\n.ui.grey.button {\n  background-color: #767676;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.grey.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.grey.buttons .button:hover,\n.ui.grey.button:hover {\n  background-color: #838383;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.grey.buttons .button:focus,\n.ui.grey.button:focus {\n  background-color: #8a8a8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.grey.buttons .button:active,\n.ui.grey.button:active {\n  background-color: #909090;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.grey.buttons .active.button,\n.ui.grey.buttons .active.button:active,\n.ui.grey.active.button,\n.ui.grey.button .active.button:active {\n  background-color: #696969;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.grey.buttons .button,\n.ui.basic.grey.button {\n  box-shadow: 0px 0px 0px 1px #767676 inset !important;\n  color: #767676 !important;\n}\n\n.ui.basic.grey.buttons .button:hover,\n.ui.basic.grey.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #838383 inset !important;\n  color: #838383 !important;\n}\n\n.ui.basic.grey.buttons .button:focus,\n.ui.basic.grey.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8a8a8a inset !important;\n  color: #838383 !important;\n}\n\n.ui.basic.grey.buttons .active.button,\n.ui.basic.grey.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #696969 inset !important;\n  color: #909090 !important;\n}\n\n.ui.basic.grey.buttons .button:active,\n.ui.basic.grey.button:active {\n  box-shadow: 0px 0px 0px 1px #909090 inset !important;\n  color: #909090 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.grey.buttons .button,\n.ui.inverted.grey.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover,\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus,\n.ui.inverted.grey.buttons .button.active,\n.ui.inverted.grey.button.active,\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover {\n  background-color: #cfd0d2;\n}\n\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus {\n  background-color: #c7c9cb;\n}\n\n.ui.inverted.grey.buttons .active.button,\n.ui.inverted.grey.active.button {\n  background-color: #cfd0d2;\n}\n\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  background-color: #c2c4c5;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.grey.basic.buttons .button,\n.ui.inverted.grey.buttons .basic.button,\n.ui.inverted.grey.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.grey.basic.buttons .button:hover,\n.ui.inverted.grey.buttons .basic.button:hover,\n.ui.inverted.grey.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;\n  color: #DCDDDE !important;\n}\n\n.ui.inverted.grey.basic.buttons .active.button,\n.ui.inverted.grey.buttons .basic.active.button,\n.ui.inverted.grey.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.grey.basic.buttons .button:active,\n.ui.inverted.grey.buttons .basic.button:active,\n.ui.inverted.grey.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.buttons .button,\n.ui.brown.button {\n  background-color: #A5673F;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.brown.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.brown.buttons .button:hover,\n.ui.brown.button:hover {\n  background-color: #975b33;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.brown.buttons .button:focus,\n.ui.brown.button:focus {\n  background-color: #90532b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.brown.buttons .button:active,\n.ui.brown.button:active {\n  background-color: #805031;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.brown.buttons .active.button,\n.ui.brown.buttons .active.button:active,\n.ui.brown.active.button,\n.ui.brown.button .active.button:active {\n  background-color: #995a31;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.brown.buttons .button,\n.ui.basic.brown.button {\n  box-shadow: 0px 0px 0px 1px #A5673F inset !important;\n  color: #A5673F !important;\n}\n\n.ui.basic.brown.buttons .button:hover,\n.ui.basic.brown.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #975b33 inset !important;\n  color: #975b33 !important;\n}\n\n.ui.basic.brown.buttons .button:focus,\n.ui.basic.brown.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #90532b inset !important;\n  color: #975b33 !important;\n}\n\n.ui.basic.brown.buttons .active.button,\n.ui.basic.brown.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #995a31 inset !important;\n  color: #805031 !important;\n}\n\n.ui.basic.brown.buttons .button:active,\n.ui.basic.brown.button:active {\n  box-shadow: 0px 0px 0px 1px #805031 inset !important;\n  color: #805031 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.brown.buttons .button,\n.ui.inverted.brown.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D67C1C inset !important;\n  color: #D67C1C;\n}\n\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover,\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus,\n.ui.inverted.brown.buttons .button.active,\n.ui.inverted.brown.button.active,\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover {\n  background-color: #c86f11;\n}\n\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus {\n  background-color: #c16808;\n}\n\n.ui.inverted.brown.buttons .active.button,\n.ui.inverted.brown.active.button {\n  background-color: #cc6f0d;\n}\n\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  background-color: #a96216;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.brown.basic.buttons .button,\n.ui.inverted.brown.buttons .basic.button,\n.ui.inverted.brown.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.brown.basic.buttons .button:hover,\n.ui.inverted.brown.buttons .basic.button:hover,\n.ui.inverted.brown.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #c86f11 inset !important;\n  color: #D67C1C !important;\n}\n\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c16808 inset !important;\n  color: #D67C1C !important;\n}\n\n.ui.inverted.brown.basic.buttons .active.button,\n.ui.inverted.brown.buttons .basic.active.button,\n.ui.inverted.brown.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;\n  color: #D67C1C !important;\n}\n\n.ui.inverted.brown.basic.buttons .button:active,\n.ui.inverted.brown.buttons .basic.button:active,\n.ui.inverted.brown.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #a96216 inset !important;\n  color: #D67C1C !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.buttons .button,\n.ui.blue.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.blue.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.blue.buttons .button:hover,\n.ui.blue.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.blue.buttons .button:focus,\n.ui.blue.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.blue.buttons .button:active,\n.ui.blue.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.blue.buttons .active.button,\n.ui.blue.buttons .active.button:active,\n.ui.blue.active.button,\n.ui.blue.button .active.button:active {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.blue.buttons .button,\n.ui.basic.blue.button {\n  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;\n  color: #2185D0 !important;\n}\n\n.ui.basic.blue.buttons .button:hover,\n.ui.basic.blue.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;\n  color: #1678c2 !important;\n}\n\n.ui.basic.blue.buttons .button:focus,\n.ui.basic.blue.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;\n  color: #1678c2 !important;\n}\n\n.ui.basic.blue.buttons .active.button,\n.ui.basic.blue.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;\n  color: #1a69a4 !important;\n}\n\n.ui.basic.blue.buttons .button:active,\n.ui.basic.blue.button:active {\n  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;\n  color: #1a69a4 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.blue.buttons .button,\n.ui.inverted.blue.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;\n  color: #54C8FF;\n}\n\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover,\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus,\n.ui.inverted.blue.buttons .button.active,\n.ui.inverted.blue.button.active,\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover {\n  background-color: #3ac0ff;\n}\n\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus {\n  background-color: #2bbbff;\n}\n\n.ui.inverted.blue.buttons .active.button,\n.ui.inverted.blue.active.button {\n  background-color: #3ac0ff;\n}\n\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  background-color: #21b8ff;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.blue.basic.buttons .button,\n.ui.inverted.blue.buttons .basic.button,\n.ui.inverted.blue.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.blue.basic.buttons .button:hover,\n.ui.inverted.blue.buttons .basic.button:hover,\n.ui.inverted.blue.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;\n  color: #54C8FF !important;\n}\n\n.ui.inverted.blue.basic.buttons .active.button,\n.ui.inverted.blue.buttons .basic.active.button,\n.ui.inverted.blue.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n\n.ui.inverted.blue.basic.buttons .button:active,\n.ui.inverted.blue.buttons .basic.button:active,\n.ui.inverted.blue.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;\n  color: #54C8FF !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.buttons .button,\n.ui.green.button {\n  background-color: #21BA45;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.green.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.green.buttons .button:hover,\n.ui.green.button:hover {\n  background-color: #16ab39;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.green.buttons .button:focus,\n.ui.green.button:focus {\n  background-color: #0ea432;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.green.buttons .button:active,\n.ui.green.button:active {\n  background-color: #198f35;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.green.buttons .active.button,\n.ui.green.buttons .active.button:active,\n.ui.green.active.button,\n.ui.green.button .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.green.buttons .button,\n.ui.basic.green.button {\n  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;\n  color: #21BA45 !important;\n}\n\n.ui.basic.green.buttons .button:hover,\n.ui.basic.green.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;\n  color: #16ab39 !important;\n}\n\n.ui.basic.green.buttons .button:focus,\n.ui.basic.green.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;\n  color: #16ab39 !important;\n}\n\n.ui.basic.green.buttons .active.button,\n.ui.basic.green.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;\n  color: #198f35 !important;\n}\n\n.ui.basic.green.buttons .button:active,\n.ui.basic.green.button:active {\n  box-shadow: 0px 0px 0px 1px #198f35 inset !important;\n  color: #198f35 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.green.buttons .button,\n.ui.inverted.green.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;\n  color: #2ECC40;\n}\n\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover,\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus,\n.ui.inverted.green.buttons .button.active,\n.ui.inverted.green.button.active,\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  box-shadlightOw: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover {\n  background-color: #22be34;\n}\n\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus {\n  background-color: #19b82b;\n}\n\n.ui.inverted.green.buttons .active.button,\n.ui.inverted.green.active.button {\n  background-color: #1fc231;\n}\n\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  background-color: #25a233;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.green.basic.buttons .button,\n.ui.inverted.green.buttons .basic.button,\n.ui.inverted.green.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.green.basic.buttons .button:hover,\n.ui.inverted.green.buttons .basic.button:hover,\n.ui.inverted.green.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #22be34 inset !important;\n  color: #2ECC40 !important;\n}\n\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #19b82b inset !important;\n  color: #2ECC40 !important;\n}\n\n.ui.inverted.green.basic.buttons .active.button,\n.ui.inverted.green.buttons .basic.active.button,\n.ui.inverted.green.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #1fc231 inset !important;\n  color: #2ECC40 !important;\n}\n\n.ui.inverted.green.basic.buttons .button:active,\n.ui.inverted.green.buttons .basic.button:active,\n.ui.inverted.green.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #25a233 inset !important;\n  color: #2ECC40 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.buttons .button,\n.ui.orange.button {\n  background-color: #F2711C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.orange.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.orange.buttons .button:hover,\n.ui.orange.button:hover {\n  background-color: #f26202;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.orange.buttons .button:focus,\n.ui.orange.button:focus {\n  background-color: #e55b00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.orange.buttons .button:active,\n.ui.orange.button:active {\n  background-color: #cf590c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.orange.buttons .active.button,\n.ui.orange.buttons .active.button:active,\n.ui.orange.active.button,\n.ui.orange.button .active.button:active {\n  background-color: #f56100;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.orange.buttons .button,\n.ui.basic.orange.button {\n  box-shadow: 0px 0px 0px 1px #F2711C inset !important;\n  color: #F2711C !important;\n}\n\n.ui.basic.orange.buttons .button:hover,\n.ui.basic.orange.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f26202 inset !important;\n  color: #f26202 !important;\n}\n\n.ui.basic.orange.buttons .button:focus,\n.ui.basic.orange.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e55b00 inset !important;\n  color: #f26202 !important;\n}\n\n.ui.basic.orange.buttons .active.button,\n.ui.basic.orange.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f56100 inset !important;\n  color: #cf590c !important;\n}\n\n.ui.basic.orange.buttons .button:active,\n.ui.basic.orange.button:active {\n  box-shadow: 0px 0px 0px 1px #cf590c inset !important;\n  color: #cf590c !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.orange.buttons .button,\n.ui.inverted.orange.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF851B inset !important;\n  color: #FF851B;\n}\n\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover,\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus,\n.ui.inverted.orange.buttons .button.active,\n.ui.inverted.orange.button.active,\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover {\n  background-color: #ff7701;\n}\n\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus {\n  background-color: #f17000;\n}\n\n.ui.inverted.orange.buttons .active.button,\n.ui.inverted.orange.active.button {\n  background-color: #ff7701;\n}\n\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  background-color: #e76b00;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.orange.basic.buttons .button,\n.ui.inverted.orange.buttons .basic.button,\n.ui.inverted.orange.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.orange.basic.buttons .button:hover,\n.ui.inverted.orange.buttons .basic.button:hover,\n.ui.inverted.orange.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f17000 inset !important;\n  color: #FF851B !important;\n}\n\n.ui.inverted.orange.basic.buttons .active.button,\n.ui.inverted.orange.buttons .basic.active.button,\n.ui.inverted.orange.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n\n.ui.inverted.orange.basic.buttons .button:active,\n.ui.inverted.orange.buttons .basic.button:active,\n.ui.inverted.orange.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #e76b00 inset !important;\n  color: #FF851B !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.buttons .button,\n.ui.pink.button {\n  background-color: #E03997;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.pink.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.pink.buttons .button:hover,\n.ui.pink.button:hover {\n  background-color: #e61a8d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pink.buttons .button:focus,\n.ui.pink.button:focus {\n  background-color: #e10f85;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pink.buttons .button:active,\n.ui.pink.button:active {\n  background-color: #c71f7e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pink.buttons .active.button,\n.ui.pink.buttons .active.button:active,\n.ui.pink.active.button,\n.ui.pink.button .active.button:active {\n  background-color: #ea158d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.pink.buttons .button,\n.ui.basic.pink.button {\n  box-shadow: 0px 0px 0px 1px #E03997 inset !important;\n  color: #E03997 !important;\n}\n\n.ui.basic.pink.buttons .button:hover,\n.ui.basic.pink.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e61a8d inset !important;\n  color: #e61a8d !important;\n}\n\n.ui.basic.pink.buttons .button:focus,\n.ui.basic.pink.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e10f85 inset !important;\n  color: #e61a8d !important;\n}\n\n.ui.basic.pink.buttons .active.button,\n.ui.basic.pink.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ea158d inset !important;\n  color: #c71f7e !important;\n}\n\n.ui.basic.pink.buttons .button:active,\n.ui.basic.pink.button:active {\n  box-shadow: 0px 0px 0px 1px #c71f7e inset !important;\n  color: #c71f7e !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.pink.buttons .button,\n.ui.inverted.pink.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;\n  color: #FF8EDF;\n}\n\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover,\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus,\n.ui.inverted.pink.buttons .button.active,\n.ui.inverted.pink.button.active,\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover {\n  background-color: #ff74d8;\n}\n\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus {\n  background-color: #ff65d3;\n}\n\n.ui.inverted.pink.buttons .active.button,\n.ui.inverted.pink.active.button {\n  background-color: #ff74d8;\n}\n\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  background-color: #ff5bd1;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.pink.basic.buttons .button,\n.ui.inverted.pink.buttons .basic.button,\n.ui.inverted.pink.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.pink.basic.buttons .button:hover,\n.ui.inverted.pink.buttons .basic.button:hover,\n.ui.inverted.pink.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;\n  color: #FF8EDF !important;\n}\n\n.ui.inverted.pink.basic.buttons .active.button,\n.ui.inverted.pink.buttons .basic.active.button,\n.ui.inverted.pink.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n\n.ui.inverted.pink.basic.buttons .button:active,\n.ui.inverted.pink.buttons .basic.button:active,\n.ui.inverted.pink.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;\n  color: #FF8EDF !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.buttons .button,\n.ui.violet.button {\n  background-color: #6435C9;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.violet.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.violet.buttons .button:hover,\n.ui.violet.button:hover {\n  background-color: #5829bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.violet.buttons .button:focus,\n.ui.violet.button:focus {\n  background-color: #4f20b5;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.violet.buttons .button:active,\n.ui.violet.button:active {\n  background-color: #502aa1;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.violet.buttons .active.button,\n.ui.violet.buttons .active.button:active,\n.ui.violet.active.button,\n.ui.violet.button .active.button:active {\n  background-color: #5626bf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.violet.buttons .button,\n.ui.basic.violet.button {\n  box-shadow: 0px 0px 0px 1px #6435C9 inset !important;\n  color: #6435C9 !important;\n}\n\n.ui.basic.violet.buttons .button:hover,\n.ui.basic.violet.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5829bb inset !important;\n  color: #5829bb !important;\n}\n\n.ui.basic.violet.buttons .button:focus,\n.ui.basic.violet.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #4f20b5 inset !important;\n  color: #5829bb !important;\n}\n\n.ui.basic.violet.buttons .active.button,\n.ui.basic.violet.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5626bf inset !important;\n  color: #502aa1 !important;\n}\n\n.ui.basic.violet.buttons .button:active,\n.ui.basic.violet.button:active {\n  box-shadow: 0px 0px 0px 1px #502aa1 inset !important;\n  color: #502aa1 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.violet.buttons .button,\n.ui.inverted.violet.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #A291FB inset !important;\n  color: #A291FB;\n}\n\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover,\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus,\n.ui.inverted.violet.buttons .button.active,\n.ui.inverted.violet.button.active,\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover {\n  background-color: #8a73ff;\n}\n\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus {\n  background-color: #7d64ff;\n}\n\n.ui.inverted.violet.buttons .active.button,\n.ui.inverted.violet.active.button {\n  background-color: #8a73ff;\n}\n\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  background-color: #7860f9;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.violet.basic.buttons .button,\n.ui.inverted.violet.buttons .basic.button,\n.ui.inverted.violet.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.violet.basic.buttons .button:hover,\n.ui.inverted.violet.buttons .basic.button:hover,\n.ui.inverted.violet.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #7d64ff inset !important;\n  color: #A291FB !important;\n}\n\n.ui.inverted.violet.basic.buttons .active.button,\n.ui.inverted.violet.buttons .basic.active.button,\n.ui.inverted.violet.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n\n.ui.inverted.violet.basic.buttons .button:active,\n.ui.inverted.violet.buttons .basic.button:active,\n.ui.inverted.violet.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #7860f9 inset !important;\n  color: #A291FB !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.buttons .button,\n.ui.purple.button {\n  background-color: #A333C8;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.purple.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.purple.buttons .button:hover,\n.ui.purple.button:hover {\n  background-color: #9627ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.purple.buttons .button:focus,\n.ui.purple.button:focus {\n  background-color: #8f1eb4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.purple.buttons .button:active,\n.ui.purple.button:active {\n  background-color: #82299f;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.purple.buttons .active.button,\n.ui.purple.buttons .active.button:active,\n.ui.purple.active.button,\n.ui.purple.button .active.button:active {\n  background-color: #9724be;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.purple.buttons .button,\n.ui.basic.purple.button {\n  box-shadow: 0px 0px 0px 1px #A333C8 inset !important;\n  color: #A333C8 !important;\n}\n\n.ui.basic.purple.buttons .button:hover,\n.ui.basic.purple.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9627ba inset !important;\n  color: #9627ba !important;\n}\n\n.ui.basic.purple.buttons .button:focus,\n.ui.basic.purple.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important;\n  color: #9627ba !important;\n}\n\n.ui.basic.purple.buttons .active.button,\n.ui.basic.purple.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9724be inset !important;\n  color: #82299f !important;\n}\n\n.ui.basic.purple.buttons .button:active,\n.ui.basic.purple.button:active {\n  box-shadow: 0px 0px 0px 1px #82299f inset !important;\n  color: #82299f !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.purple.buttons .button,\n.ui.inverted.purple.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #DC73FF inset !important;\n  color: #DC73FF;\n}\n\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover,\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus,\n.ui.inverted.purple.buttons .button.active,\n.ui.inverted.purple.button.active,\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover {\n  background-color: #d65aff;\n}\n\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus {\n  background-color: #d24aff;\n}\n\n.ui.inverted.purple.buttons .active.button,\n.ui.inverted.purple.active.button {\n  background-color: #d65aff;\n}\n\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  background-color: #cf40ff;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.purple.basic.buttons .button,\n.ui.inverted.purple.buttons .basic.button,\n.ui.inverted.purple.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.purple.basic.buttons .button:hover,\n.ui.inverted.purple.buttons .basic.button:hover,\n.ui.inverted.purple.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #d24aff inset !important;\n  color: #DC73FF !important;\n}\n\n.ui.inverted.purple.basic.buttons .active.button,\n.ui.inverted.purple.buttons .basic.active.button,\n.ui.inverted.purple.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n\n.ui.inverted.purple.basic.buttons .button:active,\n.ui.inverted.purple.buttons .basic.button:active,\n.ui.inverted.purple.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;\n  color: #DC73FF !important;\n}\n\n/*--- Red ---*/\n\n.ui.red.buttons .button,\n.ui.red.button {\n  background-color: #DB2828;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.red.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.red.buttons .button:hover,\n.ui.red.button:hover {\n  background-color: #d01919;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.red.buttons .button:focus,\n.ui.red.button:focus {\n  background-color: #ca1010;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.red.buttons .button:active,\n.ui.red.button:active {\n  background-color: #b21e1e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.red.buttons .active.button,\n.ui.red.buttons .active.button:active,\n.ui.red.active.button,\n.ui.red.button .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.red.buttons .button,\n.ui.basic.red.button {\n  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;\n  color: #DB2828 !important;\n}\n\n.ui.basic.red.buttons .button:hover,\n.ui.basic.red.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d01919 inset !important;\n  color: #d01919 !important;\n}\n\n.ui.basic.red.buttons .button:focus,\n.ui.basic.red.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;\n  color: #d01919 !important;\n}\n\n.ui.basic.red.buttons .active.button,\n.ui.basic.red.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d41515 inset !important;\n  color: #b21e1e !important;\n}\n\n.ui.basic.red.buttons .button:active,\n.ui.basic.red.button:active {\n  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;\n  color: #b21e1e !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.red.buttons .button,\n.ui.inverted.red.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF695E inset !important;\n  color: #FF695E;\n}\n\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover,\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus,\n.ui.inverted.red.buttons .button.active,\n.ui.inverted.red.button.active,\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover {\n  background-color: #ff5144;\n}\n\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus {\n  background-color: #ff4335;\n}\n\n.ui.inverted.red.buttons .active.button,\n.ui.inverted.red.active.button {\n  background-color: #ff5144;\n}\n\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  background-color: #ff392b;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.red.basic.buttons .button,\n.ui.inverted.red.buttons .basic.button,\n.ui.inverted.red.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.red.basic.buttons .button:hover,\n.ui.inverted.red.buttons .basic.button:hover,\n.ui.inverted.red.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;\n  color: #FF695E !important;\n}\n\n.ui.inverted.red.basic.buttons .active.button,\n.ui.inverted.red.buttons .basic.active.button,\n.ui.inverted.red.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n\n.ui.inverted.red.basic.buttons .button:active,\n.ui.inverted.red.buttons .basic.button:active,\n.ui.inverted.red.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff392b inset !important;\n  color: #FF695E !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.buttons .button,\n.ui.teal.button {\n  background-color: #00B5AD;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.teal.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.teal.buttons .button:hover,\n.ui.teal.button:hover {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.teal.buttons .button:focus,\n.ui.teal.button:focus {\n  background-color: #008c86;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.teal.buttons .button:active,\n.ui.teal.button:active {\n  background-color: #00827c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.teal.buttons .active.button,\n.ui.teal.buttons .active.button:active,\n.ui.teal.active.button,\n.ui.teal.button .active.button:active {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.teal.buttons .button,\n.ui.basic.teal.button {\n  box-shadow: 0px 0px 0px 1px #00B5AD inset !important;\n  color: #00B5AD !important;\n}\n\n.ui.basic.teal.buttons .button:hover,\n.ui.basic.teal.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #009c95 !important;\n}\n\n.ui.basic.teal.buttons .button:focus,\n.ui.basic.teal.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #008c86 inset !important;\n  color: #009c95 !important;\n}\n\n.ui.basic.teal.buttons .active.button,\n.ui.basic.teal.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #00827c !important;\n}\n\n.ui.basic.teal.buttons .button:active,\n.ui.basic.teal.button:active {\n  box-shadow: 0px 0px 0px 1px #00827c inset !important;\n  color: #00827c !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.teal.buttons .button,\n.ui.inverted.teal.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;\n  color: #6DFFFF;\n}\n\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover,\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus,\n.ui.inverted.teal.buttons .button.active,\n.ui.inverted.teal.button.active,\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover {\n  background-color: #54ffff;\n}\n\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus {\n  background-color: #44ffff;\n}\n\n.ui.inverted.teal.buttons .active.button,\n.ui.inverted.teal.active.button {\n  background-color: #54ffff;\n}\n\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  background-color: #3affff;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.teal.basic.buttons .button,\n.ui.inverted.teal.buttons .basic.button,\n.ui.inverted.teal.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .button:hover,\n.ui.inverted.teal.buttons .basic.button:hover,\n.ui.inverted.teal.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #44ffff inset !important;\n  color: #6DFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .active.button,\n.ui.inverted.teal.buttons .basic.active.button,\n.ui.inverted.teal.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .button:active,\n.ui.inverted.teal.buttons .basic.button:active,\n.ui.inverted.teal.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #3affff inset !important;\n  color: #6DFFFF !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.buttons .button,\n.ui.olive.button {\n  background-color: #B5CC18;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.olive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.olive.buttons .button:hover,\n.ui.olive.button:hover {\n  background-color: #a7bd0d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.olive.buttons .button:focus,\n.ui.olive.button:focus {\n  background-color: #a0b605;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.olive.buttons .button:active,\n.ui.olive.button:active {\n  background-color: #8d9e13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.olive.buttons .active.button,\n.ui.olive.buttons .active.button:active,\n.ui.olive.active.button,\n.ui.olive.button .active.button:active {\n  background-color: #aac109;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.olive.buttons .button,\n.ui.basic.olive.button {\n  box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;\n  color: #B5CC18 !important;\n}\n\n.ui.basic.olive.buttons .button:hover,\n.ui.basic.olive.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a7bd0d inset !important;\n  color: #a7bd0d !important;\n}\n\n.ui.basic.olive.buttons .button:focus,\n.ui.basic.olive.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a0b605 inset !important;\n  color: #a7bd0d !important;\n}\n\n.ui.basic.olive.buttons .active.button,\n.ui.basic.olive.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #aac109 inset !important;\n  color: #8d9e13 !important;\n}\n\n.ui.basic.olive.buttons .button:active,\n.ui.basic.olive.button:active {\n  box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;\n  color: #8d9e13 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.olive.buttons .button,\n.ui.inverted.olive.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D9E778 inset !important;\n  color: #D9E778;\n}\n\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover,\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus,\n.ui.inverted.olive.buttons .button.active,\n.ui.inverted.olive.button.active,\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover {\n  background-color: #d8ea5c;\n}\n\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus {\n  background-color: #daef47;\n}\n\n.ui.inverted.olive.buttons .active.button,\n.ui.inverted.olive.active.button {\n  background-color: #daed59;\n}\n\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  background-color: #cddf4d;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.olive.basic.buttons .button,\n.ui.inverted.olive.buttons .basic.button,\n.ui.inverted.olive.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.olive.basic.buttons .button:hover,\n.ui.inverted.olive.buttons .basic.button:hover,\n.ui.inverted.olive.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;\n  color: #D9E778 !important;\n}\n\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #daef47 inset !important;\n  color: #D9E778 !important;\n}\n\n.ui.inverted.olive.basic.buttons .active.button,\n.ui.inverted.olive.buttons .basic.active.button,\n.ui.inverted.olive.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #daed59 inset !important;\n  color: #D9E778 !important;\n}\n\n.ui.inverted.olive.basic.buttons .button:active,\n.ui.inverted.olive.buttons .basic.button:active,\n.ui.inverted.olive.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;\n  color: #D9E778 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.buttons .button,\n.ui.yellow.button {\n  background-color: #FBBD08;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.yellow.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.yellow.buttons .button:hover,\n.ui.yellow.button:hover {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.yellow.buttons .button:focus,\n.ui.yellow.button:focus {\n  background-color: #daa300;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.yellow.buttons .button:active,\n.ui.yellow.button:active {\n  background-color: #cd9903;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.yellow.buttons .active.button,\n.ui.yellow.buttons .active.button:active,\n.ui.yellow.active.button,\n.ui.yellow.button .active.button:active {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.yellow.buttons .button,\n.ui.basic.yellow.button {\n  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;\n  color: #FBBD08 !important;\n}\n\n.ui.basic.yellow.buttons .button:hover,\n.ui.basic.yellow.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #eaae00 !important;\n}\n\n.ui.basic.yellow.buttons .button:focus,\n.ui.basic.yellow.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #daa300 inset !important;\n  color: #eaae00 !important;\n}\n\n.ui.basic.yellow.buttons .active.button,\n.ui.basic.yellow.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #cd9903 !important;\n}\n\n.ui.basic.yellow.buttons .button:active,\n.ui.basic.yellow.button:active {\n  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;\n  color: #cd9903 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.yellow.buttons .button,\n.ui.inverted.yellow.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;\n  color: #FFE21F;\n}\n\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover,\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus,\n.ui.inverted.yellow.buttons .button.active,\n.ui.inverted.yellow.button.active,\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover {\n  background-color: #ffdf05;\n}\n\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus {\n  background-color: #f5d500;\n}\n\n.ui.inverted.yellow.buttons .active.button,\n.ui.inverted.yellow.active.button {\n  background-color: #ffdf05;\n}\n\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  background-color: #ebcd00;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.yellow.basic.buttons .button,\n.ui.inverted.yellow.buttons .basic.button,\n.ui.inverted.yellow.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.yellow.basic.buttons .button:hover,\n.ui.inverted.yellow.buttons .basic.button:hover,\n.ui.inverted.yellow.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;\n  color: #FFE21F !important;\n}\n\n.ui.inverted.yellow.basic.buttons .active.button,\n.ui.inverted.yellow.buttons .basic.active.button,\n.ui.inverted.yellow.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n\n.ui.inverted.yellow.basic.buttons .button:active,\n.ui.inverted.yellow.buttons .basic.button:active,\n.ui.inverted.yellow.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;\n  color: #FFE21F !important;\n}\n\n/*-------------------\n       Primary\n--------------------*/\n\n.ui.primary.buttons .button,\n.ui.primary.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.primary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.primary.buttons .button:hover,\n.ui.primary.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.primary.buttons .button:focus,\n.ui.primary.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.primary.buttons .button:active,\n.ui.primary.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.primary.buttons .active.button,\n.ui.primary.active.button {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*-------------------\n      Secondary\n--------------------*/\n\n.ui.secondary.buttons .button,\n.ui.secondary.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.secondary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.secondary.buttons .button:hover,\n.ui.secondary.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.secondary.buttons .button:focus,\n.ui.secondary.button:focus {\n  background-color: #2e3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.secondary.buttons .button:active,\n.ui.secondary.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.secondary.buttons .active.button,\n.ui.secondary.active.button {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n    Positive\n----------------*/\n\n.ui.positive.buttons .button,\n.ui.positive.button {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.positive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.positive.buttons .button:hover,\n.ui.positive.button:hover {\n  background-color: #16ab39 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.positive.buttons .button:focus,\n.ui.positive.button:focus {\n  background-color: #0ea432 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.positive.buttons .button:active,\n.ui.positive.button:active {\n  background-color: #198f35 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.positive.buttons .active.button,\n.ui.positive.active.button,\n.ui.positive.buttons .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n     Negative\n----------------*/\n\n.ui.negative.buttons .button,\n.ui.negative.button {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.negative.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.negative.buttons .button:hover,\n.ui.negative.button:hover {\n  background-color: #d01919 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.negative.buttons .button:focus,\n.ui.negative.button:focus {\n  background-color: #ca1010 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.negative.buttons .button:active,\n.ui.negative.button:active {\n  background-color: #b21e1e !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.negative.buttons .active.button,\n.ui.negative.active.button,\n.ui.negative.buttons .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*******************************\n            Groups\n*******************************/\n\n.ui.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  font-size: 0em;\n  vertical-align: baseline;\n  margin: 0em 0.25em 0em 0em;\n}\n\n.ui.buttons:not(.basic):not(.inverted) {\n  box-shadow: none;\n}\n\n/* Clearfix */\n\n.ui.buttons:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/* Standard Group */\n\n.ui.buttons .button {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  margin: 0em;\n  border-radius: 0em;\n  margin: 0px 0px 0px 0px;\n}\n\n.ui.buttons > .ui.button:not(.basic):not(.inverted),\n.ui.buttons:not(.basic):not(.inverted) > .button {\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.buttons .button:first-child {\n  border-left: none;\n  margin-left: 0em;\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n.ui.buttons .button:last-child {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n/* Vertical  Style */\n\n.ui.vertical.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n.ui.vertical.buttons .button {\n  display: block;\n  float: none;\n  width: 100%;\n  margin: 0px 0px 0px 0px;\n  box-shadow: none;\n}\n\n.ui.vertical.buttons .button:first-child,\n.ui.vertical.buttons .mini.button:first-child,\n.ui.vertical.buttons .tiny.button:first-child,\n.ui.vertical.buttons .small.button:first-child,\n.ui.vertical.buttons .massive.button:first-child,\n.ui.vertical.buttons .huge.button:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n\n.ui.vertical.buttons .button:last-child,\n.ui.vertical.buttons .mini.button:last-child,\n.ui.vertical.buttons .tiny.button:last-child,\n.ui.vertical.buttons .small.button:last-child,\n.ui.vertical.buttons .massive.button:last-child,\n.ui.vertical.buttons .huge.button:last-child,\n.ui.vertical.buttons .gigantic.button:last-child {\n  margin-bottom: 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Container\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Container\n*******************************/\n\n/* All Sizes */\n\n.ui.container {\n  display: block;\n  max-width: 100% !important;\n}\n\n/* Mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.container {\n    width: auto !important;\n    margin-left: 1em !important;\n    margin-right: 1em !important;\n  }\n\n  .ui.grid.container {\n    width: auto !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: auto !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: auto !important;\n  }\n}\n\n/* Tablet */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.container {\n    width: 723px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  .ui.grid.container {\n    width: calc( 723px  +  2rem ) !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: calc( 723px  +  3rem ) !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: calc( 723px  +  5rem ) !important;\n  }\n}\n\n/* Small Monitor */\n\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.container {\n    width: 933px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  .ui.grid.container {\n    width: calc( 933px  +  2rem ) !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: calc( 933px  +  3rem ) !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: calc( 933px  +  5rem ) !important;\n  }\n}\n\n/* Large Monitor */\n\n@media only screen and (min-width: 1200px) {\n  .ui.container {\n    width: 1127px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  .ui.grid.container {\n    width: calc( 1127px  +  2rem ) !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: calc( 1127px  +  3rem ) !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: calc( 1127px  +  5rem ) !important;\n  }\n}\n\n/*******************************\n             Types\n*******************************/\n\n/* Text Container */\n\n.ui.text.container {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  max-width: 700px !important;\n  line-height: 1.5;\n}\n\n.ui.text.container {\n  font-size: 1.14285714rem;\n}\n\n/* Fluid */\n\n.ui.fluid.container {\n  width: 100%;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n.ui[class*=\"left aligned\"].container {\n  text-align: left;\n}\n\n.ui[class*=\"center aligned\"].container {\n  text-align: center;\n}\n\n.ui[class*=\"right aligned\"].container {\n  text-align: right;\n}\n\n.ui.justified.container {\n  text-align: justify;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  -ms-hyphens: auto;\n  hyphens: auto;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Divider\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Divider\n*******************************/\n\n.ui.divider {\n  margin: 1rem 0rem;\n  line-height: 1;\n  height: 0em;\n  font-weight: bold;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: rgba(0, 0, 0, 0.85);\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.divider:not(.vertical):not(.horizontal) {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n/* Allow divider between each column row */\n\n.ui.grid > .column + .divider,\n.ui.grid > .row > .column + .divider {\n  left: auto;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.divider {\n  display: table;\n  white-space: nowrap;\n  height: auto;\n  margin: '';\n  overflow: hidden;\n  line-height: 1;\n  text-align: center;\n}\n\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  content: '';\n  display: table-cell;\n  position: relative;\n  top: 50%;\n  width: 50%;\n  background-repeat: no-repeat;\n}\n\n.ui.horizontal.divider:before {\n  background-position: right 1em top 50%;\n}\n\n.ui.horizontal.divider:after {\n  background-position: left 1em top 50%;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.divider {\n  position: absolute;\n  z-index: 2;\n  top: 50%;\n  left: 50%;\n  margin: 0rem;\n  padding: 0em;\n  width: auto;\n  height: 50%;\n  line-height: 0em;\n  text-align: center;\n  -webkit-transform: translateX(-50%);\n  -ms-transform: translateX(-50%);\n  transform: translateX(-50%);\n}\n\n.ui.vertical.divider:before,\n.ui.vertical.divider:after {\n  position: absolute;\n  left: 50%;\n  content: '';\n  z-index: 3;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(255, 255, 255, 0.1);\n  width: 0%;\n  height: calc(100% -  1rem );\n}\n\n.ui.vertical.divider:before {\n  top: -100%;\n}\n\n.ui.vertical.divider:after {\n  top: auto;\n  bottom: 0px;\n}\n\n/* Inside grid */\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider,\n  .ui.grid .stackable.row .ui.vertical.divider {\n    display: table;\n    white-space: nowrap;\n    height: auto;\n    margin: '';\n    overflow: hidden;\n    line-height: 1;\n    text-align: center;\n    position: static;\n    top: 0;\n    left: 0;\n    -webkit-transform: none;\n    -ms-transform: none;\n    transform: none;\n  }\n\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    position: static;\n    left: 0;\n    border-left: none;\n    border-right: none;\n    content: '';\n    display: table-cell;\n    position: relative;\n    top: 50%;\n    width: 50%;\n    background-repeat: no-repeat;\n  }\n\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before {\n    background-position: right 1em top 50%;\n  }\n\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-position: left 1em top 50%;\n  }\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.divider > .icon {\n  margin: 0rem;\n  font-size: 1rem;\n  height: 1em;\n  vertical-align: middle;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n    Hidden\n---------------*/\n\n.ui.hidden.divider {\n  border-color: transparent !important;\n}\n\n.ui.hidden.divider:before,\n.ui.hidden.divider:after {\n  display: none;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.divider.inverted,\n.ui.vertical.inverted.divider,\n.ui.horizontal.inverted.divider {\n  color: #FFFFFF;\n}\n\n.ui.divider.inverted,\n.ui.divider.inverted:after,\n.ui.divider.inverted:before {\n  border-top-color: rgba(34, 36, 38, 0.15) !important;\n  border-left-color: rgba(34, 36, 38, 0.15) !important;\n  border-bottom-color: rgba(255, 255, 255, 0.15) !important;\n  border-right-color: rgba(255, 255, 255, 0.15) !important;\n}\n\n/*--------------\n    Fitted\n---------------*/\n\n.ui.fitted.divider {\n  margin: 0em;\n}\n\n/*--------------\n    Clearing\n---------------*/\n\n.ui.clearing.divider {\n  clear: both;\n}\n\n/*--------------\n    Section\n---------------*/\n\n.ui.section.divider {\n  margin-top: 2rem;\n  margin-bottom: 2rem;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.divider {\n  font-size: 1rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC\");\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC\");\n  }\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Flag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Flag\n*******************************/\n\ni.flag:not(.icon) {\n  display: inline-block;\n  width: 16px;\n  height: 11px;\n  line-height: 11px;\n  vertical-align: baseline;\n  margin: 0em 0.5em 0em 0em;\n  text-decoration: inherit;\n  speak: none;\n  font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\n/* Sprite */\n\ni.flag:not(.icon):before {\n  display: inline-block;\n  content: '';\n  background: url(\"themes/default/assets/images/flags.png\") no-repeat 0px 0px;\n  width: 16px;\n  height: 11px;\n}\n\n/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */\n\n/*******************************\n         Theme Overrides\n*******************************/\n\ni.flag.ad:before,\ni.flag.andorra:before {\n  background-position: 0px 0px;\n}\n\ni.flag.ae:before,\ni.flag.united.arab.emirates:before,\ni.flag.uae:before {\n  background-position: 0px -26px;\n}\n\ni.flag.af:before,\ni.flag.afghanistan:before {\n  background-position: 0px -52px;\n}\n\ni.flag.ag:before,\ni.flag.antigua:before {\n  background-position: 0px -78px;\n}\n\ni.flag.ai:before,\ni.flag.anguilla:before {\n  background-position: 0px -104px;\n}\n\ni.flag.al:before,\ni.flag.albania:before {\n  background-position: 0px -130px;\n}\n\ni.flag.am:before,\ni.flag.armenia:before {\n  background-position: 0px -156px;\n}\n\ni.flag.an:before,\ni.flag.netherlands.antilles:before {\n  background-position: 0px -182px;\n}\n\ni.flag.ao:before,\ni.flag.angola:before {\n  background-position: 0px -208px;\n}\n\ni.flag.ar:before,\ni.flag.argentina:before {\n  background-position: 0px -234px;\n}\n\ni.flag.as:before,\ni.flag.american.samoa:before {\n  background-position: 0px -260px;\n}\n\ni.flag.at:before,\ni.flag.austria:before {\n  background-position: 0px -286px;\n}\n\ni.flag.au:before,\ni.flag.australia:before {\n  background-position: 0px -312px;\n}\n\ni.flag.aw:before,\ni.flag.aruba:before {\n  background-position: 0px -338px;\n}\n\ni.flag.ax:before,\ni.flag.aland.islands:before {\n  background-position: 0px -364px;\n}\n\ni.flag.az:before,\ni.flag.azerbaijan:before {\n  background-position: 0px -390px;\n}\n\ni.flag.ba:before,\ni.flag.bosnia:before {\n  background-position: 0px -416px;\n}\n\ni.flag.bb:before,\ni.flag.barbados:before {\n  background-position: 0px -442px;\n}\n\ni.flag.bd:before,\ni.flag.bangladesh:before {\n  background-position: 0px -468px;\n}\n\ni.flag.be:before,\ni.flag.belgium:before {\n  background-position: 0px -494px;\n}\n\ni.flag.bf:before,\ni.flag.burkina.faso:before {\n  background-position: 0px -520px;\n}\n\ni.flag.bg:before,\ni.flag.bulgaria:before {\n  background-position: 0px -546px;\n}\n\ni.flag.bh:before,\ni.flag.bahrain:before {\n  background-position: 0px -572px;\n}\n\ni.flag.bi:before,\ni.flag.burundi:before {\n  background-position: 0px -598px;\n}\n\ni.flag.bj:before,\ni.flag.benin:before {\n  background-position: 0px -624px;\n}\n\ni.flag.bm:before,\ni.flag.bermuda:before {\n  background-position: 0px -650px;\n}\n\ni.flag.bn:before,\ni.flag.brunei:before {\n  background-position: 0px -676px;\n}\n\ni.flag.bo:before,\ni.flag.bolivia:before {\n  background-position: 0px -702px;\n}\n\ni.flag.br:before,\ni.flag.brazil:before {\n  background-position: 0px -728px;\n}\n\ni.flag.bs:before,\ni.flag.bahamas:before {\n  background-position: 0px -754px;\n}\n\ni.flag.bt:before,\ni.flag.bhutan:before {\n  background-position: 0px -780px;\n}\n\ni.flag.bv:before,\ni.flag.bouvet.island:before {\n  background-position: 0px -806px;\n}\n\ni.flag.bw:before,\ni.flag.botswana:before {\n  background-position: 0px -832px;\n}\n\ni.flag.by:before,\ni.flag.belarus:before {\n  background-position: 0px -858px;\n}\n\ni.flag.bz:before,\ni.flag.belize:before {\n  background-position: 0px -884px;\n}\n\ni.flag.ca:before,\ni.flag.canada:before {\n  background-position: 0px -910px;\n}\n\ni.flag.cc:before,\ni.flag.cocos.islands:before {\n  background-position: 0px -962px;\n}\n\ni.flag.cd:before,\ni.flag.congo:before {\n  background-position: 0px -988px;\n}\n\ni.flag.cf:before,\ni.flag.central.african.republic:before {\n  background-position: 0px -1014px;\n}\n\ni.flag.cg:before,\ni.flag.congo.brazzaville:before {\n  background-position: 0px -1040px;\n}\n\ni.flag.ch:before,\ni.flag.switzerland:before {\n  background-position: 0px -1066px;\n}\n\ni.flag.ci:before,\ni.flag.cote.divoire:before {\n  background-position: 0px -1092px;\n}\n\ni.flag.ck:before,\ni.flag.cook.islands:before {\n  background-position: 0px -1118px;\n}\n\ni.flag.cl:before,\ni.flag.chile:before {\n  background-position: 0px -1144px;\n}\n\ni.flag.cm:before,\ni.flag.cameroon:before {\n  background-position: 0px -1170px;\n}\n\ni.flag.cn:before,\ni.flag.china:before {\n  background-position: 0px -1196px;\n}\n\ni.flag.co:before,\ni.flag.colombia:before {\n  background-position: 0px -1222px;\n}\n\ni.flag.cr:before,\ni.flag.costa.rica:before {\n  background-position: 0px -1248px;\n}\n\ni.flag.cs:before,\ni.flag.serbia:before {\n  background-position: 0px -1274px;\n}\n\ni.flag.cu:before,\ni.flag.cuba:before {\n  background-position: 0px -1300px;\n}\n\ni.flag.cv:before,\ni.flag.cape.verde:before {\n  background-position: 0px -1326px;\n}\n\ni.flag.cx:before,\ni.flag.christmas.island:before {\n  background-position: 0px -1352px;\n}\n\ni.flag.cy:before,\ni.flag.cyprus:before {\n  background-position: 0px -1378px;\n}\n\ni.flag.cz:before,\ni.flag.czech.republic:before {\n  background-position: 0px -1404px;\n}\n\ni.flag.de:before,\ni.flag.germany:before {\n  background-position: 0px -1430px;\n}\n\ni.flag.dj:before,\ni.flag.djibouti:before {\n  background-position: 0px -1456px;\n}\n\ni.flag.dk:before,\ni.flag.denmark:before {\n  background-position: 0px -1482px;\n}\n\ni.flag.dm:before,\ni.flag.dominica:before {\n  background-position: 0px -1508px;\n}\n\ni.flag.do:before,\ni.flag.dominican.republic:before {\n  background-position: 0px -1534px;\n}\n\ni.flag.dz:before,\ni.flag.algeria:before {\n  background-position: 0px -1560px;\n}\n\ni.flag.ec:before,\ni.flag.ecuador:before {\n  background-position: 0px -1586px;\n}\n\ni.flag.ee:before,\ni.flag.estonia:before {\n  background-position: 0px -1612px;\n}\n\ni.flag.eg:before,\ni.flag.egypt:before {\n  background-position: 0px -1638px;\n}\n\ni.flag.eh:before,\ni.flag.western.sahara:before {\n  background-position: 0px -1664px;\n}\n\ni.flag.er:before,\ni.flag.eritrea:before {\n  background-position: 0px -1716px;\n}\n\ni.flag.es:before,\ni.flag.spain:before {\n  background-position: 0px -1742px;\n}\n\ni.flag.et:before,\ni.flag.ethiopia:before {\n  background-position: 0px -1768px;\n}\n\ni.flag.eu:before,\ni.flag.european.union:before {\n  background-position: 0px -1794px;\n}\n\ni.flag.fi:before,\ni.flag.finland:before {\n  background-position: 0px -1846px;\n}\n\ni.flag.fj:before,\ni.flag.fiji:before {\n  background-position: 0px -1872px;\n}\n\ni.flag.fk:before,\ni.flag.falkland.islands:before {\n  background-position: 0px -1898px;\n}\n\ni.flag.fm:before,\ni.flag.micronesia:before {\n  background-position: 0px -1924px;\n}\n\ni.flag.fo:before,\ni.flag.faroe.islands:before {\n  background-position: 0px -1950px;\n}\n\ni.flag.fr:before,\ni.flag.france:before {\n  background-position: 0px -1976px;\n}\n\ni.flag.ga:before,\ni.flag.gabon:before {\n  background-position: -36px 0px;\n}\n\ni.flag.gb:before,\ni.flag.united.kingdom:before {\n  background-position: -36px -26px;\n}\n\ni.flag.gd:before,\ni.flag.grenada:before {\n  background-position: -36px -52px;\n}\n\ni.flag.ge:before,\ni.flag.georgia:before {\n  background-position: -36px -78px;\n}\n\ni.flag.gf:before,\ni.flag.french.guiana:before {\n  background-position: -36px -104px;\n}\n\ni.flag.gh:before,\ni.flag.ghana:before {\n  background-position: -36px -130px;\n}\n\ni.flag.gi:before,\ni.flag.gibraltar:before {\n  background-position: -36px -156px;\n}\n\ni.flag.gl:before,\ni.flag.greenland:before {\n  background-position: -36px -182px;\n}\n\ni.flag.gm:before,\ni.flag.gambia:before {\n  background-position: -36px -208px;\n}\n\ni.flag.gn:before,\ni.flag.guinea:before {\n  background-position: -36px -234px;\n}\n\ni.flag.gp:before,\ni.flag.guadeloupe:before {\n  background-position: -36px -260px;\n}\n\ni.flag.gq:before,\ni.flag.equatorial.guinea:before {\n  background-position: -36px -286px;\n}\n\ni.flag.gr:before,\ni.flag.greece:before {\n  background-position: -36px -312px;\n}\n\ni.flag.gs:before,\ni.flag.sandwich.islands:before {\n  background-position: -36px -338px;\n}\n\ni.flag.gt:before,\ni.flag.guatemala:before {\n  background-position: -36px -364px;\n}\n\ni.flag.gu:before,\ni.flag.guam:before {\n  background-position: -36px -390px;\n}\n\ni.flag.gw:before,\ni.flag.guinea-bissau:before {\n  background-position: -36px -416px;\n}\n\ni.flag.gy:before,\ni.flag.guyana:before {\n  background-position: -36px -442px;\n}\n\ni.flag.hk:before,\ni.flag.hong.kong:before {\n  background-position: -36px -468px;\n}\n\ni.flag.hm:before,\ni.flag.heard.island:before {\n  background-position: -36px -494px;\n}\n\ni.flag.hn:before,\ni.flag.honduras:before {\n  background-position: -36px -520px;\n}\n\ni.flag.hr:before,\ni.flag.croatia:before {\n  background-position: -36px -546px;\n}\n\ni.flag.ht:before,\ni.flag.haiti:before {\n  background-position: -36px -572px;\n}\n\ni.flag.hu:before,\ni.flag.hungary:before {\n  background-position: -36px -598px;\n}\n\ni.flag.id:before,\ni.flag.indonesia:before {\n  background-position: -36px -624px;\n}\n\ni.flag.ie:before,\ni.flag.ireland:before {\n  background-position: -36px -650px;\n}\n\ni.flag.il:before,\ni.flag.israel:before {\n  background-position: -36px -676px;\n}\n\ni.flag.in:before,\ni.flag.india:before {\n  background-position: -36px -702px;\n}\n\ni.flag.io:before,\ni.flag.indian.ocean.territory:before {\n  background-position: -36px -728px;\n}\n\ni.flag.iq:before,\ni.flag.iraq:before {\n  background-position: -36px -754px;\n}\n\ni.flag.ir:before,\ni.flag.iran:before {\n  background-position: -36px -780px;\n}\n\ni.flag.is:before,\ni.flag.iceland:before {\n  background-position: -36px -806px;\n}\n\ni.flag.it:before,\ni.flag.italy:before {\n  background-position: -36px -832px;\n}\n\ni.flag.jm:before,\ni.flag.jamaica:before {\n  background-position: -36px -858px;\n}\n\ni.flag.jo:before,\ni.flag.jordan:before {\n  background-position: -36px -884px;\n}\n\ni.flag.jp:before,\ni.flag.japan:before {\n  background-position: -36px -910px;\n}\n\ni.flag.ke:before,\ni.flag.kenya:before {\n  background-position: -36px -936px;\n}\n\ni.flag.kg:before,\ni.flag.kyrgyzstan:before {\n  background-position: -36px -962px;\n}\n\ni.flag.kh:before,\ni.flag.cambodia:before {\n  background-position: -36px -988px;\n}\n\ni.flag.ki:before,\ni.flag.kiribati:before {\n  background-position: -36px -1014px;\n}\n\ni.flag.km:before,\ni.flag.comoros:before {\n  background-position: -36px -1040px;\n}\n\ni.flag.kn:before,\ni.flag.saint.kitts.and.nevis:before {\n  background-position: -36px -1066px;\n}\n\ni.flag.kp:before,\ni.flag.north.korea:before {\n  background-position: -36px -1092px;\n}\n\ni.flag.kr:before,\ni.flag.south.korea:before {\n  background-position: -36px -1118px;\n}\n\ni.flag.kw:before,\ni.flag.kuwait:before {\n  background-position: -36px -1144px;\n}\n\ni.flag.ky:before,\ni.flag.cayman.islands:before {\n  background-position: -36px -1170px;\n}\n\ni.flag.kz:before,\ni.flag.kazakhstan:before {\n  background-position: -36px -1196px;\n}\n\ni.flag.la:before,\ni.flag.laos:before {\n  background-position: -36px -1222px;\n}\n\ni.flag.lb:before,\ni.flag.lebanon:before {\n  background-position: -36px -1248px;\n}\n\ni.flag.lc:before,\ni.flag.saint.lucia:before {\n  background-position: -36px -1274px;\n}\n\ni.flag.li:before,\ni.flag.liechtenstein:before {\n  background-position: -36px -1300px;\n}\n\ni.flag.lk:before,\ni.flag.sri.lanka:before {\n  background-position: -36px -1326px;\n}\n\ni.flag.lr:before,\ni.flag.liberia:before {\n  background-position: -36px -1352px;\n}\n\ni.flag.ls:before,\ni.flag.lesotho:before {\n  background-position: -36px -1378px;\n}\n\ni.flag.lt:before,\ni.flag.lithuania:before {\n  background-position: -36px -1404px;\n}\n\ni.flag.lu:before,\ni.flag.luxembourg:before {\n  background-position: -36px -1430px;\n}\n\ni.flag.lv:before,\ni.flag.latvia:before {\n  background-position: -36px -1456px;\n}\n\ni.flag.ly:before,\ni.flag.libya:before {\n  background-position: -36px -1482px;\n}\n\ni.flag.ma:before,\ni.flag.morocco:before {\n  background-position: -36px -1508px;\n}\n\ni.flag.mc:before,\ni.flag.monaco:before {\n  background-position: -36px -1534px;\n}\n\ni.flag.md:before,\ni.flag.moldova:before {\n  background-position: -36px -1560px;\n}\n\ni.flag.me:before,\ni.flag.montenegro:before {\n  background-position: -36px -1586px;\n}\n\ni.flag.mg:before,\ni.flag.madagascar:before {\n  background-position: -36px -1613px;\n}\n\ni.flag.mh:before,\ni.flag.marshall.islands:before {\n  background-position: -36px -1639px;\n}\n\ni.flag.mk:before,\ni.flag.macedonia:before {\n  background-position: -36px -1665px;\n}\n\ni.flag.ml:before,\ni.flag.mali:before {\n  background-position: -36px -1691px;\n}\n\ni.flag.mm:before,\ni.flag.myanmar:before,\ni.flag.burma:before {\n  background-position: -36px -1717px;\n}\n\ni.flag.mn:before,\ni.flag.mongolia:before {\n  background-position: -36px -1743px;\n}\n\ni.flag.mo:before,\ni.flag.macau:before {\n  background-position: -36px -1769px;\n}\n\ni.flag.mp:before,\ni.flag.northern.mariana.islands:before {\n  background-position: -36px -1795px;\n}\n\ni.flag.mq:before,\ni.flag.martinique:before {\n  background-position: -36px -1821px;\n}\n\ni.flag.mr:before,\ni.flag.mauritania:before {\n  background-position: -36px -1847px;\n}\n\ni.flag.ms:before,\ni.flag.montserrat:before {\n  background-position: -36px -1873px;\n}\n\ni.flag.mt:before,\ni.flag.malta:before {\n  background-position: -36px -1899px;\n}\n\ni.flag.mu:before,\ni.flag.mauritius:before {\n  background-position: -36px -1925px;\n}\n\ni.flag.mv:before,\ni.flag.maldives:before {\n  background-position: -36px -1951px;\n}\n\ni.flag.mw:before,\ni.flag.malawi:before {\n  background-position: -36px -1977px;\n}\n\ni.flag.mx:before,\ni.flag.mexico:before {\n  background-position: -72px 0px;\n}\n\ni.flag.my:before,\ni.flag.malaysia:before {\n  background-position: -72px -26px;\n}\n\ni.flag.mz:before,\ni.flag.mozambique:before {\n  background-position: -72px -52px;\n}\n\ni.flag.na:before,\ni.flag.namibia:before {\n  background-position: -72px -78px;\n}\n\ni.flag.nc:before,\ni.flag.new.caledonia:before {\n  background-position: -72px -104px;\n}\n\ni.flag.ne:before,\ni.flag.niger:before {\n  background-position: -72px -130px;\n}\n\ni.flag.nf:before,\ni.flag.norfolk.island:before {\n  background-position: -72px -156px;\n}\n\ni.flag.ng:before,\ni.flag.nigeria:before {\n  background-position: -72px -182px;\n}\n\ni.flag.ni:before,\ni.flag.nicaragua:before {\n  background-position: -72px -208px;\n}\n\ni.flag.nl:before,\ni.flag.netherlands:before {\n  background-position: -72px -234px;\n}\n\ni.flag.no:before,\ni.flag.norway:before {\n  background-position: -72px -260px;\n}\n\ni.flag.np:before,\ni.flag.nepal:before {\n  background-position: -72px -286px;\n}\n\ni.flag.nr:before,\ni.flag.nauru:before {\n  background-position: -72px -312px;\n}\n\ni.flag.nu:before,\ni.flag.niue:before {\n  background-position: -72px -338px;\n}\n\ni.flag.nz:before,\ni.flag.new.zealand:before {\n  background-position: -72px -364px;\n}\n\ni.flag.om:before,\ni.flag.oman:before {\n  background-position: -72px -390px;\n}\n\ni.flag.pa:before,\ni.flag.panama:before {\n  background-position: -72px -416px;\n}\n\ni.flag.pe:before,\ni.flag.peru:before {\n  background-position: -72px -442px;\n}\n\ni.flag.pf:before,\ni.flag.french.polynesia:before {\n  background-position: -72px -468px;\n}\n\ni.flag.pg:before,\ni.flag.new.guinea:before {\n  background-position: -72px -494px;\n}\n\ni.flag.ph:before,\ni.flag.philippines:before {\n  background-position: -72px -520px;\n}\n\ni.flag.pk:before,\ni.flag.pakistan:before {\n  background-position: -72px -546px;\n}\n\ni.flag.pl:before,\ni.flag.poland:before {\n  background-position: -72px -572px;\n}\n\ni.flag.pm:before,\ni.flag.saint.pierre:before {\n  background-position: -72px -598px;\n}\n\ni.flag.pn:before,\ni.flag.pitcairn.islands:before {\n  background-position: -72px -624px;\n}\n\ni.flag.pr:before,\ni.flag.puerto.rico:before {\n  background-position: -72px -650px;\n}\n\ni.flag.ps:before,\ni.flag.palestine:before {\n  background-position: -72px -676px;\n}\n\ni.flag.pt:before,\ni.flag.portugal:before {\n  background-position: -72px -702px;\n}\n\ni.flag.pw:before,\ni.flag.palau:before {\n  background-position: -72px -728px;\n}\n\ni.flag.py:before,\ni.flag.paraguay:before {\n  background-position: -72px -754px;\n}\n\ni.flag.qa:before,\ni.flag.qatar:before {\n  background-position: -72px -780px;\n}\n\ni.flag.re:before,\ni.flag.reunion:before {\n  background-position: -72px -806px;\n}\n\ni.flag.ro:before,\ni.flag.romania:before {\n  background-position: -72px -832px;\n}\n\ni.flag.rs:before,\ni.flag.serbia:before {\n  background-position: -72px -858px;\n}\n\ni.flag.ru:before,\ni.flag.russia:before {\n  background-position: -72px -884px;\n}\n\ni.flag.rw:before,\ni.flag.rwanda:before {\n  background-position: -72px -910px;\n}\n\ni.flag.sa:before,\ni.flag.saudi.arabia:before {\n  background-position: -72px -936px;\n}\n\ni.flag.sb:before,\ni.flag.solomon.islands:before {\n  background-position: -72px -962px;\n}\n\ni.flag.sc:before,\ni.flag.seychelles:before {\n  background-position: -72px -988px;\n}\n\ni.flag.sd:before,\ni.flag.sudan:before {\n  background-position: -72px -1040px;\n}\n\ni.flag.se:before,\ni.flag.sweden:before {\n  background-position: -72px -1066px;\n}\n\ni.flag.sg:before,\ni.flag.singapore:before {\n  background-position: -72px -1092px;\n}\n\ni.flag.sh:before,\ni.flag.saint.helena:before {\n  background-position: -72px -1118px;\n}\n\ni.flag.si:before,\ni.flag.slovenia:before {\n  background-position: -72px -1144px;\n}\n\ni.flag.sj:before,\ni.flag.svalbard:before,\ni.flag.jan.mayen:before {\n  background-position: -72px -1170px;\n}\n\ni.flag.sk:before,\ni.flag.slovakia:before {\n  background-position: -72px -1196px;\n}\n\ni.flag.sl:before,\ni.flag.sierra.leone:before {\n  background-position: -72px -1222px;\n}\n\ni.flag.sm:before,\ni.flag.san.marino:before {\n  background-position: -72px -1248px;\n}\n\ni.flag.sn:before,\ni.flag.senegal:before {\n  background-position: -72px -1274px;\n}\n\ni.flag.so:before,\ni.flag.somalia:before {\n  background-position: -72px -1300px;\n}\n\ni.flag.sr:before,\ni.flag.suriname:before {\n  background-position: -72px -1326px;\n}\n\ni.flag.st:before,\ni.flag.sao.tome:before {\n  background-position: -72px -1352px;\n}\n\ni.flag.sv:before,\ni.flag.el.salvador:before {\n  background-position: -72px -1378px;\n}\n\ni.flag.sy:before,\ni.flag.syria:before {\n  background-position: -72px -1404px;\n}\n\ni.flag.sz:before,\ni.flag.swaziland:before {\n  background-position: -72px -1430px;\n}\n\ni.flag.tc:before,\ni.flag.caicos.islands:before {\n  background-position: -72px -1456px;\n}\n\ni.flag.td:before,\ni.flag.chad:before {\n  background-position: -72px -1482px;\n}\n\ni.flag.tf:before,\ni.flag.french.territories:before {\n  background-position: -72px -1508px;\n}\n\ni.flag.tg:before,\ni.flag.togo:before {\n  background-position: -72px -1534px;\n}\n\ni.flag.th:before,\ni.flag.thailand:before {\n  background-position: -72px -1560px;\n}\n\ni.flag.tj:before,\ni.flag.tajikistan:before {\n  background-position: -72px -1586px;\n}\n\ni.flag.tk:before,\ni.flag.tokelau:before {\n  background-position: -72px -1612px;\n}\n\ni.flag.tl:before,\ni.flag.timorleste:before {\n  background-position: -72px -1638px;\n}\n\ni.flag.tm:before,\ni.flag.turkmenistan:before {\n  background-position: -72px -1664px;\n}\n\ni.flag.tn:before,\ni.flag.tunisia:before {\n  background-position: -72px -1690px;\n}\n\ni.flag.to:before,\ni.flag.tonga:before {\n  background-position: -72px -1716px;\n}\n\ni.flag.tr:before,\ni.flag.turkey:before {\n  background-position: -72px -1742px;\n}\n\ni.flag.tt:before,\ni.flag.trinidad:before {\n  background-position: -72px -1768px;\n}\n\ni.flag.tv:before,\ni.flag.tuvalu:before {\n  background-position: -72px -1794px;\n}\n\ni.flag.tw:before,\ni.flag.taiwan:before {\n  background-position: -72px -1820px;\n}\n\ni.flag.tz:before,\ni.flag.tanzania:before {\n  background-position: -72px -1846px;\n}\n\ni.flag.ua:before,\ni.flag.ukraine:before {\n  background-position: -72px -1872px;\n}\n\ni.flag.ug:before,\ni.flag.uganda:before {\n  background-position: -72px -1898px;\n}\n\ni.flag.um:before,\ni.flag.us.minor.islands:before {\n  background-position: -72px -1924px;\n}\n\ni.flag.us:before,\ni.flag.america:before,\ni.flag.united.states:before {\n  background-position: -72px -1950px;\n}\n\ni.flag.uy:before,\ni.flag.uruguay:before {\n  background-position: -72px -1976px;\n}\n\ni.flag.uz:before,\ni.flag.uzbekistan:before {\n  background-position: -108px 0px;\n}\n\ni.flag.va:before,\ni.flag.vatican.city:before {\n  background-position: -108px -26px;\n}\n\ni.flag.vc:before,\ni.flag.saint.vincent:before {\n  background-position: -108px -52px;\n}\n\ni.flag.ve:before,\ni.flag.venezuela:before {\n  background-position: -108px -78px;\n}\n\ni.flag.vg:before,\ni.flag.british.virgin.islands:before {\n  background-position: -108px -104px;\n}\n\ni.flag.vi:before,\ni.flag.us.virgin.islands:before {\n  background-position: -108px -130px;\n}\n\ni.flag.vn:before,\ni.flag.vietnam:before {\n  background-position: -108px -156px;\n}\n\ni.flag.vu:before,\ni.flag.vanuatu:before {\n  background-position: -108px -182px;\n}\n\ni.flag.wf:before,\ni.flag.wallis.and.futuna:before {\n  background-position: -108px -234px;\n}\n\ni.flag.ws:before,\ni.flag.samoa:before {\n  background-position: -108px -260px;\n}\n\ni.flag.ye:before,\ni.flag.yemen:before {\n  background-position: -108px -286px;\n}\n\ni.flag.yt:before,\ni.flag.mayotte:before {\n  background-position: -108px -312px;\n}\n\ni.flag.za:before,\ni.flag.south.africa:before {\n  background-position: -108px -338px;\n}\n\ni.flag.zm:before,\ni.flag.zambia:before {\n  background-position: -108px -364px;\n}\n\ni.flag.zw:before,\ni.flag.zimbabwe:before {\n  background-position: -108px -390px;\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Header\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Header\n*******************************/\n\n/* Standard */\n\n.ui.header {\n  border: none;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  padding: 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  line-height: 1.2857em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.header:first-child {\n  margin-top: -0.14285em;\n}\n\n.ui.header:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n   Sub Header\n---------------*/\n\n.ui.header .sub.header {\n  display: block;\n  font-weight: normal;\n  padding: 0em;\n  margin: 0em;\n  font-size: 1rem;\n  line-height: 1.2em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.header > .icon {\n  display: table-cell;\n  opacity: 1;\n  font-size: 1.5em;\n  padding-top: 0.14285em;\n  vertical-align: middle;\n}\n\n/* With Text Node */\n\n.ui.header .icon:only-child {\n  display: inline-block;\n  padding: 0em;\n  margin-right: 0.75rem;\n}\n\n/*-------------------\n        Image\n--------------------*/\n\n.ui.header > .image,\n.ui.header > img {\n  display: inline-block;\n  margin-top: 0.14285em;\n  width: 2.5em;\n  height: auto;\n  vertical-align: middle;\n}\n\n.ui.header > .image:only-child,\n.ui.header > img:only-child {\n  margin-right: 0.75rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.header .content {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* After Image */\n\n.ui.header > img + .content,\n.ui.header > .image + .content {\n  padding-left: 0.75rem;\n  vertical-align: middle;\n}\n\n/* After Icon */\n\n.ui.header > .icon + .content {\n  padding-left: 0.75rem;\n  display: table-cell;\n  vertical-align: middle;\n}\n\n/*--------------\n Loose Coupling\n---------------*/\n\n.ui.header .ui.label {\n  font-size: '';\n  margin-left: 0.5rem;\n  vertical-align: middle;\n}\n\n/* Positioning */\n\n.ui.header + p {\n  margin-top: 0em;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Page\n---------------*/\n\nh1.ui.header {\n  font-size: 2rem;\n}\n\nh2.ui.header {\n  font-size: 1.714rem;\n}\n\nh3.ui.header {\n  font-size: 1.28rem;\n}\n\nh4.ui.header {\n  font-size: 1.071rem;\n}\n\nh5.ui.header {\n  font-size: 1rem;\n}\n\n/* Sub Header */\n\nh1.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\nh2.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\nh3.ui.header .sub.header {\n  font-size: 1rem;\n}\n\nh4.ui.header .sub.header {\n  font-size: 1rem;\n}\n\nh5.ui.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n Content Heading\n---------------*/\n\n.ui.huge.header {\n  min-height: 1em;\n  font-size: 2em;\n}\n\n.ui.large.header {\n  font-size: 1.714em;\n}\n\n.ui.medium.header {\n  font-size: 1.28em;\n}\n\n.ui.small.header {\n  font-size: 1.071em;\n}\n\n.ui.tiny.header {\n  font-size: 1em;\n}\n\n/* Sub Header */\n\n.ui.huge.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\n.ui.large.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\n.ui.header .sub.header {\n  font-size: 1rem;\n}\n\n.ui.small.header .sub.header {\n  font-size: 1rem;\n}\n\n.ui.tiny.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n   Sub Heading\n---------------*/\n\n.ui.sub.header {\n  padding: 0em;\n  margin-bottom: 0.14285714rem;\n  font-weight: bold;\n  font-size: 0.85714286em;\n  text-transform: uppercase;\n  color: '';\n}\n\n.ui.small.sub.header {\n  font-size: 0.71428571em;\n}\n\n.ui.sub.header {\n  font-size: 0.85714286em;\n}\n\n.ui.large.sub.header {\n  font-size: 0.92857143em;\n}\n\n.ui.huge.sub.header {\n  font-size: 1em;\n}\n\n/*-------------------\n        Icon\n--------------------*/\n\n.ui.icon.header {\n  display: inline-block;\n  text-align: center;\n  margin: 2rem 0em 1rem;\n}\n\n.ui.icon.header:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n\n.ui.icon.header:first-child {\n  margin-top: 0em;\n}\n\n.ui.icon.header .icon {\n  float: none;\n  display: block;\n  width: auto;\n  height: auto;\n  line-height: 1;\n  padding: 0em;\n  font-size: 3em;\n  margin: 0em auto 0.5rem;\n  opacity: 1;\n}\n\n.ui.icon.header .content {\n  display: block;\n}\n\n.ui.icon.header .circular.icon {\n  font-size: 2em;\n}\n\n.ui.icon.header .square.icon {\n  font-size: 2em;\n}\n\n.ui.block.icon.header .icon {\n  margin-bottom: 0em;\n}\n\n.ui.icon.header.aligned {\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.disabled.header {\n  opacity: 0.45;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.header {\n  color: #FFFFFF;\n}\n\n.ui.inverted.header .sub.header {\n  color: rgba(255, 255, 255, 0.8);\n}\n\n.ui.inverted.attached.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n  border-color: transparent;\n}\n\n.ui.inverted.block.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n}\n\n.ui.inverted.block.header {\n  border-bottom: none;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/*--- Red ---*/\n\n.ui.red.header {\n  color: #DB2828 !important;\n}\n\na.ui.red.header:hover {\n  color: #d01919 !important;\n}\n\n.ui.red.dividing.header {\n  border-bottom: 2px solid #DB2828;\n}\n\n/* Inverted */\n\n.ui.inverted.red.header {\n  color: #FF695E !important;\n}\n\na.ui.inverted.red.header:hover {\n  color: #ff5144 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.header {\n  color: #F2711C !important;\n}\n\na.ui.orange.header:hover {\n  color: #f26202 !important;\n}\n\n.ui.orange.dividing.header {\n  border-bottom: 2px solid #F2711C;\n}\n\n/* Inverted */\n\n.ui.inverted.orange.header {\n  color: #FF851B !important;\n}\n\na.ui.inverted.orange.header:hover {\n  color: #ff7701 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.header {\n  color: #B5CC18 !important;\n}\n\na.ui.olive.header:hover {\n  color: #a7bd0d !important;\n}\n\n.ui.olive.dividing.header {\n  border-bottom: 2px solid #B5CC18;\n}\n\n/* Inverted */\n\n.ui.inverted.olive.header {\n  color: #D9E778 !important;\n}\n\na.ui.inverted.olive.header:hover {\n  color: #d8ea5c !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.header {\n  color: #FBBD08 !important;\n}\n\na.ui.yellow.header:hover {\n  color: #eaae00 !important;\n}\n\n.ui.yellow.dividing.header {\n  border-bottom: 2px solid #FBBD08;\n}\n\n/* Inverted */\n\n.ui.inverted.yellow.header {\n  color: #FFE21F !important;\n}\n\na.ui.inverted.yellow.header:hover {\n  color: #ffdf05 !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.header {\n  color: #21BA45 !important;\n}\n\na.ui.green.header:hover {\n  color: #16ab39 !important;\n}\n\n.ui.green.dividing.header {\n  border-bottom: 2px solid #21BA45;\n}\n\n/* Inverted */\n\n.ui.inverted.green.header {\n  color: #2ECC40 !important;\n}\n\na.ui.inverted.green.header:hover {\n  color: #22be34 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.header {\n  color: #00B5AD !important;\n}\n\na.ui.teal.header:hover {\n  color: #009c95 !important;\n}\n\n.ui.teal.dividing.header {\n  border-bottom: 2px solid #00B5AD;\n}\n\n/* Inverted */\n\n.ui.inverted.teal.header {\n  color: #6DFFFF !important;\n}\n\na.ui.inverted.teal.header:hover {\n  color: #54ffff !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.header {\n  color: #2185D0 !important;\n}\n\na.ui.blue.header:hover {\n  color: #1678c2 !important;\n}\n\n.ui.blue.dividing.header {\n  border-bottom: 2px solid #2185D0;\n}\n\n/* Inverted */\n\n.ui.inverted.blue.header {\n  color: #54C8FF !important;\n}\n\na.ui.inverted.blue.header:hover {\n  color: #3ac0ff !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.header {\n  color: #6435C9 !important;\n}\n\na.ui.violet.header:hover {\n  color: #5829bb !important;\n}\n\n.ui.violet.dividing.header {\n  border-bottom: 2px solid #6435C9;\n}\n\n/* Inverted */\n\n.ui.inverted.violet.header {\n  color: #A291FB !important;\n}\n\na.ui.inverted.violet.header:hover {\n  color: #8a73ff !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.header {\n  color: #A333C8 !important;\n}\n\na.ui.purple.header:hover {\n  color: #9627ba !important;\n}\n\n.ui.purple.dividing.header {\n  border-bottom: 2px solid #A333C8;\n}\n\n/* Inverted */\n\n.ui.inverted.purple.header {\n  color: #DC73FF !important;\n}\n\na.ui.inverted.purple.header:hover {\n  color: #d65aff !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.header {\n  color: #E03997 !important;\n}\n\na.ui.pink.header:hover {\n  color: #e61a8d !important;\n}\n\n.ui.pink.dividing.header {\n  border-bottom: 2px solid #E03997;\n}\n\n/* Inverted */\n\n.ui.inverted.pink.header {\n  color: #FF8EDF !important;\n}\n\na.ui.inverted.pink.header:hover {\n  color: #ff74d8 !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.header {\n  color: #A5673F !important;\n}\n\na.ui.brown.header:hover {\n  color: #975b33 !important;\n}\n\n.ui.brown.dividing.header {\n  border-bottom: 2px solid #A5673F;\n}\n\n/* Inverted */\n\n.ui.inverted.brown.header {\n  color: #D67C1C !important;\n}\n\na.ui.inverted.brown.header:hover {\n  color: #c86f11 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.header {\n  color: #767676 !important;\n}\n\na.ui.grey.header:hover {\n  color: #838383 !important;\n}\n\n.ui.grey.dividing.header {\n  border-bottom: 2px solid #767676;\n}\n\n/* Inverted */\n\n.ui.inverted.grey.header {\n  color: #DCDDDE !important;\n}\n\na.ui.inverted.grey.header:hover {\n  color: #cfd0d2 !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.left.aligned.header {\n  text-align: left;\n}\n\n.ui.right.aligned.header {\n  text-align: right;\n}\n\n.ui.centered.header,\n.ui.center.aligned.header {\n  text-align: center;\n}\n\n.ui.justified.header {\n  text-align: justify;\n}\n\n.ui.justified.header:after {\n  display: inline-block;\n  content: '';\n  width: 100%;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.header,\n.ui[class*=\"left floated\"].header {\n  float: left;\n  margin-top: 0em;\n  margin-right: 0.5em;\n}\n\n.ui[class*=\"right floated\"].header {\n  float: right;\n  margin-top: 0em;\n  margin-left: 0.5em;\n}\n\n/*-------------------\n       Fittted\n--------------------*/\n\n.ui.fitted.header {\n  padding: 0em;\n}\n\n/*-------------------\n      Dividing\n--------------------*/\n\n.ui.dividing.header {\n  padding-bottom: 0.21428571rem;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.dividing.header .sub.header {\n  padding-bottom: 0.21428571rem;\n}\n\n.ui.dividing.header .icon {\n  margin-bottom: 0em;\n}\n\n.ui.inverted.dividing.header {\n  border-bottom-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Block\n--------------------*/\n\n.ui.block.header {\n  background: #F3F4F5;\n  padding: 0.71428571rem 1rem;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n  border-radius: 0.28571429rem;\n}\n\n.ui.tiny.block.header {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.block.header {\n  font-size: 0.92857143rem;\n}\n\n.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1rem;\n}\n\n.ui.large.block.header {\n  font-size: 1.14285714rem;\n}\n\n.ui.huge.block.header {\n  font-size: 1.42857143rem;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n.ui.attached.header {\n  background: #FFFFFF;\n  padding: 0.71428571rem 1rem;\n  margin-left: -1px;\n  margin-right: -1px;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached.block.header {\n  background: #F3F4F5;\n}\n\n.ui.attached:not(.top):not(.bottom).header {\n  margin-top: 0em;\n  margin-bottom: 0em;\n  border-top: none;\n  border-radius: 0em;\n}\n\n.ui.top.attached.header {\n  margin-bottom: 0em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.bottom.attached.header {\n  margin-top: 0em;\n  border-top: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Attached Sizes */\n\n.ui.tiny.attached.header {\n  font-size: 0.85714286em;\n}\n\n.ui.small.attached.header {\n  font-size: 0.92857143em;\n}\n\n.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1em;\n}\n\n.ui.large.attached.header {\n  font-size: 1.14285714em;\n}\n\n.ui.huge.attached.header {\n  font-size: 1.42857143em;\n}\n\n/*-------------------\n        Sizing\n--------------------*/\n\n.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1.28em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Icon\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Icon\n*******************************/\n\n@font-face {\n  font-family: 'Icons';\n  src: url(\"themes/default/assets/fonts/icons.eot\");\n  src: url(\"themes/default/assets/fonts/icons.eot?#iefix\") format('embedded-opentype'), url(\"themes/default/assets/fonts/icons.woff2\") format('woff2'), url(\"themes/default/assets/fonts/icons.woff\") format('woff'), url(\"themes/default/assets/fonts/icons.ttf\") format('truetype'), url(\"themes/default/assets/fonts/icons.svg#icons\") format('svg');\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-decoration: inherit;\n  text-transform: none;\n}\n\ni.icon {\n  display: inline-block;\n  opacity: 1;\n  margin: 0em 0.25rem 0em 0em;\n  width: 1.18em;\n  height: 1em;\n  font-family: 'Icons';\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  text-align: center;\n  speak: none;\n  font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\ni.icon:before {\n  background: none !important;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n    Loading\n---------------*/\n\ni.icon.loading {\n  height: 1em;\n  line-height: 1;\n  -webkit-animation: icon-loading 2s linear infinite;\n  animation: icon-loading 2s linear infinite;\n}\n\n@-webkit-keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\ni.icon.hover {\n  opacity: 1 !important;\n}\n\ni.icon.active {\n  opacity: 1 !important;\n}\n\ni.emphasized.icon {\n  opacity: 1 !important;\n}\n\ni.disabled.icon {\n  opacity: 0.45 !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n        Fitted\n--------------------*/\n\ni.fitted.icon {\n  width: auto;\n  margin: 0em;\n}\n\n/*-------------------\n         Link\n--------------------*/\n\ni.link.icon {\n  cursor: pointer;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\ni.link.icon:hover {\n  opacity: 1 !important;\n}\n\n/*-------------------\n      Circular\n--------------------*/\n\ni.circular.icon {\n  border-radius: 500em !important;\n  line-height: 1 !important;\n  padding: 0.5em 0.5em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n  width: 2em !important;\n  height: 2em !important;\n}\n\ni.circular.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Flipped\n--------------------*/\n\ni.flipped.icon,\ni.horizontally.flipped.icon {\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n\ni.vertically.flipped.icon {\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n\n/*-------------------\n      Rotated\n--------------------*/\n\ni.rotated.icon,\ni.right.rotated.icon,\ni.clockwise.rotated.icon {\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n\ni.left.rotated.icon,\ni.counterclockwise.rotated.icon {\n  -webkit-transform: rotate(-90deg);\n  -ms-transform: rotate(-90deg);\n  transform: rotate(-90deg);\n}\n\n/*-------------------\n      Bordered\n--------------------*/\n\ni.bordered.icon {\n  line-height: 1;\n  vertical-align: baseline;\n  width: 2em;\n  height: 2em;\n  padding: 0.5em 0.41em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n}\n\ni.bordered.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n/* Inverted Shapes */\n\ni.inverted.bordered.icon,\ni.inverted.circular.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\ni.inverted.icon {\n  color: #FFFFFF;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\ni.red.icon {\n  color: #DB2828 !important;\n}\n\ni.inverted.red.icon {\n  color: #FF695E !important;\n}\n\ni.inverted.bordered.red.icon,\ni.inverted.circular.red.icon {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n\ni.orange.icon {\n  color: #F2711C !important;\n}\n\ni.inverted.orange.icon {\n  color: #FF851B !important;\n}\n\ni.inverted.bordered.orange.icon,\ni.inverted.circular.orange.icon {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n\ni.yellow.icon {\n  color: #FBBD08 !important;\n}\n\ni.inverted.yellow.icon {\n  color: #FFE21F !important;\n}\n\ni.inverted.bordered.yellow.icon,\ni.inverted.circular.yellow.icon {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n\ni.olive.icon {\n  color: #B5CC18 !important;\n}\n\ni.inverted.olive.icon {\n  color: #D9E778 !important;\n}\n\ni.inverted.bordered.olive.icon,\ni.inverted.circular.olive.icon {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n\ni.green.icon {\n  color: #21BA45 !important;\n}\n\ni.inverted.green.icon {\n  color: #2ECC40 !important;\n}\n\ni.inverted.bordered.green.icon,\ni.inverted.circular.green.icon {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n\ni.teal.icon {\n  color: #00B5AD !important;\n}\n\ni.inverted.teal.icon {\n  color: #6DFFFF !important;\n}\n\ni.inverted.bordered.teal.icon,\ni.inverted.circular.teal.icon {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n\ni.blue.icon {\n  color: #2185D0 !important;\n}\n\ni.inverted.blue.icon {\n  color: #54C8FF !important;\n}\n\ni.inverted.bordered.blue.icon,\ni.inverted.circular.blue.icon {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n\ni.violet.icon {\n  color: #6435C9 !important;\n}\n\ni.inverted.violet.icon {\n  color: #A291FB !important;\n}\n\ni.inverted.bordered.violet.icon,\ni.inverted.circular.violet.icon {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n\ni.purple.icon {\n  color: #A333C8 !important;\n}\n\ni.inverted.purple.icon {\n  color: #DC73FF !important;\n}\n\ni.inverted.bordered.purple.icon,\ni.inverted.circular.purple.icon {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n\ni.pink.icon {\n  color: #E03997 !important;\n}\n\ni.inverted.pink.icon {\n  color: #FF8EDF !important;\n}\n\ni.inverted.bordered.pink.icon,\ni.inverted.circular.pink.icon {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n\ni.brown.icon {\n  color: #A5673F !important;\n}\n\ni.inverted.brown.icon {\n  color: #D67C1C !important;\n}\n\ni.inverted.bordered.brown.icon,\ni.inverted.circular.brown.icon {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n\ni.grey.icon {\n  color: #767676 !important;\n}\n\ni.inverted.grey.icon {\n  color: #DCDDDE !important;\n}\n\ni.inverted.bordered.grey.icon,\ni.inverted.circular.grey.icon {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n\ni.black.icon {\n  color: #1B1C1D !important;\n}\n\ni.inverted.black.icon {\n  color: #545454 !important;\n}\n\ni.inverted.bordeblack.black.icon,\ni.inverted.circular.black.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\ni.mini.icon,\ni.mini.icons {\n  line-height: 1;\n  font-size: 0.71428571rem;\n}\n\ni.tiny.icon,\ni.tiny.icons {\n  line-height: 1;\n  font-size: 0.85714286rem;\n}\n\ni.small.icon,\ni.small.icons {\n  line-height: 1;\n  font-size: 0.92857143em;\n}\n\ni.icon,\ni.icons {\n  font-size: 1em;\n}\n\ni.large.icon,\ni.large.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 1.5em;\n}\n\ni.big.icon,\ni.big.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 2em;\n}\n\ni.huge.icon,\ni.huge.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 4em;\n}\n\ni.massive.icon,\ni.massive.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 8em;\n}\n\n/*******************************\n            Groups\n*******************************/\n\ni.icons {\n  display: inline-block;\n  position: relative;\n  line-height: 1;\n}\n\ni.icons .icon {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n  margin: 0em;\n  margin: 0;\n}\n\ni.icons .icon:first-child {\n  position: static;\n  width: auto;\n  height: auto;\n  vertical-align: top;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  margin-right: 0.25rem;\n}\n\n/* Corner Icon */\n\ni.icons .corner.icon {\n  top: auto;\n  left: auto;\n  right: 0;\n  bottom: 0;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  font-size: 0.45em;\n  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;\n}\n\ni.icons .inverted.corner.icon {\n  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;\n}\n\n/*\n * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n/*******************************\n\nSemantic-UI integration of font-awesome :\n\n///class names are separated\ni.icon.circle => i.icon.circle\ni.icon.circle-o => i.icon.circle.outline\n\n//abbreviation are replaced by full letters:\ni.icon.ellipsis-h => i.icon.ellipsis.horizontal\ni.icon.ellipsis-v => i.icon.ellipsis.vertical\n.alpha => .i.icon.alphabet\n.asc => .i.icon.ascending\n.desc => .i.icon.descending\n.alt =>.alternate\n\nASCII order is conserved for easier maintenance.\n\nIcons that only have one style 'outline', 'square' etc do not require this class\nfor instance `lemon icon` not `lemon outline icon` since there is only one lemon\n\n*******************************/\n\n/*******************************\n            Icons\n*******************************/\n\n/* Web Content */\n\ni.icon.search:before {\n  content: \"\\f002\";\n}\n\ni.icon.mail.outline:before {\n  content: \"\\f003\";\n}\n\ni.icon.external:before {\n  content: \"\\f08e\";\n}\n\ni.icon.signal:before {\n  content: \"\\f012\";\n}\n\ni.icon.setting:before {\n  content: \"\\f013\";\n}\n\ni.icon.home:before {\n  content: \"\\f015\";\n}\n\ni.icon.inbox:before {\n  content: \"\\f01c\";\n}\n\ni.icon.browser:before {\n  content: \"\\f022\";\n}\n\ni.icon.tag:before {\n  content: \"\\f02b\";\n}\n\ni.icon.tags:before {\n  content: \"\\f02c\";\n}\n\ni.icon.calendar:before {\n  content: \"\\f073\";\n}\n\ni.icon.comment:before {\n  content: \"\\f075\";\n}\n\ni.icon.comments:before {\n  content: \"\\f086\";\n}\n\ni.icon.shop:before {\n  content: \"\\f07a\";\n}\n\ni.icon.privacy:before {\n  content: \"\\f084\";\n}\n\ni.icon.settings:before {\n  content: \"\\f085\";\n}\n\ni.icon.trophy:before {\n  content: \"\\f091\";\n}\n\ni.icon.payment:before {\n  content: \"\\f09d\";\n}\n\ni.icon.feed:before {\n  content: \"\\f09e\";\n}\n\ni.icon.alarm.outline:before {\n  content: \"\\f0a2\";\n}\n\ni.icon.tasks:before {\n  content: \"\\f0ae\";\n}\n\ni.icon.cloud:before {\n  content: \"\\f0c2\";\n}\n\ni.icon.lab:before {\n  content: \"\\f0c3\";\n}\n\ni.icon.mail:before {\n  content: \"\\f0e0\";\n}\n\ni.icon.idea:before {\n  content: \"\\f0eb\";\n}\n\ni.icon.dashboard:before {\n  content: \"\\f0e4\";\n}\n\ni.icon.sitemap:before {\n  content: \"\\f0e8\";\n}\n\ni.icon.alarm:before {\n  content: \"\\f0f3\";\n}\n\ni.icon.terminal:before {\n  content: \"\\f120\";\n}\n\ni.icon.code:before {\n  content: \"\\f121\";\n}\n\ni.icon.protect:before {\n  content: \"\\f132\";\n}\n\ni.icon.calendar.outline:before {\n  content: \"\\f133\";\n}\n\ni.icon.ticket:before {\n  content: \"\\f145\";\n}\n\ni.icon.external.square:before {\n  content: \"\\f14c\";\n}\n\ni.icon.map:before {\n  content: \"\\f14e\";\n}\n\ni.icon.bug:before {\n  content: \"\\f188\";\n}\n\ni.icon.mail.square:before {\n  content: \"\\f199\";\n}\n\ni.icon.history:before {\n  content: \"\\f1da\";\n}\n\ni.icon.options:before {\n  content: \"\\f1de\";\n}\n\ni.icon.comment.outline:before {\n  content: \"\\f0e5\";\n}\n\ni.icon.comments.outline:before {\n  content: \"\\f0e6\";\n}\n\ni.icon.text.telephone:before {\n  content: \"\\f1e4\";\n}\n\ni.icon.find:before {\n  content: \"\\f1e5\";\n}\n\ni.icon.wifi:before {\n  content: \"\\f1eb\";\n}\n\ni.icon.alarm.slash:before {\n  content: \"\\f1f6\";\n}\n\ni.icon.alarm.slash.outline:before {\n  content: \"\\f1f7\";\n}\n\ni.icon.copyright:before {\n  content: \"\\f1f9\";\n}\n\ni.icon.at:before {\n  content: \"\\f1fa\";\n}\n\ni.icon.eyedropper:before {\n  content: \"\\f1fb\";\n}\n\ni.icon.paint.brush:before {\n  content: \"\\f1fc\";\n}\n\ni.icon.heartbeat:before {\n  content: \"\\f21e\";\n}\n\n/* User Actions */\n\ni.icon.download:before {\n  content: \"\\f019\";\n}\n\ni.icon.repeat:before {\n  content: \"\\f01e\";\n}\n\ni.icon.refresh:before {\n  content: \"\\f021\";\n}\n\ni.icon.lock:before {\n  content: \"\\f023\";\n}\n\ni.icon.bookmark:before {\n  content: \"\\f02e\";\n}\n\ni.icon.print:before {\n  content: \"\\f02f\";\n}\n\ni.icon.write:before {\n  content: \"\\f040\";\n}\n\ni.icon.theme:before {\n  content: \"\\f043\";\n}\n\ni.icon.adjust:before {\n  content: \"\\f042\";\n}\n\ni.icon.edit:before {\n  content: \"\\f044\";\n}\n\ni.icon.external.share:before {\n  content: \"\\f045\";\n}\n\ni.icon.ban:before {\n  content: \"\\f05e\";\n}\n\ni.icon.mail.forward:before {\n  content: \"\\f064\";\n}\n\ni.icon.share:before {\n  content: \"\\f064\";\n}\n\ni.icon.expand:before {\n  content: \"\\f065\";\n}\n\ni.icon.compress:before {\n  content: \"\\f066\";\n}\n\ni.icon.unhide:before {\n  content: \"\\f06e\";\n}\n\ni.icon.hide:before {\n  content: \"\\f070\";\n}\n\ni.icon.random:before {\n  content: \"\\f074\";\n}\n\ni.icon.retweet:before {\n  content: \"\\f079\";\n}\n\ni.icon.sign.out:before {\n  content: \"\\f08b\";\n}\n\ni.icon.pin:before {\n  content: \"\\f08d\";\n}\n\ni.icon.sign.in:before {\n  content: \"\\f090\";\n}\n\ni.icon.upload:before {\n  content: \"\\f093\";\n}\n\ni.icon.call:before {\n  content: \"\\f095\";\n}\n\ni.icon.call.square:before {\n  content: \"\\f098\";\n}\n\ni.icon.remove.bookmark:before {\n  content: \"\\f097\";\n}\n\ni.icon.unlock:before {\n  content: \"\\f09c\";\n}\n\ni.icon.configure:before {\n  content: \"\\f0ad\";\n}\n\ni.icon.filter:before {\n  content: \"\\f0b0\";\n}\n\ni.icon.wizard:before {\n  content: \"\\f0d0\";\n}\n\ni.icon.undo:before {\n  content: \"\\f0e2\";\n}\n\ni.icon.exchange:before {\n  content: \"\\f0ec\";\n}\n\ni.icon.cloud.download:before {\n  content: \"\\f0ed\";\n}\n\ni.icon.cloud.upload:before {\n  content: \"\\f0ee\";\n}\n\ni.icon.reply:before {\n  content: \"\\f112\";\n}\n\ni.icon.reply.all:before {\n  content: \"\\f122\";\n}\n\ni.icon.erase:before {\n  content: \"\\f12d\";\n}\n\ni.icon.unlock.alternate:before {\n  content: \"\\f13e\";\n}\n\ni.icon.archive:before {\n  content: \"\\f187\";\n}\n\ni.icon.translate:before {\n  content: \"\\f1ab\";\n}\n\ni.icon.recycle:before {\n  content: \"\\f1b8\";\n}\n\ni.icon.send:before {\n  content: \"\\f1d8\";\n}\n\ni.icon.send.outline:before {\n  content: \"\\f1d9\";\n}\n\ni.icon.share.alternate:before {\n  content: \"\\f1e0\";\n}\n\ni.icon.share.alternate.square:before {\n  content: \"\\f1e1\";\n}\n\ni.icon.wait:before {\n  content: \"\\f017\";\n}\n\ni.icon.write.square:before {\n  content: \"\\f14b\";\n}\n\ni.icon.share.square:before {\n  content: \"\\f14d\";\n}\n\ni.icon.add.to.cart:before {\n  content: \"\\f217\";\n}\n\ni.icon.in.cart:before {\n  content: \"\\f218\";\n}\n\ni.icon.add.user:before {\n  content: \"\\f234\";\n}\n\ni.icon.remove.user:before {\n  content: \"\\f235\";\n}\n\n/* Messages */\n\ni.icon.help.circle:before {\n  content: \"\\f059\";\n}\n\ni.icon.info.circle:before {\n  content: \"\\f05a\";\n}\n\ni.icon.warning:before {\n  content: \"\\f12a\";\n}\n\ni.icon.warning.circle:before {\n  content: \"\\f06a\";\n}\n\ni.icon.warning.sign:before {\n  content: \"\\f071\";\n}\n\ni.icon.help:before {\n  content: \"\\f128\";\n}\n\ni.icon.info:before {\n  content: \"\\f129\";\n}\n\ni.icon.announcement:before {\n  content: \"\\f0a1\";\n}\n\ni.icon.birthday:before {\n  content: \"\\f1fd\";\n}\n\n/* Users */\n\ni.icon.users:before {\n  content: \"\\f0c0\";\n}\n\ni.icon.doctor:before {\n  content: \"\\f0f0\";\n}\n\ni.icon.child:before {\n  content: \"\\f1ae\";\n}\n\ni.icon.user:before {\n  content: \"\\f007\";\n}\n\ni.icon.handicap:before {\n  content: \"\\f193\";\n}\n\ni.icon.student:before {\n  content: \"\\f19d\";\n}\n\ni.icon.spy:before {\n  content: \"\\f21b\";\n}\n\n/* Gender & Sexuality */\n\ni.icon.female:before {\n  content: \"\\f182\";\n}\n\ni.icon.male:before {\n  content: \"\\f183\";\n}\n\ni.icon.woman:before {\n  content: \"\\f221\";\n}\n\ni.icon.man:before {\n  content: \"\\f222\";\n}\n\ni.icon.non.binary.transgender:before {\n  content: \"\\f223\";\n}\n\ni.icon.intergender:before {\n  content: \"\\f224\";\n}\n\ni.icon.transgender:before {\n  content: \"\\f225\";\n}\n\ni.icon.lesbian:before {\n  content: \"\\f226\";\n}\n\ni.icon.gay:before {\n  content: \"\\f227\";\n}\n\ni.icon.heterosexual:before {\n  content: \"\\f228\";\n}\n\ni.icon.other.gender:before {\n  content: \"\\f229\";\n}\n\ni.icon.other.gender.vertical:before {\n  content: \"\\f22a\";\n}\n\ni.icon.other.gender.horizontal:before {\n  content: \"\\f22b\";\n}\n\ni.icon.neuter:before {\n  content: \"\\f22c\";\n}\n\n/* View Adjustment */\n\ni.icon.grid.layout:before {\n  content: \"\\f00a\";\n}\n\ni.icon.list.layout:before {\n  content: \"\\f00b\";\n}\n\ni.icon.block.layout:before {\n  content: \"\\f009\";\n}\n\ni.icon.zoom:before {\n  content: \"\\f00e\";\n}\n\ni.icon.zoom.out:before {\n  content: \"\\f010\";\n}\n\ni.icon.resize.vertical:before {\n  content: \"\\f07d\";\n}\n\ni.icon.resize.horizontal:before {\n  content: \"\\f07e\";\n}\n\ni.icon.maximize:before {\n  content: \"\\f0b2\";\n}\n\ni.icon.crop:before {\n  content: \"\\f125\";\n}\n\n/* Literal Objects */\n\ni.icon.cocktail:before {\n  content: \"\\f000\";\n}\n\ni.icon.road:before {\n  content: \"\\f018\";\n}\n\ni.icon.flag:before {\n  content: \"\\f024\";\n}\n\ni.icon.book:before {\n  content: \"\\f02d\";\n}\n\ni.icon.gift:before {\n  content: \"\\f06b\";\n}\n\ni.icon.leaf:before {\n  content: \"\\f06c\";\n}\n\ni.icon.fire:before {\n  content: \"\\f06d\";\n}\n\ni.icon.plane:before {\n  content: \"\\f072\";\n}\n\ni.icon.magnet:before {\n  content: \"\\f076\";\n}\n\ni.icon.legal:before {\n  content: \"\\f0e3\";\n}\n\ni.icon.lemon:before {\n  content: \"\\f094\";\n}\n\ni.icon.world:before {\n  content: \"\\f0ac\";\n}\n\ni.icon.travel:before {\n  content: \"\\f0b1\";\n}\n\ni.icon.shipping:before {\n  content: \"\\f0d1\";\n}\n\ni.icon.money:before {\n  content: \"\\f0d6\";\n}\n\ni.icon.lightning:before {\n  content: \"\\f0e7\";\n}\n\ni.icon.rain:before {\n  content: \"\\f0e9\";\n}\n\ni.icon.treatment:before {\n  content: \"\\f0f1\";\n}\n\ni.icon.suitcase:before {\n  content: \"\\f0f2\";\n}\n\ni.icon.bar:before {\n  content: \"\\f0fc\";\n}\n\ni.icon.flag.outline:before {\n  content: \"\\f11d\";\n}\n\ni.icon.flag.checkered:before {\n  content: \"\\f11e\";\n}\n\ni.icon.puzzle:before {\n  content: \"\\f12e\";\n}\n\ni.icon.fire.extinguisher:before {\n  content: \"\\f134\";\n}\n\ni.icon.rocket:before {\n  content: \"\\f135\";\n}\n\ni.icon.anchor:before {\n  content: \"\\f13d\";\n}\n\ni.icon.bullseye:before {\n  content: \"\\f140\";\n}\n\ni.icon.sun:before {\n  content: \"\\f185\";\n}\n\ni.icon.moon:before {\n  content: \"\\f186\";\n}\n\ni.icon.fax:before {\n  content: \"\\f1ac\";\n}\n\ni.icon.life.ring:before {\n  content: \"\\f1cd\";\n}\n\ni.icon.bomb:before {\n  content: \"\\f1e2\";\n}\n\ni.icon.soccer:before {\n  content: \"\\f1e3\";\n}\n\ni.icon.calculator:before {\n  content: \"\\f1ec\";\n}\n\ni.icon.diamond:before {\n  content: \"\\f219\";\n}\n\n/* Shapes */\n\ni.icon.crosshairs:before {\n  content: \"\\f05b\";\n}\n\ni.icon.asterisk:before {\n  content: \"\\f069\";\n}\n\ni.icon.certificate:before {\n  content: \"\\f0a3\";\n}\n\ni.icon.circle:before {\n  content: \"\\f111\";\n}\n\ni.icon.quote.left:before {\n  content: \"\\f10d\";\n}\n\ni.icon.quote.right:before {\n  content: \"\\f10e\";\n}\n\ni.icon.ellipsis.horizontal:before {\n  content: \"\\f141\";\n}\n\ni.icon.ellipsis.vertical:before {\n  content: \"\\f142\";\n}\n\ni.icon.cube:before {\n  content: \"\\f1b2\";\n}\n\ni.icon.cubes:before {\n  content: \"\\f1b3\";\n}\n\ni.icon.circle.notched:before {\n  content: \"\\f1ce\";\n}\n\ni.icon.circle.thin:before {\n  content: \"\\f1db\";\n}\n\ni.icon.square.outline:before {\n  content: \"\\f096\";\n}\n\ni.icon.square:before {\n  content: \"\\f0c8\";\n}\n\n/* Item Selection */\n\ni.icon.checkmark:before {\n  content: \"\\f00c\";\n}\n\ni.icon.remove:before {\n  content: \"\\f00d\";\n}\n\ni.icon.checkmark.box:before {\n  content: \"\\f046\";\n}\n\ni.icon.move:before {\n  content: \"\\f047\";\n}\n\ni.icon.add.circle:before {\n  content: \"\\f055\";\n}\n\ni.icon.minus.circle:before {\n  content: \"\\f056\";\n}\n\ni.icon.remove.circle:before {\n  content: \"\\f057\";\n}\n\ni.icon.check.circle:before {\n  content: \"\\f058\";\n}\n\ni.icon.remove.circle.outline:before {\n  content: \"\\f05c\";\n}\n\ni.icon.check.circle.outline:before {\n  content: \"\\f05d\";\n}\n\ni.icon.plus:before {\n  content: \"\\f067\";\n}\n\ni.icon.minus:before {\n  content: \"\\f068\";\n}\n\ni.icon.add.square:before {\n  content: \"\\f0fe\";\n}\n\ni.icon.radio:before {\n  content: \"\\f10c\";\n}\n\ni.icon.selected.radio:before {\n  content: \"\\f192\";\n}\n\ni.icon.minus.square:before {\n  content: \"\\f146\";\n}\n\ni.icon.minus.square.outline:before {\n  content: \"\\f147\";\n}\n\ni.icon.check.square:before {\n  content: \"\\f14a\";\n}\n\ni.icon.plus.square.outline:before {\n  content: \"\\f196\";\n}\n\ni.icon.toggle.off:before {\n  content: \"\\f204\";\n}\n\ni.icon.toggle.on:before {\n  content: \"\\f205\";\n}\n\n/* Media */\n\ni.icon.film:before {\n  content: \"\\f008\";\n}\n\ni.icon.sound:before {\n  content: \"\\f025\";\n}\n\ni.icon.photo:before {\n  content: \"\\f030\";\n}\n\ni.icon.bar.chart:before {\n  content: \"\\f080\";\n}\n\ni.icon.camera.retro:before {\n  content: \"\\f083\";\n}\n\ni.icon.newspaper:before {\n  content: \"\\f1ea\";\n}\n\ni.icon.area.chart:before {\n  content: \"\\f1fe\";\n}\n\ni.icon.pie.chart:before {\n  content: \"\\f200\";\n}\n\ni.icon.line.chart:before {\n  content: \"\\f201\";\n}\n\n/* Pointers */\n\ni.icon.arrow.circle.outline.down:before {\n  content: \"\\f01a\";\n}\n\ni.icon.arrow.circle.outline.up:before {\n  content: \"\\f01b\";\n}\n\ni.icon.chevron.left:before {\n  content: \"\\f053\";\n}\n\ni.icon.chevron.right:before {\n  content: \"\\f054\";\n}\n\ni.icon.arrow.left:before {\n  content: \"\\f060\";\n}\n\ni.icon.arrow.right:before {\n  content: \"\\f061\";\n}\n\ni.icon.arrow.up:before {\n  content: \"\\f062\";\n}\n\ni.icon.arrow.down:before {\n  content: \"\\f063\";\n}\n\ni.icon.chevron.up:before {\n  content: \"\\f077\";\n}\n\ni.icon.chevron.down:before {\n  content: \"\\f078\";\n}\n\ni.icon.pointing.right:before {\n  content: \"\\f0a4\";\n}\n\ni.icon.pointing.left:before {\n  content: \"\\f0a5\";\n}\n\ni.icon.pointing.up:before {\n  content: \"\\f0a6\";\n}\n\ni.icon.pointing.down:before {\n  content: \"\\f0a7\";\n}\n\ni.icon.arrow.circle.left:before {\n  content: \"\\f0a8\";\n}\n\ni.icon.arrow.circle.right:before {\n  content: \"\\f0a9\";\n}\n\ni.icon.arrow.circle.up:before {\n  content: \"\\f0aa\";\n}\n\ni.icon.arrow.circle.down:before {\n  content: \"\\f0ab\";\n}\n\ni.icon.caret.down:before {\n  content: \"\\f0d7\";\n}\n\ni.icon.caret.up:before {\n  content: \"\\f0d8\";\n}\n\ni.icon.caret.left:before {\n  content: \"\\f0d9\";\n}\n\ni.icon.caret.right:before {\n  content: \"\\f0da\";\n}\n\ni.icon.angle.double.left:before {\n  content: \"\\f100\";\n}\n\ni.icon.angle.double.right:before {\n  content: \"\\f101\";\n}\n\ni.icon.angle.double.up:before {\n  content: \"\\f102\";\n}\n\ni.icon.angle.double.down:before {\n  content: \"\\f103\";\n}\n\ni.icon.angle.left:before {\n  content: \"\\f104\";\n}\n\ni.icon.angle.right:before {\n  content: \"\\f105\";\n}\n\ni.icon.angle.up:before {\n  content: \"\\f106\";\n}\n\ni.icon.angle.down:before {\n  content: \"\\f107\";\n}\n\ni.icon.chevron.circle.left:before {\n  content: \"\\f137\";\n}\n\ni.icon.chevron.circle.right:before {\n  content: \"\\f138\";\n}\n\ni.icon.chevron.circle.up:before {\n  content: \"\\f139\";\n}\n\ni.icon.chevron.circle.down:before {\n  content: \"\\f13a\";\n}\n\ni.icon.toggle.down:before {\n  content: \"\\f150\";\n}\n\ni.icon.toggle.up:before {\n  content: \"\\f151\";\n}\n\ni.icon.toggle.right:before {\n  content: \"\\f152\";\n}\n\ni.icon.long.arrow.down:before {\n  content: \"\\f175\";\n}\n\ni.icon.long.arrow.up:before {\n  content: \"\\f176\";\n}\n\ni.icon.long.arrow.left:before {\n  content: \"\\f177\";\n}\n\ni.icon.long.arrow.right:before {\n  content: \"\\f178\";\n}\n\ni.icon.arrow.circle.outline.right:before {\n  content: \"\\f18e\";\n}\n\ni.icon.arrow.circle.outline.left:before {\n  content: \"\\f190\";\n}\n\ni.icon.toggle.left:before {\n  content: \"\\f191\";\n}\n\n/* Computer */\n\ni.icon.power:before {\n  content: \"\\f011\";\n}\n\ni.icon.trash:before {\n  content: \"\\f1f8\";\n}\n\ni.icon.trash.outline:before {\n  content: \"\\f014\";\n}\n\ni.icon.disk.outline:before {\n  content: \"\\f0a0\";\n}\n\ni.icon.desktop:before {\n  content: \"\\f108\";\n}\n\ni.icon.laptop:before {\n  content: \"\\f109\";\n}\n\ni.icon.tablet:before {\n  content: \"\\f10a\";\n}\n\ni.icon.mobile:before {\n  content: \"\\f10b\";\n}\n\ni.icon.game:before {\n  content: \"\\f11b\";\n}\n\ni.icon.keyboard:before {\n  content: \"\\f11c\";\n}\n\ni.icon.plug:before {\n  content: \"\\f1e6\";\n}\n\n/* File System */\n\ni.icon.folder:before {\n  content: \"\\f07b\";\n}\n\ni.icon.folder.open:before {\n  content: \"\\f07c\";\n}\n\ni.icon.level.up:before {\n  content: \"\\f148\";\n}\n\ni.icon.level.down:before {\n  content: \"\\f149\";\n}\n\ni.icon.file:before {\n  content: \"\\f15b\";\n}\n\ni.icon.file.outline:before {\n  content: \"\\f016\";\n}\n\ni.icon.file.text:before {\n  content: \"\\f15c\";\n}\n\ni.icon.file.text.outline:before {\n  content: \"\\f0f6\";\n}\n\ni.icon.folder.outline:before {\n  content: \"\\f114\";\n}\n\ni.icon.folder.open.outline:before {\n  content: \"\\f115\";\n}\n\ni.icon.file.pdf.outline:before {\n  content: \"\\f1c1\";\n}\n\ni.icon.file.word.outline:before {\n  content: \"\\f1c2\";\n}\n\ni.icon.file.excel.outline:before {\n  content: \"\\f1c3\";\n}\n\ni.icon.file.powerpoint.outline:before {\n  content: \"\\f1c4\";\n}\n\ni.icon.file.image.outline:before {\n  content: \"\\f1c5\";\n}\n\ni.icon.file.archive.outline:before {\n  content: \"\\f1c6\";\n}\n\ni.icon.file.audio.outline:before {\n  content: \"\\f1c7\";\n}\n\ni.icon.file.video.outline:before {\n  content: \"\\f1c8\";\n}\n\ni.icon.file.code.outline:before {\n  content: \"\\f1c9\";\n}\n\n/* Technologies */\n\ni.icon.barcode:before {\n  content: \"\\f02a\";\n}\n\ni.icon.qrcode:before {\n  content: \"\\f029\";\n}\n\ni.icon.fork:before {\n  content: \"\\f126\";\n}\n\ni.icon.html5:before {\n  content: \"\\f13b\";\n}\n\ni.icon.css3:before {\n  content: \"\\f13c\";\n}\n\ni.icon.rss:before {\n  content: \"\\f09e\";\n}\n\ni.icon.rss.square:before {\n  content: \"\\f143\";\n}\n\ni.icon.openid:before {\n  content: \"\\f19b\";\n}\n\ni.icon.database:before {\n  content: \"\\f1c0\";\n}\n\ni.icon.server:before {\n  content: \"\\f233\";\n}\n\n/* Rating */\n\ni.icon.heart:before {\n  content: \"\\f004\";\n}\n\ni.icon.star:before {\n  content: \"\\f005\";\n}\n\ni.icon.empty.star:before {\n  content: \"\\f006\";\n}\n\ni.icon.thumbs.outline.up:before {\n  content: \"\\f087\";\n}\n\ni.icon.thumbs.outline.down:before {\n  content: \"\\f088\";\n}\n\ni.icon.star.half:before {\n  content: \"\\f089\";\n}\n\ni.icon.empty.heart:before {\n  content: \"\\f08a\";\n}\n\ni.icon.smile:before {\n  content: \"\\f118\";\n}\n\ni.icon.frown:before {\n  content: \"\\f119\";\n}\n\ni.icon.meh:before {\n  content: \"\\f11a\";\n}\n\ni.icon.star.half.empty:before {\n  content: \"\\f123\";\n}\n\ni.icon.thumbs.up:before {\n  content: \"\\f164\";\n}\n\ni.icon.thumbs.down:before {\n  content: \"\\f165\";\n}\n\n/* Audio */\n\ni.icon.music:before {\n  content: \"\\f001\";\n}\n\ni.icon.video.play.outline:before {\n  content: \"\\f01d\";\n}\n\ni.icon.volume.off:before {\n  content: \"\\f026\";\n}\n\ni.icon.volume.down:before {\n  content: \"\\f027\";\n}\n\ni.icon.volume.up:before {\n  content: \"\\f028\";\n}\n\ni.icon.record:before {\n  content: \"\\f03d\";\n}\n\ni.icon.step.backward:before {\n  content: \"\\f048\";\n}\n\ni.icon.fast.backward:before {\n  content: \"\\f049\";\n}\n\ni.icon.backward:before {\n  content: \"\\f04a\";\n}\n\ni.icon.play:before {\n  content: \"\\f04b\";\n}\n\ni.icon.pause:before {\n  content: \"\\f04c\";\n}\n\ni.icon.stop:before {\n  content: \"\\f04d\";\n}\n\ni.icon.forward:before {\n  content: \"\\f04e\";\n}\n\ni.icon.fast.forward:before {\n  content: \"\\f050\";\n}\n\ni.icon.step.forward:before {\n  content: \"\\f051\";\n}\n\ni.icon.eject:before {\n  content: \"\\f052\";\n}\n\ni.icon.unmute:before {\n  content: \"\\f130\";\n}\n\ni.icon.mute:before {\n  content: \"\\f131\";\n}\n\ni.icon.video.play:before {\n  content: \"\\f144\";\n}\n\ni.icon.closed.captioning:before {\n  content: \"\\f20a\";\n}\n\n/* Map, Locations, & Transportation */\n\ni.icon.marker:before {\n  content: \"\\f041\";\n}\n\ni.icon.coffee:before {\n  content: \"\\f0f4\";\n}\n\ni.icon.food:before {\n  content: \"\\f0f5\";\n}\n\ni.icon.building.outline:before {\n  content: \"\\f0f7\";\n}\n\ni.icon.hospital:before {\n  content: \"\\f0f8\";\n}\n\ni.icon.emergency:before {\n  content: \"\\f0f9\";\n}\n\ni.icon.first.aid:before {\n  content: \"\\f0fa\";\n}\n\ni.icon.military:before {\n  content: \"\\f0fb\";\n}\n\ni.icon.h:before {\n  content: \"\\f0fd\";\n}\n\ni.icon.location.arrow:before {\n  content: \"\\f124\";\n}\n\ni.icon.space.shuttle:before {\n  content: \"\\f197\";\n}\n\ni.icon.university:before {\n  content: \"\\f19c\";\n}\n\ni.icon.building:before {\n  content: \"\\f1ad\";\n}\n\ni.icon.paw:before {\n  content: \"\\f1b0\";\n}\n\ni.icon.spoon:before {\n  content: \"\\f1b1\";\n}\n\ni.icon.car:before {\n  content: \"\\f1b9\";\n}\n\ni.icon.taxi:before {\n  content: \"\\f1ba\";\n}\n\ni.icon.tree:before {\n  content: \"\\f1bb\";\n}\n\ni.icon.bicycle:before {\n  content: \"\\f206\";\n}\n\ni.icon.bus:before {\n  content: \"\\f207\";\n}\n\ni.icon.ship:before {\n  content: \"\\f21a\";\n}\n\ni.icon.motorcycle:before {\n  content: \"\\f21c\";\n}\n\ni.icon.street.view:before {\n  content: \"\\f21d\";\n}\n\ni.icon.hotel:before {\n  content: \"\\f236\";\n}\n\ni.icon.train:before {\n  content: \"\\f238\";\n}\n\ni.icon.subway:before {\n  content: \"\\f239\";\n}\n\n/* Tables */\n\ni.icon.table:before {\n  content: \"\\f0ce\";\n}\n\ni.icon.columns:before {\n  content: \"\\f0db\";\n}\n\ni.icon.sort:before {\n  content: \"\\f0dc\";\n}\n\ni.icon.sort.ascending:before {\n  content: \"\\f0de\";\n}\n\ni.icon.sort.descending:before {\n  content: \"\\f0dd\";\n}\n\ni.icon.sort.alphabet.ascending:before {\n  content: \"\\f15d\";\n}\n\ni.icon.sort.alphabet.descending:before {\n  content: \"\\f15e\";\n}\n\ni.icon.sort.content.ascending:before {\n  content: \"\\f160\";\n}\n\ni.icon.sort.content.descending:before {\n  content: \"\\f161\";\n}\n\ni.icon.sort.numeric.ascending:before {\n  content: \"\\f162\";\n}\n\ni.icon.sort.numeric.descending:before {\n  content: \"\\f163\";\n}\n\n/* Text Editor */\n\ni.icon.font:before {\n  content: \"\\f031\";\n}\n\ni.icon.bold:before {\n  content: \"\\f032\";\n}\n\ni.icon.italic:before {\n  content: \"\\f033\";\n}\n\ni.icon.text.height:before {\n  content: \"\\f034\";\n}\n\ni.icon.text.width:before {\n  content: \"\\f035\";\n}\n\ni.icon.align.left:before {\n  content: \"\\f036\";\n}\n\ni.icon.align.center:before {\n  content: \"\\f037\";\n}\n\ni.icon.align.right:before {\n  content: \"\\f038\";\n}\n\ni.icon.align.justify:before {\n  content: \"\\f039\";\n}\n\ni.icon.list:before {\n  content: \"\\f03a\";\n}\n\ni.icon.outdent:before {\n  content: \"\\f03b\";\n}\n\ni.icon.indent:before {\n  content: \"\\f03c\";\n}\n\ni.icon.linkify:before {\n  content: \"\\f0c1\";\n}\n\ni.icon.cut:before {\n  content: \"\\f0c4\";\n}\n\ni.icon.copy:before {\n  content: \"\\f0c5\";\n}\n\ni.icon.attach:before {\n  content: \"\\f0c6\";\n}\n\ni.icon.save:before {\n  content: \"\\f0c7\";\n}\n\ni.icon.content:before {\n  content: \"\\f0c9\";\n}\n\ni.icon.unordered.list:before {\n  content: \"\\f0ca\";\n}\n\ni.icon.ordered.list:before {\n  content: \"\\f0cb\";\n}\n\ni.icon.strikethrough:before {\n  content: \"\\f0cc\";\n}\n\ni.icon.underline:before {\n  content: \"\\f0cd\";\n}\n\ni.icon.paste:before {\n  content: \"\\f0ea\";\n}\n\ni.icon.unlink:before {\n  content: \"\\f127\";\n}\n\ni.icon.superscript:before {\n  content: \"\\f12b\";\n}\n\ni.icon.subscript:before {\n  content: \"\\f12c\";\n}\n\ni.icon.header:before {\n  content: \"\\f1dc\";\n}\n\ni.icon.paragraph:before {\n  content: \"\\f1dd\";\n}\n\n/* Currency */\n\ni.icon.euro:before {\n  content: \"\\f153\";\n}\n\ni.icon.pound:before {\n  content: \"\\f154\";\n}\n\ni.icon.dollar:before {\n  content: \"\\f155\";\n}\n\ni.icon.rupee:before {\n  content: \"\\f156\";\n}\n\ni.icon.yen:before {\n  content: \"\\f157\";\n}\n\ni.icon.ruble:before {\n  content: \"\\f158\";\n}\n\ni.icon.won:before {\n  content: \"\\f159\";\n}\n\ni.icon.lira:before {\n  content: \"\\f195\";\n}\n\ni.icon.shekel:before {\n  content: \"\\f20b\";\n}\n\n/* Payment Options */\n\ni.icon.paypal:before {\n  content: \"\\f1ed\";\n}\n\ni.icon.paypal.card:before {\n  content: \"\\f1f4\";\n}\n\ni.icon.google.wallet:before {\n  content: \"\\f1ee\";\n}\n\ni.icon.visa:before {\n  content: \"\\f1f0\";\n}\n\ni.icon.mastercard:before {\n  content: \"\\f1f1\";\n}\n\ni.icon.discover:before {\n  content: \"\\f1f2\";\n}\n\ni.icon.american.express:before {\n  content: \"\\f1f3\";\n}\n\ni.icon.stripe:before {\n  content: \"\\f1f5\";\n}\n\n/* Networks and Websites*/\n\ni.icon.twitter.square:before {\n  content: \"\\f081\";\n}\n\ni.icon.facebook.square:before {\n  content: \"\\f082\";\n}\n\ni.icon.linkedin.square:before {\n  content: \"\\f08c\";\n}\n\ni.icon.github.square:before {\n  content: \"\\f092\";\n}\n\ni.icon.twitter:before {\n  content: \"\\f099\";\n}\n\ni.icon.facebook:before {\n  content: \"\\f09a\";\n}\n\ni.icon.github:before {\n  content: \"\\f09b\";\n}\n\ni.icon.pinterest:before {\n  content: \"\\f0d2\";\n}\n\ni.icon.pinterest.square:before {\n  content: \"\\f0d3\";\n}\n\ni.icon.google.plus.square:before {\n  content: \"\\f0d4\";\n}\n\ni.icon.google.plus:before {\n  content: \"\\f0d5\";\n}\n\ni.icon.linkedin:before {\n  content: \"\\f0e1\";\n}\n\ni.icon.github.alternate:before {\n  content: \"\\f113\";\n}\n\ni.icon.maxcdn:before {\n  content: \"\\f136\";\n}\n\ni.icon.bitcoin:before {\n  content: \"\\f15a\";\n}\n\ni.icon.youtube.square:before {\n  content: \"\\f166\";\n}\n\ni.icon.youtube:before {\n  content: \"\\f167\";\n}\n\ni.icon.xing:before {\n  content: \"\\f168\";\n}\n\ni.icon.xing.square:before {\n  content: \"\\f169\";\n}\n\ni.icon.youtube.play:before {\n  content: \"\\f16a\";\n}\n\ni.icon.dropbox:before {\n  content: \"\\f16b\";\n}\n\ni.icon.stack.overflow:before {\n  content: \"\\f16c\";\n}\n\ni.icon.instagram:before {\n  content: \"\\f16d\";\n}\n\ni.icon.flickr:before {\n  content: \"\\f16e\";\n}\n\ni.icon.adn:before {\n  content: \"\\f170\";\n}\n\ni.icon.bitbucket:before {\n  content: \"\\f171\";\n}\n\ni.icon.bitbucket.square:before {\n  content: \"\\f172\";\n}\n\ni.icon.tumblr:before {\n  content: \"\\f173\";\n}\n\ni.icon.tumblr.square:before {\n  content: \"\\f174\";\n}\n\ni.icon.apple:before {\n  content: \"\\f179\";\n}\n\ni.icon.windows:before {\n  content: \"\\f17a\";\n}\n\ni.icon.android:before {\n  content: \"\\f17b\";\n}\n\ni.icon.linux:before {\n  content: \"\\f17c\";\n}\n\ni.icon.dribbble:before {\n  content: \"\\f17d\";\n}\n\ni.icon.skype:before {\n  content: \"\\f17e\";\n}\n\ni.icon.foursquare:before {\n  content: \"\\f180\";\n}\n\ni.icon.trello:before {\n  content: \"\\f181\";\n}\n\ni.icon.gittip:before {\n  content: \"\\f184\";\n}\n\ni.icon.vk:before {\n  content: \"\\f189\";\n}\n\ni.icon.weibo:before {\n  content: \"\\f18a\";\n}\n\ni.icon.renren:before {\n  content: \"\\f18b\";\n}\n\ni.icon.pagelines:before {\n  content: \"\\f18c\";\n}\n\ni.icon.stack.exchange:before {\n  content: \"\\f18d\";\n}\n\ni.icon.vimeo:before {\n  content: \"\\f194\";\n}\n\ni.icon.slack:before {\n  content: \"\\f198\";\n}\n\ni.icon.wordpress:before {\n  content: \"\\f19a\";\n}\n\ni.icon.yahoo:before {\n  content: \"\\f19e\";\n}\n\ni.icon.google:before {\n  content: \"\\f1a0\";\n}\n\ni.icon.reddit:before {\n  content: \"\\f1a1\";\n}\n\ni.icon.reddit.square:before {\n  content: \"\\f1a2\";\n}\n\ni.icon.stumbleupon.circle:before {\n  content: \"\\f1a3\";\n}\n\ni.icon.stumbleupon:before {\n  content: \"\\f1a4\";\n}\n\ni.icon.delicious:before {\n  content: \"\\f1a5\";\n}\n\ni.icon.digg:before {\n  content: \"\\f1a6\";\n}\n\ni.icon.pied.piper:before {\n  content: \"\\f1a7\";\n}\n\ni.icon.pied.piper.alternate:before {\n  content: \"\\f1a8\";\n}\n\ni.icon.drupal:before {\n  content: \"\\f1a9\";\n}\n\ni.icon.joomla:before {\n  content: \"\\f1aa\";\n}\n\ni.icon.behance:before {\n  content: \"\\f1b4\";\n}\n\ni.icon.behance.square:before {\n  content: \"\\f1b5\";\n}\n\ni.icon.steam:before {\n  content: \"\\f1b6\";\n}\n\ni.icon.steam.square:before {\n  content: \"\\f1b7\";\n}\n\ni.icon.spotify:before {\n  content: \"\\f1bc\";\n}\n\ni.icon.deviantart:before {\n  content: \"\\f1bd\";\n}\n\ni.icon.soundcloud:before {\n  content: \"\\f1be\";\n}\n\ni.icon.vine:before {\n  content: \"\\f1ca\";\n}\n\ni.icon.codepen:before {\n  content: \"\\f1cb\";\n}\n\ni.icon.jsfiddle:before {\n  content: \"\\f1cc\";\n}\n\ni.icon.rebel:before {\n  content: \"\\f1d0\";\n}\n\ni.icon.empire:before {\n  content: \"\\f1d1\";\n}\n\ni.icon.git.square:before {\n  content: \"\\f1d2\";\n}\n\ni.icon.git:before {\n  content: \"\\f1d3\";\n}\n\ni.icon.hacker.news:before {\n  content: \"\\f1d4\";\n}\n\ni.icon.tencent.weibo:before {\n  content: \"\\f1d5\";\n}\n\ni.icon.qq:before {\n  content: \"\\f1d6\";\n}\n\ni.icon.wechat:before {\n  content: \"\\f1d7\";\n}\n\ni.icon.slideshare:before {\n  content: \"\\f1e7\";\n}\n\ni.icon.twitch:before {\n  content: \"\\f1e8\";\n}\n\ni.icon.yelp:before {\n  content: \"\\f1e9\";\n}\n\ni.icon.lastfm:before {\n  content: \"\\f202\";\n}\n\ni.icon.lastfm.square:before {\n  content: \"\\f203\";\n}\n\ni.icon.ioxhost:before {\n  content: \"\\f208\";\n}\n\ni.icon.angellist:before {\n  content: \"\\f209\";\n}\n\ni.icon.meanpath:before {\n  content: \"\\f20c\";\n}\n\ni.icon.buysellads:before {\n  content: \"\\f20d\";\n}\n\ni.icon.connectdevelop:before {\n  content: \"\\f20e\";\n}\n\ni.icon.dashcube:before {\n  content: \"\\f210\";\n}\n\ni.icon.forumbee:before {\n  content: \"\\f211\";\n}\n\ni.icon.leanpub:before {\n  content: \"\\f212\";\n}\n\ni.icon.sellsy:before {\n  content: \"\\f213\";\n}\n\ni.icon.shirtsinbulk:before {\n  content: \"\\f214\";\n}\n\ni.icon.simplybuilt:before {\n  content: \"\\f215\";\n}\n\ni.icon.skyatlas:before {\n  content: \"\\f216\";\n}\n\ni.icon.whatsapp:before {\n  content: \"\\f232\";\n}\n\ni.icon.viacoin:before {\n  content: \"\\f237\";\n}\n\ni.icon.medium:before {\n  content: \"\\f23a\";\n}\n\n/*******************************\n            Aliases\n*******************************/\n\ni.icon.like:before {\n  content: \"\\f004\";\n}\n\ni.icon.favorite:before {\n  content: \"\\f005\";\n}\n\ni.icon.video:before {\n  content: \"\\f008\";\n}\n\ni.icon.check:before {\n  content: \"\\f00c\";\n}\n\ni.icon.close:before {\n  content: \"\\f00d\";\n}\n\ni.icon.cancel:before {\n  content: \"\\f00d\";\n}\n\ni.icon.delete:before {\n  content: \"\\f00d\";\n}\n\ni.icon.x:before {\n  content: \"\\f00d\";\n}\n\ni.icon.user.times:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.close:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.cancel:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.delete:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.x:before {\n  content: \"\\f235\";\n}\n\ni.icon.zoom.in:before {\n  content: \"\\f00e\";\n}\n\ni.icon.magnify:before {\n  content: \"\\f00e\";\n}\n\ni.icon.shutdown:before {\n  content: \"\\f011\";\n}\n\ni.icon.clock:before {\n  content: \"\\f017\";\n}\n\ni.icon.time:before {\n  content: \"\\f017\";\n}\n\ni.icon.play.circle.outline:before {\n  content: \"\\f01d\";\n}\n\ni.icon.headphone:before {\n  content: \"\\f025\";\n}\n\ni.icon.camera:before {\n  content: \"\\f030\";\n}\n\ni.icon.video.camera:before {\n  content: \"\\f03d\";\n}\n\ni.icon.picture:before {\n  content: \"\\f03e\";\n}\n\ni.icon.pencil:before {\n  content: \"\\f040\";\n}\n\ni.icon.compose:before {\n  content: \"\\f040\";\n}\n\ni.icon.point:before {\n  content: \"\\f041\";\n}\n\ni.icon.tint:before {\n  content: \"\\f043\";\n}\n\ni.icon.signup:before {\n  content: \"\\f044\";\n}\n\ni.icon.plus.circle:before {\n  content: \"\\f055\";\n}\n\ni.icon.dont:before {\n  content: \"\\f05e\";\n}\n\ni.icon.minimize:before {\n  content: \"\\f066\";\n}\n\ni.icon.add:before {\n  content: \"\\f067\";\n}\n\ni.icon.eye:before {\n  content: \"\\f06e\";\n}\n\ni.icon.attention:before {\n  content: \"\\f06a\";\n}\n\ni.icon.cart:before {\n  content: \"\\f07a\";\n}\n\ni.icon.shuffle:before {\n  content: \"\\f074\";\n}\n\ni.icon.talk:before {\n  content: \"\\f075\";\n}\n\ni.icon.chat:before {\n  content: \"\\f075\";\n}\n\ni.icon.shopping.cart:before {\n  content: \"\\f07a\";\n}\n\ni.icon.bar.graph:before {\n  content: \"\\f080\";\n}\n\ni.icon.area.graph:before {\n  content: \"\\f1fe\";\n}\n\ni.icon.pie.graph:before {\n  content: \"\\f200\";\n}\n\ni.icon.line.graph:before {\n  content: \"\\f201\";\n}\n\ni.icon.key:before {\n  content: \"\\f084\";\n}\n\ni.icon.cogs:before {\n  content: \"\\f085\";\n}\n\ni.icon.discussions:before {\n  content: \"\\f086\";\n}\n\ni.icon.like.outline:before {\n  content: \"\\f087\";\n}\n\ni.icon.dislike.outline:before {\n  content: \"\\f088\";\n}\n\ni.icon.heart.outline:before {\n  content: \"\\f08a\";\n}\n\ni.icon.log.out:before {\n  content: \"\\f08b\";\n}\n\ni.icon.thumb.tack:before {\n  content: \"\\f08d\";\n}\n\ni.icon.winner:before {\n  content: \"\\f091\";\n}\n\ni.icon.bookmark.outline:before {\n  content: \"\\f097\";\n}\n\ni.icon.phone:before {\n  content: \"\\f095\";\n}\n\ni.icon.phone.square:before {\n  content: \"\\f098\";\n}\n\ni.icon.credit.card:before {\n  content: \"\\f09d\";\n}\n\ni.icon.hdd.outline:before {\n  content: \"\\f0a0\";\n}\n\ni.icon.bullhorn:before {\n  content: \"\\f0a1\";\n}\n\ni.icon.bell:before {\n  content: \"\\f0f3\";\n}\n\ni.icon.bell.outline:before {\n  content: \"\\f0a2\";\n}\n\ni.icon.bell.slash:before {\n  content: \"\\f1f6\";\n}\n\ni.icon.bell.slash.outline:before {\n  content: \"\\f1f7\";\n}\n\ni.icon.hand.outline.right:before {\n  content: \"\\f0a4\";\n}\n\ni.icon.hand.outline.left:before {\n  content: \"\\f0a5\";\n}\n\ni.icon.hand.outline.up:before {\n  content: \"\\f0a6\";\n}\n\ni.icon.hand.outline.down:before {\n  content: \"\\f0a7\";\n}\n\ni.icon.globe:before {\n  content: \"\\f0ac\";\n}\n\ni.icon.wrench:before {\n  content: \"\\f0ad\";\n}\n\ni.icon.briefcase:before {\n  content: \"\\f0b1\";\n}\n\ni.icon.group:before {\n  content: \"\\f0c0\";\n}\n\ni.icon.flask:before {\n  content: \"\\f0c3\";\n}\n\ni.icon.sidebar:before {\n  content: \"\\f0c9\";\n}\n\ni.icon.bars:before {\n  content: \"\\f0c9\";\n}\n\ni.icon.list.ul:before {\n  content: \"\\f0ca\";\n}\n\ni.icon.list.ol:before {\n  content: \"\\f0cb\";\n}\n\ni.icon.numbered.list:before {\n  content: \"\\f0cb\";\n}\n\ni.icon.magic:before {\n  content: \"\\f0d0\";\n}\n\ni.icon.truck:before {\n  content: \"\\f0d1\";\n}\n\ni.icon.currency:before {\n  content: \"\\f0d6\";\n}\n\ni.icon.triangle.down:before {\n  content: \"\\f0d7\";\n}\n\ni.icon.dropdown:before {\n  content: \"\\f0d7\";\n}\n\ni.icon.triangle.up:before {\n  content: \"\\f0d8\";\n}\n\ni.icon.triangle.left:before {\n  content: \"\\f0d9\";\n}\n\ni.icon.triangle.right:before {\n  content: \"\\f0da\";\n}\n\ni.icon.envelope:before {\n  content: \"\\f0e0\";\n}\n\ni.icon.conversation:before {\n  content: \"\\f0e6\";\n}\n\ni.icon.umbrella:before {\n  content: \"\\f0e9\";\n}\n\ni.icon.clipboard:before {\n  content: \"\\f0ea\";\n}\n\ni.icon.lightbulb:before {\n  content: \"\\f0eb\";\n}\n\ni.icon.ambulance:before {\n  content: \"\\f0f9\";\n}\n\ni.icon.medkit:before {\n  content: \"\\f0fa\";\n}\n\ni.icon.fighter.jet:before {\n  content: \"\\f0fb\";\n}\n\ni.icon.beer:before {\n  content: \"\\f0fc\";\n}\n\ni.icon.plus.square:before {\n  content: \"\\f0fe\";\n}\n\ni.icon.computer:before {\n  content: \"\\f108\";\n}\n\ni.icon.circle.outline:before {\n  content: \"\\f10c\";\n}\n\ni.icon.intersex:before {\n  content: \"\\f10c\";\n}\n\ni.icon.asexual:before {\n  content: \"\\f10c\";\n}\n\ni.icon.spinner:before {\n  content: \"\\f110\";\n}\n\ni.icon.gamepad:before {\n  content: \"\\f11b\";\n}\n\ni.icon.star.half.full:before {\n  content: \"\\f123\";\n}\n\ni.icon.question:before {\n  content: \"\\f128\";\n}\n\ni.icon.eraser:before {\n  content: \"\\f12d\";\n}\n\ni.icon.microphone:before {\n  content: \"\\f130\";\n}\n\ni.icon.microphone.slash:before {\n  content: \"\\f131\";\n}\n\ni.icon.shield:before {\n  content: \"\\f132\";\n}\n\ni.icon.target:before {\n  content: \"\\f140\";\n}\n\ni.icon.play.circle:before {\n  content: \"\\f144\";\n}\n\ni.icon.pencil.square:before {\n  content: \"\\f14b\";\n}\n\ni.icon.compass:before {\n  content: \"\\f14e\";\n}\n\ni.icon.amex:before {\n  content: \"\\f1f3\";\n}\n\ni.icon.eur:before {\n  content: \"\\f153\";\n}\n\ni.icon.gbp:before {\n  content: \"\\f154\";\n}\n\ni.icon.usd:before {\n  content: \"\\f155\";\n}\n\ni.icon.inr:before {\n  content: \"\\f156\";\n}\n\ni.icon.cny:before,\ni.icon.rmb:before,\ni.icon.jpy:before {\n  content: \"\\f157\";\n}\n\ni.icon.rouble:before,\ni.icon.rub:before {\n  content: \"\\f158\";\n}\n\ni.icon.krw:before {\n  content: \"\\f159\";\n}\n\ni.icon.btc:before {\n  content: \"\\f15a\";\n}\n\ni.icon.sheqel:before,\ni.icon.ils:before {\n  content: \"\\f20b\";\n}\n\ni.icon.try:before {\n  content: \"\\f195\";\n}\n\ni.icon.zip:before {\n  content: \"\\f187\";\n}\n\ni.icon.dot.circle.outline:before {\n  content: \"\\f192\";\n}\n\ni.icon.sliders:before {\n  content: \"\\f1de\";\n}\n\ni.icon.wi-fi:before {\n  content: \"\\f1eb\";\n}\n\ni.icon.graduation:before {\n  content: \"\\f19d\";\n}\n\ni.icon.weixin:before {\n  content: \"\\f1d7\";\n}\n\ni.icon.binoculars:before {\n  content: \"\\f1e5\";\n}\n\ni.icon.gratipay:before {\n  content: \"\\f184\";\n}\n\ni.icon.genderless:before {\n  content: \"\\f1db\";\n}\n\ni.icon.teletype:before {\n  content: \"\\f1e4\";\n}\n\ni.icon.power.cord:before {\n  content: \"\\f1e6\";\n}\n\ni.icon.tty:before {\n  content: \"\\f1e4\";\n}\n\ni.icon.cc:before {\n  content: \"\\f20a\";\n}\n\ni.icon.plus.cart:before {\n  content: \"\\f217\";\n}\n\ni.icon.arrow.down.cart:before {\n  content: \"\\f218\";\n}\n\ni.icon.detective:before {\n  content: \"\\f21b\";\n}\n\ni.icon.venus:before {\n  content: \"\\f221\";\n}\n\ni.icon.mars:before {\n  content: \"\\f222\";\n}\n\ni.icon.mercury:before {\n  content: \"\\f223\";\n}\n\ni.icon.venus.double:before {\n  content: \"\\f226\";\n}\n\ni.icon.female.homosexual:before {\n  content: \"\\f226\";\n}\n\ni.icon.mars.double:before {\n  content: \"\\f227\";\n}\n\ni.icon.male.homosexual:before {\n  content: \"\\f227\";\n}\n\ni.icon.venus.mars:before {\n  content: \"\\f228\";\n}\n\ni.icon.mars.stroke:before {\n  content: \"\\f229\";\n}\n\ni.icon.mars.alternate:before {\n  content: \"\\f229\";\n}\n\ni.icon.mars.vertical:before {\n  content: \"\\f22a\";\n}\n\ni.icon.mars.horizontal:before {\n  content: \"\\f22b\";\n}\n\ni.icon.mars.stroke.vertical:before {\n  content: \"\\f22a\";\n}\n\ni.icon.mars.stroke.horizontal:before {\n  content: \"\\f22b\";\n}\n\ni.icon.facebook.official {\n  content: \"\\f230\";\n}\n\ni.icon.pinterest.official {\n  content: \"\\f231\";\n}\n\ni.icon.bed:before {\n  content: \"\\f236\";\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Image\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Image\n*******************************/\n\n.ui.image {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  background-color: transparent;\n}\n\nimg.ui.image {\n  display: block;\n}\n\n.ui.image svg,\n.ui.image img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.hidden.images,\n.ui.hidden.image {\n  display: none;\n}\n\n.ui.disabled.images,\n.ui.disabled.image {\n  cursor: default;\n  opacity: 0.45;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.image,\n.ui.inline.image svg,\n.ui.inline.image img {\n  display: inline-block;\n}\n\n/*------------------\n  Vertical Aligned\n-------------------*/\n\n.ui.top.aligned.images .image,\n.ui.top.aligned.image,\n.ui.top.aligned.image svg,\n.ui.top.aligned.image img {\n  display: inline-block;\n  vertical-align: top;\n}\n\n.ui.middle.aligned.images .image,\n.ui.middle.aligned.image,\n.ui.middle.aligned.image svg,\n.ui.middle.aligned.image img {\n  display: inline-block;\n  vertical-align: middle;\n}\n\n.ui.bottom.aligned.images .image,\n.ui.bottom.aligned.image,\n.ui.bottom.aligned.image svg,\n.ui.bottom.aligned.image img {\n  display: inline-block;\n  vertical-align: bottom;\n}\n\n/*--------------\n     Rounded\n---------------*/\n\n.ui.rounded.images .image,\n.ui.rounded.image,\n.ui.rounded.images .image > *,\n.ui.rounded.image > * {\n  border-radius: 0.3125em;\n}\n\n/*--------------\n    Bordered\n---------------*/\n\n.ui.bordered.images .image,\n.ui.bordered.images img,\n.ui.bordered.images svg,\n.ui.bordered.image img,\n.ui.bordered.image svg,\nimg.ui.bordered.image {\n  border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.images,\n.ui.circular.image {\n  overflow: hidden;\n}\n\n.ui.circular.images .image,\n.ui.circular.image,\n.ui.circular.images .image > *,\n.ui.circular.image > * {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.images,\n.ui.fluid.image,\n.ui.fluid.images img,\n.ui.fluid.images svg,\n.ui.fluid.image svg,\n.ui.fluid.image img {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.avatar.images .image,\n.ui.avatar.images img,\n.ui.avatar.images svg,\n.ui.avatar.image img,\n.ui.avatar.image svg,\n.ui.avatar.image {\n  margin-right: 0.25em;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*-------------------\n       Spaced\n--------------------*/\n\n.ui.spaced.image {\n  display: inline-block !important;\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n.ui[class*=\"left spaced\"].image {\n  margin-left: 0.5em;\n  margin-right: 0em;\n}\n\n.ui[class*=\"right spaced\"].image {\n  margin-left: 0em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.image,\n.ui.floated.images {\n  float: left;\n  margin-right: 1em;\n  margin-bottom: 1em;\n}\n\n.ui.right.floated.images,\n.ui.right.floated.image {\n  float: right;\n  margin-right: 0em;\n  margin-bottom: 1em;\n  margin-left: 1em;\n}\n\n.ui.floated.images:last-child,\n.ui.floated.image:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.centered.images,\n.ui.centered.image {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.images .image,\n.ui.mini.images img,\n.ui.mini.images svg,\n.ui.mini.image {\n  width: 35px;\n  height: auto;\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.images .image,\n.ui.tiny.images img,\n.ui.tiny.images svg,\n.ui.tiny.image {\n  width: 80px;\n  height: auto;\n  font-size: 0.85714286rem;\n}\n\n.ui.small.images .image,\n.ui.small.images img,\n.ui.small.images svg,\n.ui.small.image {\n  width: 150px;\n  height: auto;\n  font-size: 0.92857143rem;\n}\n\n.ui.medium.images .image,\n.ui.medium.images img,\n.ui.medium.images svg,\n.ui.medium.image {\n  width: 300px;\n  height: auto;\n  font-size: 1rem;\n}\n\n.ui.large.images .image,\n.ui.large.images img,\n.ui.large.images svg,\n.ui.large.image {\n  width: 450px;\n  height: auto;\n  font-size: 1.14285714rem;\n}\n\n.ui.big.images .image,\n.ui.big.images img,\n.ui.big.images svg,\n.ui.big.image {\n  width: 600px;\n  height: auto;\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.images .image,\n.ui.huge.images img,\n.ui.huge.images svg,\n.ui.huge.image {\n  width: 800px;\n  height: auto;\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.images .image,\n.ui.massive.images img,\n.ui.massive.images svg,\n.ui.massive.image {\n  width: 960px;\n  height: auto;\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n              Groups\n*******************************/\n\n.ui.images {\n  font-size: 0em;\n  margin: 0em -0.25rem 0rem;\n}\n\n.ui.images .image,\n.ui.images img,\n.ui.images svg {\n  display: inline-block;\n  margin: 0em 0.25rem 0.5rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Input\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Standard\n*******************************/\n\n/*--------------------\n        Inputs\n---------------------*/\n\n.ui.input {\n  position: relative;\n  font-weight: normal;\n  font-style: normal;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.input input {\n  margin: 0em;\n  max-width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-align: left;\n  line-height: 1.2142em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  padding: 0.67861429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease;\n  transition: box-shadow 0.1s ease, border-color 0.1s ease;\n  box-shadow: none;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n/* browsers require these rules separate */\n\n.ui.input input::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.input input::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.input input::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n        Disabled\n---------------------*/\n\n.ui.disabled.input,\n.ui.input input[disabled] {\n  opacity: 0.45;\n}\n\n.ui.disabled.input input {\n  pointer-events: none;\n}\n\n/*--------------------\n        Active\n---------------------*/\n\n.ui.input input:active,\n.ui.input.down input {\n  border-color: rgba(0, 0, 0, 0.3);\n  background: #FAFAFA;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.loading.input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.loading.loading.input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.input.focus input,\n.ui.input input:focus {\n  border-color: #85B7D9;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.8);\n  box-shadow: none;\n}\n\n.ui.input.focus input::-webkit-input-placeholder,\n.ui.input input:focus::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.input.focus input::-moz-placeholder,\n.ui.input input:focus::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.input.focus input::-ms-input-placeholder,\n.ui.input input:focus::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n.ui.input.error input {\n  background-color: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  box-shadow: none;\n}\n\n/* Error Placeholder */\n\n.ui.input.error input::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.input.error input::-moz-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.input.error input::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n\n/* Focused Error Placeholder */\n\n.ui.input.error input:focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n\n.ui.input.error input:focus::-moz-placeholder {\n  color: #da9796;\n}\n\n.ui.input.error input:focus::-ms-input-placeholder {\n  color: #da9796;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------------\n      Transparent\n---------------------*/\n\n.ui.transparent.input input {\n  border-color: transparent !important;\n  background-color: transparent !important;\n  padding: 0em !important;\n  box-shadow: none !important;\n}\n\n/* Transparent Icon */\n\n.ui.transparent.icon.input > i.icon {\n  width: 1.1em;\n}\n\n.ui.transparent.icon.input > input {\n  padding-left: 0em !important;\n  padding-right: 2em !important;\n}\n\n.ui.transparent[class*=\"left icon\"].input > input {\n  padding-left: 2em !important;\n  padding-right: 0em !important;\n}\n\n/* Transparent Inverted */\n\n.ui.transparent.inverted.input {\n  color: #FFFFFF;\n}\n\n.ui.transparent.inverted.input input {\n  color: inherit;\n}\n\n.ui.transparent.inverted.input input::-webkit-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.transparent.inverted.input input::-moz-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.transparent.inverted.input input::-ms-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/*--------------------\n         Icon\n---------------------*/\n\n.ui.icon.input > i.icon {\n  cursor: default;\n  position: absolute;\n  line-height: 1;\n  text-align: center;\n  top: 0px;\n  right: 0px;\n  margin: 0em;\n  height: 100%;\n  width: 2.67142857em;\n  opacity: 0.5;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: opacity 0.3s ease;\n  transition: opacity 0.3s ease;\n}\n\n.ui.icon.input > i.icon:not(.link) {\n  pointer-events: none;\n}\n\n.ui.icon.input input {\n  padding-right: 2.67142857em !important;\n}\n\n.ui.icon.input > i.icon:before,\n.ui.icon.input > i.icon:after {\n  left: 0;\n  position: absolute;\n  text-align: center;\n  top: 50%;\n  width: 100%;\n  margin-top: -0.5em;\n}\n\n.ui.icon.input > i.link.icon {\n  cursor: pointer;\n}\n\n.ui.icon.input > i.circular.icon {\n  top: 0.35em;\n  right: 0.5em;\n}\n\n/* Left Icon Input */\n\n.ui[class*=\"left icon\"].input > i.icon {\n  right: auto;\n  left: 1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"left icon\"].input > i.circular.icon {\n  right: auto;\n  left: 0.5em;\n}\n\n.ui[class*=\"left icon\"].input > input {\n  padding-left: 2.67142857em !important;\n  padding-right: 1em !important;\n}\n\n/* Focus */\n\n.ui.icon.input > input:focus ~ i.icon {\n  opacity: 1;\n}\n\n/*--------------------\n        Labeled\n---------------------*/\n\n/* Adjacent Label */\n\n.ui.labeled.input > .label {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  margin: 0;\n  font-size: 1em;\n}\n\n.ui.labeled.input > .label:not(.corner) {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n}\n\n/* Regular Label on Left */\n\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n  border-left-color: transparent;\n}\n\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input:focus {\n  border-left-color: #85B7D9;\n}\n\n/* Regular Label on Right */\n\n.ui[class*=\"right labeled\"].input input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n\n.ui[class*=\"right labeled\"].input input + .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n.ui[class*=\"right labeled\"].input input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Corner Label */\n\n.ui.labeled.input .corner.label {\n  top: 1px;\n  right: 1px;\n  font-size: 0.64285714em;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Spacing with corner label */\n\n.ui[class*=\"corner labeled\"]:not([class*=\"left corner labeled\"]).labeled.input input {\n  padding-right: 2.5em !important;\n}\n\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > input {\n  padding-right: 3.25em !important;\n}\n\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > .icon {\n  margin-right: 1.25em;\n}\n\n/* Left Labeled */\n\n.ui[class*=\"left corner labeled\"].labeled.input input {\n  padding-left: 2.5em !important;\n}\n\n.ui[class*=\"left corner labeled\"].icon.input > input {\n  padding-left: 3.25em !important;\n}\n\n.ui[class*=\"left corner labeled\"].icon.input > .icon {\n  margin-left: 1.25em;\n}\n\n/* Corner Label Position  */\n\n.ui.input > .ui.corner.label {\n  top: 1px;\n  right: 1px;\n}\n\n.ui.input > .ui.left.corner.label {\n  right: auto;\n  left: 1px;\n}\n\n/*--------------------\n        Action\n---------------------*/\n\n.ui.action.input > .button,\n.ui.action.input > .buttons {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n}\n\n.ui.action.input > .button,\n.ui.action.input > .buttons > .button {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n  margin: 0;\n}\n\n/* Button on Right */\n\n.ui.action.input:not([class*=\"left action\"]) > input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n\n.ui.action.input:not([class*=\"left action\"]) > .dropdown,\n.ui.action.input:not([class*=\"left action\"]) > .button,\n.ui.action.input:not([class*=\"left action\"]) > .buttons > .button {\n  border-radius: 0px;\n}\n\n.ui.action.input:not([class*=\"left action\"]) > .dropdown:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .button:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .buttons:last-child > .button {\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px;\n}\n\n/* Input Focus */\n\n.ui.action.input:not([class*=\"left action\"]) input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Button on Left */\n\n.ui[class*=\"left action\"].input > input {\n  border-top-left-radius: 0px !important;\n  border-bottom-left-radius: 0px !important;\n  border-left-color: transparent !important;\n}\n\n.ui[class*=\"left action\"].input > .dropdown,\n.ui[class*=\"left action\"].input > .button,\n.ui[class*=\"left action\"].input > .buttons > .button {\n  border-radius: 0px;\n}\n\n.ui[class*=\"left action\"].input > .dropdown:first-child,\n.ui[class*=\"left action\"].input > .button:first-child,\n.ui[class*=\"left action\"].input > .buttons:first-child > .button {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Input Focus */\n\n.ui[class*=\"left action\"].input > input:focus {\n  border-left-color: #85B7D9 !important;\n}\n\n/*--------------------\n       Inverted\n---------------------*/\n\n/* Standard */\n\n.ui.inverted.input input {\n  border: none;\n}\n\n/*--------------------\n        Fluid\n---------------------*/\n\n.ui.fluid.input {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.ui.fluid.input > input {\n  width: 0px !important;\n}\n\n/*--------------------\n        Size\n---------------------*/\n\n.ui.mini.input {\n  font-size: 0.71428571em;\n}\n\n.ui.small.input {\n  font-size: 0.92857143em;\n}\n\n.ui.input {\n  font-size: 1em;\n}\n\n.ui.large.input {\n  font-size: 1.14285714em;\n}\n\n.ui.big.input {\n  font-size: 1.28571429em;\n}\n\n.ui.huge.input {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.input {\n  font-size: 1.71428571em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Label\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Label\n*******************************/\n\n.ui.label {\n  display: inline-block;\n  line-height: 1;\n  vertical-align: baseline;\n  margin: 0em 0.14285714em;\n  background-color: #E8E8E8;\n  background-image: none;\n  padding: 0.5833em 0.833em;\n  color: rgba(0, 0, 0, 0.6);\n  text-transform: none;\n  font-weight: bold;\n  border: 0px solid transparent;\n  border-radius: 0.28571429rem;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n.ui.label:first-child {\n  margin-left: 0em;\n}\n\n.ui.label:last-child {\n  margin-right: 0em;\n}\n\n/* Link */\n\na.ui.label {\n  cursor: pointer;\n}\n\n/* Inside Link */\n\n.ui.label > a {\n  cursor: pointer;\n  color: inherit;\n  opacity: 0.5;\n  -webkit-transition: 0.1s opacity ease;\n  transition: 0.1s opacity ease;\n}\n\n.ui.label > a:hover {\n  opacity: 1;\n}\n\n/* Image */\n\n.ui.label > img {\n  width: auto !important;\n  vertical-align: middle;\n  height: 2.1666em !important;\n}\n\n/* Icon */\n\n.ui.label > .icon {\n  width: auto;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Detail */\n\n.ui.label > .detail {\n  display: inline-block;\n  vertical-align: top;\n  font-weight: bold;\n  margin-left: 1em;\n  opacity: 0.8;\n}\n\n.ui.label > .detail .icon {\n  margin: 0em 0.25em 0em 0em;\n}\n\n/* Removable label */\n\n.ui.label > .close.icon,\n.ui.label > .delete.icon {\n  cursor: pointer;\n  margin-right: 0em;\n  margin-left: 0.5em;\n  font-size: 0.92857143em;\n  opacity: 0.5;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n.ui.label > .delete.icon:hover {\n  opacity: 1;\n}\n\n/*-------------------\n       Group\n--------------------*/\n\n.ui.labels > .label {\n  margin: 0em 0.5em 0.5em 0em;\n}\n\n/*-------------------\n       Coupling\n--------------------*/\n\n.ui.header > .ui.label {\n  margin-top: -0.29165em;\n}\n\n/* Remove border radius on attached segment */\n\n.ui.attached.segment > .ui.top.left.attached.label,\n.ui.bottom.attached.segment > .ui.top.left.attached.label {\n  border-top-left-radius: 0;\n}\n\n.ui.attached.segment > .ui.top.right.attached.label,\n.ui.bottom.attached.segment > .ui.top.right.attached.label {\n  border-top-right-radius: 0;\n}\n\n.ui.top.attached.segment > .ui.bottom.left.attached.label {\n  border-bottom-left-radius: 0;\n}\n\n.ui.top.attached.segment > .ui.bottom.right.attached.label {\n  border-bottom-right-radius: 0;\n}\n\n/* Padding on next content after a label */\n\n.ui.top.attached.label:first-child + :not(.attached) {\n  margin-top: 2rem !important;\n}\n\n.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {\n  margin-top: 0em;\n  margin-bottom: 2rem !important;\n}\n\n/*******************************\n             Types\n*******************************/\n\n.ui.image.label {\n  width: auto !important;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  max-width: 9999px;\n  vertical-align: baseline;\n  text-transform: none;\n  background: #E8E8E8;\n  padding: 0.5833em 0.833em 0.5833em 0.5em;\n  border-radius: 0.28571429rem;\n  box-shadow: none;\n}\n\n.ui.image.label img {\n  display: inline-block;\n  vertical-align: top;\n  height: 2.1666em;\n  margin: -0.5833em 0.5em -0.5833em -0.5em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui.image.label .detail {\n  background: rgba(0, 0, 0, 0.1);\n  margin: -0.5833em -0.833em -0.5833em 0.5em;\n  padding: 0.5833em 0.833em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/*-------------------\n         Tag\n--------------------*/\n\n.ui.tag.labels .label,\n.ui.tag.label {\n  margin-left: 1em;\n  position: relative;\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: none;\n  transition: none;\n}\n\n.ui.tag.labels .label:before,\n.ui.tag.label:before {\n  position: absolute;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  top: 50%;\n  right: 100%;\n  content: '';\n  background-color: inherit;\n  background-image: none;\n  width: 1.56em;\n  height: 1.56em;\n  -webkit-transition: none;\n  transition: none;\n}\n\n.ui.tag.labels .label:after,\n.ui.tag.label:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: -0.25em;\n  margin-top: -0.25em;\n  background-color: #FFFFFF !important;\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);\n  border-radius: 500rem;\n}\n\n/*-------------------\n    Corner Label\n--------------------*/\n\n.ui.corner.label {\n  position: absolute;\n  top: 0em;\n  right: 0em;\n  margin: 0em;\n  padding: 0em;\n  text-align: center;\n  border-color: #E8E8E8;\n  width: 4em;\n  height: 4em;\n  z-index: 1;\n  -webkit-transition: border-color 0.1s ease;\n  transition: border-color 0.1s ease;\n}\n\n/* Icon Label */\n\n.ui.corner.label {\n  background-color: transparent !important;\n}\n\n.ui.corner.label:after {\n  position: absolute;\n  content: \"\";\n  right: 0em;\n  top: 0em;\n  z-index: -1;\n  width: 0em;\n  height: 0em;\n  background-color: transparent !important;\n  border-top: 0em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 4em solid transparent;\n  border-left: 0em solid transparent;\n  border-right-color: inherit;\n  -webkit-transition: border-color 0.1s ease;\n  transition: border-color 0.1s ease;\n}\n\n.ui.corner.label .icon {\n  cursor: default;\n  position: relative;\n  top: 0.64285714em;\n  left: 0.78571429em;\n  font-size: 1.14285714em;\n  margin: 0em;\n}\n\n/* Left Corner */\n\n.ui.left.corner.label,\n.ui.left.corner.label:after {\n  right: auto;\n  left: 0em;\n}\n\n.ui.left.corner.label:after {\n  border-top: 4em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 0em solid transparent;\n  border-left: 0em solid transparent;\n  border-top-color: inherit;\n}\n\n.ui.left.corner.label .icon {\n  left: -0.78571429em;\n}\n\n/* Segment */\n\n.ui.segment > .ui.corner.label {\n  top: -1px;\n  right: -1px;\n}\n\n.ui.segment > .ui.left.corner.label {\n  right: auto;\n  left: -1px;\n}\n\n/*-------------------\n       Ribbon\n--------------------*/\n\n.ui.ribbon.label {\n  position: relative;\n  margin: 0em;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n\n.ui.ribbon.label:after {\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 0%;\n  background-color: transparent !important;\n  border-style: solid;\n  border-width: 0em 1.2em 1.2em 0em;\n  border-color: transparent;\n  border-right-color: inherit;\n  width: 0em;\n  height: 0em;\n}\n\n/* Positioning */\n\n.ui.ribbon.label {\n  left: calc( -1rem  -  1.2em );\n  margin-right: -1.2em;\n  padding-left: calc( 1rem  +  1.2em );\n  padding-right: 1.2em;\n}\n\n.ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  1rem  +  1.2em );\n  padding-left: 1.2em;\n  padding-right: calc( 1rem  +  1.2em );\n}\n\n/* Right Ribbon */\n\n.ui[class*=\"right ribbon\"].label {\n  text-align: left;\n  -webkit-transform: translateX(-100%);\n  -ms-transform: translateX(-100%);\n  transform: translateX(-100%);\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"right ribbon\"].label:after {\n  left: auto;\n  right: 0%;\n  border-style: solid;\n  border-width: 1.2em 1.2em 0em 0em;\n  border-color: transparent;\n  border-top-color: inherit;\n}\n\n/* Inside Table */\n\n.ui.image > .ribbon.label,\n.ui.card .image > .ribbon.label {\n  position: absolute;\n  top: 1rem;\n}\n\n.ui.card .image > .ui.ribbon.label,\n.ui.image > .ui.ribbon.label {\n  left: calc( 0.05rem  -  1.2em );\n}\n\n.ui.card .image > .ui[class*=\"right ribbon\"].label,\n.ui.image > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  -0.05rem  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/* Inside Table */\n\n.ui.table td > .ui.ribbon.label {\n  left: calc( -0.71428571em  -  1.2em );\n}\n\n.ui.table td > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  0.71428571em  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n.ui[class*=\"top attached\"].label,\n.ui.attached.label {\n  width: 100%;\n  position: absolute;\n  margin: 0em;\n  top: 0em;\n  left: 0em;\n  padding: 0.75em 1em;\n  border-radius: 0.21428571rem 0.21428571rem 0em 0em;\n}\n\n.ui[class*=\"bottom attached\"].label {\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0em 0.21428571rem 0.21428571rem;\n}\n\n.ui[class*=\"top left attached\"].label {\n  width: auto;\n  margin-top: 0em !important;\n  border-radius: 0.21428571rem 0em 0.28571429rem 0em;\n}\n\n.ui[class*=\"top right attached\"].label {\n  width: auto;\n  left: auto;\n  right: 0em;\n  border-radius: 0em 0.21428571rem 0em 0.28571429rem;\n}\n\n.ui[class*=\"bottom left attached\"].label {\n  width: auto;\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0.28571429rem 0em 0.21428571rem;\n}\n\n.ui[class*=\"bottom right attached\"].label {\n  top: auto;\n  bottom: 0em;\n  left: auto;\n  right: 0em;\n  width: auto;\n  border-radius: 0.28571429rem 0em 0.21428571rem 0em;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.label.disabled {\n  opacity: 0.5;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\na.ui.labels .label:hover,\na.ui.label:hover {\n  background-color: #E0E0E0;\n  border-color: #E0E0E0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.labels a.label:hover:before,\na.ui.label:hover:before {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n        Active\n--------------------*/\n\n.ui.active.label {\n  background-color: #D0D0D0;\n  border-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.active.label:before {\n  background-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n     Active Hover\n--------------------*/\n\na.ui.labels .active.label:hover,\na.ui.active.label:hover {\n  background-color: #C8C8C8;\n  border-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.labels a.active.label:ActiveHover:before,\na.ui.active.label:ActiveHover:before {\n  background-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n      Visible\n--------------------*/\n\n.ui.labels.visible .label,\n.ui.label.visible {\n  display: inline-block !important;\n}\n\n/*-------------------\n      Hidden\n--------------------*/\n\n.ui.labels.hidden .label,\n.ui.label.hidden {\n  display: none !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Colors\n--------------------*/\n\n/*--- Red ---*/\n\n.ui.red.labels .label,\n.ui.red.label {\n  background-color: #DB2828 !important;\n  border-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.red.labels .label:hover,\na.ui.red.label:hover {\n  background-color: #d01919 !important;\n  border-color: #d01919 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.red.corner.label,\n.ui.red.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.red.ribbon.label {\n  border-color: #b21e1e !important;\n}\n\n/* Basic */\n\n.ui.basic.red.label {\n  background-color: #FFFFFF !important;\n  color: #DB2828 !important;\n  border-color: #DB2828 !important;\n}\n\n.ui.basic.red.labels a.label:hover,\na.ui.basic.red.label:hover {\n  background-color: #FFFFFF !important;\n  color: #d01919 !important;\n  border-color: #d01919 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.labels .label,\n.ui.orange.label {\n  background-color: #F2711C !important;\n  border-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.orange.labels .label:hover,\na.ui.orange.label:hover {\n  background-color: #f26202 !important;\n  border-color: #f26202 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.orange.corner.label,\n.ui.orange.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.orange.ribbon.label {\n  border-color: #cf590c !important;\n}\n\n/* Basic */\n\n.ui.basic.orange.label {\n  background-color: #FFFFFF !important;\n  color: #F2711C !important;\n  border-color: #F2711C !important;\n}\n\n.ui.basic.orange.labels a.label:hover,\na.ui.basic.orange.label:hover {\n  background-color: #FFFFFF !important;\n  color: #f26202 !important;\n  border-color: #f26202 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.labels .label,\n.ui.yellow.label {\n  background-color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.yellow.labels .label:hover,\na.ui.yellow.label:hover {\n  background-color: #eaae00 !important;\n  border-color: #eaae00 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.yellow.corner.label,\n.ui.yellow.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.yellow.ribbon.label {\n  border-color: #cd9903 !important;\n}\n\n/* Basic */\n\n.ui.basic.yellow.label {\n  background-color: #FFFFFF !important;\n  color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n}\n\n.ui.basic.yellow.labels a.label:hover,\na.ui.basic.yellow.label:hover {\n  background-color: #FFFFFF !important;\n  color: #eaae00 !important;\n  border-color: #eaae00 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.labels .label,\n.ui.olive.label {\n  background-color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.olive.labels .label:hover,\na.ui.olive.label:hover {\n  background-color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.olive.corner.label,\n.ui.olive.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.olive.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n\n.ui.basic.olive.label {\n  background-color: #FFFFFF !important;\n  color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n}\n\n.ui.basic.olive.labels a.label:hover,\na.ui.basic.olive.label:hover {\n  background-color: #FFFFFF !important;\n  color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.labels .label,\n.ui.green.label {\n  background-color: #21BA45 !important;\n  border-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.green.labels .label:hover,\na.ui.green.label:hover {\n  background-color: #16ab39 !important;\n  border-color: #16ab39 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.green.corner.label,\n.ui.green.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.green.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n\n.ui.basic.green.label {\n  background-color: #FFFFFF !important;\n  color: #21BA45 !important;\n  border-color: #21BA45 !important;\n}\n\n.ui.basic.green.labels a.label:hover,\na.ui.basic.green.label:hover {\n  background-color: #FFFFFF !important;\n  color: #16ab39 !important;\n  border-color: #16ab39 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.labels .label,\n.ui.teal.label {\n  background-color: #00B5AD !important;\n  border-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.teal.labels .label:hover,\na.ui.teal.label:hover {\n  background-color: #009c95 !important;\n  border-color: #009c95 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.teal.corner.label,\n.ui.teal.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.teal.ribbon.label {\n  border-color: #00827c !important;\n}\n\n/* Basic */\n\n.ui.basic.teal.label {\n  background-color: #FFFFFF !important;\n  color: #00B5AD !important;\n  border-color: #00B5AD !important;\n}\n\n.ui.basic.teal.labels a.label:hover,\na.ui.basic.teal.label:hover {\n  background-color: #FFFFFF !important;\n  color: #009c95 !important;\n  border-color: #009c95 !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.labels .label,\n.ui.blue.label {\n  background-color: #2185D0 !important;\n  border-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.blue.labels .label:hover,\na.ui.blue.label:hover {\n  background-color: #1678c2 !important;\n  border-color: #1678c2 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.blue.corner.label,\n.ui.blue.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.blue.ribbon.label {\n  border-color: #1a69a4 !important;\n}\n\n/* Basic */\n\n.ui.basic.blue.label {\n  background-color: #FFFFFF !important;\n  color: #2185D0 !important;\n  border-color: #2185D0 !important;\n}\n\n.ui.basic.blue.labels a.label:hover,\na.ui.basic.blue.label:hover {\n  background-color: #FFFFFF !important;\n  color: #1678c2 !important;\n  border-color: #1678c2 !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.labels .label,\n.ui.violet.label {\n  background-color: #6435C9 !important;\n  border-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.violet.labels .label:hover,\na.ui.violet.label:hover {\n  background-color: #5829bb !important;\n  border-color: #5829bb !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.violet.corner.label,\n.ui.violet.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.violet.ribbon.label {\n  border-color: #502aa1 !important;\n}\n\n/* Basic */\n\n.ui.basic.violet.label {\n  background-color: #FFFFFF !important;\n  color: #6435C9 !important;\n  border-color: #6435C9 !important;\n}\n\n.ui.basic.violet.labels a.label:hover,\na.ui.basic.violet.label:hover {\n  background-color: #FFFFFF !important;\n  color: #5829bb !important;\n  border-color: #5829bb !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.labels .label,\n.ui.purple.label {\n  background-color: #A333C8 !important;\n  border-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.purple.labels .label:hover,\na.ui.purple.label:hover {\n  background-color: #9627ba !important;\n  border-color: #9627ba !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.purple.corner.label,\n.ui.purple.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.purple.ribbon.label {\n  border-color: #82299f !important;\n}\n\n/* Basic */\n\n.ui.basic.purple.label {\n  background-color: #FFFFFF !important;\n  color: #A333C8 !important;\n  border-color: #A333C8 !important;\n}\n\n.ui.basic.purple.labels a.label:hover,\na.ui.basic.purple.label:hover {\n  background-color: #FFFFFF !important;\n  color: #9627ba !important;\n  border-color: #9627ba !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.labels .label,\n.ui.pink.label {\n  background-color: #E03997 !important;\n  border-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.pink.labels .label:hover,\na.ui.pink.label:hover {\n  background-color: #e61a8d !important;\n  border-color: #e61a8d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.pink.corner.label,\n.ui.pink.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.pink.ribbon.label {\n  border-color: #c71f7e !important;\n}\n\n/* Basic */\n\n.ui.basic.pink.label {\n  background-color: #FFFFFF !important;\n  color: #E03997 !important;\n  border-color: #E03997 !important;\n}\n\n.ui.basic.pink.labels a.label:hover,\na.ui.basic.pink.label:hover {\n  background-color: #FFFFFF !important;\n  color: #e61a8d !important;\n  border-color: #e61a8d !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.labels .label,\n.ui.brown.label {\n  background-color: #A5673F !important;\n  border-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.brown.labels .label:hover,\na.ui.brown.label:hover {\n  background-color: #975b33 !important;\n  border-color: #975b33 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.brown.corner.label,\n.ui.brown.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.brown.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n\n.ui.basic.brown.label {\n  background-color: #FFFFFF !important;\n  color: #A5673F !important;\n  border-color: #A5673F !important;\n}\n\n.ui.basic.brown.labels a.label:hover,\na.ui.basic.brown.label:hover {\n  background-color: #FFFFFF !important;\n  color: #975b33 !important;\n  border-color: #975b33 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.labels .label,\n.ui.grey.label {\n  background-color: #767676 !important;\n  border-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.grey.labels .label:hover,\na.ui.grey.label:hover {\n  background-color: #838383 !important;\n  border-color: #838383 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.grey.corner.label,\n.ui.grey.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.grey.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n\n.ui.basic.grey.label {\n  background-color: #FFFFFF !important;\n  color: #767676 !important;\n  border-color: #767676 !important;\n}\n\n.ui.basic.grey.labels a.label:hover,\na.ui.basic.grey.label:hover {\n  background-color: #FFFFFF !important;\n  color: #838383 !important;\n  border-color: #838383 !important;\n}\n\n/*--- Black ---*/\n\n.ui.black.labels .label,\n.ui.black.label {\n  background-color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.black.labels .label:hover,\na.ui.black.label:hover {\n  background-color: #27292a !important;\n  border-color: #27292a !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.black.corner.label,\n.ui.black.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.black.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n\n.ui.basic.black.label {\n  background-color: #FFFFFF !important;\n  color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n}\n\n.ui.basic.black.labels a.label:hover,\na.ui.basic.black.label:hover {\n  background-color: #FFFFFF !important;\n  color: #27292a !important;\n  border-color: #27292a !important;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.label {\n  background: none #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/* Link */\n\na.ui.basic.label:hover {\n  text-decoration: none;\n  background: none #FFFFFF;\n  color: #1e70bf;\n  box-shadow: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n/* Pointing */\n\n.ui.basic.pointing.label:before {\n  border-color: inherit;\n}\n\n/*-------------------\n       Fluid\n--------------------*/\n\n.ui.label.fluid,\n.ui.fluid.labels > .label {\n  width: 100%;\n  box-sizing: border-box;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.labels .label,\n.ui.inverted.label {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n/*-------------------\n     Horizontal\n--------------------*/\n\n.ui.horizontal.labels .label,\n.ui.horizontal.label {\n  margin: 0em 0.5em 0em 0em;\n  padding: 0.4em 0.833em;\n  min-width: 3em;\n  text-align: center;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.labels .label,\n.ui.circular.label {\n  min-width: 2em;\n  min-height: 2em;\n  padding: 0.5em !important;\n  line-height: 1em;\n  text-align: center;\n  border-radius: 500rem;\n}\n\n.ui.empty.circular.labels .label,\n.ui.empty.circular.label {\n  min-width: 0em;\n  min-height: 0em;\n  overflow: hidden;\n  width: 0.5em;\n  height: 0.5em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.label {\n  position: relative;\n}\n\n.ui.attached.pointing.label {\n  position: absolute;\n}\n\n.ui.pointing.label:before {\n  background-color: inherit;\n  background-image: inherit;\n  border-width: none;\n  border-style: solid;\n  border-color: inherit;\n}\n\n/* Arrow */\n\n.ui.pointing.label:before {\n  position: absolute;\n  content: '';\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n  background-image: none;\n  z-index: 2;\n  width: 0.6666em;\n  height: 0.6666em;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n/*--- Above ---*/\n\n.ui.pointing.label,\n.ui[class*=\"pointing above\"].label {\n  margin-top: 1em;\n}\n\n.ui.pointing.label:before,\n.ui[class*=\"pointing above\"].label:before {\n  border-width: 1px 0px 0px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 0%;\n  left: 50%;\n}\n\n/*--- Below ---*/\n\n.ui[class*=\"bottom pointing\"].label,\n.ui[class*=\"pointing below\"].label {\n  margin-top: 0em;\n  margin-bottom: 1em;\n}\n\n.ui[class*=\"bottom pointing\"].label:before,\n.ui[class*=\"pointing below\"].label:before {\n  border-width: 0px 1px 1px 0px;\n  top: auto;\n  right: auto;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 100%;\n  left: 50%;\n}\n\n/*--- Left ---*/\n\n.ui[class*=\"left pointing\"].label {\n  margin-top: 0em;\n  margin-left: 0.6666em;\n}\n\n.ui[class*=\"left pointing\"].label:before {\n  border-width: 0px 0px 1px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n/*--- Right ---*/\n\n.ui[class*=\"right pointing\"].label {\n  margin-top: 0em;\n  margin-right: 0.6666em;\n}\n\n.ui[class*=\"right pointing\"].label:before {\n  border-width: 1px 1px 0px 0px;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  transform: translateX(50%) translateY(-50%) rotate(45deg);\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n}\n\n/* Basic Pointing */\n\n/*--- Above ---*/\n\n.ui.basic.pointing.label:before,\n.ui.basic[class*=\"pointing above\"].label:before {\n  margin-top: -1px;\n}\n\n/*--- Below ---*/\n\n.ui.basic[class*=\"bottom pointing\"].label:before,\n.ui.basic[class*=\"pointing below\"].label:before {\n  bottom: auto;\n  top: 100%;\n  margin-top: 1px;\n}\n\n/*--- Left ---*/\n\n.ui.basic[class*=\"left pointing\"].label:before {\n  top: 50%;\n  left: -1px;\n}\n\n/*--- Right ---*/\n\n.ui.basic[class*=\"right pointing\"].label:before {\n  top: 50%;\n  right: -1px;\n}\n\n/*------------------\n   Floating Label\n-------------------*/\n\n.ui.floating.label {\n  position: absolute;\n  z-index: 100;\n  top: -1em;\n  left: 100%;\n  margin: 0em 0em 0em -1.5em !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.labels .label,\n.ui.mini.label {\n  font-size: 0.64285714rem;\n}\n\n.ui.tiny.labels .label,\n.ui.tiny.label {\n  font-size: 0.71428571rem;\n}\n\n.ui.small.labels .label,\n.ui.small.label {\n  font-size: 0.78571429rem;\n}\n\n.ui.labels .label,\n.ui.label {\n  font-size: 0.85714286rem;\n}\n\n.ui.large.labels .label,\n.ui.large.label {\n  font-size: 1rem;\n}\n\n.ui.big.labels .label,\n.ui.big.label {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.labels .label,\n.ui.huge.label {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.labels .label,\n.ui.massive.label {\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - List\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            List\n*******************************/\n\nul.ui.list,\nol.ui.list,\n.ui.list {\n  list-style-type: none;\n  margin: 1em 0em;\n  padding: 0em 0em;\n}\n\nul.ui.list:first-child,\nol.ui.list:first-child,\n.ui.list:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\n\nul.ui.list:last-child,\nol.ui.list:last-child,\n.ui.list:last-child {\n  margin-bottom: 0em;\n  padding-bottom: 0em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* List Item */\n\nul.ui.list li,\nol.ui.list li,\n.ui.list > .item,\n.ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\n\nul.ui.list > li:first-child:after,\nol.ui.list > li:first-child:after,\n.ui.list > .list > .item,\n.ui.list > .item:after {\n  content: '';\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\nul.ui.list li:first-child,\nol.ui.list li:first-child,\n.ui.list .list > .item:first-child,\n.ui.list > .item:first-child {\n  padding-top: 0em;\n}\n\nul.ui.list li:last-child,\nol.ui.list li:last-child,\n.ui.list .list > .item:last-child,\n.ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n/* Child List */\n\nul.ui.list ul,\nol.ui.list ol,\n.ui.list .list {\n  clear: both;\n  margin: 0em;\n  padding: 0.75em 0em 0.25em 0.5em;\n}\n\n/* Child Item */\n\nul.ui.list ul li,\nol.ui.list ol li,\n.ui.list .list > .item {\n  padding: 0.14285714em 0em;\n  line-height: inherit;\n}\n\n/* Icon */\n\n.ui.list .list > .item > i.icon,\n.ui.list > .item > i.icon {\n  display: table-cell;\n  margin: 0em;\n  padding-top: 0.07142857em;\n  padding-right: 0.28571429em;\n  vertical-align: top;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.list .list > .item > i.icon:only-child,\n.ui.list > .item > i.icon:only-child {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* Image */\n\n.ui.list .list > .item > .image,\n.ui.list > .item > .image {\n  display: table-cell;\n  background-color: transparent;\n  margin: 0em;\n  vertical-align: top;\n}\n\n.ui.list .list > .item > .image:not(:only-child):not(img),\n.ui.list > .item > .image:not(:only-child):not(img) {\n  padding-right: 0.5em;\n}\n\n.ui.list .list > .item > .image img,\n.ui.list > .item > .image img {\n  vertical-align: top;\n}\n\n.ui.list .list > .item > img.image,\n.ui.list .list > .item > .image:only-child,\n.ui.list > .item > img.image,\n.ui.list > .item > .image:only-child {\n  display: inline-block;\n}\n\n/* Content */\n\n.ui.list .list > .item > .content,\n.ui.list > .item > .content {\n  line-height: 1.14285714em;\n}\n\n.ui.list .list > .item > .image + .content,\n.ui.list .list > .item > .icon + .content,\n.ui.list > .item > .image + .content,\n.ui.list > .item > .icon + .content {\n  display: table-cell;\n  padding: 0em 0em 0em 0.5em;\n  vertical-align: top;\n}\n\n.ui.list .list > .item > img.image + .content,\n.ui.list > .item > img.image + .content {\n  display: inline-block;\n}\n\n.ui.list .list > .item > .content > .list,\n.ui.list > .item > .content > .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n\n/* Header */\n\n.ui.list .list > .item .header,\n.ui.list > .item .header {\n  display: block;\n  margin: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Description */\n\n.ui.list .list > .item .description,\n.ui.list > .item .description {\n  display: block;\n  color: rgba(0, 0, 0, 0.7);\n}\n\n/* Child Link */\n\n.ui.list > .item a,\n.ui.list .list > .item a {\n  cursor: pointer;\n}\n\n/* Linking Item */\n\n.ui.list .list > a.item,\n.ui.list > a.item {\n  cursor: pointer;\n  color: #4183C4;\n}\n\n.ui.list .list > a.item:hover,\n.ui.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linked Item Icons */\n\n.ui.list .list > a.item i.icon,\n.ui.list > a.item i.icon {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Header Link */\n\n.ui.list .list > .item a.header,\n.ui.list > .item a.header {\n  cursor: pointer;\n  color: #4183C4 !important;\n}\n\n.ui.list .list > .item a.header:hover,\n.ui.list > .item a.header:hover {\n  color: #1e70bf !important;\n}\n\n/* Floated Content */\n\n.ui[class*=\"left floated\"].list {\n  float: left;\n}\n\n.ui[class*=\"right floated\"].list {\n  float: right;\n}\n\n.ui.list .list > .item [class*=\"left floated\"],\n.ui.list > .item [class*=\"left floated\"] {\n  float: left;\n  margin: 0em 1em 0em 0em;\n}\n\n.ui.list .list > .item [class*=\"right floated\"],\n.ui.list > .item [class*=\"right floated\"] {\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.menu .ui.list > .item,\n.ui.menu .ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  background-color: transparent;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\n\n.ui.menu .ui.list .list > .item:before,\n.ui.menu .ui.list > .item:before {\n  border: none;\n  background: none;\n}\n\n.ui.menu .ui.list .list > .item:first-child,\n.ui.menu .ui.list > .item:first-child {\n  padding-top: 0em;\n}\n\n.ui.menu .ui.list .list > .item:last-child,\n.ui.menu .ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*-------------------\n      Horizontal\n--------------------*/\n\n.ui.horizontal.list {\n  display: inline-block;\n  font-size: 0em;\n}\n\n.ui.horizontal.list > .item {\n  display: inline-block;\n  margin-left: 1em;\n  font-size: 1rem;\n}\n\n.ui.horizontal.list:not(.celled) > .item:first-child {\n  margin-left: 0em !important;\n  padding-left: 0em !important;\n}\n\n.ui.horizontal.list .list {\n  padding-left: 0em;\n  padding-bottom: 0em;\n}\n\n.ui.horizontal.list > .item > .image,\n.ui.horizontal.list .list > .item > .image,\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list .list > .item > .icon,\n.ui.horizontal.list > .item > .content,\n.ui.horizontal.list .list > .item > .content {\n  vertical-align: middle;\n}\n\n/* Padding on all elements */\n\n.ui.horizontal.list > .item:first-child,\n.ui.horizontal.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Horizontal List */\n\n.ui.horizontal.list > .item > i.icon {\n  margin: 0em;\n  padding: 0em 0.25em 0em 0em;\n}\n\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list > .item > .icon + .content {\n  float: none;\n  display: inline-block;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*-------------------\n       Disabled\n--------------------*/\n\n.ui.list .list > .disabled.item,\n.ui.list > .disabled.item {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3) !important;\n}\n\n.ui.inverted.list .list > .disabled.item,\n.ui.inverted.list > .disabled.item {\n  color: rgba(225, 225, 225, 0.3) !important;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\n.ui.list .list > a.item:hover .icon,\n.ui.list > a.item:hover .icon {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.list .list > a.item > .icon,\n.ui.inverted.list > a.item > .icon {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n.ui.inverted.list .list > .item .header,\n.ui.inverted.list > .item .header {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.list .list > .item .description,\n.ui.inverted.list > .item .description {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Item Link */\n\n.ui.inverted.list .list > a.item,\n.ui.inverted.list > a.item {\n  cursor: pointer;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.list .list > a.item:hover,\n.ui.inverted.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linking Content */\n\n.ui.inverted.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n.ui.inverted.list .item a:not(.ui):hover {\n  color: #1e70bf !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.list[class*=\"top aligned\"] .image,\n.ui.list[class*=\"top aligned\"] .content,\n.ui.list [class*=\"top aligned\"] {\n  vertical-align: top !important;\n}\n\n.ui.list[class*=\"middle aligned\"] .image,\n.ui.list[class*=\"middle aligned\"] .content,\n.ui.list [class*=\"middle aligned\"] {\n  vertical-align: middle !important;\n}\n\n.ui.list[class*=\"bottom aligned\"] .image,\n.ui.list[class*=\"bottom aligned\"] .content,\n.ui.list [class*=\"bottom aligned\"] {\n  vertical-align: bottom !important;\n}\n\n/*-------------------\n       Link\n--------------------*/\n\n.ui.link.list .item,\n.ui.link.list a.item,\n.ui.link.list .item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n  -webkit-transition: 0.1s color ease;\n  transition: 0.1s color ease;\n}\n\n.ui.link.list a.item:hover,\n.ui.link.list .item a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.link.list a.item:active,\n.ui.link.list .item a:not(.ui):active {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.ui.link.list .active.item,\n.ui.link.list .active.item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.inverted.link.list .item,\n.ui.inverted.link.list a.item,\n.ui.inverted.link.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.inverted.link.list a.item:hover,\n.ui.inverted.link.list .item a:not(.ui):hover {\n  color: #ffffff;\n}\n\n.ui.inverted.link.list a.item:active,\n.ui.inverted.link.list .item a:not(.ui):active {\n  color: #ffffff;\n}\n\n.ui.inverted.link.list a.active.item,\n.ui.inverted.link.list .active.item a:not(.ui) {\n  color: #ffffff;\n}\n\n/*-------------------\n      Selection\n--------------------*/\n\n.ui.selection.list .list > .item,\n.ui.selection.list > .item {\n  cursor: pointer;\n  background: transparent;\n  padding: 0.5em 0.5em;\n  margin: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  border-radius: 0.5em;\n  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n  transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n}\n\n.ui.selection.list .list > .item:last-child,\n.ui.selection.list > .item:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.selection.list.list > .item:hover,\n.ui.selection.list > .item:hover {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.selection.list .list > .item:active,\n.ui.selection.list > .item:active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.ui.selection.list .list > .item.active,\n.ui.selection.list > .item.active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.inverted.selection.list > .item,\n.ui.inverted.selection.list > .item {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.inverted.selection.list > .item:hover,\n.ui.inverted.selection.list > .item:hover {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n\n.ui.inverted.selection.list > .item:active,\n.ui.inverted.selection.list > .item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n.ui.inverted.selection.list > .item.active,\n.ui.inverted.selection.list > .item.active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/* Celled / Divided Selection List */\n\n.ui.celled.selection.list .list > .item,\n.ui.divided.selection.list .list > .item,\n.ui.celled.selection.list > .item,\n.ui.divided.selection.list > .item {\n  border-radius: 0em;\n}\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.list > .item {\n  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n  transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n}\n\n.ui.animated.list:not(.horizontal) > .item:hover {\n  padding-left: 1em;\n}\n\n/*-------------------\n       Fitted\n--------------------*/\n\n.ui.fitted.list:not(.selection) .list > .item,\n.ui.fitted.list:not(.selection) > .item {\n  padding-left: 0em;\n  padding-right: 0em;\n}\n\n.ui.fitted.selection.list .list > .item,\n.ui.fitted.selection.list > .item {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n/*-------------------\n      Bulleted\n--------------------*/\n\nul.ui.list,\n.ui.bulleted.list {\n  margin-left: 1.25rem;\n}\n\nul.ui.list li,\n.ui.bulleted.list .list > .item,\n.ui.bulleted.list > .item {\n  position: relative;\n}\n\nul.ui.list li:before,\n.ui.bulleted.list .list > .item:before,\n.ui.bulleted.list > .item:before {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  pointer-events: none;\n  position: absolute;\n  top: auto;\n  left: auto;\n  margin-left: -1.25rem;\n  content: '•';\n  opacity: 1;\n  color: inherit;\n  vertical-align: top;\n}\n\nul.ui.list ul,\n.ui.bulleted.list .list {\n  padding-left: 1.25rem;\n}\n\n/* Horizontal Bulleted */\n\nul.ui.horizontal.bulleted.list,\n.ui.horizontal.bulleted.list {\n  margin-left: 0em;\n}\n\nul.ui.horizontal.bulleted.list li,\n.ui.horizontal.bulleted.list > .item {\n  margin-left: 1.75rem;\n}\n\nul.ui.horizontal.bulleted.list li:first-child,\n.ui.horizontal.bulleted.list > .item:first-child {\n  margin-left: 0em;\n}\n\nul.ui.horizontal.bulleted.list li::before,\n.ui.horizontal.bulleted.list > .item::before {\n  color: rgba(0, 0, 0, 0.87);\n}\n\nul.ui.horizontal.bulleted.list li:first-child::before,\n.ui.horizontal.bulleted.list > .item:first-child::before {\n  display: none;\n}\n\n/*-------------------\n       Ordered\n--------------------*/\n\nol.ui.list,\n.ui.ordered.list,\n.ui.ordered.list .list,\nol.ui.list ol {\n  counter-reset: ordered;\n  margin-left: 1.25rem;\n  list-style-type: none;\n}\n\nol.ui.list li,\n.ui.ordered.list .list > .item,\n.ui.ordered.list > .item {\n  list-style-type: none;\n  position: relative;\n}\n\nol.ui.list li:before,\n.ui.ordered.list .list > .item:before,\n.ui.ordered.list > .item:before {\n  position: absolute;\n  top: auto;\n  left: auto;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  pointer-events: none;\n  margin-left: -1.25rem;\n  counter-increment: ordered;\n  content: counters(ordered, \".\") \" \";\n  text-align: right;\n  color: rgba(0, 0, 0, 0.87);\n  vertical-align: middle;\n  opacity: 0.8;\n}\n\nol.ui.inverted.list li:before,\n.ui.ordered.inverted.list .list > .item:before,\n.ui.ordered.inverted.list > .item:before {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Value */\n\n.ui.ordered.list > .list > .item[data-value],\n.ui.ordered.list > .item[data-value] {\n  content: attr(data-value);\n}\n\nol.ui.list li[value]:before {\n  content: attr(value);\n}\n\n/* Child Lists */\n\nol.ui.list ol,\n.ui.ordered.list .list {\n  margin-left: 1em;\n}\n\nol.ui.list ol li:before,\n.ui.ordered.list .list > .item:before {\n  margin-left: -2em;\n}\n\n/* Horizontal Ordered */\n\nol.ui.horizontal.list,\n.ui.ordered.horizontal.list {\n  margin-left: 0em;\n}\n\nol.ui.horizontal.list li:before,\n.ui.ordered.horizontal.list .list > .item:before,\n.ui.ordered.horizontal.list > .item:before {\n  position: static;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*-------------------\n       Divided\n--------------------*/\n\n.ui.divided.list > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.divided.list .list > .item {\n  border-top: none;\n}\n\n.ui.divided.list .item .list > .item {\n  border-top: none;\n}\n\n.ui.divided.list .list > .item:first-child,\n.ui.divided.list > .item:first-child {\n  border-top: none;\n}\n\n/* Sub Menu */\n\n.ui.divided.list:not(.horizontal) .list > .item:first-child {\n  border-top-width: 1px;\n}\n\n/* Divided bulleted */\n\n.ui.divided.bulleted.list:not(.horizontal),\n.ui.divided.bulleted.list .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n\n.ui.divided.bulleted.list > .item:not(.horizontal) {\n  padding-left: 1.25rem;\n}\n\n/* Divided Ordered */\n\n.ui.divided.ordered.list {\n  margin-left: 0em;\n}\n\n.ui.divided.ordered.list .list > .item,\n.ui.divided.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n\n.ui.divided.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n\n.ui.divided.ordered.list .item .list > .item {\n  padding-left: 1em;\n}\n\n/* Divided Selection */\n\n.ui.divided.selection.list .list > .item,\n.ui.divided.selection.list > .item {\n  margin: 0em;\n  border-radius: 0em;\n}\n\n/* Divided horizontal */\n\n.ui.divided.horizontal.list {\n  margin-left: 0em;\n}\n\n.ui.divided.horizontal.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n\n.ui.horizontal.divided.list > .item:first-child {\n  border-left: none;\n}\n\n/* Inverted */\n\n.ui.divided.inverted.list > .item,\n.ui.divided.inverted.list > .list,\n.ui.divided.inverted.horizontal.list > .item {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Celled\n--------------------*/\n\n.ui.celled.list > .item,\n.ui.celled.list > .list {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n\n.ui.celled.list > .item:last-child {\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Padding on all elements */\n\n.ui.celled.list > .item:first-child,\n.ui.celled.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Sub Menu */\n\n.ui.celled.list .item .list > .item {\n  border-width: 0px;\n}\n\n.ui.celled.list .list > .item:first-child {\n  border-top-width: 0px;\n}\n\n/* Celled Bulleted */\n\n.ui.celled.bulleted.list {\n  margin-left: 0em;\n}\n\n.ui.celled.bulleted.list .list > .item,\n.ui.celled.bulleted.list > .item {\n  padding-left: 1.25rem;\n}\n\n.ui.celled.bulleted.list .item .list {\n  margin-left: -1.25rem;\n  margin-right: -1.25rem;\n  padding-bottom: 0.21428571em;\n}\n\n/* Celled Ordered */\n\n.ui.celled.ordered.list {\n  margin-left: 0em;\n}\n\n.ui.celled.ordered.list .list > .item,\n.ui.celled.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n\n.ui.celled.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n\n.ui.celled.ordered.list .list > .item {\n  padding-left: 1em;\n}\n\n/* Celled Horizontal */\n\n.ui.horizontal.celled.list {\n  margin-left: 0em;\n}\n\n.ui.horizontal.celled.list .list > .item,\n.ui.horizontal.celled.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n\n.ui.horizontal.celled.list .list > .item:last-child,\n.ui.horizontal.celled.list > .item:last-child {\n  border-bottom: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Inverted */\n\n.ui.celled.inverted.list > .item,\n.ui.celled.inverted.list > .list {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.ui.celled.inverted.horizontal.list .list > .item,\n.ui.celled.inverted.horizontal.list > .item {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n       Relaxed\n--------------------*/\n\n.ui.relaxed.list:not(.horizontal) > .item {\n  padding-top: 0.42857143em;\n  padding-bottom: 0.42857143em;\n}\n\n.ui.relaxed.list:not(.horizontal) .list > .item {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n.ui.horizontal.relaxed.list > .item {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/* Very Relaxed */\n\n.ui[class*=\"very relaxed\"].list:not(.horizontal) > .item {\n  padding-top: 0.85714286em;\n  padding-bottom: 0.85714286em;\n}\n\n.ui[class*=\"very relaxed\"].list:not(.horizontal) .list > .item {\n  padding-top: 0.28571429em;\n  padding-bottom: 0.28571429em;\n}\n\n.ui.horizontal[class*=\"very relaxed\"].list .list > .item,\n.ui.horizontal[class*=\"very relaxed\"].list > .item {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n\n/*-------------------\n      Sizes\n--------------------*/\n\n.ui.mini.list {\n  font-size: 0.71428571em;\n}\n\n.ui.tiny.list {\n  font-size: 0.85714286em;\n}\n\n.ui.small.list {\n  font-size: 0.92857143em;\n}\n\n.ui.list {\n  font-size: 1em;\n}\n\n.ui.large.list {\n  font-size: 1.14285714em;\n}\n\n.ui.big.list {\n  font-size: 1.28571429em;\n}\n\n.ui.huge.list {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.list {\n  font-size: 1.71428571em;\n}\n\n.ui.mini.horizontal.list .list > .item,\n.ui.mini.horizontal.list > .item {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.horizontal.list .list > .item,\n.ui.tiny.horizontal.list > .item {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.horizontal.list .list > .item,\n.ui.small.horizontal.list > .item {\n  font-size: 0.92857143rem;\n}\n\n.ui.horizontal.list .list > .item,\n.ui.horizontal.list > .item {\n  font-size: 1rem;\n}\n\n.ui.large.horizontal.list .list > .item,\n.ui.large.horizontal.list > .item {\n  font-size: 1.14285714rem;\n}\n\n.ui.big.horizontal.list .list > .item,\n.ui.big.horizontal.list > .item {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.horizontal.list .list > .item,\n.ui.huge.horizontal.list > .item {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.horizontal.list .list > .item,\n.ui.massive.horizontal.list > .item {\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Loader\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Loader\n*******************************/\n\n/* Standard Size */\n\n.ui.loader {\n  display: none;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  margin: 0px;\n  text-align: center;\n  z-index: 1000;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n}\n\n/* Static Shape */\n\n.ui.loader:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n/* Active Shape */\n\n.ui.loader:after {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  -webkit-animation: loader 0.6s linear;\n  animation: loader 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/* Active Animation */\n\n@-webkit-keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/* Sizes */\n\n.ui.loader:before,\n.ui.loader:after {\n  width: 2.2585em;\n  height: 2.2585em;\n  margin: 0em 0em 0em -1.12925em;\n}\n\n.ui.mini.loader:before,\n.ui.mini.loader:after {\n  width: 1.2857em;\n  height: 1.2857em;\n  margin: 0em 0em 0em -0.64285em;\n}\n\n.ui.small.loader:before,\n.ui.small.loader:after {\n  width: 1.7142em;\n  height: 1.7142em;\n  margin: 0em 0em 0em -0.8571em;\n}\n\n.ui.large.loader:before,\n.ui.large.loader:after {\n  width: 4.5714em;\n  height: 4.5714em;\n  margin: 0em 0em 0em -2.2857em;\n}\n\n/*-------------------\n      Coupling\n--------------------*/\n\n/* Show inside active dimmer */\n\n.ui.dimmer .loader {\n  display: block;\n}\n\n/* Black Dimmer */\n\n.ui.dimmer .ui.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.dimmer .ui.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n\n.ui.dimmer .ui.loader:after {\n  border-color: #FFFFFF transparent transparent;\n}\n\n/* White Dimmer (Inverted) */\n\n.ui.inverted.dimmer .ui.loader {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.inverted.dimmer .ui.loader:before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.ui.inverted.dimmer .ui.loader:after {\n  border-color: #767676 transparent transparent;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n        Text\n--------------------*/\n\n.ui.text.loader {\n  width: auto !important;\n  height: auto !important;\n  text-align: center;\n  font-style: normal;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.indeterminate.loader:after {\n  -webkit-animation-direction: reverse;\n  animation-direction: reverse;\n  -webkit-animation-duration: 1.2s;\n  animation-duration: 1.2s;\n}\n\n.ui.loader.active,\n.ui.loader.visible {\n  display: block;\n}\n\n.ui.loader.disabled,\n.ui.loader.hidden {\n  display: none;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*-------------------\n        Sizes\n--------------------*/\n\n/* Loader */\n\n.ui.inverted.dimmer .ui.mini.loader,\n.ui.mini.loader {\n  width: 1.2857em;\n  height: 1.2857em;\n  font-size: 0.71428571em;\n}\n\n.ui.inverted.dimmer .ui.small.loader,\n.ui.small.loader {\n  width: 1.7142em;\n  height: 1.7142em;\n  font-size: 0.92857143em;\n}\n\n.ui.inverted.dimmer .ui.loader,\n.ui.loader {\n  width: 2.2585em;\n  height: 2.2585em;\n  font-size: 1em;\n}\n\n.ui.inverted.dimmer .ui.loader.large,\n.ui.loader.large {\n  width: 4.5714em;\n  height: 4.5714em;\n  font-size: 1.14285714em;\n}\n\n/* Text Loader */\n\n.ui.mini.text.loader {\n  min-width: 1.2857em;\n  padding-top: 1.99998571em;\n}\n\n.ui.small.text.loader {\n  min-width: 1.7142em;\n  padding-top: 2.42848571em;\n}\n\n.ui.text.loader {\n  min-width: 2.2585em;\n  padding-top: 2.97278571em;\n}\n\n.ui.large.text.loader {\n  min-width: 4.5714em;\n  padding-top: 5.28568571em;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n\n.ui.inverted.loader:after {\n  border-top-color: #FFFFFF;\n}\n\n/*-------------------\n       Inline\n--------------------*/\n\n.ui.inline.loader {\n  position: relative;\n  vertical-align: middle;\n  margin: 0em;\n  left: 0em;\n  top: 0em;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n}\n\n.ui.inline.loader.active,\n.ui.inline.loader.visible {\n  display: inline-block;\n}\n\n/* Centered Inline */\n\n.ui.centered.inline.loader.active,\n.ui.centered.inline.loader.visible {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Rail\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Rails\n*******************************/\n\n.ui.rail {\n  position: absolute;\n  top: 0%;\n  width: 300px;\n  height: 100%;\n}\n\n.ui.left.rail {\n  left: auto;\n  right: 100%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n\n.ui.right.rail {\n  left: 100%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Internal\n---------------*/\n\n.ui.left.internal.rail {\n  left: 0%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n\n.ui.right.internal.rail {\n  left: auto;\n  right: 0%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n\n/*--------------\n    Dividing\n---------------*/\n\n.ui.dividing.rail {\n  width: 302.5px;\n}\n\n.ui.left.dividing.rail {\n  padding: 0em 2.5rem 0em 0em;\n  margin: 0em 2.5rem 0em 0em;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.right.dividing.rail {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  padding: 0em 0em 0em 2.5rem;\n  margin: 0em 0em 0em 2.5rem;\n}\n\n/*--------------\n    Distance\n---------------*/\n\n.ui.close.rail {\n  width: 301px;\n}\n\n.ui.close.left.rail {\n  padding: 0em 1em 0em 0em;\n  margin: 0em 1em 0em 0em;\n}\n\n.ui.close.right.rail {\n  padding: 0em 0em 0em 1em;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.very.close.rail {\n  width: 300.5px;\n}\n\n.ui.very.close.left.rail {\n  padding: 0em 0.5em 0em 0em;\n  margin: 0em 0.5em 0em 0em;\n}\n\n.ui.very.close.right.rail {\n  padding: 0em 0em 0em 0.5em;\n  margin: 0em 0em 0em 0.5em;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.left.rail,\n.ui.attached.right.rail {\n  padding: 0em;\n  margin: 0em;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.rail {\n  font-size: 1rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Reveal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Reveal\n*******************************/\n\n.ui.reveal {\n  display: inherit;\n  position: relative !important;\n  font-size: 0em !important;\n}\n\n.ui.reveal > .visible.content {\n  position: absolute !important;\n  top: 0em !important;\n  left: 0em !important;\n  z-index: 3 !important;\n  -webkit-transition: all 0.5s ease 0.1s;\n  transition: all 0.5s ease 0.1s;\n}\n\n.ui.reveal > .hidden.content {\n  position: relative !important;\n  z-index: 2 !important;\n}\n\n/* Make sure hovered element is on top of other reveal */\n\n.ui.active.reveal .visible.content,\n.ui.reveal:hover .visible.content {\n  z-index: 4 !important;\n}\n\n/*******************************\n              Types\n*******************************/\n\n/*--------------\n      Slide\n---------------*/\n\n.ui.slide.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n\n.ui.slide.reveal > .content {\n  display: block;\n  width: 100%;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s ease 0.1s;\n  transition: transform 0.5s ease 0.1s;\n}\n\n.ui.slide.reveal > .visible.content {\n  position: relative !important;\n}\n\n.ui.slide.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n  -webkit-transform: translateX(100%) !important;\n  -ms-transform: translateX(100%) !important;\n  transform: translateX(100%) !important;\n}\n\n.ui.slide.active.reveal > .visible.content,\n.ui.slide.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n  -ms-transform: translateX(-100%) !important;\n  transform: translateX(-100%) !important;\n}\n\n.ui.slide.active.reveal > .hidden.content,\n.ui.slide.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n  -ms-transform: translateX(0%) !important;\n  transform: translateX(0%) !important;\n}\n\n.ui.slide.right.reveal > .visible.content {\n  -webkit-transform: translateX(0%) !important;\n  -ms-transform: translateX(0%) !important;\n  transform: translateX(0%) !important;\n}\n\n.ui.slide.right.reveal > .hidden.content {\n  -webkit-transform: translateX(-100%) !important;\n  -ms-transform: translateX(-100%) !important;\n  transform: translateX(-100%) !important;\n}\n\n.ui.slide.right.active.reveal > .visible.content,\n.ui.slide.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n  -ms-transform: translateX(100%) !important;\n  transform: translateX(100%) !important;\n}\n\n.ui.slide.right.active.reveal > .hidden.content,\n.ui.slide.right.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n  -ms-transform: translateX(0%) !important;\n  transform: translateX(0%) !important;\n}\n\n.ui.slide.up.reveal > .hidden.content {\n  -webkit-transform: translateY(100%) !important;\n  -ms-transform: translateY(100%) !important;\n  transform: translateY(100%) !important;\n}\n\n.ui.slide.up.active.reveal > .visible.content,\n.ui.slide.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n  -ms-transform: translateY(-100%) !important;\n  transform: translateY(-100%) !important;\n}\n\n.ui.slide.up.active.reveal > .hidden.content,\n.ui.slide.up.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n  -ms-transform: translateY(0%) !important;\n  transform: translateY(0%) !important;\n}\n\n.ui.slide.down.reveal > .hidden.content {\n  -webkit-transform: translateY(-100%) !important;\n  -ms-transform: translateY(-100%) !important;\n  transform: translateY(-100%) !important;\n}\n\n.ui.slide.down.active.reveal > .visible.content,\n.ui.slide.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n  -ms-transform: translateY(100%) !important;\n  transform: translateY(100%) !important;\n}\n\n.ui.slide.down.active.reveal > .hidden.content,\n.ui.slide.down.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n  -ms-transform: translateY(0%) !important;\n  transform: translateY(0%) !important;\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.ui.fade.reveal > .visible.content {\n  opacity: 1;\n}\n\n.ui.fade.active.reveal > .visible.content,\n.ui.fade.reveal:hover > .visible.content {\n  opacity: 0;\n}\n\n/*--------------\n      Move\n---------------*/\n\n.ui.move.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n\n.ui.move.reveal > .content {\n  display: block;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n}\n\n.ui.move.reveal > .visible.content {\n  position: relative !important;\n}\n\n.ui.move.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n}\n\n.ui.move.active.reveal > .visible.content,\n.ui.move.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n  -ms-transform: translateX(-100%) !important;\n  transform: translateX(-100%) !important;\n}\n\n.ui.move.right.active.reveal > .visible.content,\n.ui.move.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n  -ms-transform: translateX(100%) !important;\n  transform: translateX(100%) !important;\n}\n\n.ui.move.up.active.reveal > .visible.content,\n.ui.move.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n  -ms-transform: translateY(-100%) !important;\n  transform: translateY(-100%) !important;\n}\n\n.ui.move.down.active.reveal > .visible.content,\n.ui.move.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n  -ms-transform: translateY(100%) !important;\n  transform: translateY(100%) !important;\n}\n\n/*--------------\n     Rotate\n---------------*/\n\n.ui.rotate.reveal > .visible.content {\n  -webkit-transition-duration: 0.5s;\n  transition-duration: 0.5s;\n  -webkit-transform: rotate(0deg);\n  -ms-transform: rotate(0deg);\n  transform: rotate(0deg);\n}\n\n.ui.rotate.reveal > .visible.content,\n.ui.rotate.right.reveal > .visible.content {\n  -webkit-transform-origin: bottom right;\n  -ms-transform-origin: bottom right;\n  transform-origin: bottom right;\n}\n\n.ui.rotate.active.reveal > .visible.conten,\n.ui.rotate.reveal:hover > .visible.content,\n.ui.rotate.right.active.reveal > .visible.content,\n.ui.rotate.right.reveal:hover > .visible.content {\n  -webkit-transform: rotate(110deg);\n  -ms-transform: rotate(110deg);\n  transform: rotate(110deg);\n}\n\n.ui.rotate.left.reveal > .visible.content {\n  -webkit-transform-origin: bottom left;\n  -ms-transform-origin: bottom left;\n  transform-origin: bottom left;\n}\n\n.ui.rotate.left.active.reveal > .visible.content,\n.ui.rotate.left.reveal:hover > .visible.content {\n  -webkit-transform: rotate(-110deg);\n  -ms-transform: rotate(-110deg);\n  transform: rotate(-110deg);\n}\n\n/*******************************\n              States\n*******************************/\n\n.ui.disabled.reveal:hover > .visible.visible.content {\n  position: static !important;\n  display: block !important;\n  opacity: 1 !important;\n  top: 0 !important;\n  left: 0 !important;\n  right: auto !important;\n  bottom: auto !important;\n  -webkit-transform: none !important;\n  -ms-transform: none !important;\n  transform: none !important;\n}\n\n.ui.disabled.reveal:hover > .hidden.hidden.content {\n  display: none !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.reveal {\n  overflow: visible;\n}\n\n/*--------------\n     Instant\n---------------*/\n\n.ui.instant.reveal > .content {\n  -webkit-transition-delay: 0s !important;\n  transition-delay: 0s !important;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.reveal > .content {\n  font-size: 1rem !important;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Segment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Segment\n*******************************/\n\n.ui.segment {\n  position: relative;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  padding: 1em 1em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.segment:first-child {\n  margin-top: 0em;\n}\n\n.ui.segment:last-child {\n  margin-bottom: 0em;\n}\n\n/* Vertical */\n\n.ui.vertical.segment {\n  margin: 0em;\n  padding-left: 0em;\n  padding-right: 0em;\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.vertical.segment:last-child {\n  border-bottom: none;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n/* Header */\n\n.ui.inverted.segment > .ui.header {\n  color: #FFFFFF;\n}\n\n/* Label */\n\n.ui[class*=\"bottom attached\"].segment > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n\n.ui[class*=\"top attached\"].segment > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n/* Grid */\n\n.ui.page.grid.segment,\n.ui.grid > .row > .ui.segment.column,\n.ui.grid > .ui.segment.column {\n  padding-top: 2em;\n  padding-bottom: 2em;\n}\n\n.ui.grid.segment {\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n}\n\n/* Table */\n\n.ui.basic.table.segment {\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n.ui[class*=\"very basic\"].table.segment {\n  padding: 1em 1em;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n        Piled\n--------------------*/\n\n.ui.piled.segments,\n.ui.piled.segment {\n  margin: 3em 0em;\n  box-shadow: '';\n  z-index: auto;\n}\n\n.ui.piled.segment:first-child {\n  margin-top: 0em;\n}\n\n.ui.piled.segment:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.piled.segments:after,\n.ui.piled.segments:before,\n.ui.piled.segment:after,\n.ui.piled.segment:before {\n  background-color: #FFFFFF;\n  visibility: visible;\n  content: '';\n  display: block;\n  height: 100%;\n  left: 0px;\n  position: absolute;\n  width: 100%;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: '';\n}\n\n.ui.piled.segments:before,\n.ui.piled.segment:before {\n  -webkit-transform: rotate(-1.2deg);\n  -ms-transform: rotate(-1.2deg);\n  transform: rotate(-1.2deg);\n  top: 0;\n  z-index: -2;\n}\n\n.ui.piled.segments:after,\n.ui.piled.segment:after {\n  -webkit-transform: rotate(1.2deg);\n  -ms-transform: rotate(1.2deg);\n  transform: rotate(1.2deg);\n  top: 0;\n  z-index: -1;\n}\n\n/* Piled Attached */\n\n.ui[class*=\"top attached\"].piled.segment {\n  margin-top: 3em;\n  margin-bottom: 0em;\n}\n\n.ui.piled.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n.ui.piled.segment[class*=\"bottom attached\"] {\n  margin-top: 0em;\n  margin-bottom: 3em;\n}\n\n.ui.piled.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n       Stacked\n--------------------*/\n\n.ui.stacked.segment {\n  padding-bottom: 1.4em;\n}\n\n.ui.stacked.segments:before,\n.ui.stacked.segments:after,\n.ui.stacked.segment:before,\n.ui.stacked.segment:after {\n  content: '';\n  position: absolute;\n  bottom: -3px;\n  left: 0%;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: rgba(0, 0, 0, 0.03);\n  width: 100%;\n  height: 6px;\n  visibility: visible;\n}\n\n.ui.stacked.segments:before,\n.ui.stacked.segment:before {\n  display: none;\n}\n\n/* Add additional page */\n\n.ui.tall.stacked.segments:before,\n.ui.tall.stacked.segment:before {\n  display: block;\n  bottom: 0px;\n}\n\n/* Inverted */\n\n.ui.stacked.inverted.segments:before,\n.ui.stacked.inverted.segments:after,\n.ui.stacked.inverted.segment:before,\n.ui.stacked.inverted.segment:after {\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(34, 36, 38, 0.35);\n}\n\n/*-------------------\n       Padded\n--------------------*/\n\n.ui.padded.segment {\n  padding: 1.5em;\n}\n\n.ui[class*=\"very padded\"].segment {\n  padding: 3em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.segment {\n  display: table;\n}\n\n/* Compact Group */\n\n.ui.compact.segments {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n\n.ui.compact.segments .segment,\n.ui.segments .compact.segment {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.segment {\n  display: table-cell;\n  padding: 2em;\n  text-align: center;\n  vertical-align: middle;\n  border-radius: 500em;\n}\n\n/*-------------------\n       Raised\n--------------------*/\n\n.ui.raised.segments,\n.ui.raised.segment {\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n/*******************************\n            Groups\n*******************************/\n\n/* Group */\n\n.ui.segments {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  position: relative;\n  margin: 1rem 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n\n.ui.segments:first-child {\n  margin-top: 0em;\n}\n\n.ui.segments:last-child {\n  margin-bottom: 0em;\n}\n\n/* Nested Segment */\n\n.ui.segments > .segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em;\n  width: auto;\n  box-shadow: none;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.segments:not(.horizontal) > .segment:first-child {\n  border-top: none;\n  margin-top: 0em;\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n\n.ui.segments:not(.horizontal) > .segment:last-child {\n  top: 0px;\n  bottom: 0px;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Nested Group */\n\n.ui.segments > .ui.segments {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 1rem 1rem;\n}\n\n.ui.segments > .segments:first-child {\n  border-top: none;\n}\n\n.ui.segments > .segment + .segments:not(.horizontal) {\n  margin-top: 0em;\n}\n\n/* Horizontal Group */\n\n.ui.horizontal.segments {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  background-color: transparent;\n  border-radius: 0px;\n  padding: 0em;\n  background-color: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Nested Horizontal Group */\n\n.ui.segments > .horizontal.segments {\n  margin: 0em;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Horizontal Segment */\n\n.ui.horizontal.segments > .segment {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  flex: 1 1 auto;\n  -ms-flex: 1 1 0px;\n  /* Solves #2550 MS Flex */\n  margin: 0em;\n  min-width: 0px;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Border Fixes */\n\n.ui.segments > .horizontal.segments:first-child {\n  border-top: none;\n}\n\n.ui.horizontal.segments > .segment:first-child {\n  border-left: none;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.segment {\n  opacity: 0.45;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.segment {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n  transition: all 0s linear;\n}\n\n.ui.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  border-radius: 0.28571429rem;\n  z-index: 100;\n}\n\n.ui.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: segment-spin 0.6s linear;\n  animation: segment-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n\n@-webkit-keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Basic\n--------------------*/\n\n.ui.basic.segment {\n  background: none transparent;\n  box-shadow: none;\n  border: none;\n  border-radius: 0px;\n}\n\n/*-------------------\n       Clearing\n--------------------*/\n\n.ui.clearing.segment:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\n.ui.red.segment:not(.inverted) {\n  border-top: 2px solid #DB2828;\n}\n\n.ui.inverted.red.segment {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n\n.ui.orange.segment:not(.inverted) {\n  border-top: 2px solid #F2711C;\n}\n\n.ui.inverted.orange.segment {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n\n.ui.yellow.segment:not(.inverted) {\n  border-top: 2px solid #FBBD08;\n}\n\n.ui.inverted.yellow.segment {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n\n.ui.olive.segment:not(.inverted) {\n  border-top: 2px solid #B5CC18;\n}\n\n.ui.inverted.olive.segment {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n\n.ui.green.segment:not(.inverted) {\n  border-top: 2px solid #21BA45;\n}\n\n.ui.inverted.green.segment {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n\n.ui.teal.segment:not(.inverted) {\n  border-top: 2px solid #00B5AD;\n}\n\n.ui.inverted.teal.segment {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n\n.ui.blue.segment:not(.inverted) {\n  border-top: 2px solid #2185D0;\n}\n\n.ui.inverted.blue.segment {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n\n.ui.violet.segment:not(.inverted) {\n  border-top: 2px solid #6435C9;\n}\n\n.ui.inverted.violet.segment {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n\n.ui.purple.segment:not(.inverted) {\n  border-top: 2px solid #A333C8;\n}\n\n.ui.inverted.purple.segment {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n\n.ui.pink.segment:not(.inverted) {\n  border-top: 2px solid #E03997;\n}\n\n.ui.inverted.pink.segment {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n\n.ui.brown.segment:not(.inverted) {\n  border-top: 2px solid #A5673F;\n}\n\n.ui.inverted.brown.segment {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n\n.ui.grey.segment:not(.inverted) {\n  border-top: 2px solid #767676;\n}\n\n.ui.inverted.grey.segment {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n\n.ui.black.segment:not(.inverted) {\n  border-top: 2px solid #1B1C1D;\n}\n\n.ui.inverted.black.segment {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui[class*=\"left aligned\"].segment {\n  text-align: left;\n}\n\n.ui[class*=\"right aligned\"].segment {\n  text-align: right;\n}\n\n.ui[class*=\"center aligned\"].segment {\n  text-align: center;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.segment,\n.ui[class*=\"left floated\"].segment {\n  float: left;\n  margin-right: 1em;\n}\n\n.ui[class*=\"right floated\"].segment {\n  float: right;\n  margin-left: 1em;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.segment {\n  border: none;\n  box-shadow: none;\n}\n\n.ui.inverted.segment,\n.ui.primary.inverted.segment {\n  background: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Nested */\n\n.ui.inverted.segment .segment {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.inverted.segment .inverted.segment {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Attached */\n\n.ui.inverted.attached.segment {\n  border-color: #555555;\n}\n\n/*-------------------\n     Emphasis\n--------------------*/\n\n/* Secondary */\n\n.ui.secondary.segment {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.secondary.inverted.segment {\n  background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/* Tertiary */\n\n.ui.tertiary.segment {\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.tertiary.inverted.segment {\n  background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n/* Middle */\n\n.ui.attached.segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached + .ui.attached.segment:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n\n.ui[class*=\"top attached\"].segment {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n\n.ui.segment[class*=\"bottom attached\"] {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Step\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Plural\n*******************************/\n\n.ui.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  margin: 1em 0em;\n  background: '';\n  box-shadow: none;\n  line-height: 1.14285714em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* First Steps */\n\n.ui.steps:first-child {\n  margin-top: 0em;\n}\n\n/* Last Steps */\n\n.ui.steps:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n           Singular\n*******************************/\n\n.ui.steps .step {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  vertical-align: middle;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  margin: 0em 0em;\n  padding: 1.14285714em 2em;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border-radius: 0em;\n  border: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n}\n\n/* Arrow */\n\n.ui.steps .step:after {\n  display: none;\n  position: absolute;\n  z-index: 2;\n  content: '';\n  top: 50%;\n  right: 0%;\n  border: medium none;\n  background-color: #FFFFFF;\n  width: 1.14285714em;\n  height: 1.14285714em;\n  border-style: solid;\n  border-color: rgba(34, 36, 38, 0.15);\n  border-width: 0px 1px 1px 0px;\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  transform: translateY(-50%) translateX(50%) rotate(-45deg);\n}\n\n/* First Step */\n\n.ui.steps .step:first-child {\n  padding-left: 2em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n/* Last Step */\n\n.ui.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.steps .step:last-child {\n  border-right: none;\n  margin-right: 0em;\n}\n\n/* Only Step */\n\n.ui.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* Title */\n\n.ui.steps .step .title {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.14285714em;\n  font-weight: bold;\n}\n\n.ui.steps .step > .title {\n  width: 100%;\n}\n\n/* Description */\n\n.ui.steps .step .description {\n  font-weight: normal;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.steps .step > .description {\n  width: 100%;\n}\n\n.ui.steps .step .title ~ .description {\n  margin-top: 0.25em;\n}\n\n/* Icon */\n\n.ui.steps .step > .icon {\n  line-height: 1;\n  font-size: 2.5em;\n  margin: 0em 1rem 0em 0em;\n}\n\n.ui.steps .step > .icon,\n.ui.steps .step > .icon ~ .content {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n}\n\n.ui.steps .step > .icon ~ .content {\n  -webkit-box-flex: 1 0 auto;\n  -webkit-flex-grow: 1 0 auto;\n  -ms-flex-positive: 1 0 auto;\n  flex-grow: 1 0 auto;\n}\n\n/* Horizontal Icon */\n\n.ui.steps:not(.vertical) .step > .icon {\n  width: auto;\n}\n\n/* Link */\n\n.ui.steps .link.step,\n.ui.steps a.step {\n  cursor: pointer;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Ordered\n---------------*/\n\n.ui.ordered.steps {\n  counter-reset: ordered;\n}\n\n.ui.ordered.steps .step:before {\n  display: block;\n  position: static;\n  text-align: center;\n  content: counters(ordered, \".\");\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n  margin-right: 1rem;\n  font-size: 2.5em;\n  counter-increment: ordered;\n  font-family: inherit;\n  font-weight: bold;\n}\n\n.ui.ordered.steps .step > * {\n  display: block;\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  overflow: visible;\n}\n\n.ui.vertical.steps .step {\n  -webkit-box-pack: start;\n  -webkit-justify-content: flex-start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n  border-radius: 0em;\n  padding: 1.14285714em 2em;\n  border-right: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.vertical.steps .step:first-child {\n  padding: 1.14285714em 2em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.vertical.steps .step:last-child {\n  border-bottom: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.vertical.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n/* Arrow */\n\n.ui.vertical.steps .step:after {\n  display: none;\n}\n\n.ui.vertical.steps .step:after {\n  top: 50%;\n  right: 0%;\n  border-width: 0px 1px 1px 0px;\n}\n\n.ui.vertical.steps .step:after {\n  display: none;\n}\n\n.ui.vertical.steps .active.step:after {\n  display: block;\n}\n\n.ui.vertical.steps .step:last-child:after {\n  display: none;\n}\n\n.ui.vertical.steps .active.step:last-child:after {\n  display: block;\n}\n\n/*---------------\n    Responsive\n----------------*/\n\n/* Mobile (Default) */\n\n@media only screen and (max-width: 767px) {\n  .ui.steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  .ui.steps .step {\n    width: 100% !important;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n\n  .ui.steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n\n  .ui.steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n\n  /* Arrow */\n\n  .ui.steps .step:after {\n    display: none !important;\n  }\n\n  /* Content */\n\n  .ui.steps .step .content {\n    text-align: center;\n  }\n\n  /* Icon */\n\n  .ui.steps .step > .icon,\n  .ui.ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\n/* Link Hover */\n\n.ui.steps .link.step:hover::after,\n.ui.steps .link.step:hover,\n.ui.steps a.step:hover::after,\n.ui.steps a.step:hover {\n  background: #F9FAFB;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Link Down */\n\n.ui.steps .link.step:active::after,\n.ui.steps .link.step:active,\n.ui.steps a.step:active::after,\n.ui.steps a.step:active {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.9);\n}\n\n/* Active */\n\n.ui.steps .step.active {\n  cursor: auto;\n  background: #F3F4F5;\n}\n\n.ui.steps .step.active:after {\n  background: #F3F4F5;\n}\n\n.ui.steps .step.active .title {\n  color: #4183C4;\n}\n\n.ui.ordered.steps .step.active:before,\n.ui.steps .active.step .icon {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Active Arrow */\n\n.ui.steps .step:after {\n  display: block;\n}\n\n.ui.steps .active.step:after {\n  display: block;\n}\n\n.ui.steps .step:last-child:after {\n  display: none;\n}\n\n.ui.steps .active.step:last-child:after {\n  display: none;\n}\n\n/* Active Hover */\n\n.ui.steps .link.active.step:hover::after,\n.ui.steps .link.active.step:hover,\n.ui.steps a.active.step:hover::after,\n.ui.steps a.active.step:hover {\n  cursor: pointer;\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Completed */\n\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  color: #21BA45;\n}\n\n/* Disabled */\n\n.ui.steps .disabled.step {\n  cursor: auto;\n  background: #FFFFFF;\n  pointer-events: none;\n}\n\n.ui.steps .disabled.step,\n.ui.steps .disabled.step .title,\n.ui.steps .disabled.step .description {\n  color: rgba(40, 40, 40, 0.3);\n}\n\n.ui.steps .disabled.step:after {\n  background: #FFFFFF;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n   Stackable\n---------------*/\n\n/* Tablet Or Below */\n\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  /* Steps */\n\n  .ui[class*=\"tablet stackable\"].steps .step {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n\n  .ui[class*=\"tablet stackable\"].steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n\n  .ui[class*=\"tablet stackable\"].steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n\n  /* Arrow */\n\n  .ui[class*=\"tablet stackable\"].steps .step:after {\n    display: none !important;\n  }\n\n  /* Content */\n\n  .ui[class*=\"tablet stackable\"].steps .step .content {\n    text-align: center;\n  }\n\n  /* Icon */\n\n  .ui[class*=\"tablet stackable\"].steps .step > .icon,\n  .ui[class*=\"tablet stackable\"].ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n/* Fluid */\n\n.ui.fluid.steps {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n/* Top */\n\n.ui.attached.steps {\n  width: calc(100% +  2px ) !important;\n  margin: 0em -1px -1px;\n  max-width: calc(100% +  2px );\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.attached.steps .step:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui.attached.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n\n.ui.bottom.attached.steps {\n  margin: -1px -1px 0em;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.bottom.attached.steps .step:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n.ui.bottom.attached.steps .step:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/*-------------------\n    Evenly Divided\n--------------------*/\n\n.ui.one.steps,\n.ui.two.steps,\n.ui.three.steps,\n.ui.four.steps,\n.ui.five.steps,\n.ui.six.steps,\n.ui.seven.steps,\n.ui.eight.steps {\n  width: 100%;\n}\n\n.ui.one.steps > .step,\n.ui.two.steps > .step,\n.ui.three.steps > .step,\n.ui.four.steps > .step,\n.ui.five.steps > .step,\n.ui.six.steps > .step,\n.ui.seven.steps > .step,\n.ui.eight.steps > .step {\n  -webkit-flex-wrap: nowrap;\n  -ms-flex-wrap: nowrap;\n  flex-wrap: nowrap;\n}\n\n.ui.one.steps > .step {\n  width: 100%;\n}\n\n.ui.two.steps > .step {\n  width: 50%;\n}\n\n.ui.three.steps > .step {\n  width: 33.333%;\n}\n\n.ui.four.steps > .step {\n  width: 25%;\n}\n\n.ui.five.steps > .step {\n  width: 20%;\n}\n\n.ui.six.steps > .step {\n  width: 16.666%;\n}\n\n.ui.seven.steps > .step {\n  width: 14.285%;\n}\n\n.ui.eight.steps > .step {\n  width: 12.500%;\n}\n\n/*-------------------\n       Sizes\n--------------------*/\n\n.ui.small.step,\n.ui.small.steps .step {\n  font-size: 0.92857143rem;\n}\n\n.ui.step,\n.ui.steps .step {\n  font-size: 1rem;\n}\n\n.ui.large.step,\n.ui.large.steps .step {\n  font-size: 1.14285714rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Step';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA\") format('woff');\n}\n\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  font-family: 'Step';\n  content: '\\e800';\n  /* '' */\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Breadcrumb\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Breadcrumb\n*******************************/\n\n.ui.breadcrumb {\n  line-height: 1;\n  display: inline-block;\n  margin: 0em 0em;\n  vertical-align: middle;\n}\n\n.ui.breadcrumb:first-child {\n  margin-top: 0em;\n}\n\n.ui.breadcrumb:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n          Content\n*******************************/\n\n/* Divider */\n\n.ui.breadcrumb .divider {\n  display: inline-block;\n  opacity: 0.7;\n  margin: 0em 0.21428571rem 0em;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n  vertical-align: baseline;\n}\n\n/* Link */\n\n.ui.breadcrumb a {\n  color: #4183C4;\n}\n\n.ui.breadcrumb a:hover {\n  color: #1e70bf;\n}\n\n/* Icon Divider */\n\n.ui.breadcrumb .icon.divider {\n  font-size: 0.85714286em;\n  vertical-align: baseline;\n}\n\n/* Section */\n\n.ui.breadcrumb a.section {\n  cursor: pointer;\n}\n\n.ui.breadcrumb .section {\n  display: inline-block;\n  margin: 0em;\n  padding: 0em;\n}\n\n/* Loose Coupling */\n\n.ui.breadcrumb.segment {\n  display: inline-block;\n  padding: 0.71428571em 1em;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.breadcrumb .active.section {\n  font-weight: bold;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.mini.breadcrumb {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.breadcrumb {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.breadcrumb {\n  font-size: 0.92857143rem;\n}\n\n.ui.breadcrumb {\n  font-size: 1rem;\n}\n\n.ui.large.breadcrumb {\n  font-size: 1.14285714rem;\n}\n\n.ui.big.breadcrumb {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.breadcrumb {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.breadcrumb {\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Form\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Elements\n*******************************/\n\n/*--------------------\n        Form\n---------------------*/\n\n.ui.form {\n  position: relative;\n  max-width: 100%;\n}\n\n/*--------------------\n        Content\n---------------------*/\n\n.ui.form > p {\n  margin: 1em 0em;\n}\n\n/*--------------------\n        Field\n---------------------*/\n\n.ui.form .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n\n.ui.form .field:last-child,\n.ui.form .fields:last-child .field {\n  margin-bottom: 0em;\n}\n\n.ui.form .fields .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n\n/*--------------------\n        Labels\n---------------------*/\n\n.ui.form .field > label {\n  display: block;\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n\n/*--------------------\n    Standard Inputs\n---------------------*/\n\n.ui.form textarea,\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  width: 100%;\n  vertical-align: top;\n}\n\n/* Set max height on unusual input */\n\n.ui.form ::-webkit-datetime-edit,\n.ui.form ::-webkit-inner-spin-button {\n  height: 1.2142em;\n}\n\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n  transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/* Text Area */\n\n.ui.form textarea {\n  margin: 0em;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: 0.78571429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  outline: none;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n  transition: color 0.1s ease, border-color 0.1s ease;\n  font-size: 1em;\n  line-height: 1.2857;\n  resize: vertical;\n}\n\n.ui.form textarea:not([rows]) {\n  height: 12em;\n  min-height: 8em;\n  max-height: 24em;\n}\n\n.ui.form textarea,\n.ui.form input[type=\"checkbox\"] {\n  vertical-align: top;\n}\n\n/*--------------------------\n  Input w/ attached Button\n---------------------------*/\n\n.ui.form input.attached {\n  width: auto;\n}\n\n/*--------------------\n     Basic Select\n---------------------*/\n\n.ui.form select {\n  display: block;\n  height: auto;\n  width: 100%;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  padding: 0.62em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n  transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/*--------------------\n       Dropdown\n---------------------*/\n\n/* Block */\n\n.ui.form .field > .selection.dropdown {\n  width: 100%;\n}\n\n.ui.form .field > .selection.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/* Inline */\n\n.ui.form .inline.fields .field > .selection.dropdown,\n.ui.form .inline.field > .selection.dropdown {\n  width: auto;\n}\n\n.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,\n.ui.form .inline.field > .selection.dropdown > .dropdown.icon {\n  float: none;\n}\n\n/*--------------------\n       UI Input\n---------------------*/\n\n/* Block */\n\n.ui.form .field .ui.input,\n.ui.form .fields .field .ui.input,\n.ui.form .wide.field .ui.input {\n  width: 100%;\n}\n\n/* Inline  */\n\n.ui.form .inline.fields .field:not(.wide) .ui.input,\n.ui.form .inline.field:not(.wide) .ui.input {\n  width: auto;\n  vertical-align: middle;\n}\n\n/* Auto Input */\n\n.ui.form .fields .field .ui.input input,\n.ui.form .field .ui.input input {\n  width: auto;\n}\n\n/* Full Width Input */\n\n.ui.form .ten.fields .ui.input input,\n.ui.form .nine.fields .ui.input input,\n.ui.form .eight.fields .ui.input input,\n.ui.form .seven.fields .ui.input input,\n.ui.form .six.fields .ui.input input,\n.ui.form .five.fields .ui.input input,\n.ui.form .four.fields .ui.input input,\n.ui.form .three.fields .ui.input input,\n.ui.form .two.fields .ui.input input,\n.ui.form .wide.field .ui.input input {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  width: 0px;\n}\n\n/*--------------------\n   Types of Messages\n---------------------*/\n\n.ui.form .success.message,\n.ui.form .warning.message,\n.ui.form .error.message {\n  display: none;\n}\n\n/* Assumptions */\n\n.ui.form .message:first-child {\n  margin-top: 0px;\n}\n\n/*--------------------\n   Validation Prompt\n---------------------*/\n\n.ui.form .field .prompt.label {\n  white-space: normal;\n  background: #FFFFFF !important;\n  border: 1px solid #E0B4B4 !important;\n  color: #9F3A38 !important;\n}\n\n.ui.form .inline.fields .field .prompt,\n.ui.form .inline.field .prompt {\n  vertical-align: top;\n  margin: -0.25em 0em -0.5em 0.5em;\n}\n\n.ui.form .inline.fields .field .prompt:before,\n.ui.form .inline.field .prompt:before {\n  border-width: 0px 0px 1px 1px;\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n      Autofilled\n---------------------*/\n\n.ui.form .field.field input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #E5DFA1 !important;\n}\n\n/* Focus */\n\n.ui.form .field.field input:-webkit-autofill:focus {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #D5C315 !important;\n}\n\n/* Error */\n\n.ui.form .error.error input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important;\n  border-color: #E0B4B4 !important;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n/* browsers require these rules separate */\n\n.ui.form ::-webkit-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n\n.ui.form ::-ms-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n\n.ui.form ::-moz-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n\n.ui.form :focus::-webkit-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n.ui.form :focus::-ms-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n.ui.form :focus::-moz-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n/* Error Placeholder */\n\n.ui.form .error ::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.form .error ::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.form .error ::-moz-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.form .error :focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n\n.ui.form .error :focus::-ms-input-placeholder {\n  color: #da9796;\n}\n\n.ui.form .error :focus::-moz-placeholder {\n  color: #da9796;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.form input:not([type]):focus,\n.ui.form input[type=\"date\"]:focus,\n.ui.form input[type=\"datetime-local\"]:focus,\n.ui.form input[type=\"email\"]:focus,\n.ui.form input[type=\"number\"]:focus,\n.ui.form input[type=\"password\"]:focus,\n.ui.form input[type=\"search\"]:focus,\n.ui.form input[type=\"tel\"]:focus,\n.ui.form input[type=\"time\"]:focus,\n.ui.form input[type=\"text\"]:focus,\n.ui.form input[type=\"url\"]:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n}\n\n.ui.form textarea:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n  -webkit-appearance: none;\n}\n\n/*--------------------\n        Success\n---------------------*/\n\n/* On Form */\n\n.ui.form.success .success.message:not(:empty) {\n  display: block;\n}\n\n.ui.form.success .icon.success.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Warning\n---------------------*/\n\n/* On Form */\n\n.ui.form.warning .warning.message:not(:empty) {\n  display: block;\n}\n\n.ui.form.warning .icon.warning.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n/* On Form */\n\n.ui.form.error .error.message:not(:empty) {\n  display: block;\n}\n\n.ui.form.error .icon.error.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/* On Field(s) */\n\n.ui.form .fields.error .field label,\n.ui.form .field.error label,\n.ui.form .fields.error .field .input,\n.ui.form .field.error .input {\n  color: #9F3A38;\n}\n\n.ui.form .fields.error .field .corner.label,\n.ui.form .field.error .corner.label {\n  border-color: #9F3A38;\n  color: #FFFFFF;\n}\n\n.ui.form .fields.error .field textarea,\n.ui.form .fields.error .field select,\n.ui.form .fields.error .field input:not([type]),\n.ui.form .fields.error .field input[type=\"date\"],\n.ui.form .fields.error .field input[type=\"datetime-local\"],\n.ui.form .fields.error .field input[type=\"email\"],\n.ui.form .fields.error .field input[type=\"number\"],\n.ui.form .fields.error .field input[type=\"password\"],\n.ui.form .fields.error .field input[type=\"search\"],\n.ui.form .fields.error .field input[type=\"tel\"],\n.ui.form .fields.error .field input[type=\"time\"],\n.ui.form .fields.error .field input[type=\"text\"],\n.ui.form .fields.error .field input[type=\"url\"],\n.ui.form .field.error textarea,\n.ui.form .field.error select,\n.ui.form .field.error input:not([type]),\n.ui.form .field.error input[type=\"date\"],\n.ui.form .field.error input[type=\"datetime-local\"],\n.ui.form .field.error input[type=\"email\"],\n.ui.form .field.error input[type=\"number\"],\n.ui.form .field.error input[type=\"password\"],\n.ui.form .field.error input[type=\"search\"],\n.ui.form .field.error input[type=\"tel\"],\n.ui.form .field.error input[type=\"time\"],\n.ui.form .field.error input[type=\"text\"],\n.ui.form .field.error input[type=\"url\"] {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  border-radius: '';\n  box-shadow: none;\n}\n\n.ui.form .field.error textarea:focus,\n.ui.form .field.error select:focus,\n.ui.form .field.error input:not([type]):focus,\n.ui.form .field.error input[type=\"date\"]:focus,\n.ui.form .field.error input[type=\"datetime-local\"]:focus,\n.ui.form .field.error input[type=\"email\"]:focus,\n.ui.form .field.error input[type=\"number\"]:focus,\n.ui.form .field.error input[type=\"password\"]:focus,\n.ui.form .field.error input[type=\"search\"]:focus,\n.ui.form .field.error input[type=\"tel\"]:focus,\n.ui.form .field.error input[type=\"time\"]:focus,\n.ui.form .field.error input[type=\"text\"]:focus,\n.ui.form .field.error input[type=\"url\"]:focus {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  -webkit-appearance: none;\n  box-shadow: none;\n}\n\n/* Preserve Native Select Stylings */\n\n.ui.form .field.error select {\n  -webkit-appearance: menulist-button;\n}\n\n/*------------------\n    Dropdown Error\n--------------------*/\n\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .fields.error .field .ui.dropdown .item,\n.ui.form .field.error .ui.dropdown,\n.ui.form .field.error .ui.dropdown .text,\n.ui.form .field.error .ui.dropdown .item {\n  background: #FFF6F6;\n  color: #9F3A38;\n}\n\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .field.error .ui.dropdown {\n  border-color: #E0B4B4 !important;\n}\n\n.ui.form .fields.error .field .ui.dropdown:hover,\n.ui.form .field.error .ui.dropdown:hover {\n  border-color: #E0B4B4 !important;\n}\n\n.ui.form .fields.error .field .ui.dropdown:hover .menu,\n.ui.form .field.error .ui.dropdown:hover .menu {\n  border-color: #E0B4B4;\n}\n\n.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,\n.ui.form .field.error .ui.multiple.selection.dropdown > .label {\n  background-color: #EACBCB;\n  color: #9F3A38;\n}\n\n/* Hover */\n\n.ui.form .fields.error .field .ui.dropdown .menu .item:hover,\n.ui.form .field.error .ui.dropdown .menu .item:hover {\n  background-color: #FBE7E7;\n}\n\n/* Selected */\n\n.ui.form .fields.error .field .ui.dropdown .menu .selected.item,\n.ui.form .field.error .ui.dropdown .menu .selected.item {\n  background-color: #FBE7E7;\n}\n\n/* Active */\n\n.ui.form .fields.error .field .ui.dropdown .menu .active.item,\n.ui.form .field.error .ui.dropdown .menu .active.item {\n  background-color: #FDCFCF !important;\n}\n\n/*--------------------\n    Checkbox Error\n---------------------*/\n\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {\n  color: #9F3A38;\n}\n\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n\n.ui.form .fields.error .field .checkbox label:after,\n.ui.form .field.error .checkbox label:after,\n.ui.form .fields.error .field .checkbox .box:after,\n.ui.form .field.error .checkbox .box:after {\n  color: #9F3A38;\n}\n\n/*--------------------\n       Disabled\n---------------------*/\n\n.ui.form .disabled.fields .field,\n.ui.form .disabled.field,\n.ui.form .field :disabled {\n  pointer-events: none;\n  opacity: 0.45;\n}\n\n.ui.form .field.disabled label {\n  opacity: 0.45;\n}\n\n.ui.form .field.disabled :disabled {\n  opacity: 1;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.form {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n  transition: all 0s linear;\n  z-index: 100;\n}\n\n.ui.loading.form:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  z-index: 100;\n}\n\n.ui.loading.form:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: form-spin 0.6s linear;\n  animation: form-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n\n@-webkit-keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*******************************\n         Element Types\n*******************************/\n\n/*--------------------\n     Required Field\n---------------------*/\n\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after,\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  margin: -0.2em 0em 0em 0.2em;\n  content: '*';\n  color: #DB2828;\n}\n\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after {\n  display: inline-block;\n  vertical-align: top;\n}\n\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  position: absolute;\n  top: 0%;\n  left: 100%;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------------\n    Inverted Colors\n---------------------*/\n\n.ui.inverted.form label,\n.ui.form .inverted.segment label,\n.ui.form .inverted.segment .ui.checkbox label,\n.ui.form .inverted.segment .ui.checkbox .box,\n.ui.inverted.form .ui.checkbox label,\n.ui.inverted.form .ui.checkbox .box {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Inverted Field */\n\n.ui.inverted.form input:not([type]),\n.ui.inverted.form input[type=\"date\"],\n.ui.inverted.form input[type=\"datetime-local\"],\n.ui.inverted.form input[type=\"email\"],\n.ui.inverted.form input[type=\"number\"],\n.ui.inverted.form input[type=\"password\"],\n.ui.inverted.form input[type=\"search\"],\n.ui.inverted.form input[type=\"tel\"],\n.ui.inverted.form input[type=\"time\"],\n.ui.inverted.form input[type=\"text\"],\n.ui.inverted.form input[type=\"url\"] {\n  background: #FFFFFF;\n  border-color: rgba(255, 255, 255, 0.1);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n     Field Groups\n---------------------*/\n\n/* Grouped Vertically */\n\n.ui.form .grouped.fields {\n  display: block;\n  margin: 0em 0em 1em;\n}\n\n.ui.form .grouped.fields:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.form .grouped.fields > label {\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n\n.ui.form .grouped.fields .field,\n.ui.form .grouped.inline.fields .field {\n  display: block;\n  margin: 0.5em 0em;\n  padding: 0em;\n}\n\n/*--------------------\n        Fields\n---------------------*/\n\n/* Split fields */\n\n.ui.form .fields {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n.ui.form .fields > .field {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n\n.ui.form .fields > .field:first-child {\n  border-left: none;\n  box-shadow: none;\n}\n\n/* Other Combinations */\n\n.ui.form .two.fields > .fields,\n.ui.form .two.fields > .field {\n  width: 50%;\n}\n\n.ui.form .three.fields > .fields,\n.ui.form .three.fields > .field {\n  width: 33.33333333%;\n}\n\n.ui.form .four.fields > .fields,\n.ui.form .four.fields > .field {\n  width: 25%;\n}\n\n.ui.form .five.fields > .fields,\n.ui.form .five.fields > .field {\n  width: 20%;\n}\n\n.ui.form .six.fields > .fields,\n.ui.form .six.fields > .field {\n  width: 16.66666667%;\n}\n\n.ui.form .seven.fields > .fields,\n.ui.form .seven.fields > .field {\n  width: 14.28571429%;\n}\n\n.ui.form .eight.fields > .fields,\n.ui.form .eight.fields > .field {\n  width: 12.5%;\n}\n\n.ui.form .nine.fields > .fields,\n.ui.form .nine.fields > .field {\n  width: 11.11111111%;\n}\n\n.ui.form .ten.fields > .fields,\n.ui.form .ten.fields > .field {\n  width: 10%;\n}\n\n/* Swap to full width on mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.form .fields {\n    -webkit-flex-wrap: wrap;\n    -ms-flex-wrap: wrap;\n    flex-wrap: wrap;\n  }\n\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .six.fields > .fields,\n  .ui.form .six.fields > .field,\n  .ui.form .seven.fields > .fields,\n  .ui.form .seven.fields > .field,\n  .ui.form .eight.fields > .fields,\n  .ui.form .eight.fields > .field,\n  .ui.form .nine.fields > .fields,\n  .ui.form .nine.fields > .field,\n  .ui.form .ten.fields > .fields,\n  .ui.form .ten.fields > .field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n\n.ui.form .fields .field:first-child {\n  padding-left: 0%;\n}\n\n.ui.form .fields .field:last-child {\n  padding-right: 0%;\n}\n\n/* Sizing Combinations */\n\n.ui.form .fields .wide.field {\n  width: 6.25%;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n\n.ui.form .fields .wide.field:first-child {\n  padding-left: 0%;\n}\n\n.ui.form .fields .wide.field:last-child {\n  padding-right: 0%;\n}\n\n.ui.form .one.wide.field {\n  width: 6.25% !important;\n}\n\n.ui.form .two.wide.field {\n  width: 12.5% !important;\n}\n\n.ui.form .three.wide.field {\n  width: 18.75% !important;\n}\n\n.ui.form .four.wide.field {\n  width: 25% !important;\n}\n\n.ui.form .five.wide.field {\n  width: 31.25% !important;\n}\n\n.ui.form .six.wide.field {\n  width: 37.5% !important;\n}\n\n.ui.form .seven.wide.field {\n  width: 43.75% !important;\n}\n\n.ui.form .eight.wide.field {\n  width: 50% !important;\n}\n\n.ui.form .nine.wide.field {\n  width: 56.25% !important;\n}\n\n.ui.form .ten.wide.field {\n  width: 62.5% !important;\n}\n\n.ui.form .eleven.wide.field {\n  width: 68.75% !important;\n}\n\n.ui.form .twelve.wide.field {\n  width: 75% !important;\n}\n\n.ui.form .thirteen.wide.field {\n  width: 81.25% !important;\n}\n\n.ui.form .fourteen.wide.field {\n  width: 87.5% !important;\n}\n\n.ui.form .fifteen.wide.field {\n  width: 93.75% !important;\n}\n\n.ui.form .sixteen.wide.field {\n  width: 100% !important;\n}\n\n/* Swap to full width on mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .fields > .two.wide.field,\n  .ui.form .fields > .three.wide.field,\n  .ui.form .fields > .four.wide.field,\n  .ui.form .fields > .five.wide.field,\n  .ui.form .fields > .six.wide.field,\n  .ui.form .fields > .seven.wide.field,\n  .ui.form .fields > .eight.wide.field,\n  .ui.form .fields > .nine.wide.field,\n  .ui.form .fields > .ten.wide.field,\n  .ui.form .fields > .eleven.wide.field,\n  .ui.form .fields > .twelve.wide.field,\n  .ui.form .fields > .thirteen.wide.field,\n  .ui.form .fields > .fourteen.wide.field,\n  .ui.form .fields > .fifteen.wide.field,\n  .ui.form .fields > .sixteen.wide.field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n\n/*--------------------\n     Equal Width\n---------------------*/\n\n.ui[class*=\"equal width\"].form .fields > .field,\n.ui.form [class*=\"equal width\"].fields > .field {\n  width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n\n/*--------------------\n    Inline Fields\n---------------------*/\n\n.ui.form .inline.fields {\n  margin: 0em 0em 1em;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.form .inline.fields .field {\n  margin: 0em;\n  padding: 0em 1em 0em 0em;\n}\n\n/* Inline Label */\n\n.ui.form .inline.fields > label,\n.ui.form .inline.fields .field > label,\n.ui.form .inline.fields .field > p,\n.ui.form .inline.field > label,\n.ui.form .inline.field > p {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: baseline;\n  font-size: 0.92857143em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: none;\n}\n\n/* Grouped Inline Label */\n\n.ui.form .inline.fields > label {\n  margin: 0.035714em 1em 0em 0em;\n}\n\n/* Inline Input */\n\n.ui.form .inline.fields .field > input,\n.ui.form .inline.fields .field > select,\n.ui.form .inline.field > input,\n.ui.form .inline.field > select {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: middle;\n  font-size: 1em;\n}\n\n/* Label */\n\n.ui.form .inline.fields .field > :first-child,\n.ui.form .inline.field > :first-child {\n  margin: 0em 0.85714286em 0em 0em;\n}\n\n.ui.form .inline.fields .field > :only-child,\n.ui.form .inline.field > :only-child {\n  margin: 0em;\n}\n\n/* Wide */\n\n.ui.form .inline.fields .wide.field {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.form .inline.fields .wide.field > input,\n.ui.form .inline.fields .wide.field > select {\n  width: 100%;\n}\n\n/*--------------------\n        Sizes\n---------------------*/\n\n/* Standard */\n\n.ui.small.form {\n  font-size: 0.92857143rem;\n}\n\n/* Medium */\n\n.ui.form {\n  font-size: 1rem;\n}\n\n/* Large */\n\n.ui.large.form {\n  font-size: 1.14285714rem;\n}\n\n/* Huge */\n\n.ui.huge.form {\n  font-size: 1.42857143rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Grid\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n.ui.grid {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  padding: 0em;\n}\n\n/*----------------------\n      Remove Gutters\n-----------------------*/\n\n.ui.grid {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  margin-left: -1rem;\n  margin-right: -1rem;\n}\n\n.ui.relaxed.grid {\n  margin-left: -1.5rem;\n  margin-right: -1.5rem;\n}\n\n.ui[class*=\"very relaxed\"].grid {\n  margin-left: -2.5rem;\n  margin-right: -2.5rem;\n}\n\n/* Preserve Rows Spacing on Consecutive Grids */\n\n.ui.grid + .grid {\n  margin-top: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n/* Standard 16 column */\n\n.ui.grid > .column:not(.row),\n.ui.grid > .row > .column {\n  position: relative;\n  display: inline-block;\n  width: 6.25%;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  vertical-align: top;\n}\n\n.ui.grid > * {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/*-------------------\n        Rows\n--------------------*/\n\n.ui.grid > .row {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-pack: inherit;\n  -webkit-justify-content: inherit;\n  -ms-flex-pack: inherit;\n  justify-content: inherit;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  width: 100% !important;\n  padding: 0rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n/* Vertical padding when no rows */\n\n.ui.grid > .column:not(.row) {\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n.ui.grid > .row > .column {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/*-------------------\n      Content\n--------------------*/\n\n.ui.grid > .row > img,\n.ui.grid > .row > .column > img {\n  max-width: 100%;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n/* Collapse Margin on Consecutive Grid */\n\n.ui.grid > .ui.grid:first-child {\n  margin-top: 0em;\n}\n\n.ui.grid > .ui.grid:last-child {\n  margin-bottom: 0em;\n}\n\n/* Segment inside Aligned Grid */\n\n.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),\n.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {\n  width: 100%;\n}\n\n/* Align Dividers with Gutter */\n\n.ui.grid .row + .ui.divider {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  margin: 1rem 1rem;\n}\n\n.ui.grid .column + .ui.vertical.divider {\n  height: calc(50% -  1rem );\n}\n\n/* Remove Border on Last Horizontal Segment */\n\n.ui.grid > .row > .column:last-child > .horizontal.segment,\n.ui.grid > .column:last-child > .horizontal.segment {\n  box-shadow: none;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-----------------------\n       Page Grid\n-------------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.page.grid {\n    width: auto;\n    padding-left: 0em;\n    padding-right: 0em;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n}\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 2em;\n    padding-right: 2em;\n  }\n}\n\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 3%;\n    padding-right: 3%;\n  }\n}\n\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 15%;\n    padding-right: 15%;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 23%;\n    padding-right: 23%;\n  }\n}\n\n/*-------------------\n     Column Count\n--------------------*/\n\n/* Assume full width with one column */\n\n.ui.grid > .column:only-child,\n.ui.grid > .row > .column:only-child {\n  width: 100%;\n}\n\n/* Grid Based */\n\n.ui[class*=\"one column\"].grid > .row > .column,\n.ui[class*=\"one column\"].grid > .column:not(.row) {\n  width: 100%;\n}\n\n.ui[class*=\"two column\"].grid > .row > .column,\n.ui[class*=\"two column\"].grid > .column:not(.row) {\n  width: 50%;\n}\n\n.ui[class*=\"three column\"].grid > .row > .column,\n.ui[class*=\"three column\"].grid > .column:not(.row) {\n  width: 33.33333333%;\n}\n\n.ui[class*=\"four column\"].grid > .row > .column,\n.ui[class*=\"four column\"].grid > .column:not(.row) {\n  width: 25%;\n}\n\n.ui[class*=\"five column\"].grid > .row > .column,\n.ui[class*=\"five column\"].grid > .column:not(.row) {\n  width: 20%;\n}\n\n.ui[class*=\"six column\"].grid > .row > .column,\n.ui[class*=\"six column\"].grid > .column:not(.row) {\n  width: 16.66666667%;\n}\n\n.ui[class*=\"seven column\"].grid > .row > .column,\n.ui[class*=\"seven column\"].grid > .column:not(.row) {\n  width: 14.28571429%;\n}\n\n.ui[class*=\"eight column\"].grid > .row > .column,\n.ui[class*=\"eight column\"].grid > .column:not(.row) {\n  width: 12.5%;\n}\n\n.ui[class*=\"nine column\"].grid > .row > .column,\n.ui[class*=\"nine column\"].grid > .column:not(.row) {\n  width: 11.11111111%;\n}\n\n.ui[class*=\"ten column\"].grid > .row > .column,\n.ui[class*=\"ten column\"].grid > .column:not(.row) {\n  width: 10%;\n}\n\n.ui[class*=\"eleven column\"].grid > .row > .column,\n.ui[class*=\"eleven column\"].grid > .column:not(.row) {\n  width: 9.09090909%;\n}\n\n.ui[class*=\"twelve column\"].grid > .row > .column,\n.ui[class*=\"twelve column\"].grid > .column:not(.row) {\n  width: 8.33333333%;\n}\n\n.ui[class*=\"thirteen column\"].grid > .row > .column,\n.ui[class*=\"thirteen column\"].grid > .column:not(.row) {\n  width: 7.69230769%;\n}\n\n.ui[class*=\"fourteen column\"].grid > .row > .column,\n.ui[class*=\"fourteen column\"].grid > .column:not(.row) {\n  width: 7.14285714%;\n}\n\n.ui[class*=\"fifteen column\"].grid > .row > .column,\n.ui[class*=\"fifteen column\"].grid > .column:not(.row) {\n  width: 6.66666667%;\n}\n\n.ui[class*=\"sixteen column\"].grid > .row > .column,\n.ui[class*=\"sixteen column\"].grid > .column:not(.row) {\n  width: 6.25%;\n}\n\n/* Row Based Overrides */\n\n.ui.grid > [class*=\"one column\"].row > .column {\n  width: 100% !important;\n}\n\n.ui.grid > [class*=\"two column\"].row > .column {\n  width: 50% !important;\n}\n\n.ui.grid > [class*=\"three column\"].row > .column {\n  width: 33.33333333% !important;\n}\n\n.ui.grid > [class*=\"four column\"].row > .column {\n  width: 25% !important;\n}\n\n.ui.grid > [class*=\"five column\"].row > .column {\n  width: 20% !important;\n}\n\n.ui.grid > [class*=\"six column\"].row > .column {\n  width: 16.66666667% !important;\n}\n\n.ui.grid > [class*=\"seven column\"].row > .column {\n  width: 14.28571429% !important;\n}\n\n.ui.grid > [class*=\"eight column\"].row > .column {\n  width: 12.5% !important;\n}\n\n.ui.grid > [class*=\"nine column\"].row > .column {\n  width: 11.11111111% !important;\n}\n\n.ui.grid > [class*=\"ten column\"].row > .column {\n  width: 10% !important;\n}\n\n.ui.grid > [class*=\"eleven column\"].row > .column {\n  width: 9.09090909% !important;\n}\n\n.ui.grid > [class*=\"twelve column\"].row > .column {\n  width: 8.33333333% !important;\n}\n\n.ui.grid > [class*=\"thirteen column\"].row > .column {\n  width: 7.69230769% !important;\n}\n\n.ui.grid > [class*=\"fourteen column\"].row > .column {\n  width: 7.14285714% !important;\n}\n\n.ui.grid > [class*=\"fifteen column\"].row > .column {\n  width: 6.66666667% !important;\n}\n\n.ui.grid > [class*=\"sixteen column\"].row > .column {\n  width: 6.25% !important;\n}\n\n/* Celled Page */\n\n.ui.celled.page.grid {\n  box-shadow: none;\n}\n\n/*-------------------\n    Column Width\n--------------------*/\n\n/* Sizing Combinations */\n\n.ui.grid > .row > [class*=\"one wide\"].column,\n.ui.grid > .column.row > [class*=\"one wide\"].column,\n.ui.grid > [class*=\"one wide\"].column,\n.ui.column.grid > [class*=\"one wide\"].column {\n  width: 6.25% !important;\n}\n\n.ui.grid > .row > [class*=\"two wide\"].column,\n.ui.grid > .column.row > [class*=\"two wide\"].column,\n.ui.grid > [class*=\"two wide\"].column,\n.ui.column.grid > [class*=\"two wide\"].column {\n  width: 12.5% !important;\n}\n\n.ui.grid > .row > [class*=\"three wide\"].column,\n.ui.grid > .column.row > [class*=\"three wide\"].column,\n.ui.grid > [class*=\"three wide\"].column,\n.ui.column.grid > [class*=\"three wide\"].column {\n  width: 18.75% !important;\n}\n\n.ui.grid > .row > [class*=\"four wide\"].column,\n.ui.grid > .column.row > [class*=\"four wide\"].column,\n.ui.grid > [class*=\"four wide\"].column,\n.ui.column.grid > [class*=\"four wide\"].column {\n  width: 25% !important;\n}\n\n.ui.grid > .row > [class*=\"five wide\"].column,\n.ui.grid > .column.row > [class*=\"five wide\"].column,\n.ui.grid > [class*=\"five wide\"].column,\n.ui.column.grid > [class*=\"five wide\"].column {\n  width: 31.25% !important;\n}\n\n.ui.grid > .row > [class*=\"six wide\"].column,\n.ui.grid > .column.row > [class*=\"six wide\"].column,\n.ui.grid > [class*=\"six wide\"].column,\n.ui.column.grid > [class*=\"six wide\"].column {\n  width: 37.5% !important;\n}\n\n.ui.grid > .row > [class*=\"seven wide\"].column,\n.ui.grid > .column.row > [class*=\"seven wide\"].column,\n.ui.grid > [class*=\"seven wide\"].column,\n.ui.column.grid > [class*=\"seven wide\"].column {\n  width: 43.75% !important;\n}\n\n.ui.grid > .row > [class*=\"eight wide\"].column,\n.ui.grid > .column.row > [class*=\"eight wide\"].column,\n.ui.grid > [class*=\"eight wide\"].column,\n.ui.column.grid > [class*=\"eight wide\"].column {\n  width: 50% !important;\n}\n\n.ui.grid > .row > [class*=\"nine wide\"].column,\n.ui.grid > .column.row > [class*=\"nine wide\"].column,\n.ui.grid > [class*=\"nine wide\"].column,\n.ui.column.grid > [class*=\"nine wide\"].column {\n  width: 56.25% !important;\n}\n\n.ui.grid > .row > [class*=\"ten wide\"].column,\n.ui.grid > .column.row > [class*=\"ten wide\"].column,\n.ui.grid > [class*=\"ten wide\"].column,\n.ui.column.grid > [class*=\"ten wide\"].column {\n  width: 62.5% !important;\n}\n\n.ui.grid > .row > [class*=\"eleven wide\"].column,\n.ui.grid > .column.row > [class*=\"eleven wide\"].column,\n.ui.grid > [class*=\"eleven wide\"].column,\n.ui.column.grid > [class*=\"eleven wide\"].column {\n  width: 68.75% !important;\n}\n\n.ui.grid > .row > [class*=\"twelve wide\"].column,\n.ui.grid > .column.row > [class*=\"twelve wide\"].column,\n.ui.grid > [class*=\"twelve wide\"].column,\n.ui.column.grid > [class*=\"twelve wide\"].column {\n  width: 75% !important;\n}\n\n.ui.grid > .row > [class*=\"thirteen wide\"].column,\n.ui.grid > .column.row > [class*=\"thirteen wide\"].column,\n.ui.grid > [class*=\"thirteen wide\"].column,\n.ui.column.grid > [class*=\"thirteen wide\"].column {\n  width: 81.25% !important;\n}\n\n.ui.grid > .row > [class*=\"fourteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fourteen wide\"].column,\n.ui.grid > [class*=\"fourteen wide\"].column,\n.ui.column.grid > [class*=\"fourteen wide\"].column {\n  width: 87.5% !important;\n}\n\n.ui.grid > .row > [class*=\"fifteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fifteen wide\"].column,\n.ui.grid > [class*=\"fifteen wide\"].column,\n.ui.column.grid > [class*=\"fifteen wide\"].column {\n  width: 93.75% !important;\n}\n\n.ui.grid > .row > [class*=\"sixteen wide\"].column,\n.ui.grid > .column.row > [class*=\"sixteen wide\"].column,\n.ui.grid > [class*=\"sixteen wide\"].column,\n.ui.column.grid > [class*=\"sixteen wide\"].column {\n  width: 100% !important;\n}\n\n/*----------------------\n    Width per Device\n-----------------------*/\n\n/* Mobile Sizing Combinations */\n\n@media only screen and (min-width: 320px) and (max-width: 767px) {\n  .ui.grid > .row > [class*=\"one wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"one wide mobile\"].column,\n  .ui.grid > [class*=\"one wide mobile\"].column,\n  .ui.column.grid > [class*=\"one wide mobile\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"two wide mobile\"].column,\n  .ui.grid > [class*=\"two wide mobile\"].column,\n  .ui.column.grid > [class*=\"two wide mobile\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"three wide mobile\"].column,\n  .ui.grid > [class*=\"three wide mobile\"].column,\n  .ui.column.grid > [class*=\"three wide mobile\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"four wide mobile\"].column,\n  .ui.grid > [class*=\"four wide mobile\"].column,\n  .ui.column.grid > [class*=\"four wide mobile\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"five wide mobile\"].column,\n  .ui.grid > [class*=\"five wide mobile\"].column,\n  .ui.column.grid > [class*=\"five wide mobile\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"six wide mobile\"].column,\n  .ui.grid > [class*=\"six wide mobile\"].column,\n  .ui.column.grid > [class*=\"six wide mobile\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > [class*=\"seven wide mobile\"].column,\n  .ui.column.grid > [class*=\"seven wide mobile\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > [class*=\"eight wide mobile\"].column,\n  .ui.column.grid > [class*=\"eight wide mobile\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > [class*=\"nine wide mobile\"].column,\n  .ui.column.grid > [class*=\"nine wide mobile\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > [class*=\"ten wide mobile\"].column,\n  .ui.column.grid > [class*=\"ten wide mobile\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > [class*=\"eleven wide mobile\"].column,\n  .ui.column.grid > [class*=\"eleven wide mobile\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > [class*=\"twelve wide mobile\"].column,\n  .ui.column.grid > [class*=\"twelve wide mobile\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > [class*=\"thirteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"thirteen wide mobile\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > [class*=\"fourteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fourteen wide mobile\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > [class*=\"fifteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fifteen wide mobile\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > [class*=\"sixteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"sixteen wide mobile\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Tablet Sizing Combinations */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.grid > .row > [class*=\"one wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"one wide tablet\"].column,\n  .ui.grid > [class*=\"one wide tablet\"].column,\n  .ui.column.grid > [class*=\"one wide tablet\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"two wide tablet\"].column,\n  .ui.grid > [class*=\"two wide tablet\"].column,\n  .ui.column.grid > [class*=\"two wide tablet\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"three wide tablet\"].column,\n  .ui.grid > [class*=\"three wide tablet\"].column,\n  .ui.column.grid > [class*=\"three wide tablet\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"four wide tablet\"].column,\n  .ui.grid > [class*=\"four wide tablet\"].column,\n  .ui.column.grid > [class*=\"four wide tablet\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"five wide tablet\"].column,\n  .ui.grid > [class*=\"five wide tablet\"].column,\n  .ui.column.grid > [class*=\"five wide tablet\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"six wide tablet\"].column,\n  .ui.grid > [class*=\"six wide tablet\"].column,\n  .ui.column.grid > [class*=\"six wide tablet\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > [class*=\"seven wide tablet\"].column,\n  .ui.column.grid > [class*=\"seven wide tablet\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > [class*=\"eight wide tablet\"].column,\n  .ui.column.grid > [class*=\"eight wide tablet\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > [class*=\"nine wide tablet\"].column,\n  .ui.column.grid > [class*=\"nine wide tablet\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > [class*=\"ten wide tablet\"].column,\n  .ui.column.grid > [class*=\"ten wide tablet\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > [class*=\"eleven wide tablet\"].column,\n  .ui.column.grid > [class*=\"eleven wide tablet\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > [class*=\"twelve wide tablet\"].column,\n  .ui.column.grid > [class*=\"twelve wide tablet\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > [class*=\"thirteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"thirteen wide tablet\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > [class*=\"fourteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fourteen wide tablet\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > [class*=\"fifteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fifteen wide tablet\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > [class*=\"sixteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"sixteen wide tablet\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Computer/Desktop Sizing Combinations */\n\n@media only screen and (min-width: 992px) {\n  .ui.grid > .row > [class*=\"one wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"one wide computer\"].column,\n  .ui.grid > [class*=\"one wide computer\"].column,\n  .ui.column.grid > [class*=\"one wide computer\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"two wide computer\"].column,\n  .ui.grid > [class*=\"two wide computer\"].column,\n  .ui.column.grid > [class*=\"two wide computer\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"three wide computer\"].column,\n  .ui.grid > [class*=\"three wide computer\"].column,\n  .ui.column.grid > [class*=\"three wide computer\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"four wide computer\"].column,\n  .ui.grid > [class*=\"four wide computer\"].column,\n  .ui.column.grid > [class*=\"four wide computer\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"five wide computer\"].column,\n  .ui.grid > [class*=\"five wide computer\"].column,\n  .ui.column.grid > [class*=\"five wide computer\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"six wide computer\"].column,\n  .ui.grid > [class*=\"six wide computer\"].column,\n  .ui.column.grid > [class*=\"six wide computer\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide computer\"].column,\n  .ui.grid > [class*=\"seven wide computer\"].column,\n  .ui.column.grid > [class*=\"seven wide computer\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide computer\"].column,\n  .ui.grid > [class*=\"eight wide computer\"].column,\n  .ui.column.grid > [class*=\"eight wide computer\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide computer\"].column,\n  .ui.grid > [class*=\"nine wide computer\"].column,\n  .ui.column.grid > [class*=\"nine wide computer\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide computer\"].column,\n  .ui.grid > [class*=\"ten wide computer\"].column,\n  .ui.column.grid > [class*=\"ten wide computer\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > [class*=\"eleven wide computer\"].column,\n  .ui.column.grid > [class*=\"eleven wide computer\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > [class*=\"twelve wide computer\"].column,\n  .ui.column.grid > [class*=\"twelve wide computer\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > [class*=\"thirteen wide computer\"].column,\n  .ui.column.grid > [class*=\"thirteen wide computer\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > [class*=\"fourteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fourteen wide computer\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > [class*=\"fifteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fifteen wide computer\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > [class*=\"sixteen wide computer\"].column,\n  .ui.column.grid > [class*=\"sixteen wide computer\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Large Monitor Sizing Combinations */\n\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.grid > .row > [class*=\"one wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide large screen\"].column,\n  .ui.grid > [class*=\"one wide large screen\"].column,\n  .ui.column.grid > [class*=\"one wide large screen\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide large screen\"].column,\n  .ui.grid > [class*=\"two wide large screen\"].column,\n  .ui.column.grid > [class*=\"two wide large screen\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide large screen\"].column,\n  .ui.grid > [class*=\"three wide large screen\"].column,\n  .ui.column.grid > [class*=\"three wide large screen\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide large screen\"].column,\n  .ui.grid > [class*=\"four wide large screen\"].column,\n  .ui.column.grid > [class*=\"four wide large screen\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide large screen\"].column,\n  .ui.grid > [class*=\"five wide large screen\"].column,\n  .ui.column.grid > [class*=\"five wide large screen\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide large screen\"].column,\n  .ui.grid > [class*=\"six wide large screen\"].column,\n  .ui.column.grid > [class*=\"six wide large screen\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > [class*=\"seven wide large screen\"].column,\n  .ui.column.grid > [class*=\"seven wide large screen\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > [class*=\"eight wide large screen\"].column,\n  .ui.column.grid > [class*=\"eight wide large screen\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > [class*=\"nine wide large screen\"].column,\n  .ui.column.grid > [class*=\"nine wide large screen\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > [class*=\"ten wide large screen\"].column,\n  .ui.column.grid > [class*=\"ten wide large screen\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > [class*=\"eleven wide large screen\"].column,\n  .ui.column.grid > [class*=\"eleven wide large screen\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > [class*=\"twelve wide large screen\"].column,\n  .ui.column.grid > [class*=\"twelve wide large screen\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > [class*=\"thirteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide large screen\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > [class*=\"fourteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide large screen\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > [class*=\"fifteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide large screen\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > [class*=\"sixteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide large screen\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Widescreen Sizing Combinations */\n\n@media only screen and (min-width: 1920px) {\n  .ui.grid > .row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > [class*=\"one wide widescreen\"].column,\n  .ui.column.grid > [class*=\"one wide widescreen\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > [class*=\"two wide widescreen\"].column,\n  .ui.column.grid > [class*=\"two wide widescreen\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > [class*=\"three wide widescreen\"].column,\n  .ui.column.grid > [class*=\"three wide widescreen\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > [class*=\"four wide widescreen\"].column,\n  .ui.column.grid > [class*=\"four wide widescreen\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > [class*=\"five wide widescreen\"].column,\n  .ui.column.grid > [class*=\"five wide widescreen\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > [class*=\"six wide widescreen\"].column,\n  .ui.column.grid > [class*=\"six wide widescreen\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > [class*=\"seven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"seven wide widescreen\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > [class*=\"eight wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eight wide widescreen\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > [class*=\"nine wide widescreen\"].column,\n  .ui.column.grid > [class*=\"nine wide widescreen\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > [class*=\"ten wide widescreen\"].column,\n  .ui.column.grid > [class*=\"ten wide widescreen\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > [class*=\"eleven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eleven wide widescreen\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > [class*=\"twelve wide widescreen\"].column,\n  .ui.column.grid > [class*=\"twelve wide widescreen\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > [class*=\"thirteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide widescreen\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fourteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide widescreen\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fifteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide widescreen\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > [class*=\"sixteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide widescreen\"].column {\n    width: 100% !important;\n  }\n}\n\n/*----------------------\n        Centered\n-----------------------*/\n\n.ui.centered.grid,\n.ui.centered.grid > .row,\n.ui.grid > .centered.row {\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.ui.centered.grid > .column:not(.aligned):not(.row),\n.ui.centered.grid > .row > .column:not(.aligned),\n.ui.grid .centered.row > .column:not(.aligned) {\n  text-align: left;\n}\n\n.ui.grid > .centered.column,\n.ui.grid > .row > .centered.column {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*----------------------\n        Relaxed\n-----------------------*/\n\n.ui.relaxed.grid > .column:not(.row),\n.ui.relaxed.grid > .row > .column,\n.ui.grid > .relaxed.row > .column {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n\n.ui[class*=\"very relaxed\"].grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].grid > .row > .column,\n.ui.grid > [class*=\"very relaxed\"].row > .column {\n  padding-left: 2.5rem;\n  padding-right: 2.5rem;\n}\n\n/* Coupling with UI Divider */\n\n.ui.relaxed.grid .row + .ui.divider,\n.ui.grid .relaxed.row + .ui.divider {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n}\n\n.ui[class*=\"very relaxed\"].grid .row + .ui.divider,\n.ui.grid [class*=\"very relaxed\"].row + .ui.divider {\n  margin-left: 2.5rem;\n  margin-right: 2.5rem;\n}\n\n/*----------------------\n        Padded\n-----------------------*/\n\n.ui.padded.grid:not(.vertically):not(.horizontally) {\n  margin: 0em !important;\n}\n\n[class*=\"horizontally padded\"].ui.grid {\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n}\n\n[class*=\"vertically padded\"].ui.grid {\n  margin-top: 0em !important;\n  margin-bottom: 0em !important;\n}\n\n/*----------------------\n       \"Floated\"\n-----------------------*/\n\n.ui.grid [class*=\"left floated\"].column {\n  margin-right: auto;\n}\n\n.ui.grid [class*=\"right floated\"].column {\n  margin-left: auto;\n}\n\n/*----------------------\n        Divided\n-----------------------*/\n\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Swap from padding to margin on columns to have dividers align */\n\n.ui[class*=\"vertically divided\"].grid > .column:not(.row),\n.ui[class*=\"vertically divided\"].grid > .row > .column {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  padding-top: 0rem;\n  padding-bottom: 0rem;\n}\n\n.ui[class*=\"vertically divided\"].grid > .row {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/* No divider on first column on row */\n\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Divided Row */\n\n.ui.grid > .divided.row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n.ui.grid > .divided.row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Vertically Divided */\n\n.ui[class*=\"vertically divided\"].grid > .row {\n  position: relative;\n}\n\n.ui[class*=\"vertically divided\"].grid > .row:before {\n  position: absolute;\n  content: \"\";\n  top: 0em;\n  left: 0px;\n  width: calc(100% -  2rem );\n  height: 1px;\n  margin: 0% 1rem;\n  box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Padded Horizontally Divided */\n\n[class*=\"horizontally padded\"].ui.divided.grid,\n.ui.padded.divided.grid:not(.vertically):not(.horizontally) {\n  width: 100%;\n}\n\n/* First Row Vertically Divided */\n\n.ui[class*=\"vertically divided\"].grid > .row:first-child:before {\n  box-shadow: none;\n}\n\n/* Inverted Divided */\n\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);\n}\n\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row):first-child,\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n\n.ui.inverted[class*=\"vertically divided\"].grid > .row:before {\n  box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1);\n}\n\n/* Relaxed */\n\n.ui.relaxed[class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n  width: calc(100% -  3rem );\n}\n\n.ui[class*=\"very relaxed\"][class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 5rem;\n  margin-right: 5rem;\n  width: calc(100% -  5rem );\n}\n\n/*----------------------\n         Celled\n-----------------------*/\n\n.ui.celled.grid {\n  width: 100%;\n  margin: 1em 0em;\n  box-shadow: 0px 0px 0px 1px #D4D4D5;\n}\n\n.ui.celled.grid > .row {\n  width: 100% !important;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: 0px -1px 0px 0px #D4D4D5;\n}\n\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  box-shadow: -1px 0px 0px 0px #D4D4D5;\n}\n\n.ui.celled.grid > .column:first-child,\n.ui.celled.grid > .row > .column:first-child {\n  box-shadow: none;\n}\n\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  padding: 1em;\n}\n\n.ui.relaxed.celled.grid > .column:not(.row),\n.ui.relaxed.celled.grid > .row > .column {\n  padding: 1.5em;\n}\n\n.ui[class*=\"very relaxed\"].celled.grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].celled.grid > .row > .column {\n  padding: 2em;\n}\n\n/* Internally Celled */\n\n.ui[class*=\"internally celled\"].grid {\n  box-shadow: none;\n  margin: 0em;\n}\n\n.ui[class*=\"internally celled\"].grid > .row:first-child {\n  box-shadow: none;\n}\n\n.ui[class*=\"internally celled\"].grid > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/*----------------------\n   Vertically Aligned\n-----------------------*/\n\n/* Top Aligned */\n\n.ui[class*=\"top aligned\"].grid > .column:not(.row),\n.ui[class*=\"top aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"top aligned\"].row > .column,\n.ui.grid > [class*=\"top aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"top aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  vertical-align: top;\n  -webkit-align-self: flex-start !important;\n  -ms-flex-item-align: start !important;\n  align-self: flex-start !important;\n}\n\n/* Middle Aligned */\n\n.ui[class*=\"middle aligned\"].grid > .column:not(.row),\n.ui[class*=\"middle aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"middle aligned\"].row > .column,\n.ui.grid > [class*=\"middle aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"middle aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  vertical-align: middle;\n  -webkit-align-self: center !important;\n  -ms-flex-item-align: center !important;\n  align-self: center !important;\n}\n\n/* Bottom Aligned */\n\n.ui[class*=\"bottom aligned\"].grid > .column:not(.row),\n.ui[class*=\"bottom aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"bottom aligned\"].row > .column,\n.ui.grid > [class*=\"bottom aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"bottom aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  vertical-align: bottom;\n  -webkit-align-self: flex-end !important;\n  -ms-flex-item-align: end !important;\n  align-self: flex-end !important;\n}\n\n/* Stretched */\n\n.ui.stretched.grid > .row > .column,\n.ui.stretched.grid > .column,\n.ui.grid > .stretched.row > .column,\n.ui.grid > .stretched.column:not(.row),\n.ui.grid > .row > .stretched.column {\n  display: -webkit-inline-box !important;\n  display: -webkit-inline-flex !important;\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !important;\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n.ui.stretched.grid > .row > .column > *,\n.ui.stretched.grid > .column > *,\n.ui.grid > .stretched.row > .column > *,\n.ui.grid > .stretched.column:not(.row) > *,\n.ui.grid > .row > .stretched.column > * {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n\n/*----------------------\n  Horizontally Centered\n-----------------------*/\n\n/* Left Aligned */\n\n.ui[class*=\"left aligned\"].grid > .column,\n.ui[class*=\"left aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"left aligned\"].row > .column,\n.ui.grid > [class*=\"left aligned\"].column.column,\n.ui.grid > .row > [class*=\"left aligned\"].column {\n  text-align: left;\n  -webkit-align-self: inherit;\n  -ms-flex-item-align: inherit;\n  align-self: inherit;\n}\n\n/* Center Aligned */\n\n.ui[class*=\"center aligned\"].grid > .column,\n.ui[class*=\"center aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"center aligned\"].row > .column,\n.ui.grid > [class*=\"center aligned\"].column.column,\n.ui.grid > .row > [class*=\"center aligned\"].column {\n  text-align: center;\n  -webkit-align-self: inherit;\n  -ms-flex-item-align: inherit;\n  align-self: inherit;\n}\n\n.ui[class*=\"center aligned\"].grid {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n/* Right Aligned */\n\n.ui[class*=\"right aligned\"].grid > .column,\n.ui[class*=\"right aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"right aligned\"].row > .column,\n.ui.grid > [class*=\"right aligned\"].column.column,\n.ui.grid > .row > [class*=\"right aligned\"].column {\n  text-align: right;\n  -webkit-align-self: inherit;\n  -ms-flex-item-align: inherit;\n  align-self: inherit;\n}\n\n/* Justified */\n\n.ui.justified.grid > .column,\n.ui.justified.grid > .row > .column,\n.ui.grid > .justified.row > .column,\n.ui.grid > .justified.column.column,\n.ui.grid > .row > .justified.column {\n  text-align: justify;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  -ms-hyphens: auto;\n  hyphens: auto;\n}\n\n/*----------------------\n         Colored\n-----------------------*/\n\n.ui.grid > .row > .red.column,\n.ui.grid > .row > .orange.column,\n.ui.grid > .row > .yellow.column,\n.ui.grid > .row > .olive.column,\n.ui.grid > .row > .green.column,\n.ui.grid > .row > .teal.column,\n.ui.grid > .row > .blue.column,\n.ui.grid > .row > .violet.column,\n.ui.grid > .row > .purple.column,\n.ui.grid > .row > .pink.column,\n.ui.grid > .row > .brown.column,\n.ui.grid > .row > .grey.column,\n.ui.grid > .row > .black.column {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/* Red */\n\n.ui.grid > .red.row,\n.ui.grid > .red.column,\n.ui.grid > .row > .red.column {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n}\n\n/* Orange */\n\n.ui.grid > .orange.row,\n.ui.grid > .orange.column,\n.ui.grid > .row > .orange.column {\n  background-color: #F2711C !important;\n  color: #FFFFFF;\n}\n\n/* Yellow */\n\n.ui.grid > .yellow.row,\n.ui.grid > .yellow.column,\n.ui.grid > .row > .yellow.column {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF;\n}\n\n/* Olive */\n\n.ui.grid > .olive.row,\n.ui.grid > .olive.column,\n.ui.grid > .row > .olive.column {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF;\n}\n\n/* Green */\n\n.ui.grid > .green.row,\n.ui.grid > .green.column,\n.ui.grid > .row > .green.column {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n}\n\n/* Teal */\n\n.ui.grid > .teal.row,\n.ui.grid > .teal.column,\n.ui.grid > .row > .teal.column {\n  background-color: #00B5AD !important;\n  color: #FFFFFF;\n}\n\n/* Blue */\n\n.ui.grid > .blue.row,\n.ui.grid > .blue.column,\n.ui.grid > .row > .blue.column {\n  background-color: #2185D0 !important;\n  color: #FFFFFF;\n}\n\n/* Violet */\n\n.ui.grid > .violet.row,\n.ui.grid > .violet.column,\n.ui.grid > .row > .violet.column {\n  background-color: #6435C9 !important;\n  color: #FFFFFF;\n}\n\n/* Purple */\n\n.ui.grid > .purple.row,\n.ui.grid > .purple.column,\n.ui.grid > .row > .purple.column {\n  background-color: #A333C8 !important;\n  color: #FFFFFF;\n}\n\n/* Pink */\n\n.ui.grid > .pink.row,\n.ui.grid > .pink.column,\n.ui.grid > .row > .pink.column {\n  background-color: #E03997 !important;\n  color: #FFFFFF;\n}\n\n/* Brown */\n\n.ui.grid > .brown.row,\n.ui.grid > .brown.column,\n.ui.grid > .row > .brown.column {\n  background-color: #A5673F !important;\n  color: #FFFFFF;\n}\n\n/* Grey */\n\n.ui.grid > .grey.row,\n.ui.grid > .grey.column,\n.ui.grid > .row > .grey.column {\n  background-color: #767676 !important;\n  color: #FFFFFF;\n}\n\n/* Black */\n\n.ui.grid > .black.row,\n.ui.grid > .black.column,\n.ui.grid > .row > .black.column {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF;\n}\n\n/*----------------------\n      Equal Width\n-----------------------*/\n\n.ui[class*=\"equal width\"].grid > .column:not(.row),\n.ui[class*=\"equal width\"].grid > .row > .column,\n.ui.grid > [class*=\"equal width\"].row > .column {\n  display: inline-block;\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n\n.ui[class*=\"equal width\"].grid > .wide.column,\n.ui[class*=\"equal width\"].grid > .row > .wide.column,\n.ui.grid > [class*=\"equal width\"].row > .wide.column {\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n}\n\n/*----------------------\n        Reverse\n-----------------------*/\n\n/* Mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"mobile reversed\"].grid,\n  .ui[class*=\"mobile reversed\"].grid > .row,\n  .ui.grid > [class*=\"mobile reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n    -ms-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n  }\n\n  .ui[class*=\"mobile vertically reversed\"].grid,\n  .ui.stackable[class*=\"mobile reversed\"] {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n    -ms-flex-direction: column-reverse;\n    flex-direction: column-reverse;\n  }\n\n  /* Divided Reversed */\n\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n\n  /* Vertically Divided Reversed */\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n\n  /* Celled Reversed */\n\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Tablet */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"tablet reversed\"].grid,\n  .ui[class*=\"tablet reversed\"].grid > .row,\n  .ui.grid > [class*=\"tablet reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n    -ms-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n  }\n\n  .ui[class*=\"tablet vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n    -ms-flex-direction: column-reverse;\n    flex-direction: column-reverse;\n  }\n\n  /* Divided Reversed */\n\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n\n  /* Vertically Divided Reversed */\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n\n  /* Celled Reversed */\n\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Computer */\n\n@media only screen and (min-width: 992px) {\n  .ui[class*=\"computer reversed\"].grid,\n  .ui[class*=\"computer reversed\"].grid > .row,\n  .ui.grid > [class*=\"computer reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n    -ms-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n  }\n\n  .ui[class*=\"computer vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n    -ms-flex-direction: column-reverse;\n    flex-direction: column-reverse;\n  }\n\n  /* Divided Reversed */\n\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n\n  /* Vertically Divided Reversed */\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n\n  /* Celled Reversed */\n\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n/* Tablet Only */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.doubling.grid {\n    width: auto;\n  }\n\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    display: inline-block !important;\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    box-shadow: none !important;\n    margin: 0em;\n  }\n\n  .ui[class*=\"two column\"].doubling.grid > .row > .column,\n  .ui[class*=\"two column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling.row.row > .column {\n    width: 100% !important;\n  }\n\n  .ui[class*=\"three column\"].doubling.grid > .row > .column,\n  .ui[class*=\"three column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"four column\"].doubling.grid > .row > .column,\n  .ui[class*=\"four column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"five column\"].doubling.grid > .row > .column,\n  .ui[class*=\"five column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"six column\"].doubling.grid > .row > .column,\n  .ui[class*=\"six column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"seven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"eight column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"nine column\"].doubling.grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"ten column\"].doubling.grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n\n  .ui[class*=\"eleven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n\n  .ui[class*=\"twelve column\"].doubling.grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n\n  .ui[class*=\"thirteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n\n  .ui[class*=\"fourteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n\n  .ui[class*=\"fifteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n\n  .ui[class*=\"sixteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling.row.row > .column {\n    width: 12.5% !important;\n  }\n}\n\n/* Mobily Only */\n\n@media only screen and (max-width: 767px) {\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    margin: 0em !important;\n    box-shadow: none !important;\n  }\n\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling:not(.stackable).row.row > .column {\n    width: 100% !important;\n  }\n\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid {\n    width: auto;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n\n  .ui.stackable.grid > .row > .wide.column,\n  .ui.stackable.grid > .wide.column,\n  .ui.stackable.grid > .column.grid > .column,\n  .ui.stackable.grid > .column.row > .column,\n  .ui.stackable.grid > .row > .column,\n  .ui.stackable.grid > .column:not(.row),\n  .ui.grid > .stackable.stackable.row > .column {\n    width: 100% !important;\n    margin: 0em 0em !important;\n    box-shadow: none !important;\n    padding: 1rem 1rem !important;\n  }\n\n  .ui.stackable.grid:not(.vertically) > .row {\n    margin: 0em;\n    padding: 0em;\n  }\n\n  /* Coupling */\n\n  .ui.container > .ui.stackable.grid > .column,\n  .ui.container > .ui.stackable.grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n\n  /* Don't pad inside segment or nested grid */\n\n  .ui.grid .ui.stackable.grid,\n  .ui.segment:not(.vertical) .ui.stackable.page.grid {\n    margin-left: -1rem !important;\n    margin-right: -1rem !important;\n  }\n\n  /* Divided Stackable */\n\n  .ui.stackable.divided.grid > .row:first-child > .column:first-child,\n  .ui.stackable.celled.grid > .row:first-child > .column:first-child,\n  .ui.stackable.divided.grid > .column:not(.row):first-child,\n  .ui.stackable.celled.grid > .column:not(.row):first-child {\n    border-top: none !important;\n  }\n\n  .ui.inverted.stackable.celled.grid > .column:not(.row),\n  .ui.inverted.stackable.divided.grid > .column:not(.row),\n  .ui.inverted.stackable.celled.grid > .row > .column,\n  .ui.inverted.stackable.divided.grid > .row > .column {\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .ui.stackable.celled.grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.celled.grid > .row > .column,\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    border-top: 1px solid rgba(34, 36, 38, 0.15);\n    box-shadow: none !important;\n    padding-top: 2rem !important;\n    padding-bottom: 2rem !important;\n  }\n\n  .ui.stackable.celled.grid > .row {\n    box-shadow: none !important;\n  }\n\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n}\n\n/*----------------------\n     Only (Device)\n-----------------------*/\n\n/* These include arbitrary class repetitions for forced specificity */\n\n/* Mobile Only Hide */\n\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Tablet Only Hide */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.tablet) {\n    display: none !important;\n  }\n\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.tablet) {\n    display: none !important;\n  }\n\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Computer Only Hide */\n\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Large Screen Only Hide */\n\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Widescreen Only Hide */\n\n@media only screen and (min-width: 1920px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*\n * # Semantic - Menu\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributor\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1rem 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  font-weight: normal;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  min-height: 2.85714286em;\n}\n\n.ui.menu:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n\n.ui.menu:first-child {\n  margin-top: 0rem;\n}\n\n.ui.menu:last-child {\n  margin-bottom: 0rem;\n}\n\n/*--------------\n    Sub-Menu\n---------------*/\n\n.ui.menu .menu {\n  margin: 0em;\n}\n\n.ui.menu:not(.vertical) > .menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.menu:not(.vertical) .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.menu .item {\n  position: relative;\n  vertical-align: middle;\n  line-height: 1;\n  text-decoration: none;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  background: none;\n  padding: 0.92857143em 1.14285714em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: normal;\n  -webkit-transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n}\n\n.ui.menu > .item:first-child {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Border */\n\n.ui.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  right: 0px;\n  height: 100%;\n  width: 1px;\n  background: rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n  Text Content\n---------------*/\n\n.ui.menu .text.item > *,\n.ui.menu .item > a:not(.ui),\n.ui.menu .item > p:only-child {\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n  line-height: 1.3;\n}\n\n.ui.menu .item > p:first-child {\n  margin-top: 0;\n}\n\n.ui.menu .item > p:last-child {\n  margin-bottom: 0;\n}\n\n/*--------------\n      Icons\n---------------*/\n\n.ui.menu .item > i.icon {\n  opacity: 0.9;\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.menu:not(.vertical) .item > .button {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n  padding-bottom: 0.71428571em;\n  padding-top: 0.71428571em;\n  font-size: 1em;\n}\n\n/*----------------\n Grid / Container\n-----------------*/\n\n.ui.menu > .grid,\n.ui.menu > .container {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: inherit;\n  -webkit-align-items: inherit;\n  -ms-flex-align: inherit;\n  align-items: inherit;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: inherit;\n  -ms-flex-direction: inherit;\n  flex-direction: inherit;\n}\n\n/*--------------\n     Inputs\n---------------*/\n\n.ui.menu .item > .input {\n  width: 100%;\n}\n\n.ui.menu:not(.vertical) .item > .input {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n}\n\n.ui.menu .item > .input input {\n  font-size: 1em;\n  padding-top: 0.57142857em;\n  padding-bottom: 0.57142857em;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.menu .header.item,\n.ui.vertical.menu .header.item {\n  margin: 0em;\n  background: '';\n  text-transform: normal;\n  font-weight: bold;\n}\n\n.ui.vertical.menu .item > .header:not(.ui) {\n  margin: 0em 0em 0.5em;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n/*--------------\n     Popup\n---------------*/\n\n.ui.menu .ui.popup {\n  display: none;\n}\n\n.ui.menu .ui.visible.popup {\n  display: block;\n}\n\n/*--------------\n    Dropdowns\n---------------*/\n\n/* Dropdown Icon */\n\n.ui.menu .item > i.dropdown.icon {\n  padding: 0em;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n/* Menu */\n\n.ui.menu .dropdown.item .menu {\n  left: 0px;\n  min-width: calc(100% - 1px);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  background: #FFFFFF;\n  margin: 0em 0px 0px;\n  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);\n  -webkit-box-orient: vertical !important;\n  -webkit-box-direction: normal !important;\n  -webkit-flex-direction: column !important;\n  -ms-flex-direction: column !important;\n  flex-direction: column !important;\n}\n\n/* Menu Items */\n\n.ui.menu .ui.dropdown .menu > .item {\n  margin: 0;\n  text-align: left;\n  font-size: 1em !important;\n  padding: 0.71428571em 1.14285714em !important;\n  background: transparent !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n  text-transform: none !important;\n  font-weight: normal !important;\n  box-shadow: none !important;\n  -webkit-transition: none !important;\n  transition: none !important;\n}\n\n.ui.menu .ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.menu .ui.dropdown .menu > .selected.item {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.menu .ui.dropdown .menu > .active.item {\n  background: rgba(0, 0, 0, 0.03) !important;\n  font-weight: bold !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {\n  display: block;\n}\n\n.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {\n  display: inline-block;\n  font-size: 1em !important;\n  float: none;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Secondary */\n\n.ui.secondary.menu .dropdown.item > .menu,\n.ui.text.menu .dropdown.item > .menu {\n  border-radius: 0.28571429rem;\n  margin-top: 0.35714286em;\n}\n\n/* Pointing */\n\n.ui.menu .pointing.dropdown.item .menu {\n  margin-top: 0.75em;\n}\n\n/* Inverted */\n\n.ui.inverted.menu .search.dropdown.item > .search,\n.ui.inverted.menu .search.dropdown.item > .text {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Vertical */\n\n.ui.vertical.menu .dropdown.item > .icon {\n  float: right;\n  content: \"\\f0da\";\n  margin-left: 1em;\n}\n\n.ui.vertical.menu .dropdown.item .menu {\n  top: 0% !important;\n  left: 100%;\n  min-width: 0;\n  margin: 0em 0em 0em 0em;\n  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem;\n}\n\n.ui.vertical.menu .active.dropdown.item {\n  border-top-right-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n.ui.vertical.menu .dropdown.active.item {\n  box-shadow: none;\n}\n\n/* Evenly Divided */\n\n.ui.item.menu .dropdown .menu .item {\n  width: 100%;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n.ui.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-left: 1em;\n  padding: 0.3em 0.71428571em;\n}\n\n.ui.vertical.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-top: -0.15em;\n  margin-bottom: -0.15em;\n  padding: 0.3em 0.71428571em;\n}\n\n.ui.menu .item > .floating.label {\n  padding: 0.3em 0.71428571em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.menu .item > img:not(.ui) {\n  display: inline-block;\n  vertical-align: middle;\n  margin: -0.3em 0em;\n  width: 2.5em;\n}\n\n.ui.vertical.menu .item > img:not(.ui):only-child {\n  display: block;\n  max-width: 100%;\n  width: auto;\n}\n\n/*******************************\n          Coupling\n*******************************/\n\n/*--------------\n     Sidebar\n---------------*/\n\n/* Show vertical dividers below last */\n\n.ui.vertical.sidebar.menu > .item:first-child:before {\n  display: block !important;\n}\n\n.ui.vertical.sidebar.menu > .item::before {\n  top: auto;\n  bottom: 0px;\n}\n\n/*--------------\n    Container\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.menu > .ui.container {\n    width: 100% !important;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {\n    border-left: 1px solid rgba(34, 36, 38, 0.1);\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.link.menu .item:hover,\n.ui.menu .dropdown.item:hover,\n.ui.menu .link.item:hover,\n.ui.menu a.item:hover {\n  cursor: pointer;\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Pressed\n---------------*/\n\n.ui.link.menu .item:active,\n.ui.menu .link.item:active,\n.ui.menu a.item:active {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  font-weight: normal;\n  box-shadow: none;\n}\n\n.ui.menu .active.item > i.icon {\n  opacity: 1;\n}\n\n/*--------------\n  Active Hover\n---------------*/\n\n.ui.menu .active.item:hover,\n.ui.vertical.menu .active.item:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.menu .item.disabled,\n.ui.menu .item.disabled:hover {\n  cursor: default;\n  background-color: transparent !important;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*------------------\nFloated Menu / Item\n-------------------*/\n\n/* Left Floated */\n\n.ui.menu:not(.vertical) .left.item,\n.ui.menu:not(.vertical) .left.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-right: auto !important;\n}\n\n/* Right Floated */\n\n.ui.menu:not(.vertical) .right.item,\n.ui.menu:not(.vertical) .right.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-left: auto !important;\n}\n\n/* Swapped Borders */\n\n.ui.menu .right.item::before,\n.ui.menu .right.menu > .item::before {\n  right: auto;\n  left: 0;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.menu {\n  display: block;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n/*--- Item ---*/\n\n.ui.vertical.menu .item {\n  display: block;\n  background: none;\n  border-top: none;\n  border-right: none;\n}\n\n.ui.vertical.menu > .item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n\n.ui.vertical.menu > .item:last-child {\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n/*--- Label ---*/\n\n.ui.vertical.menu .item > .label {\n  float: right;\n  text-align: center;\n}\n\n/*--- Icon ---*/\n\n.ui.vertical.menu .item > i.icon {\n  width: 1.18em;\n  float: right;\n  margin: 0em 0em 0em 0.5em;\n}\n\n.ui.vertical.menu .item > .label + i.icon {\n  float: none;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*--- Border ---*/\n\n.ui.vertical.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0px;\n  width: 100%;\n  background: rgba(34, 36, 38, 0.1);\n  height: 1px;\n}\n\n.ui.vertical.menu .item:first-child:before {\n  display: none !important;\n}\n\n/*--- Sub Menu ---*/\n\n.ui.vertical.menu .item > .menu {\n  margin: 0.5em -1.14285714em 0em;\n}\n\n.ui.vertical.menu .menu .item {\n  background: none;\n  padding: 0.5em 1.33333333em;\n  font-size: 0.85714286em;\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.ui.vertical.menu .item .menu a.item:hover,\n.ui.vertical.menu .item .menu .link.item:hover {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.vertical.menu .menu .item:before {\n  display: none;\n}\n\n/* Vertical Active */\n\n.ui.vertical.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  border-radius: 0em;\n  box-shadow: none;\n}\n\n.ui.vertical.menu > .active.item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.vertical.menu > .active.item:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.vertical.menu > .active.item:only-child {\n  border-radius: 0.28571429rem;\n}\n\n.ui.vertical.menu .active.item .menu .active.item {\n  border-left: none;\n}\n\n.ui.vertical.menu .item .menu .active.item {\n  background-color: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Tabular\n---------------*/\n\n.ui.tabular.menu {\n  border-radius: 0em;\n  box-shadow: none !important;\n  border: none;\n  background: none transparent;\n  border-bottom: 1px solid #D4D4D5;\n}\n\n.ui.tabular.fluid.menu {\n  width: calc(100% +  2px ) !important;\n}\n\n.ui.tabular.menu .item {\n  background: transparent;\n  border-bottom: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  padding: 0.92857143em 1.42857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.tabular.menu .item:before {\n  display: none;\n}\n\n/* Hover */\n\n.ui.tabular.menu .item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active */\n\n.ui.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-top-width: 1px;\n  border-color: #D4D4D5;\n  font-weight: bold;\n  margin-bottom: -1px;\n  box-shadow: none;\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px !important;\n}\n\n/* Coupling with segment for attachment */\n\n.ui.tabular.menu + .bottom.attached.segment {\n  border-top: none;\n  margin: 0px;\n  width: 100%;\n}\n\n.top.attached.segment + .ui.bottom.tabular.menu {\n  position: relative;\n  width: calc(100% +  2px );\n  left: -1px;\n}\n\n/* Bottom Vertical Tabular */\n\n.ui.bottom.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-top: 1px solid #D4D4D5;\n}\n\n.ui.bottom.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: none;\n}\n\n.ui.bottom.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: -1px 0px 0px 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem !important;\n}\n\n/* Vertical Tabular (Left) */\n\n.ui.vertical.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: 1px solid #D4D4D5;\n}\n\n.ui.vertical.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-right: none;\n}\n\n.ui.vertical.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px -1px 0px 0px;\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem !important;\n}\n\n/* Vertical Right Tabular */\n\n.ui.vertical.right.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: none;\n  border-left: 1px solid #D4D4D5;\n}\n\n.ui.vertical.right.tabular.menu .item {\n  background: none;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-left: none;\n}\n\n.ui.vertical.right.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px 0px 0px -1px;\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px !important;\n}\n\n/* Dropdown */\n\n.ui.tabular.menu .active.dropdown.item {\n  margin-bottom: 0px;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  border-bottom: none;\n}\n\n/*--------------\n   Pagination\n---------------*/\n\n.ui.pagination.menu {\n  margin: 0em;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.ui.pagination.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.pagination.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.pagination.menu .item {\n  min-width: 3em;\n  text-align: center;\n}\n\n.ui.pagination.menu .icon.item i.icon {\n  vertical-align: top;\n}\n\n/* Active */\n\n.ui.pagination.menu .active.item {\n  border-top: none;\n  padding-top: 0.92857143em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n}\n\n/*--------------\n   Secondary\n---------------*/\n\n.ui.secondary.menu {\n  background: none;\n  margin-left: -0.35714286em;\n  margin-right: -0.35714286em;\n  border-radius: 0em;\n  border: none;\n  box-shadow: none;\n}\n\n/* Item */\n\n.ui.secondary.menu .item {\n  -webkit-align-self: center;\n  -ms-flex-item-align: center;\n  align-self: center;\n  box-shadow: none;\n  border: none;\n  padding: 0.71428571em 0.92857143em;\n  margin: 0em 0.35714286em;\n  background: none;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n  border-radius: 0.28571429rem;\n}\n\n/* No Divider */\n\n.ui.secondary.menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n\n.ui.secondary.menu .header.item {\n  border-radius: 0em;\n  border-right: none;\n  background: none transparent;\n}\n\n/* Image */\n\n.ui.secondary.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/* Hover */\n\n.ui.secondary.menu .dropdown.item:hover,\n.ui.secondary.menu .link.item:hover,\n.ui.secondary.menu a.item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n\n.ui.secondary.menu .active.item {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  border-radius: 0.28571429rem;\n}\n\n/* Active Hover */\n\n.ui.secondary.menu .active.item:hover {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.secondary.inverted.menu .link.item,\n.ui.secondary.inverted.menu a.item {\n  color: rgba(255, 255, 255, 0.7) !important;\n}\n\n.ui.secondary.inverted.menu .dropdown.item:hover,\n.ui.secondary.inverted.menu .link.item:hover,\n.ui.secondary.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff !important;\n}\n\n.ui.secondary.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n\n/* Fix item margins */\n\n.ui.secondary.item.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n.ui.secondary.item.menu .item:last-child {\n  margin-right: 0em;\n}\n\n.ui.secondary.attached.menu {\n  box-shadow: none;\n}\n\n/* Sub Menu */\n\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {\n  margin: 0em -0.92857143em;\n}\n\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 1.33333333em;\n}\n\n/*---------------------\n   Secondary Vertical\n-----------------------*/\n\n.ui.secondary.vertical.menu > .item {\n  border: none;\n  margin: 0em 0em 0.35714286em;\n  border-radius: 0.28571429rem !important;\n}\n\n.ui.secondary.vertical.menu > .header.item {\n  border-radius: 0em;\n}\n\n/* Sub Menu */\n\n.ui.vertical.secondary.menu .item > .menu .item {\n  background-color: transparent;\n}\n\n/* Inverted */\n\n.ui.secondary.inverted.menu {\n  background-color: transparent;\n}\n\n/*---------------------\n   Secondary Pointing\n-----------------------*/\n\n.ui.secondary.pointing.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n  border-bottom: 2px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.secondary.pointing.menu .item {\n  border-bottom-color: transparent;\n  border-bottom-style: solid;\n  border-radius: 0em;\n  -webkit-align-self: flex-end;\n  -ms-flex-item-align: end;\n  align-self: flex-end;\n  margin: 0em 0em -2px;\n  padding: 0.85714286em 1.14285714em;\n  border-bottom-width: 2px;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n/* Item Types */\n\n.ui.secondary.pointing.menu .header.item {\n  color: rgba(0, 0, 0, 0.85) !important;\n}\n\n.ui.secondary.pointing.menu .text.item {\n  box-shadow: none !important;\n}\n\n.ui.secondary.pointing.menu .item:after {\n  display: none;\n}\n\n/* Hover */\n\n.ui.secondary.pointing.menu .dropdown.item:hover,\n.ui.secondary.pointing.menu .link.item:hover,\n.ui.secondary.pointing.menu a.item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Pressed */\n\n.ui.secondary.pointing.menu .dropdown.item:active,\n.ui.secondary.pointing.menu .link.item:active,\n.ui.secondary.pointing.menu a.item:active {\n  background-color: transparent;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Active */\n\n.ui.secondary.pointing.menu .active.item {\n  background-color: transparent;\n  box-shadow: none;\n  border-color: #1B1C1D;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Hover */\n\n.ui.secondary.pointing.menu .active.item:hover {\n  border-color: #1B1C1D;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Dropdown */\n\n.ui.secondary.pointing.menu .active.dropdown.item {\n  border-color: transparent;\n}\n\n/* Vertical Pointing */\n\n.ui.secondary.vertical.pointing.menu {\n  border-bottom-width: 0px;\n  border-right-width: 2px;\n  border-right-style: solid;\n  border-right-color: rgba(34, 36, 38, 0.15);\n}\n\n.ui.secondary.vertical.pointing.menu .item {\n  border-bottom: none;\n  border-right-style: solid;\n  border-right-color: transparent;\n  border-radius: 0em !important;\n  margin: 0em -2px 0em 0em;\n  border-right-width: 2px;\n}\n\n/* Vertical Active */\n\n.ui.secondary.vertical.pointing.menu .active.item {\n  border-color: #1B1C1D;\n}\n\n/* Inverted */\n\n.ui.secondary.inverted.pointing.menu {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n.ui.secondary.inverted.pointing.menu {\n  border-width: 2px;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n.ui.secondary.inverted.pointing.menu .item {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.secondary.inverted.pointing.menu .header.item {\n  color: #FFFFFF !important;\n}\n\n/* Hover */\n\n.ui.secondary.inverted.pointing.menu .item:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n\n.ui.secondary.inverted.pointing.menu .active.item {\n  border-color: #FFFFFF;\n  color: #ffffff;\n}\n\n/*--------------\n    Text Menu\n---------------*/\n\n.ui.text.menu {\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  margin: 1em -0.5em;\n}\n\n.ui.text.menu .item {\n  border-radius: 0px;\n  box-shadow: none;\n  -webkit-align-self: center;\n  -ms-flex-item-align: center;\n  align-self: center;\n  margin: 0em 0em;\n  padding: 0.35714286em 0.5em;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.6);\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n/* Border */\n\n.ui.text.menu .item:before,\n.ui.text.menu .menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n\n.ui.text.menu .header.item {\n  background-color: transparent;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.92857143em;\n  text-transform: uppercase;\n  font-weight: bold;\n}\n\n/* Image */\n\n.ui.text.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/*--- fluid text ---*/\n\n.ui.text.item.menu .item {\n  margin: 0em;\n}\n\n/*--- vertical text ---*/\n\n.ui.vertical.text.menu {\n  margin: 1em 0em;\n}\n\n.ui.vertical.text.menu:first-child {\n  margin-top: 0rem;\n}\n\n.ui.vertical.text.menu:last-child {\n  margin-bottom: 0rem;\n}\n\n.ui.vertical.text.menu .item {\n  margin: 0.57142857em 0em;\n}\n\n.ui.vertical.text.menu .item > i.icon {\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n\n.ui.vertical.text.menu .header.item {\n  margin: 0.57142857em 0em 0.71428571em;\n}\n\n/* Vertical Sub Menu */\n\n.ui.vertical.text.menu .item:not(.dropdown) > .menu {\n  margin: 0em;\n}\n\n.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 0em;\n}\n\n/*--- hover ---*/\n\n.ui.text.menu .item:hover {\n  opacity: 1;\n  background-color: transparent;\n}\n\n/*--- active ---*/\n\n.ui.text.menu .active.item {\n  background-color: transparent;\n  border: none;\n  box-shadow: none;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--- active hover ---*/\n\n.ui.text.menu .active.item:hover {\n  background-color: transparent;\n}\n\n/* Disable Bariations */\n\n.ui.text.pointing.menu .active.item:after {\n  box-shadow: none;\n}\n\n.ui.text.attached.menu {\n  box-shadow: none;\n}\n\n/* Inverted */\n\n.ui.inverted.text.menu,\n.ui.inverted.text.menu .item,\n.ui.inverted.text.menu .item:hover,\n.ui.inverted.text.menu .active.item {\n  background-color: transparent !important;\n}\n\n/* Fluid */\n\n.ui.fluid.text.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n/* Vertical Menu */\n\n.ui.vertical.icon.menu {\n  display: inline-block;\n  width: auto;\n}\n\n/* Item */\n\n.ui.icon.menu .item {\n  height: auto;\n  text-align: center;\n  color: #1B1C1D;\n}\n\n/* Icon */\n\n.ui.icon.menu .item > .icon:not(.dropdown) {\n  margin: 0;\n  opacity: 1;\n}\n\n/* Icon Gylph */\n\n.ui.icon.menu .icon:before {\n  opacity: 1;\n}\n\n/* (x) Item Icon */\n\n.ui.menu .icon.item > .icon {\n  width: auto;\n  margin: 0em auto;\n}\n\n/* Vertical Icon */\n\n.ui.vertical.icon.menu .item > .icon:not(.dropdown) {\n  display: block;\n  opacity: 1;\n  margin: 0em auto;\n  float: none;\n}\n\n/* Inverted */\n\n.ui.inverted.icon.menu .item {\n  color: #FFFFFF;\n}\n\n/*--------------\n   Labeled Icon\n---------------*/\n\n/* Menu */\n\n.ui.labeled.icon.menu {\n  text-align: center;\n}\n\n/* Item */\n\n.ui.labeled.icon.menu .item {\n  min-width: 6em;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n/* Icon */\n\n.ui.labeled.icon.menu .item > .icon:not(.dropdown) {\n  height: 1em;\n  display: block;\n  font-size: 1.71428571em !important;\n  margin: 0em auto 0.5rem !important;\n}\n\n/* Fluid */\n\n.ui.fluid.labeled.icon.menu > .item {\n  min-width: 0em;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.menu {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  .ui.stackable.menu .item {\n    width: 100% !important;\n  }\n\n  .ui.stackable.menu .item:before {\n    position: absolute;\n    content: '';\n    top: auto;\n    bottom: 0px;\n    left: 0px;\n    width: 100%;\n    background: rgba(34, 36, 38, 0.1);\n    height: 1px;\n  }\n}\n\n/*--------------\n     Colors\n---------------*/\n\n/*--- Standard Colors  ---*/\n\n.ui.menu .red.active.item,\n.ui.red.menu .active.item {\n  border-color: #DB2828 !important;\n  color: #DB2828 !important;\n}\n\n.ui.menu .orange.active.item,\n.ui.orange.menu .active.item {\n  border-color: #F2711C !important;\n  color: #F2711C !important;\n}\n\n.ui.menu .yellow.active.item,\n.ui.yellow.menu .active.item {\n  border-color: #FBBD08 !important;\n  color: #FBBD08 !important;\n}\n\n.ui.menu .olive.active.item,\n.ui.olive.menu .active.item {\n  border-color: #B5CC18 !important;\n  color: #B5CC18 !important;\n}\n\n.ui.menu .green.active.item,\n.ui.green.menu .active.item {\n  border-color: #21BA45 !important;\n  color: #21BA45 !important;\n}\n\n.ui.menu .teal.active.item,\n.ui.teal.menu .active.item {\n  border-color: #00B5AD !important;\n  color: #00B5AD !important;\n}\n\n.ui.menu .blue.active.item,\n.ui.blue.menu .active.item {\n  border-color: #2185D0 !important;\n  color: #2185D0 !important;\n}\n\n.ui.menu .violet.active.item,\n.ui.violet.menu .active.item {\n  border-color: #6435C9 !important;\n  color: #6435C9 !important;\n}\n\n.ui.menu .purple.active.item,\n.ui.purple.menu .active.item {\n  border-color: #A333C8 !important;\n  color: #A333C8 !important;\n}\n\n.ui.menu .pink.active.item,\n.ui.pink.menu .active.item {\n  border-color: #E03997 !important;\n  color: #E03997 !important;\n}\n\n.ui.menu .brown.active.item,\n.ui.brown.menu .active.item {\n  border-color: #A5673F !important;\n  color: #A5673F !important;\n}\n\n.ui.menu .grey.active.item,\n.ui.grey.menu .active.item {\n  border-color: #767676 !important;\n  color: #767676 !important;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.menu {\n  border: 0px solid transparent;\n  background: #1B1C1D;\n  box-shadow: none;\n}\n\n/* Menu Item */\n\n.ui.inverted.menu .item,\n.ui.inverted.menu .item > a:not(.ui) {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.menu .item.menu {\n  background: transparent;\n}\n\n/*--- Border ---*/\n\n.ui.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n.ui.vertical.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n/* Sub Menu */\n\n.ui.vertical.inverted.menu .menu .item,\n.ui.vertical.inverted.menu .menu .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/* Header */\n\n.ui.inverted.menu .header.item {\n  margin: 0em;\n  background: transparent;\n  box-shadow: none;\n}\n\n/* Disabled */\n\n.ui.inverted.menu .item.disabled,\n.ui.inverted.menu .item.disabled:hover {\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/*--- Hover ---*/\n\n.ui.link.inverted.menu .item:hover,\n.ui.inverted.menu .dropdown.item:hover,\n.ui.inverted.menu .link.item:hover,\n.ui.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n.ui.vertical.inverted.menu .item .menu a.item:hover,\n.ui.vertical.inverted.menu .item .menu .link.item:hover {\n  background: transparent;\n  color: #ffffff;\n}\n\n/*--- Pressed ---*/\n\n.ui.inverted.menu a.item:active,\n.ui.inverted.menu .link.item:active,\n.ui.inverted.menu a.item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/*--- Active ---*/\n\n.ui.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n\n.ui.inverted.vertical.menu .item .menu .active.item {\n  background: transparent;\n  color: #FFFFFF;\n}\n\n.ui.inverted.pointing.menu .active.item:after {\n  background: #3D3E3F !important;\n  margin: 0em !important;\n  box-shadow: none !important;\n  border: none !important;\n}\n\n/*--- Active Hover ---*/\n\n.ui.inverted.menu .active.item:hover {\n  background: rgba(255, 255, 255, 0.15);\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.pointing.menu .active.item:hover:after {\n  background: #3D3E3F !important;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.floated.menu {\n  float: left;\n  margin: 0rem 0.5rem 0rem 0rem;\n}\n\n.ui.floated.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.right.floated.menu {\n  float: right;\n  margin: 0rem 0rem 0rem 0.5rem;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n/* Red */\n\n.ui.inverted.menu .red.active.item,\n.ui.inverted.red.menu {\n  background-color: #DB2828;\n}\n\n.ui.inverted.red.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.red.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Orange */\n\n.ui.inverted.menu .orange.active.item,\n.ui.inverted.orange.menu {\n  background-color: #F2711C;\n}\n\n.ui.inverted.orange.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.orange.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Yellow */\n\n.ui.inverted.menu .yellow.active.item,\n.ui.inverted.yellow.menu {\n  background-color: #FBBD08;\n}\n\n.ui.inverted.yellow.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.yellow.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Olive */\n\n.ui.inverted.menu .olive.active.item,\n.ui.inverted.olive.menu {\n  background-color: #B5CC18;\n}\n\n.ui.inverted.olive.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.olive.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Green */\n\n.ui.inverted.menu .green.active.item,\n.ui.inverted.green.menu {\n  background-color: #21BA45;\n}\n\n.ui.inverted.green.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.green.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Teal */\n\n.ui.inverted.menu .teal.active.item,\n.ui.inverted.teal.menu {\n  background-color: #00B5AD;\n}\n\n.ui.inverted.teal.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.teal.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Blue */\n\n.ui.inverted.menu .blue.active.item,\n.ui.inverted.blue.menu {\n  background-color: #2185D0;\n}\n\n.ui.inverted.blue.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.blue.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Violet */\n\n.ui.inverted.menu .violet.active.item,\n.ui.inverted.violet.menu {\n  background-color: #6435C9;\n}\n\n.ui.inverted.violet.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.violet.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Purple */\n\n.ui.inverted.menu .purple.active.item,\n.ui.inverted.purple.menu {\n  background-color: #A333C8;\n}\n\n.ui.inverted.purple.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.purple.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Pink */\n\n.ui.inverted.menu .pink.active.item,\n.ui.inverted.pink.menu {\n  background-color: #E03997;\n}\n\n.ui.inverted.pink.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.pink.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Brown */\n\n.ui.inverted.menu .brown.active.item,\n.ui.inverted.brown.menu {\n  background-color: #A5673F;\n}\n\n.ui.inverted.brown.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.brown.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Grey */\n\n.ui.inverted.menu .grey.active.item,\n.ui.inverted.grey.menu {\n  background-color: #767676;\n}\n\n.ui.inverted.grey.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.grey.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.menu .item,\n.ui.fitted.menu .item .menu .item,\n.ui.menu .fitted.item {\n  padding: 0em;\n}\n\n.ui.horizontally.fitted.menu .item,\n.ui.horizontally.fitted.menu .item .menu .item,\n.ui.menu .horizontally.fitted.item {\n  padding-top: 0.92857143em;\n  padding-bottom: 0.92857143em;\n}\n\n.ui.vertically.fitted.menu .item,\n.ui.vertically.fitted.menu .item .menu .item,\n.ui.menu .vertically.fitted.item {\n  padding-left: 1.14285714em;\n  padding-right: 1.14285714em;\n}\n\n/*--------------\n   Borderless\n---------------*/\n\n.ui.borderless.menu .item:before,\n.ui.borderless.menu .item .menu .item:before,\n.ui.menu .borderless.item:before {\n  background: none !important;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.menu {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin: 0em;\n  vertical-align: middle;\n}\n\n.ui.compact.vertical.menu {\n  display: inline-block;\n}\n\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.compact.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.compact.vertical.menu {\n  width: auto !important;\n}\n\n.ui.compact.vertical.menu .item:last-child::before {\n  display: block;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.menu.fluid,\n.ui.vertical.menu.fluid {\n  width: 100% !important;\n}\n\n/*-------------------\n      Evenly Sized\n--------------------*/\n\n.ui.item.menu,\n.ui.item.menu .item {\n  width: 100%;\n  padding-left: 0em !important;\n  padding-right: 0em !important;\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.ui.item.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.menu.two.item .item {\n  width: 50%;\n}\n\n.ui.menu.three.item .item {\n  width: 33.333%;\n}\n\n.ui.menu.four.item .item {\n  width: 25%;\n}\n\n.ui.menu.five.item .item {\n  width: 20%;\n}\n\n.ui.menu.six.item .item {\n  width: 16.666%;\n}\n\n.ui.menu.seven.item .item {\n  width: 14.285%;\n}\n\n.ui.menu.eight.item .item {\n  width: 12.500%;\n}\n\n.ui.menu.nine.item .item {\n  width: 11.11%;\n}\n\n.ui.menu.ten.item .item {\n  width: 10.0%;\n}\n\n.ui.menu.eleven.item .item {\n  width: 9.09%;\n}\n\n.ui.menu.twelve.item .item {\n  width: 8.333%;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.menu.fixed {\n  position: fixed;\n  z-index: 101;\n  margin: 0em;\n  width: 100%;\n}\n\n.ui.menu.fixed,\n.ui.menu.fixed .item:first-child,\n.ui.menu.fixed .item:last-child {\n  border-radius: 0px !important;\n}\n\n.ui.fixed.menu,\n.ui[class*=\"top fixed\"].menu {\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n}\n\n.ui[class*=\"top fixed\"].menu {\n  border-top: none;\n  border-left: none;\n  border-right: none;\n}\n\n.ui[class*=\"right fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-right: none;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n\n.ui[class*=\"bottom fixed\"].menu {\n  border-bottom: none;\n  border-left: none;\n  border-right: none;\n  bottom: 0px;\n  left: 0px;\n  top: auto;\n  right: auto;\n}\n\n.ui[class*=\"left fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-left: none;\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n\n/* Coupling with Grid */\n\n.ui.fixed.menu + .ui.grid {\n  padding-top: 2.75rem;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.menu .item:after {\n  visibility: hidden;\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  background: none;\n  margin: 0.5px 0em 0em;\n  width: 0.57142857em;\n  height: 0.57142857em;\n  border: none;\n  border-bottom: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n  z-index: 2;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n.ui.vertical.pointing.menu .item:after {\n  position: absolute;\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  transform: translateX(50%) translateY(-50%) rotate(45deg);\n  margin: 0em -0.5px 0em 0em;\n  border: none;\n  border-top: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n}\n\n/* Active */\n\n.ui.pointing.menu .active.item:after {\n  visibility: visible;\n}\n\n.ui.pointing.menu .active.dropdown.item:after {\n  visibility: hidden;\n}\n\n/* Don't double up pointers */\n\n.ui.pointing.menu .dropdown.active.item:after,\n.ui.pointing.menu .active.item .menu .active.item:after {\n  display: none;\n}\n\n/* Colors */\n\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n\n.ui.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n\n.ui.vertical.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n\n.ui.vertical.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n\n.ui.vertical.pointing.menu .menu .active.item:after {\n  background-color: #FFFFFF;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n/* Middle */\n\n.ui.attached.menu {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n}\n\n.ui.attached + .ui.attached.menu:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n\n.ui[class*=\"top attached\"].menu {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.menu[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n\n.ui[class*=\"bottom attached\"].menu {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].menu:last-child {\n  margin-bottom: 0em;\n}\n\n/* Attached Menu Item */\n\n.ui.top.attached.menu > .item:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui.bottom.attached.menu > .item:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/* Tabular Attached */\n\n.ui.attached.menu:not(.tabular) {\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached.inverted.menu {\n  border: none;\n}\n\n.ui.attached.tabular.menu {\n  margin-left: 0;\n  margin-right: 0;\n  width: 100%;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n/* Small */\n\n.ui.small.menu {\n  font-size: 0.92857143rem;\n}\n\n.ui.small.vertical.menu {\n  width: 13rem;\n}\n\n/* Medium */\n\n.ui.menu {\n  font-size: 1rem;\n}\n\n.ui.vertical.menu {\n  width: 15rem;\n}\n\n/* Large */\n\n.ui.large.menu {\n  font-size: 1.14285714rem;\n}\n\n.ui.large.vertical.menu {\n  width: 18rem;\n}\n\n/* Huge */\n\n.ui.huge.menu {\n  font-size: 1.42857143rem;\n}\n\n.ui.huge.vertical.menu {\n  width: 20rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Message\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Message\n*******************************/\n\n.ui.message {\n  position: relative;\n  min-height: 1em;\n  margin: 1em 0em;\n  background: #F8F8F9;\n  padding: 1em 1.5em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.message:first-child {\n  margin-top: 0em;\n}\n\n.ui.message:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n/* Header */\n\n.ui.message .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  margin: -0.14285em 0em 0rem 0em;\n}\n\n/* Default font size */\n\n.ui.message .header:not(.ui) {\n  font-size: 1.14285714em;\n}\n\n/* Paragraph */\n\n.ui.message p {\n  opacity: 0.85;\n  margin: 0.75em 0em;\n}\n\n.ui.message p:first-child {\n  margin-top: 0em;\n}\n\n.ui.message p:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.message .header + p {\n  margin-top: 0.25em;\n}\n\n/* List */\n\n.ui.message .list:not(.ui) {\n  text-align: left;\n  padding: 0em;\n  opacity: 0.85;\n  list-style-position: inside;\n  margin: 0.5em 0em 0em;\n}\n\n.ui.message .list:not(.ui):first-child {\n  margin-top: 0em;\n}\n\n.ui.message .list:not(.ui):last-child {\n  margin-bottom: 0em;\n}\n\n.ui.message .list:not(.ui) li {\n  position: relative;\n  list-style-type: none;\n  margin: 0em 0em 0.3em 1em;\n  padding: 0em;\n}\n\n.ui.message .list:not(.ui) li:before {\n  position: absolute;\n  content: '•';\n  left: -1em;\n  height: 100%;\n  vertical-align: baseline;\n}\n\n.ui.message .list:not(.ui) li:last-child {\n  margin-bottom: 0em;\n}\n\n/* Icon */\n\n.ui.message > .icon {\n  margin-right: 0.6em;\n}\n\n/* Close Icon */\n\n.ui.message > .close.icon {\n  cursor: pointer;\n  position: absolute;\n  margin: 0em;\n  top: 0.78575em;\n  right: 0.5em;\n  opacity: 0.7;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n.ui.message > .close.icon:hover {\n  opacity: 1;\n}\n\n/* First / Last Element */\n\n.ui.message > :first-child {\n  margin-top: 0em;\n}\n\n.ui.message > :last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.dropdown .menu > .message {\n  margin: 0px -1px;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n    Visible\n---------------*/\n\n.ui.visible.visible.visible.visible.message {\n  display: block;\n}\n\n.ui.icon.visible.visible.visible.visible.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n.ui.hidden.hidden.hidden.hidden.message {\n  display: none;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n    Compact\n---------------*/\n\n.ui.compact.message {\n  display: inline-block;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.message {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n\n.ui.attached + .ui.attached.message:not(.top):not(.bottom) {\n  margin-top: -1px;\n  border-radius: 0em;\n}\n\n.ui.bottom.attached.message {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n.ui.bottom.attached.message:not(:last-child) {\n  margin-bottom: 1em;\n}\n\n.ui.attached.icon.message {\n  width: auto;\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.icon.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.icon.message > .icon:not(.close) {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: auto;\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 3em;\n  opacity: 0.8;\n}\n\n.ui.icon.message > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  vertical-align: middle;\n}\n\n.ui.icon.message .icon:not(.close) + .content {\n  padding-left: 0rem;\n}\n\n.ui.icon.message .circular.icon {\n  width: 1em;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.message {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/*--------------\n     Types\n---------------*/\n\n/* Positive */\n\n.ui.positive.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n\n.ui.positive.message,\n.ui.attached.positive.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.positive.message .header {\n  color: #1A531B;\n}\n\n/* Negative */\n\n.ui.negative.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n\n.ui.negative.message,\n.ui.attached.negative.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.negative.message .header {\n  color: #912D2B;\n}\n\n/* Info */\n\n.ui.info.message {\n  background-color: #F8FFFF;\n  color: #276F86;\n}\n\n.ui.info.message,\n.ui.attached.info.message {\n  box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.info.message .header {\n  color: #0E566C;\n}\n\n/* Warning */\n\n.ui.warning.message {\n  background-color: #FFFAF3;\n  color: #573A08;\n}\n\n.ui.warning.message,\n.ui.attached.warning.message {\n  box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.warning.message .header {\n  color: #794B02;\n}\n\n/* Error */\n\n.ui.error.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n\n.ui.error.message,\n.ui.attached.error.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.error.message .header {\n  color: #912D2B;\n}\n\n/* Success */\n\n.ui.success.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n\n.ui.success.message,\n.ui.attached.success.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.success.message .header {\n  color: #1A531B;\n}\n\n/* Colors */\n\n.ui.inverted.message,\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.red.message {\n  background-color: #FFE8E6;\n  color: #DB2828;\n}\n\n.ui.red.message .header {\n  color: #c82121;\n}\n\n.ui.orange.message {\n  background-color: #FFEDDE;\n  color: #F2711C;\n}\n\n.ui.orange.message .header {\n  color: #e7640d;\n}\n\n.ui.yellow.message {\n  background-color: #FFF8DB;\n  color: #B58105;\n}\n\n.ui.yellow.message .header {\n  color: #9c6f04;\n}\n\n.ui.olive.message {\n  background-color: #FBFDEF;\n  color: #8ABC1E;\n}\n\n.ui.olive.message .header {\n  color: #7aa61a;\n}\n\n.ui.green.message {\n  background-color: #E5F9E7;\n  color: #1EBC30;\n}\n\n.ui.green.message .header {\n  color: #1aa62a;\n}\n\n.ui.teal.message {\n  background-color: #E1F7F7;\n  color: #10A3A3;\n}\n\n.ui.teal.message .header {\n  color: #0e8c8c;\n}\n\n.ui.blue.message {\n  background-color: #DFF0FF;\n  color: #2185D0;\n}\n\n.ui.blue.message .header {\n  color: #1e77ba;\n}\n\n.ui.violet.message {\n  background-color: #EAE7FF;\n  color: #6435C9;\n}\n\n.ui.violet.message .header {\n  color: #5a30b5;\n}\n\n.ui.purple.message {\n  background-color: #F6E7FF;\n  color: #A333C8;\n}\n\n.ui.purple.message .header {\n  color: #922eb4;\n}\n\n.ui.pink.message {\n  background-color: #FFE3FB;\n  color: #E03997;\n}\n\n.ui.pink.message .header {\n  color: #dd238b;\n}\n\n.ui.brown.message {\n  background-color: #F1E2D3;\n  color: #A5673F;\n}\n\n.ui.brown.message .header {\n  color: #935b38;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.small.message {\n  font-size: 0.92857143em;\n}\n\n.ui.message {\n  font-size: 1em;\n}\n\n.ui.large.message {\n  font-size: 1.14285714em;\n}\n\n.ui.huge.message {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.message {\n  font-size: 1.71428571em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Table\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Table\n*******************************/\n\n/* Prototype */\n\n.ui.table {\n  width: 100%;\n  background: #FFFFFF;\n  margin: 1em 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n  border-radius: 0.28571429rem;\n  text-align: left;\n  color: rgba(0, 0, 0, 0.87);\n  border-collapse: separate;\n  border-spacing: 0px;\n}\n\n.ui.table:first-child {\n  margin-top: 0em;\n}\n\n.ui.table:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n             Parts\n*******************************/\n\n/* Table Content */\n\n.ui.table th,\n.ui.table td {\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n  transition: background 0.1s ease, color 0.1s ease;\n}\n\n/* Headers */\n\n.ui.table thead {\n  box-shadow: none;\n}\n\n.ui.table thead th {\n  cursor: auto;\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.92857143em 0.71428571em;\n  vertical-align: inherit;\n  font-style: none;\n  font-weight: bold;\n  text-transform: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  border-left: none;\n}\n\n.ui.table thead tr > th:first-child {\n  border-left: none;\n}\n\n.ui.table thead tr:first-child > th:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui.table thead tr:first-child > th:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui.table thead tr:first-child > th:only-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Footer */\n\n.ui.table tfoot {\n  box-shadow: none;\n}\n\n.ui.table tfoot th {\n  cursor: auto;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571em 0.71428571em;\n  vertical-align: middle;\n  font-style: normal;\n  font-weight: normal;\n  text-transform: none;\n}\n\n.ui.table tfoot tr > th:first-child {\n  border-left: none;\n}\n\n.ui.table tfoot tr:first-child > th:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n.ui.table tfoot tr:first-child > th:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n.ui.table tfoot tr:first-child > th:only-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Table Row */\n\n.ui.table tr td {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n.ui.table tr:first-child td {\n  border-top: none;\n}\n\n/* Table Cells */\n\n.ui.table td {\n  padding: 0.71428571em 0.71428571em;\n  text-align: inherit;\n}\n\n/* Icons */\n\n.ui.table > .icon {\n  vertical-align: baseline;\n}\n\n.ui.table > .icon:only-child {\n  margin: 0em;\n}\n\n/* Table Segment */\n\n.ui.table.segment {\n  padding: 0em;\n}\n\n.ui.table.segment:after {\n  display: none;\n}\n\n.ui.table.segment.stacked:after {\n  display: block;\n}\n\n/* Responsive */\n\n@media only screen and (max-width: 767px) {\n  .ui.table:not(.unstackable) {\n    width: 100%;\n  }\n\n  .ui.table:not(.unstackable) tbody,\n  .ui.table:not(.unstackable) tr,\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    width: auto !important;\n    display: block !important;\n  }\n\n  .ui.table:not(.unstackable) {\n    padding: 0em;\n  }\n\n  .ui.table:not(.unstackable) thead {\n    display: block;\n  }\n\n  .ui.table:not(.unstackable) tfoot {\n    display: block;\n  }\n\n  .ui.table:not(.unstackable) tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em !important;\n    box-shadow: none !important;\n  }\n\n  .ui.table:not(.unstackable) th:first-child,\n  .ui.table:not(.unstackable) td:first-child {\n    font-weight: bold;\n  }\n\n  /* Definition Table */\n\n  .ui.definition.table:not(.unstackable) thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n/* UI Image */\n\n.ui.table th .image,\n.ui.table th .image img,\n.ui.table td .image,\n.ui.table td .image img {\n  max-width: none;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n    Complex\n---------------*/\n\n.ui.structured.table {\n  border-collapse: collapse;\n}\n\n.ui.structured.table thead th {\n  border-left: none;\n  border-right: none;\n}\n\n.ui.structured.sortable.table thead th {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.structured.basic.table th {\n  border-left: none;\n  border-right: none;\n}\n\n.ui.structured.celled.table tr th,\n.ui.structured.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n  border-right: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n   Definition\n---------------*/\n\n.ui.definition.table thead:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: -1px -1px 0px 1px #FFFFFF;\n}\n\n.ui.definition.table tfoot:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: rgba(0, 0, 0, 0.4);\n  color: normal;\n  box-shadow: 1px 1px 0px 1px #FFFFFF;\n}\n\n/* Remove Border */\n\n.ui.celled.definition.table thead:not(.full-width) th:first-child {\n  box-shadow: 0px -1px 0px 1px #FFFFFF;\n}\n\n.ui.celled.definition.table tfoot:not(.full-width) th:first-child {\n  box-shadow: 0px 1px 0px 1px #FFFFFF;\n}\n\n/* Highlight Defining Column */\n\n.ui.definition.table tr td:first-child {\n  background: rgba(0, 0, 0, 0.03);\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Fix 2nd Column */\n\n.ui.definition.table thead:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.definition.table td:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n    Positive\n---------------*/\n\n.ui.table tr.positive,\n.ui.table td.positive {\n  box-shadow: 0px 0px 0px #A3C293 inset;\n}\n\n.ui.table tr.positive,\n.ui.table td.positive {\n  background: #FCFFF5 !important;\n  color: #2C662D !important;\n}\n\n/*--------------\n     Negative\n---------------*/\n\n.ui.table tr.negative,\n.ui.table td.negative {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n\n.ui.table tr.negative,\n.ui.table td.negative {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n      Error\n---------------*/\n\n.ui.table tr.error,\n.ui.table td.error {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n\n.ui.table tr.error,\n.ui.table td.error {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.table tr.warning,\n.ui.table td.warning {\n  box-shadow: 0px 0px 0px #C9BA9B inset;\n}\n\n.ui.table tr.warning,\n.ui.table td.warning {\n  background: #FFFAF3 !important;\n  color: #573A08 !important;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.table tr.active,\n.ui.table td.active {\n  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset;\n}\n\n.ui.table tr.active,\n.ui.table td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.table tr.disabled td,\n.ui.table tr td.disabled,\n.ui.table tr.disabled:hover,\n.ui.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].table,\n  .ui[class*=\"tablet stackable\"].table tbody,\n  .ui[class*=\"tablet stackable\"].table tr,\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    width: 100% !important;\n    display: block !important;\n  }\n\n  .ui[class*=\"tablet stackable\"].table {\n    padding: 0em;\n  }\n\n  .ui[class*=\"tablet stackable\"].table thead {\n    display: block;\n  }\n\n  .ui[class*=\"tablet stackable\"].table tfoot {\n    display: block;\n  }\n\n  .ui[class*=\"tablet stackable\"].table tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em;\n    box-shadow: none !important;\n  }\n\n  /* Definition Table */\n\n  .ui.definition[class*=\"tablet stackable\"].table thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n/*--------------\n Text Alignment\n---------------*/\n\n.ui.table[class*=\"left aligned\"],\n.ui.table [class*=\"left aligned\"] {\n  text-align: left;\n}\n\n.ui.table[class*=\"center aligned\"],\n.ui.table [class*=\"center aligned\"] {\n  text-align: center;\n}\n\n.ui.table[class*=\"right aligned\"],\n.ui.table [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*------------------\n Vertical Alignment\n------------------*/\n\n.ui.table[class*=\"top aligned\"],\n.ui.table [class*=\"top aligned\"] {\n  vertical-align: top;\n}\n\n.ui.table[class*=\"middle aligned\"],\n.ui.table [class*=\"middle aligned\"] {\n  vertical-align: middle;\n}\n\n.ui.table[class*=\"bottom aligned\"],\n.ui.table [class*=\"bottom aligned\"] {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Collapsing\n---------------*/\n\n.ui.table th.collapsing,\n.ui.table td.collapsing {\n  width: 1px;\n  white-space: nowrap;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.table {\n  table-layout: fixed;\n}\n\n.ui.fixed.table th,\n.ui.fixed.table td {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n/*--------------\n   Selectable\n---------------*/\n\n.ui.selectable.table tbody tr:hover,\n.ui.table tbody tr td.selectable:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.selectable.inverted.table tbody tr:hover,\n.ui.inverted.table tbody tr td.selectable:hover {\n  background: rgba(255, 255, 255, 0.08) !important;\n  color: #ffffff !important;\n}\n\n/* Selectable Cell Link */\n\n.ui.table tbody tr td.selectable {\n  padding: 0em;\n}\n\n.ui.table tbody tr td.selectable > a:not(.ui) {\n  display: block;\n  color: inherit;\n  padding: 0.71428571em 0.71428571em;\n}\n\n/* Other States */\n\n.ui.selectable.table tr.error:hover,\n.ui.table tr td.selectable.error:hover,\n.ui.selectable.table tr:hover td.error {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n\n.ui.selectable.table tr.warning:hover,\n.ui.table tr td.selectable.warning:hover,\n.ui.selectable.table tr:hover td.warning {\n  background: #fff4e4 !important;\n  color: #493107 !important;\n}\n\n.ui.selectable.table tr.active:hover,\n.ui.table tr td.selectable.active:hover,\n.ui.selectable.table tr:hover td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n\n.ui.selectable.table tr.positive:hover,\n.ui.table tr td.selectable.positive:hover,\n.ui.selectable.table tr:hover td.positive {\n  background: #f7ffe6 !important;\n  color: #275b28 !important;\n}\n\n.ui.selectable.table tr.negative:hover,\n.ui.table tr td.selectable.negative:hover,\n.ui.selectable.table tr:hover td.negative {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n/* Middle */\n\n.ui.attached.table {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached + .ui.attached.table:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n\n.ui[class*=\"top attached\"].table {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.table[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n\n.ui[class*=\"bottom attached\"].table {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1em;\n  box-shadow: none, none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].table:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Striped\n---------------*/\n\n/* Table Striping */\n\n.ui.striped.table > tr:nth-child(2n),\n.ui.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 50, 0.02);\n}\n\n/* Stripes */\n\n.ui.inverted.striped.table > tr:nth-child(2n),\n.ui.inverted.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n/*--------------\n   Single Line\n---------------*/\n\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\n.ui.red.table {\n  border-top: 0.2em solid #DB2828;\n}\n\n.ui.inverted.red.table {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n\n.ui.orange.table {\n  border-top: 0.2em solid #F2711C;\n}\n\n.ui.inverted.orange.table {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n\n.ui.yellow.table {\n  border-top: 0.2em solid #FBBD08;\n}\n\n.ui.inverted.yellow.table {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n\n.ui.olive.table {\n  border-top: 0.2em solid #B5CC18;\n}\n\n.ui.inverted.olive.table {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n\n.ui.green.table {\n  border-top: 0.2em solid #21BA45;\n}\n\n.ui.inverted.green.table {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n\n.ui.teal.table {\n  border-top: 0.2em solid #00B5AD;\n}\n\n.ui.inverted.teal.table {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n\n.ui.blue.table {\n  border-top: 0.2em solid #2185D0;\n}\n\n.ui.inverted.blue.table {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n\n.ui.violet.table {\n  border-top: 0.2em solid #6435C9;\n}\n\n.ui.inverted.violet.table {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n\n.ui.purple.table {\n  border-top: 0.2em solid #A333C8;\n}\n\n.ui.inverted.purple.table {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n\n.ui.pink.table {\n  border-top: 0.2em solid #E03997;\n}\n\n.ui.inverted.pink.table {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n\n.ui.brown.table {\n  border-top: 0.2em solid #A5673F;\n}\n\n.ui.inverted.brown.table {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n\n.ui.grey.table {\n  border-top: 0.2em solid #767676;\n}\n\n.ui.inverted.grey.table {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n\n.ui.black.table {\n  border-top: 0.2em solid #1B1C1D;\n}\n\n.ui.inverted.black.table {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n  Column Count\n---------------*/\n\n/* Grid Based */\n\n.ui.one.column.table td {\n  width: 100%;\n}\n\n.ui.two.column.table td {\n  width: 50%;\n}\n\n.ui.three.column.table td {\n  width: 33.33333333%;\n}\n\n.ui.four.column.table td {\n  width: 25%;\n}\n\n.ui.five.column.table td {\n  width: 20%;\n}\n\n.ui.six.column.table td {\n  width: 16.66666667%;\n}\n\n.ui.seven.column.table td {\n  width: 14.28571429%;\n}\n\n.ui.eight.column.table td {\n  width: 12.5%;\n}\n\n.ui.nine.column.table td {\n  width: 11.11111111%;\n}\n\n.ui.ten.column.table td {\n  width: 10%;\n}\n\n.ui.eleven.column.table td {\n  width: 9.09090909%;\n}\n\n.ui.twelve.column.table td {\n  width: 8.33333333%;\n}\n\n.ui.thirteen.column.table td {\n  width: 7.69230769%;\n}\n\n.ui.fourteen.column.table td {\n  width: 7.14285714%;\n}\n\n.ui.fifteen.column.table td {\n  width: 6.66666667%;\n}\n\n.ui.sixteen.column.table td {\n  width: 6.25%;\n}\n\n/* Column Width */\n\n.ui.table th.one.wide,\n.ui.table td.one.wide {\n  width: 6.25%;\n}\n\n.ui.table th.two.wide,\n.ui.table td.two.wide {\n  width: 12.5%;\n}\n\n.ui.table th.three.wide,\n.ui.table td.three.wide {\n  width: 18.75%;\n}\n\n.ui.table th.four.wide,\n.ui.table td.four.wide {\n  width: 25%;\n}\n\n.ui.table th.five.wide,\n.ui.table td.five.wide {\n  width: 31.25%;\n}\n\n.ui.table th.six.wide,\n.ui.table td.six.wide {\n  width: 37.5%;\n}\n\n.ui.table th.seven.wide,\n.ui.table td.seven.wide {\n  width: 43.75%;\n}\n\n.ui.table th.eight.wide,\n.ui.table td.eight.wide {\n  width: 50%;\n}\n\n.ui.table th.nine.wide,\n.ui.table td.nine.wide {\n  width: 56.25%;\n}\n\n.ui.table th.ten.wide,\n.ui.table td.ten.wide {\n  width: 62.5%;\n}\n\n.ui.table th.eleven.wide,\n.ui.table td.eleven.wide {\n  width: 68.75%;\n}\n\n.ui.table th.twelve.wide,\n.ui.table td.twelve.wide {\n  width: 75%;\n}\n\n.ui.table th.thirteen.wide,\n.ui.table td.thirteen.wide {\n  width: 81.25%;\n}\n\n.ui.table th.fourteen.wide,\n.ui.table td.fourteen.wide {\n  width: 87.5%;\n}\n\n.ui.table th.fifteen.wide,\n.ui.table td.fifteen.wide {\n  width: 93.75%;\n}\n\n.ui.table th.sixteen.wide,\n.ui.table td.sixteen.wide {\n  width: 100%;\n}\n\n/*--------------\n    Sortable\n---------------*/\n\n.ui.sortable.table thead th {\n  cursor: pointer;\n  white-space: nowrap;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.sortable.table thead th:first-child {\n  border-left: none;\n}\n\n.ui.sortable.table thead th.sorted,\n.ui.sortable.table thead th.sorted:hover {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.ui.sortable.table thead th:after {\n  display: none;\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  content: '';\n  height: 1em;\n  width: auto;\n  opacity: 0.8;\n  margin: 0em 0em 0em 0.5em;\n  font-family: 'Icons';\n}\n\n.ui.sortable.table thead th.ascending:after {\n  content: '\\f0d8';\n}\n\n.ui.sortable.table thead th.descending:after {\n  content: '\\f0d7';\n}\n\n/* Hover */\n\n.ui.sortable.table th.disabled:hover {\n  cursor: auto;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n.ui.sortable.table thead th:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Sorted */\n\n.ui.sortable.table thead th.sorted {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.sortable.table thead th.sorted:after {\n  display: inline-block;\n}\n\n/* Sorted Hover */\n\n.ui.sortable.table thead th.sorted:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.inverted.sortable.table thead th.sorted {\n  background: rgba(255, 255, 255, 0.15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n\n.ui.inverted.sortable.table thead th:hover {\n  background: rgba(255, 255, 255, 0.08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n\n.ui.inverted.sortable.table thead th {\n  border-left-color: transparent;\n  border-right-color: transparent;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n/* Text Color */\n\n.ui.inverted.table {\n  background: #333333;\n  color: rgba(255, 255, 255, 0.9);\n  border: none;\n}\n\n.ui.inverted.table th {\n  background-color: rgba(0, 0, 0, 0.15);\n  border-color: rgba(255, 255, 255, 0.1) !important;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.table tr td {\n  border-color: rgba(255, 255, 255, 0.1) !important;\n}\n\n.ui.inverted.table tr.disabled td,\n.ui.inverted.table tr td.disabled,\n.ui.inverted.table tr.disabled:hover td,\n.ui.inverted.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/* Definition */\n\n.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,\n.ui.inverted.definition.table thead:not(.full-width) th:first-child {\n  background: #FFFFFF;\n}\n\n.ui.inverted.definition.table tr td:first-child {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n\n/*--------------\n   Collapsing\n---------------*/\n\n.ui.collapsing.table {\n  width: auto;\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.basic.table {\n  background: transparent;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n.ui.basic.table thead,\n.ui.basic.table tfoot {\n  box-shadow: none;\n}\n\n.ui.basic.table th {\n  background: transparent;\n  border-left: none;\n}\n\n.ui.basic.table tbody tr {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.basic.table td {\n  background: transparent;\n}\n\n.ui.basic.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 0, 0.05) !important;\n}\n\n/* Very Basic */\n\n.ui[class*=\"very basic\"].table {\n  border: none;\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td {\n  padding: '';\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:first-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:first-child {\n  padding-left: 0em;\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:last-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:last-child {\n  padding-right: 0em;\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) thead tr:first-child th {\n  padding-top: 0em;\n}\n\n/*--------------\n     Celled\n---------------*/\n\n.ui.celled.table tr th,\n.ui.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n.ui.celled.table tr th:first-child,\n.ui.celled.table tr td:first-child {\n  border-left: none;\n}\n\n/*--------------\n     Padded\n---------------*/\n\n.ui.padded.table th {\n  padding-left: 1em;\n  padding-right: 1em;\n}\n\n.ui.padded.table th,\n.ui.padded.table td {\n  padding: 1em 1em;\n}\n\n/* Very */\n\n.ui[class*=\"very padded\"].table th {\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n}\n\n.ui[class*=\"very padded\"].table td {\n  padding: 1.5em 1.5em;\n}\n\n/*--------------\n     Compact\n---------------*/\n\n.ui.compact.table th {\n  padding-left: 0.7em;\n  padding-right: 0.7em;\n}\n\n.ui.compact.table td {\n  padding: 0.5em 0.7em;\n}\n\n/* Very */\n\n.ui[class*=\"very compact\"].table th {\n  padding-left: 0.6em;\n  padding-right: 0.6em;\n}\n\n.ui[class*=\"very compact\"].table td {\n  padding: 0.4em 0.6em;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n/* Small */\n\n.ui.small.table {\n  font-size: 0.9em;\n}\n\n/* Standard */\n\n.ui.table {\n  font-size: 1em;\n}\n\n/* Large */\n\n.ui.large.table {\n  font-size: 1.1em;\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Ad\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2013 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n         Advertisement\n*******************************/\n\n.ui.ad {\n  display: block;\n  overflow: hidden;\n  margin: 1em 0em;\n}\n\n.ui.ad:first-child {\n  margin: 0em;\n}\n\n.ui.ad:last-child {\n  margin: 0em;\n}\n\n.ui.ad iframe {\n  margin: 0em;\n  padding: 0em;\n  border: none;\n  overflow: hidden;\n}\n\n/*--------------\n     Common\n---------------*/\n\n/* Leaderboard */\n\n.ui.leaderboard.ad {\n  width: 728px;\n  height: 90px;\n}\n\n/* Medium Rectangle */\n\n.ui[class*=\"medium rectangle\"].ad {\n  width: 300px;\n  height: 250px;\n}\n\n/* Large Rectangle */\n\n.ui[class*=\"large rectangle\"].ad {\n  width: 336px;\n  height: 280px;\n}\n\n/* Half Page */\n\n.ui[class*=\"half page\"].ad {\n  width: 300px;\n  height: 600px;\n}\n\n/*--------------\n     Square\n---------------*/\n\n/* Square */\n\n.ui.square.ad {\n  width: 250px;\n  height: 250px;\n}\n\n/* Small Square */\n\n.ui[class*=\"small square\"].ad {\n  width: 200px;\n  height: 200px;\n}\n\n/*--------------\n    Rectangle\n---------------*/\n\n/* Small Rectangle */\n\n.ui[class*=\"small rectangle\"].ad {\n  width: 180px;\n  height: 150px;\n}\n\n/* Vertical Rectangle */\n\n.ui[class*=\"vertical rectangle\"].ad {\n  width: 240px;\n  height: 400px;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.button.ad {\n  width: 120px;\n  height: 90px;\n}\n\n.ui[class*=\"square button\"].ad {\n  width: 125px;\n  height: 125px;\n}\n\n.ui[class*=\"small button\"].ad {\n  width: 120px;\n  height: 60px;\n}\n\n/*--------------\n   Skyscrapers\n---------------*/\n\n/* Skyscraper */\n\n.ui.skyscraper.ad {\n  width: 120px;\n  height: 600px;\n}\n\n/* Wide Skyscraper */\n\n.ui[class*=\"wide skyscraper\"].ad {\n  width: 160px;\n}\n\n/*--------------\n     Banners\n---------------*/\n\n/* Banner */\n\n.ui.banner.ad {\n  width: 468px;\n  height: 60px;\n}\n\n/* Vertical Banner */\n\n.ui[class*=\"vertical banner\"].ad {\n  width: 120px;\n  height: 240px;\n}\n\n/* Top Banner */\n\n.ui[class*=\"top banner\"].ad {\n  width: 930px;\n  height: 180px;\n}\n\n/* Half Banner */\n\n.ui[class*=\"half banner\"].ad {\n  width: 234px;\n  height: 60px;\n}\n\n/*--------------\n    Boards\n---------------*/\n\n/* Leaderboard */\n\n.ui[class*=\"large leaderboard\"].ad {\n  width: 970px;\n  height: 90px;\n}\n\n/* Billboard */\n\n.ui.billboard.ad {\n  width: 970px;\n  height: 250px;\n}\n\n/*--------------\n    Panorama\n---------------*/\n\n/* Panorama */\n\n.ui.panorama.ad {\n  width: 980px;\n  height: 120px;\n}\n\n/*--------------\n     Netboard\n---------------*/\n\n/* Netboard */\n\n.ui.netboard.ad {\n  width: 580px;\n  height: 400px;\n}\n\n/*--------------\n     Mobile\n---------------*/\n\n/* Large Mobile Banner */\n\n.ui[class*=\"large mobile banner\"].ad {\n  width: 320px;\n  height: 100px;\n}\n\n/* Mobile Leaderboard */\n\n.ui[class*=\"mobile leaderboard\"].ad {\n  width: 320px;\n  height: 50px;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/* Mobile Sizes */\n\n.ui.mobile.ad {\n  display: none;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.mobile.ad {\n    display: block;\n  }\n}\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.centered.ad {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.ui.test.ad {\n  position: relative;\n  background: #545454;\n}\n\n.ui.test.ad:after {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n  content: 'Ad';\n  color: #FFFFFF;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n.ui.mobile.test.ad:after {\n  font-size: 0.85714286em;\n}\n\n.ui.test.ad[data-text]:after {\n  content: attr(data-text);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n      Card\n---------------*/\n\n.ui.cards > .card,\n.ui.card {\n  max-width: 100%;\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  width: 290px;\n  min-height: 0px;\n  background: #FFFFFF;\n  padding: 0em;\n  border: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;\n  transition: box-shadow 0.1s ease, transform 0.1s ease;\n  z-index: '';\n}\n\n.ui.card {\n  margin: 1em 0em;\n}\n\n.ui.cards > .card a,\n.ui.card a {\n  cursor: pointer;\n}\n\n.ui.card:first-child {\n  margin-top: 0em;\n}\n\n.ui.card:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Cards\n---------------*/\n\n.ui.cards {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: -0.875em -0.5em;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n}\n\n.ui.cards > .card {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 0.875em 0.5em;\n  float: none;\n}\n\n/* Clearing */\n\n.ui.cards:after,\n.ui.card:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n/* Consecutive Card Groups Preserve Row Spacing */\n\n.ui.cards ~ .ui.cards {\n  margin-top: 0.875em;\n}\n\n/*--------------\n  Rounded Edges\n---------------*/\n\n.ui.cards > .card > :first-child,\n.ui.card > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n  border-top: none !important;\n}\n\n.ui.cards > .card > :last-child,\n.ui.card > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n.ui.cards > .card > :only-child,\n.ui.card > :only-child {\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.cards > .card > .image,\n.ui.card > .image {\n  position: relative;\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  padding: 0em;\n  background: rgba(0, 0, 0, 0.05);\n}\n\n.ui.cards > .card > .image > img,\n.ui.card > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: inherit;\n}\n\n.ui.cards > .card > .image:not(.ui) > img,\n.ui.card > .image:not(.ui) > img {\n  border: none;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.cards > .card > .content,\n.ui.card > .content {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  background: none;\n  margin: 0em;\n  padding: 1em 1em;\n  box-shadow: none;\n  font-size: 1em;\n  border-radius: 0em;\n}\n\n.ui.cards > .card > .content:after,\n.ui.card > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.cards > .card > .content > .header,\n.ui.card > .content > .header {\n  display: block;\n  margin: '';\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n\n.ui.cards > .card > .content > .header:not(.ui),\n.ui.card > .content > .header:not(.ui) {\n  font-weight: bold;\n  font-size: 1.28571429em;\n  margin-top: -0.21425em;\n  line-height: 1.2857em;\n}\n\n.ui.cards > .card > .content > .meta + .description,\n.ui.cards > .card > .content > .header + .description,\n.ui.card > .content > .meta + .description,\n.ui.card > .content > .header + .description {\n  margin-top: 0.5em;\n}\n\n/*----------------\n Floated Content\n-----------------*/\n\n.ui.cards > .card [class*=\"left floated\"],\n.ui.card [class*=\"left floated\"] {\n  float: left;\n}\n\n.ui.cards > .card [class*=\"right floated\"],\n.ui.card [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n     Aligned\n---------------*/\n\n.ui.cards > .card [class*=\"left aligned\"],\n.ui.card [class*=\"left aligned\"] {\n  text-align: left;\n}\n\n.ui.cards > .card [class*=\"center aligned\"],\n.ui.card [class*=\"center aligned\"] {\n  text-align: center;\n}\n\n.ui.cards > .card [class*=\"right aligned\"],\n.ui.card [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.cards > .card .content img,\n.ui.card .content img {\n  display: inline-block;\n  vertical-align: middle;\n  width: '';\n}\n\n.ui.cards > .card img.avatar,\n.ui.cards > .card .avatar img,\n.ui.card img.avatar,\n.ui.card .avatar img {\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.cards > .card > .content > .description,\n.ui.card > .content > .description {\n  clear: both;\n  color: rgba(0, 0, 0, 0.68);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.cards > .card > .content p,\n.ui.card > .content p {\n  margin: 0em 0em 0.5em;\n}\n\n.ui.cards > .card > .content p:last-child,\n.ui.card > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.cards > .card .meta,\n.ui.card .meta {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.cards > .card .meta *,\n.ui.card .meta * {\n  margin-right: 0.3em;\n}\n\n.ui.cards > .card .meta :last-child,\n.ui.card .meta :last-child {\n  margin-right: 0em;\n}\n\n.ui.cards > .card .meta [class*=\"right floated\"],\n.ui.card .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n/* Generic */\n\n.ui.cards > .card > .content a:not(.ui),\n.ui.card > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .content a:not(.ui):hover,\n.ui.card > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n\n.ui.cards > .card > .content > a.header,\n.ui.card > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.cards > .card > .content > a.header:hover,\n.ui.card > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n\n.ui.cards > .card .meta > a:not(.ui),\n.ui.card .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.cards > .card .meta > a:not(.ui):hover,\n.ui.card .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Buttons\n---------------*/\n\n.ui.cards > .card > .buttons,\n.ui.card > .buttons,\n.ui.cards > .card > .button,\n.ui.card > .button {\n  margin: 0px -1px;\n  width: calc(100% +  2px );\n}\n\n/*--------------\n      Dimmer\n---------------*/\n\n.ui.cards > .card .dimmer,\n.ui.card .dimmer {\n  background-color: '';\n  z-index: 10;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n/*-----Star----- */\n\n/* Icon */\n\n.ui.cards > .card > .content .star.icon,\n.ui.card > .content .star.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .content .star.icon:hover,\n.ui.card > .content .star.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n\n.ui.cards > .card > .content .active.star.icon,\n.ui.card > .content .active.star.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n/* Icon */\n\n.ui.cards > .card > .content .like.icon,\n.ui.card > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .content .like.icon:hover,\n.ui.card > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n\n.ui.cards > .card > .content .active.like.icon,\n.ui.card > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.cards > .card > .extra,\n.ui.card > .extra {\n  max-width: 100%;\n  min-height: 0em !important;\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;\n  position: static;\n  background: none;\n  width: auto;\n  margin: 0em 0em;\n  padding: 0.75em 1em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .extra a:not(.ui),\n.ui.card > .extra a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.cards > .card > .extra a:not(.ui):hover,\n.ui.card > .extra a:not(.ui):hover {\n  color: #1e70bf;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Centered\n--------------------*/\n\n.ui.centered.cards {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.ui.centered.card {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.card {\n  width: 100%;\n  max-width: 9999px;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.cards a.card,\n.ui.link.cards .card,\na.ui.card,\n.ui.link.card {\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n}\n\n.ui.cards a.card:hover,\n.ui.link.cards .card:hover,\na.ui.card:hover,\n.ui.link.card:hover {\n  cursor: pointer;\n  z-index: 5;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transform: translateY(-3px);\n  -ms-transform: translateY(-3px);\n  transform: translateY(-3px);\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\n.ui.red.cards > .card,\n.ui.cards > .red.card,\n.ui.red.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.red.cards > .card:hover,\n.ui.cards > .red.card:hover,\n.ui.red.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Orange */\n\n.ui.orange.cards > .card,\n.ui.cards > .orange.card,\n.ui.orange.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.orange.cards > .card:hover,\n.ui.cards > .orange.card:hover,\n.ui.orange.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Yellow */\n\n.ui.yellow.cards > .card,\n.ui.cards > .yellow.card,\n.ui.yellow.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.yellow.cards > .card:hover,\n.ui.cards > .yellow.card:hover,\n.ui.yellow.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Olive */\n\n.ui.olive.cards > .card,\n.ui.cards > .olive.card,\n.ui.olive.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.olive.cards > .card:hover,\n.ui.cards > .olive.card:hover,\n.ui.olive.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Green */\n\n.ui.green.cards > .card,\n.ui.cards > .green.card,\n.ui.green.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.green.cards > .card:hover,\n.ui.cards > .green.card:hover,\n.ui.green.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Teal */\n\n.ui.teal.cards > .card,\n.ui.cards > .teal.card,\n.ui.teal.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.teal.cards > .card:hover,\n.ui.cards > .teal.card:hover,\n.ui.teal.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Blue */\n\n.ui.blue.cards > .card,\n.ui.cards > .blue.card,\n.ui.blue.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.blue.cards > .card:hover,\n.ui.cards > .blue.card:hover,\n.ui.blue.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Violet */\n\n.ui.violet.cards > .card,\n.ui.cards > .violet.card,\n.ui.violet.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.violet.cards > .card:hover,\n.ui.cards > .violet.card:hover,\n.ui.violet.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Purple */\n\n.ui.purple.cards > .card,\n.ui.cards > .purple.card,\n.ui.purple.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.purple.cards > .card:hover,\n.ui.cards > .purple.card:hover,\n.ui.purple.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Pink */\n\n.ui.pink.cards > .card,\n.ui.cards > .pink.card,\n.ui.pink.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.pink.cards > .card:hover,\n.ui.cards > .pink.card:hover,\n.ui.pink.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Brown */\n\n.ui.brown.cards > .card,\n.ui.cards > .brown.card,\n.ui.brown.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.brown.cards > .card:hover,\n.ui.cards > .brown.card:hover,\n.ui.brown.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Grey */\n\n.ui.grey.cards > .card,\n.ui.cards > .grey.card,\n.ui.grey.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.grey.cards > .card:hover,\n.ui.cards > .grey.card:hover,\n.ui.grey.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Black */\n\n.ui.black.cards > .card,\n.ui.cards > .black.card,\n.ui.black.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.black.cards > .card:hover,\n.ui.cards > .black.card:hover,\n.ui.black.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD;\n}\n\n/*--------------\n   Card Count\n---------------*/\n\n.ui.one.cards {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n.ui.one.cards > .card {\n  width: 100%;\n}\n\n.ui.two.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n\n.ui.two.cards > .card {\n  width: calc( 50%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n\n.ui.three.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n\n.ui.three.cards > .card {\n  width: calc( 33.33333333%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n\n.ui.four.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n\n.ui.four.cards > .card {\n  width: calc( 25%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n\n.ui.five.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n\n.ui.five.cards > .card {\n  width: calc( 20%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n\n.ui.six.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n\n.ui.six.cards > .card {\n  width: calc( 16.66666667%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n\n.ui.seven.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.seven.cards > .card {\n  width: calc( 14.28571429%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n.ui.eight.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.eight.cards > .card {\n  width: calc( 12.5%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 11px;\n}\n\n.ui.nine.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.nine.cards > .card {\n  width: calc( 11.11111111%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 10px;\n}\n\n.ui.ten.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.ten.cards > .card {\n  width: calc( 10%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n/* Mobily Only */\n\n@media only screen and (max-width: 767px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.five.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.six.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.seven.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.seven.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.nine.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.nine.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.ten.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.ten.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n}\n\n/* Tablet Only */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.five.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.six.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.eight.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n\n  .ui.eight.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n\n  .ui.nine.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n\n  .ui.nine.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n\n  .ui.ten.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n\n  .ui.ten.doubling.cards .card {\n    width: calc( 20%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.cards {\n    display: block !important;\n  }\n\n  .ui.stackable.cards .card:first-child {\n    margin-top: 0em !important;\n  }\n\n  .ui.stackable.cards > .card {\n    display: block !important;\n    height: auto !important;\n    margin: 1em 1em;\n    padding: 0 !important;\n    width: calc( 100%  -  2em ) !important;\n  }\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.cards > .card {\n  font-size: 1em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Comment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n    Comments\n---------------*/\n\n.ui.comments {\n  margin: 1.5em 0em;\n  max-width: 650px;\n}\n\n.ui.comments:first-child {\n  margin-top: 0em;\n}\n\n.ui.comments:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Comment\n---------------*/\n\n.ui.comments .comment {\n  position: relative;\n  background: none;\n  margin: 0.5em 0em 0em;\n  padding: 0.5em 0em 0em;\n  border: none;\n  border-top: none;\n  line-height: 1.2;\n}\n\n.ui.comments .comment:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\n\n/*--------------------\n    Nested Comments\n---------------------*/\n\n.ui.comments .comment .comments {\n  margin: 0em 0em 0.5em 0.5em;\n  padding: 1em 0em 1em 1em;\n}\n\n.ui.comments .comment .comments:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n\n.ui.comments .comment .comments .comment {\n  border: none;\n  border-top: none;\n  background: none;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.comments .comment .avatar {\n  display: block;\n  width: 2.5em;\n  height: auto;\n  float: left;\n  margin: 0.2em 0em 0em;\n}\n\n.ui.comments .comment img.avatar,\n.ui.comments .comment .avatar img {\n  display: block;\n  margin: 0em auto;\n  width: 100%;\n  height: 100%;\n  border-radius: 0.25rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.comments .comment > .content {\n  display: block;\n}\n\n/* If there is an avatar move content over */\n\n.ui.comments .comment > .avatar ~ .content {\n  margin-left: 3.5em;\n}\n\n/*--------------\n     Author\n---------------*/\n\n.ui.comments .comment .author {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n}\n\n.ui.comments .comment a.author {\n  cursor: pointer;\n}\n\n.ui.comments .comment a.author:hover {\n  color: #1e70bf;\n}\n\n/*--------------\n     Metadata\n---------------*/\n\n.ui.comments .comment .metadata {\n  display: inline-block;\n  margin-left: 0.5em;\n  color: rgba(0, 0, 0, 0.4);\n  font-size: 0.875em;\n}\n\n.ui.comments .comment .metadata > * {\n  display: inline-block;\n  margin: 0em 0.5em 0em 0em;\n}\n\n.ui.comments .comment .metadata > :last-child {\n  margin-right: 0em;\n}\n\n/*--------------------\n     Comment Text\n---------------------*/\n\n.ui.comments .comment .text {\n  margin: 0.25em 0em 0.5em;\n  font-size: 1em;\n  word-wrap: break-word;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.3;\n}\n\n/*--------------------\n     User Actions\n---------------------*/\n\n.ui.comments .comment .actions {\n  font-size: 0.875em;\n}\n\n.ui.comments .comment .actions a {\n  cursor: pointer;\n  display: inline-block;\n  margin: 0em 0.75em 0em 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.comments .comment .actions a:last-child {\n  margin-right: 0em;\n}\n\n.ui.comments .comment .actions a.active,\n.ui.comments .comment .actions a:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------------\n      Reply Form\n---------------------*/\n\n.ui.comments > .reply.form {\n  margin-top: 1em;\n}\n\n.ui.comments .comment .reply.form {\n  width: 100%;\n  margin-top: 1em;\n}\n\n.ui.comments .reply.form textarea {\n  font-size: 1em;\n  height: 12em;\n}\n\n/*******************************\n            State\n*******************************/\n\n.ui.collapsed.comments,\n.ui.comments .collapsed.comments,\n.ui.comments .collapsed.comment {\n  display: none;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------------\n        Threaded\n---------------------*/\n\n.ui.threaded.comments .comment .comments {\n  margin: -1.5em 0 -1em 1.25em;\n  padding: 3em 0em 2em 2.25em;\n  box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/*--------------------\n        Minimal\n---------------------*/\n\n.ui.minimal.comments .comment .actions {\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  -webkit-transition: opacity 0.2s ease;\n  transition: opacity 0.2s ease;\n  -webkit-transition-delay: 0.1s;\n  transition-delay: 0.1s;\n}\n\n.ui.minimal.comments .comment > .content:hover > .actions {\n  opacity: 1;\n}\n\n/*--------------------\n       Sizes\n---------------------*/\n\n.ui.small.comments {\n  font-size: 0.9em;\n}\n\n.ui.comments {\n  font-size: 1em;\n}\n\n.ui.large.comments {\n  font-size: 1.1em;\n}\n\n.ui.huge.comments {\n  font-size: 1.2em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Feed\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n         Activity Feed\n*******************************/\n\n.ui.feed {\n  margin: 1em 0em;\n}\n\n.ui.feed:first-child {\n  margin-top: 0em;\n}\n\n.ui.feed:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* Event */\n\n.ui.feed > .event {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  width: 100%;\n  padding: 0.21428571rem 0em;\n  margin: 0em;\n  background: none;\n  border-top: none;\n}\n\n.ui.feed > .event:first-child {\n  border-top: 0px;\n  padding-top: 0em;\n}\n\n.ui.feed > .event:last-child {\n  padding-bottom: 0em;\n}\n\n/* Event Label */\n\n.ui.feed > .event > .label {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: 2.5em;\n  height: auto;\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n  text-align: left;\n}\n\n.ui.feed > .event > .label .icon {\n  opacity: 1;\n  font-size: 1.5em;\n  width: 100%;\n  padding: 0.25em;\n  background: none;\n  border: none;\n  border-radius: none;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.feed > .event > .label img {\n  width: 100%;\n  height: auto;\n  border-radius: 500rem;\n}\n\n.ui.feed > .event > .label + .content {\n  margin: 0.5em 0em 0.35714286em 1.14285714em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n/* Content */\n\n.ui.feed > .event > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n  text-align: left;\n  word-wrap: break-word;\n}\n\n.ui.feed > .event:last-child > .content {\n  padding-bottom: 0em;\n}\n\n/* Link */\n\n.ui.feed > .event > .content a {\n  cursor: pointer;\n}\n\n/*--------------\n      Date\n---------------*/\n\n.ui.feed > .event > .content .date {\n  margin: -0.5rem 0em 0em;\n  padding: 0em;\n  font-weight: normal;\n  font-size: 1em;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n     Summary\n---------------*/\n\n.ui.feed > .event > .content .summary {\n  margin: 0em;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Summary Image */\n\n.ui.feed > .event > .content .summary img {\n  display: inline-block;\n  width: auto;\n  height: 10em;\n  margin: -0.25em 0.25em 0em 0em;\n  border-radius: 0.25em;\n  vertical-align: middle;\n}\n\n/*--------------\n      User\n---------------*/\n\n.ui.feed > .event > .content .user {\n  display: inline-block;\n  font-weight: bold;\n  margin-right: 0em;\n  vertical-align: baseline;\n}\n\n.ui.feed > .event > .content .user img {\n  margin: -0.25em 0.25em 0em 0em;\n  width: auto;\n  height: 10em;\n  vertical-align: middle;\n}\n\n/*--------------\n   Inline Date\n---------------*/\n\n/* Date inside Summary */\n\n.ui.feed > .event > .content .summary > .date {\n  display: inline-block;\n  float: none;\n  font-weight: normal;\n  font-size: 0.85714286em;\n  font-style: normal;\n  margin: 0em 0em 0em 0.5em;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n  Extra Summary\n---------------*/\n\n.ui.feed > .event > .content .extra {\n  margin: 0.5em 0em 0em;\n  background: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Images */\n\n.ui.feed > .event > .content .extra.images img {\n  display: inline-block;\n  margin: 0em 0.25em 0em 0em;\n  width: 6em;\n}\n\n/* Text */\n\n.ui.feed > .event > .content .extra.text {\n  padding: 0em;\n  border-left: none;\n  font-size: 1em;\n  max-width: 500px;\n  line-height: 1.4285em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.feed > .event > .content .meta {\n  display: inline-block;\n  font-size: 0.85714286em;\n  margin: 0.5em 0em 0em;\n  background: none;\n  border: none;\n  border-radius: 0;\n  box-shadow: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.feed > .event > .content .meta > * {\n  position: relative;\n  margin-left: 0.75em;\n}\n\n.ui.feed > .event > .content .meta > *:after {\n  content: '';\n  color: rgba(0, 0, 0, 0.2);\n  top: 0em;\n  left: -1em;\n  opacity: 1;\n  position: absolute;\n  vertical-align: top;\n}\n\n.ui.feed > .event > .content .meta .like {\n  color: '';\n  -webkit-transition: 0.2s color ease;\n  transition: 0.2s color ease;\n}\n\n.ui.feed > .event > .content .meta .like:hover .icon {\n  color: #FF2733;\n}\n\n.ui.feed > .event > .content .meta .active.like .icon {\n  color: #EF404A;\n}\n\n/* First element */\n\n.ui.feed > .event > .content .meta > :first-child {\n  margin-left: 0em;\n}\n\n.ui.feed > .event > .content .meta > :first-child::after {\n  display: none;\n}\n\n/* Action */\n\n.ui.feed > .event > .content .meta a,\n.ui.feed > .event > .content .meta > .icon {\n  cursor: pointer;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.5);\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.feed > .event > .content .meta a:hover,\n.ui.feed > .event > .content .meta a:hover .icon,\n.ui.feed > .event > .content .meta > .icon:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*******************************\n            Variations\n*******************************/\n\n.ui.small.feed {\n  font-size: 0.92857143rem;\n}\n\n.ui.feed {\n  font-size: 1rem;\n}\n\n.ui.large.feed {\n  font-size: 1.14285714rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em 0em;\n  width: 100%;\n  min-height: 0px;\n  background: transparent;\n  padding: 0em;\n  border: none;\n  border-radius: 0rem;\n  box-shadow: none;\n  -webkit-transition: box-shadow 0.1s ease;\n  transition: box-shadow 0.1s ease;\n  z-index: '';\n}\n\n.ui.items > .item a {\n  cursor: pointer;\n}\n\n/*--------------\n      Items\n---------------*/\n\n.ui.items {\n  margin: 1.5em 0em;\n}\n\n.ui.items:first-child {\n  margin-top: 0em !important;\n}\n\n.ui.items:last-child {\n  margin-bottom: 0em !important;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.items > .item:first-child {\n  margin-top: 0em;\n}\n\n.ui.items > .item:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.items > .item > .image {\n  position: relative;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  display: block;\n  float: none;\n  margin: 0em;\n  padding: 0em;\n  max-height: '';\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.items > .item > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: 0.125rem;\n  border: none;\n}\n\n.ui.items > .item > .image:only-child > img {\n  border-radius: 0rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.items > .item > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  background: none;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: none;\n  font-size: 1em;\n  border: none;\n  border-radius: 0em;\n}\n\n.ui.items > .item > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.items > .item > .image + .content {\n  min-width: 0;\n  width: auto;\n  display: block;\n  margin-left: 0em;\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n  padding-left: 1.5em;\n}\n\n.ui.items > .item > .content > .header {\n  display: inline-block;\n  margin: -0.21425em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n\n.ui.items > .item > .content > .header:not(.ui) {\n  font-size: 1.28571429em;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.items > .item [class*=\"left floated\"] {\n  float: left;\n}\n\n.ui.items > .item [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.items > .item .content img {\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n  width: '';\n}\n\n.ui.items > .item img.avatar,\n.ui.items > .item .avatar img {\n  width: '';\n  height: '';\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.items > .item > .content > .description {\n  margin-top: 0.6em;\n  max-width: auto;\n  font-size: 1em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.items > .item > .content p {\n  margin: 0em 0em 0.5em;\n}\n\n.ui.items > .item > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.items > .item .meta {\n  margin: 0.5em 0em 0.5em;\n  font-size: 1em;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.items > .item .meta * {\n  margin-right: 0.3em;\n}\n\n.ui.items > .item .meta :last-child {\n  margin-right: 0em;\n}\n\n.ui.items > .item .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n/* Generic */\n\n.ui.items > .item > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.items > .item > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n\n.ui.items > .item > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.items > .item > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n\n.ui.items > .item .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.items > .item .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Labels\n---------------*/\n\n/*-----Star----- */\n\n/* Icon */\n\n.ui.items > .item > .content .favorite.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.items > .item > .content .favorite.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n\n.ui.items > .item > .content .active.favorite.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n/* Icon */\n\n.ui.items > .item > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.items > .item > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n\n.ui.items > .item > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.items > .item .extra {\n  display: block;\n  position: relative;\n  background: none;\n  margin: 0.5rem 0em 0em;\n  width: 100%;\n  padding: 0em 0em 0em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n  border-top: none;\n}\n\n.ui.items > .item .extra > * {\n  margin: 0.25rem 0.5rem 0.25rem 0em;\n}\n\n.ui.items > .item .extra > [class*=\"right floated\"] {\n  margin: 0.25rem 0em 0.25rem 0.5rem;\n}\n\n.ui.items > .item .extra:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n/*******************************\n          Responsive\n*******************************/\n\n/* Default Image Width */\n\n.ui.items > .item > .image:not(.ui) {\n  width: 175px;\n}\n\n/* Tablet Only */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.items > .item {\n    margin: 1em 0em;\n  }\n\n  .ui.items > .item > .image:not(.ui) {\n    width: 150px;\n  }\n\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 0em 0em 0em 1em;\n  }\n}\n\n/* Mobily Only */\n\n@media only screen and (max-width: 767px) {\n  .ui.items > .item {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    margin: 2em 0em;\n  }\n\n  .ui.items > .item > .image {\n    display: block;\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  .ui.items > .item > .image,\n  .ui.items > .item > .image > img {\n    max-width: 100% !important;\n    width: auto !important;\n    max-height: 250px !important;\n  }\n\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 1.5em 0em 0em;\n  }\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.items > .item > .image + [class*=\"top aligned\"].content {\n  -webkit-align-self: flex-start;\n  -ms-flex-item-align: start;\n  align-self: flex-start;\n}\n\n.ui.items > .item > .image + [class*=\"middle aligned\"].content {\n  -webkit-align-self: center;\n  -ms-flex-item-align: center;\n  align-self: center;\n}\n\n.ui.items > .item > .image + [class*=\"bottom aligned\"].content {\n  -webkit-align-self: flex-end;\n  -ms-flex-item-align: end;\n  align-self: flex-end;\n}\n\n/*--------------\n     Relaxed\n---------------*/\n\n.ui.relaxed.items > .item {\n  margin: 1.5em 0em;\n}\n\n.ui[class*=\"very relaxed\"].items > .item {\n  margin: 2em 0em;\n}\n\n/*-------------------\n      Divided\n--------------------*/\n\n.ui.divided.items > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding: 1em 0em;\n}\n\n.ui.divided.items > .item:first-child {\n  border-top: none;\n  margin-top: 0em !important;\n  padding-top: 0em !important;\n}\n\n.ui.divided.items > .item:last-child {\n  margin-bottom: 0em !important;\n  padding-bottom: 0em !important;\n}\n\n/* Relaxed Divided */\n\n.ui.relaxed.divided.items > .item {\n  margin: 0em;\n  padding: 1.5em 0em;\n}\n\n.ui[class*=\"very relaxed\"].divided.items > .item {\n  margin: 0em;\n  padding: 2em 0em;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.items a.item:hover,\n.ui.link.items > .item:hover {\n  cursor: pointer;\n}\n\n.ui.items a.item:hover .content .header,\n.ui.link.items > .item:hover .content .header {\n  color: #1e70bf;\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.items > .item {\n  font-size: 1em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Statistic\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Statistic\n*******************************/\n\n/* Standalone */\n\n.ui.statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  margin: 1em 0em;\n  max-width: auto;\n}\n\n.ui.statistic + .ui.statistic {\n  margin: 0em 0em 0em 1.5em;\n}\n\n.ui.statistic:first-child {\n  margin-top: 0em;\n}\n\n.ui.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Group\n*******************************/\n\n/* Grouped */\n\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: start;\n  -webkit-align-items: flex-start;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n}\n\n.ui.statistics > .statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  margin: 0em 1.5em 2em;\n  max-width: auto;\n}\n\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em -1.5em -2em;\n}\n\n/* Clearing */\n\n.ui.statistics:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.statistics:first-child {\n  margin-top: 0em;\n}\n\n.ui.statistics:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/*--------------\n      Value\n---------------*/\n\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 4rem;\n  font-weight: normal;\n  line-height: 1em;\n  color: #1B1C1D;\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/*--------------\n     Label\n---------------*/\n\n.ui.statistics .statistic > .label,\n.ui.statistic > .label {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/* Top Label */\n\n.ui.statistics .statistic > .label ~ .value,\n.ui.statistic > .label ~ .value {\n  margin-top: 0rem;\n}\n\n/* Bottom Label */\n\n.ui.statistics .statistic > .value ~ .label,\n.ui.statistic > .value ~ .label {\n  margin-top: 0rem;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n   Icon Value\n---------------*/\n\n.ui.statistics .statistic > .value .icon,\n.ui.statistic > .value .icon {\n  opacity: 1;\n  width: auto;\n  margin: 0em;\n}\n\n/*--------------\n   Text Value\n---------------*/\n\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  line-height: 1em;\n  min-height: 2em;\n  font-weight: bold;\n  text-align: center;\n}\n\n.ui.statistics .statistic > .text.value + .label,\n.ui.statistic > .text.value + .label {\n  text-align: center;\n}\n\n/*--------------\n   Image Value\n---------------*/\n\n.ui.statistics .statistic > .value img,\n.ui.statistic > .value img {\n  max-height: 3rem;\n  vertical-align: baseline;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n      Count\n---------------*/\n\n.ui.ten.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.ten.statistics .statistic {\n  min-width: 10%;\n  margin: 0em 0em 2em;\n}\n\n.ui.nine.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.nine.statistics .statistic {\n  min-width: 11.11111111%;\n  margin: 0em 0em 2em;\n}\n\n.ui.eight.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.eight.statistics .statistic {\n  min-width: 12.5%;\n  margin: 0em 0em 2em;\n}\n\n.ui.seven.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.seven.statistics .statistic {\n  min-width: 14.28571429%;\n  margin: 0em 0em 2em;\n}\n\n.ui.six.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.six.statistics .statistic {\n  min-width: 16.66666667%;\n  margin: 0em 0em 2em;\n}\n\n.ui.five.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.five.statistics .statistic {\n  min-width: 20%;\n  margin: 0em 0em 2em;\n}\n\n.ui.four.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.four.statistics .statistic {\n  min-width: 25%;\n  margin: 0em 0em 2em;\n}\n\n.ui.three.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.three.statistics .statistic {\n  min-width: 33.33333333%;\n  margin: 0em 0em 2em;\n}\n\n.ui.two.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.two.statistics .statistic {\n  min-width: 50%;\n  margin: 0em 0em 2em;\n}\n\n.ui.one.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.one.statistics .statistic {\n  min-width: 100%;\n  margin: 0em 0em 2em;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.horizontal.statistics {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  margin: 0em;\n  max-width: none;\n}\n\n.ui.horizontal.statistics .statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  max-width: none;\n  margin: 1em 0em;\n}\n\n.ui.horizontal.statistic > .text.value,\n.ui.horizontal.statistics > .statistic > .text.value {\n  min-height: 0em !important;\n}\n\n.ui.horizontal.statistics .statistic > .value .icon,\n.ui.horizontal.statistic > .value .icon {\n  width: 1.18em;\n}\n\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  display: inline-block;\n  vertical-align: middle;\n}\n\n.ui.horizontal.statistics .statistic > .label,\n.ui.horizontal.statistic > .label {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0em 0em 0em 0.75em;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.red.statistics .statistic > .value,\n.ui.statistics .red.statistic > .value,\n.ui.red.statistic > .value {\n  color: #DB2828;\n}\n\n.ui.orange.statistics .statistic > .value,\n.ui.statistics .orange.statistic > .value,\n.ui.orange.statistic > .value {\n  color: #F2711C;\n}\n\n.ui.yellow.statistics .statistic > .value,\n.ui.statistics .yellow.statistic > .value,\n.ui.yellow.statistic > .value {\n  color: #FBBD08;\n}\n\n.ui.olive.statistics .statistic > .value,\n.ui.statistics .olive.statistic > .value,\n.ui.olive.statistic > .value {\n  color: #B5CC18;\n}\n\n.ui.green.statistics .statistic > .value,\n.ui.statistics .green.statistic > .value,\n.ui.green.statistic > .value {\n  color: #21BA45;\n}\n\n.ui.teal.statistics .statistic > .value,\n.ui.statistics .teal.statistic > .value,\n.ui.teal.statistic > .value {\n  color: #00B5AD;\n}\n\n.ui.blue.statistics .statistic > .value,\n.ui.statistics .blue.statistic > .value,\n.ui.blue.statistic > .value {\n  color: #2185D0;\n}\n\n.ui.violet.statistics .statistic > .value,\n.ui.statistics .violet.statistic > .value,\n.ui.violet.statistic > .value {\n  color: #6435C9;\n}\n\n.ui.purple.statistics .statistic > .value,\n.ui.statistics .purple.statistic > .value,\n.ui.purple.statistic > .value {\n  color: #A333C8;\n}\n\n.ui.pink.statistics .statistic > .value,\n.ui.statistics .pink.statistic > .value,\n.ui.pink.statistic > .value {\n  color: #E03997;\n}\n\n.ui.brown.statistics .statistic > .value,\n.ui.statistics .brown.statistic > .value,\n.ui.brown.statistic > .value {\n  color: #A5673F;\n}\n\n.ui.grey.statistics .statistic > .value,\n.ui.statistics .grey.statistic > .value,\n.ui.grey.statistic > .value {\n  color: #767676;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.statistics .statistic > .value,\n.ui.inverted.statistic .value {\n  color: #FFFFFF;\n}\n\n.ui.inverted.statistics .statistic > .label,\n.ui.inverted.statistic .label {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.red.statistics .statistic > .value,\n.ui.statistics .inverted.red.statistic > .value,\n.ui.inverted.red.statistic > .value {\n  color: #FF695E;\n}\n\n.ui.inverted.orange.statistics .statistic > .value,\n.ui.statistics .inverted.orange.statistic > .value,\n.ui.inverted.orange.statistic > .value {\n  color: #FF851B;\n}\n\n.ui.inverted.yellow.statistics .statistic > .value,\n.ui.statistics .inverted.yellow.statistic > .value,\n.ui.inverted.yellow.statistic > .value {\n  color: #FFE21F;\n}\n\n.ui.inverted.olive.statistics .statistic > .value,\n.ui.statistics .inverted.olive.statistic > .value,\n.ui.inverted.olive.statistic > .value {\n  color: #D9E778;\n}\n\n.ui.inverted.green.statistics .statistic > .value,\n.ui.statistics .inverted.green.statistic > .value,\n.ui.inverted.green.statistic > .value {\n  color: #2ECC40;\n}\n\n.ui.inverted.teal.statistics .statistic > .value,\n.ui.statistics .inverted.teal.statistic > .value,\n.ui.inverted.teal.statistic > .value {\n  color: #6DFFFF;\n}\n\n.ui.inverted.blue.statistics .statistic > .value,\n.ui.statistics .inverted.blue.statistic > .value,\n.ui.inverted.blue.statistic > .value {\n  color: #54C8FF;\n}\n\n.ui.inverted.violet.statistics .statistic > .value,\n.ui.statistics .inverted.violet.statistic > .value,\n.ui.inverted.violet.statistic > .value {\n  color: #A291FB;\n}\n\n.ui.inverted.purple.statistics .statistic > .value,\n.ui.statistics .inverted.purple.statistic > .value,\n.ui.inverted.purple.statistic > .value {\n  color: #DC73FF;\n}\n\n.ui.inverted.pink.statistics .statistic > .value,\n.ui.statistics .inverted.pink.statistic > .value,\n.ui.inverted.pink.statistic > .value {\n  color: #FF8EDF;\n}\n\n.ui.inverted.brown.statistics .statistic > .value,\n.ui.statistics .inverted.brown.statistic > .value,\n.ui.inverted.brown.statistic > .value {\n  color: #D67C1C;\n}\n\n.ui.inverted.grey.statistics .statistic > .value,\n.ui.statistics .inverted.grey.statistic > .value,\n.ui.inverted.grey.statistic > .value {\n  color: #DCDDDE;\n}\n\n/*--------------\n    Floated\n---------------*/\n\n.ui[class*=\"left floated\"].statistic {\n  float: left;\n  margin: 0em 2em 1em 0em;\n}\n\n.ui[class*=\"right floated\"].statistic {\n  float: right;\n  margin: 0em 0em 1em 2em;\n}\n\n.ui.floated.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n/* Mini */\n\n.ui.mini.statistics .statistic > .value,\n.ui.mini.statistic > .value {\n  font-size: 1.5rem;\n}\n\n.ui.mini.horizontal.statistics .statistic > .value,\n.ui.mini.horizontal.statistic > .value {\n  font-size: 1.5rem;\n}\n\n.ui.mini.statistics .statistic > .text.value,\n.ui.mini.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Tiny */\n\n.ui.tiny.statistics .statistic > .value,\n.ui.tiny.statistic > .value {\n  font-size: 2rem;\n}\n\n.ui.tiny.horizontal.statistics .statistic > .value,\n.ui.tiny.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n\n.ui.tiny.statistics .statistic > .text.value,\n.ui.tiny.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Small */\n\n.ui.small.statistics .statistic > .value,\n.ui.small.statistic > .value {\n  font-size: 3rem;\n}\n\n.ui.small.horizontal.statistics .statistic > .value,\n.ui.small.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n\n.ui.small.statistics .statistic > .text.value,\n.ui.small.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Medium */\n\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-size: 4rem;\n}\n\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  font-size: 3rem;\n}\n\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  font-size: 2rem;\n}\n\n/* Large */\n\n.ui.large.statistics .statistic > .value,\n.ui.large.statistic > .value {\n  font-size: 5rem;\n}\n\n.ui.large.horizontal.statistics .statistic > .value,\n.ui.large.horizontal.statistic > .value {\n  font-size: 4rem;\n}\n\n.ui.large.statistics .statistic > .text.value,\n.ui.large.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n/* Huge */\n\n.ui.huge.statistics .statistic > .value,\n.ui.huge.statistic > .value {\n  font-size: 6rem;\n}\n\n.ui.huge.horizontal.statistics .statistic > .value,\n.ui.huge.horizontal.statistic > .value {\n  font-size: 5rem;\n}\n\n.ui.huge.statistics .statistic > .text.value,\n.ui.huge.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Accordion\n*******************************/\n\n.ui.accordion,\n.ui.accordion .accordion {\n  max-width: 100%;\n}\n\n.ui.accordion .accordion {\n  margin: 1em 0em 0em;\n  padding: 0em;\n}\n\n/* Title */\n\n.ui.accordion .title,\n.ui.accordion .accordion .title {\n  cursor: pointer;\n}\n\n/* Default Styling */\n\n.ui.accordion .title:not(.ui) {\n  padding: 0.5em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Content */\n\n.ui.accordion .title ~ .content,\n.ui.accordion .accordion .title ~ .content {\n  display: none;\n}\n\n/* Default Styling */\n\n.ui.accordion:not(.styled) .title ~ .content:not(.ui),\n.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {\n  margin: '';\n  padding: 0.5em 0em 1em;\n}\n\n.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {\n  padding-bottom: 0em;\n}\n\n/* Arrow */\n\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  display: inline-block;\n  float: none;\n  opacity: 1;\n  width: 1.25em;\n  height: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n  padding: 0em;\n  font-size: 1em;\n  -webkit-transition: -webkit-transform 0.1s ease, opacity 0.1s ease;\n  transition: transform 0.1s ease, opacity 0.1s ease;\n  vertical-align: baseline;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n/* Menu */\n\n.ui.accordion.menu .item .title {\n  display: block;\n  padding: 0em;\n}\n\n.ui.accordion.menu .item .title > .dropdown.icon {\n  float: right;\n  margin: 0.21425em 0em 0em 1em;\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n\n/* Header */\n\n.ui.accordion .ui.header .dropdown.icon {\n  font-size: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.accordion .active.title .dropdown.icon,\n.ui.accordion .accordion .active.title .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n\n.ui.accordion.menu .item .active.title > .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Styled\n---------------*/\n\n.ui.styled.accordion {\n  width: 600px;\n}\n\n.ui.styled.accordion,\n.ui.styled.accordion .accordion {\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15);\n}\n\n.ui.styled.accordion .title,\n.ui.styled.accordion .accordion .title {\n  margin: 0em;\n  padding: 0.75em 1em;\n  color: rgba(0, 0, 0, 0.4);\n  font-weight: bold;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n  transition: background 0.1s ease, color 0.1s ease;\n}\n\n.ui.styled.accordion > .title:first-child,\n.ui.styled.accordion .accordion .title:first-child {\n  border-top: none;\n}\n\n/* Content */\n\n.ui.styled.accordion .content,\n.ui.styled.accordion .accordion .content {\n  margin: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n\n.ui.styled.accordion .accordion .content {\n  padding: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n\n/* Hover */\n\n.ui.styled.accordion .title:hover,\n.ui.styled.accordion .active.title,\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Active */\n\n.ui.styled.accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n     Active\n---------------*/\n\n.ui.accordion .active.content,\n.ui.accordion .accordion .active.content {\n  display: block;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.accordion,\n.ui.fluid.accordion .accordion {\n  width: 100%;\n}\n\n/*--------------\n     Inverted\n---------------*/\n\n.ui.inverted.accordion .title:not(.ui) {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Accordion';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n/* Dropdown Icon */\n\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  font-family: Accordion;\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n.ui.accordion .title .dropdown.icon:before,\n.ui.accordion .accordion .title .dropdown.icon:before {\n  content: '\\f0da' ;\n}\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Checkbox\n*******************************/\n\n/*--------------\n    Content\n---------------*/\n\n.ui.checkbox {\n  position: relative;\n  display: inline-block;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  outline: none;\n  vertical-align: baseline;\n  font-style: normal;\n  min-height: 17px;\n  font-size: 1rem;\n  line-height: 17px;\n  min-width: 17px;\n}\n\n/* HTML Checkbox */\n\n.ui.checkbox input[type=\"checkbox\"],\n.ui.checkbox input[type=\"radio\"] {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  opacity: 0 !important;\n  outline: none;\n  z-index: 3;\n  width: 17px;\n  height: 17px;\n}\n\n/*--------------\n      Box\n---------------*/\n\n.ui.checkbox .box,\n.ui.checkbox label {\n  cursor: auto;\n  position: relative;\n  display: block;\n  padding-left: 1.85714em;\n  outline: none;\n  font-size: 1em;\n}\n\n.ui.checkbox .box:before,\n.ui.checkbox label:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  content: '';\n  background: #FFFFFF;\n  border-radius: 0.21428571rem;\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n  border: 1px solid #D4D4D5;\n}\n\n/*--------------\n    Checkmark\n---------------*/\n\n.ui.checkbox .box:after,\n.ui.checkbox label:after {\n  position: absolute;\n  font-size: 14px;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  text-align: center;\n  opacity: 0;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n}\n\n/*--------------\n      Label\n---------------*/\n\n/* Inside */\n\n.ui.checkbox label,\n.ui.checkbox + label {\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n/* Outside */\n\n.ui.checkbox + label {\n  vertical-align: middle;\n}\n\n/*******************************\n           States\n*******************************/\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.checkbox .box:hover::before,\n.ui.checkbox label:hover::before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox label:hover,\n.ui.checkbox + label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.checkbox .box:active::before,\n.ui.checkbox label:active::before {\n  background: #F9FAFB;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox .box:active::after,\n.ui.checkbox label:active::after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.checkbox input:active ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Focus\n---------------*/\n\n.ui.checkbox input:focus ~ .box:before,\n.ui.checkbox input:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n\n.ui.checkbox input:focus ~ .box:after,\n.ui.checkbox input:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.checkbox input:focus ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.checkbox input:checked ~ .box:before,\n.ui.checkbox input:checked ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Indeterminate\n---------------*/\n\n.ui.checkbox input:indeterminate ~ .box:before,\n.ui.checkbox input:indeterminate ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Active Focus\n---------------*/\n\n.ui.checkbox input:indeterminate:focus ~ .box:before,\n.ui.checkbox input:indeterminate:focus ~ label:before,\n.ui.checkbox input:checked:focus ~ .box:before,\n.ui.checkbox input:checked:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n\n.ui.checkbox input:indeterminate:focus ~ .box:after,\n.ui.checkbox input:indeterminate:focus ~ label:after,\n.ui.checkbox input:checked:focus ~ .box:after,\n.ui.checkbox input:checked:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n    Read-Only\n---------------*/\n\n.ui.read-only.checkbox,\n.ui.read-only.checkbox label {\n  cursor: default;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.disabled.checkbox .box:after,\n.ui.disabled.checkbox label,\n.ui.checkbox input[disabled] ~ .box:after,\n.ui.checkbox input[disabled] ~ label {\n  cursor: default;\n  opacity: 0.5;\n  color: #000000;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n/* Initialized checkbox moves input below element\n to prevent manually triggering */\n\n.ui.checkbox input.hidden {\n  z-index: -1;\n}\n\n/* Selectable Label */\n\n.ui.checkbox input.hidden + label {\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n     Radio\n---------------*/\n\n.ui.radio.checkbox {\n  min-height: 15px;\n}\n\n.ui.radio.checkbox .box,\n.ui.radio.checkbox label {\n  padding-left: 1.85714em;\n}\n\n/* Box */\n\n.ui.radio.checkbox .box:before,\n.ui.radio.checkbox label:before {\n  content: '';\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  top: 1px;\n  left: 0px;\n}\n\n/* Bullet */\n\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  border: none;\n  content: '' !important;\n  width: 15px;\n  height: 15px;\n  line-height: 15px;\n}\n\n/* Radio Checkbox */\n\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  top: 1px;\n  left: 0px;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  -webkit-transform: scale(0.46666667);\n  -ms-transform: scale(0.46666667);\n  transform: scale(0.46666667);\n  background-color: rgba(0, 0, 0, 0.87);\n}\n\n/* Focus */\n\n.ui.radio.checkbox input:focus ~ .box:before,\n.ui.radio.checkbox input:focus ~ label:before {\n  background-color: #FFFFFF;\n}\n\n.ui.radio.checkbox input:focus ~ .box:after,\n.ui.radio.checkbox input:focus ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Indeterminate */\n\n.ui.radio.checkbox input:indeterminate ~ .box:after,\n.ui.radio.checkbox input:indeterminate ~ label:after {\n  opacity: 0;\n}\n\n/* Active */\n\n.ui.radio.checkbox input:checked ~ .box:before,\n.ui.radio.checkbox input:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n\n.ui.radio.checkbox input:checked ~ .box:after,\n.ui.radio.checkbox input:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Focus */\n\n.ui.radio.checkbox input:focus:checked ~ .box:before,\n.ui.radio.checkbox input:focus:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n\n.ui.radio.checkbox input:focus:checked ~ .box:after,\n.ui.radio.checkbox input:focus:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Slider\n---------------*/\n\n.ui.slider.checkbox {\n  min-height: 1.25rem;\n}\n\n/* Input */\n\n.ui.slider.checkbox input {\n  width: 3.5rem;\n  height: 1.25rem;\n}\n\n/* Label */\n\n.ui.slider.checkbox .box,\n.ui.slider.checkbox label {\n  padding-left: 4.5rem;\n  line-height: 1rem;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Line */\n\n.ui.slider.checkbox .box:before,\n.ui.slider.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  border: none !important;\n  left: 0em;\n  z-index: 1;\n  top: 0.4rem;\n  background-color: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 0.21428571rem;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease;\n  transition: background 0.3s ease;\n}\n\n/* Handle */\n\n.ui.slider.checkbox .box:after,\n.ui.slider.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: -0.25rem;\n  left: 0em;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  border-radius: 500rem;\n  -webkit-transition: left 0.3s ease;\n  transition: left 0.3s ease;\n}\n\n/* Focus */\n\n.ui.slider.checkbox input:focus ~ .box:before,\n.ui.slider.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n\n.ui.slider.checkbox .box:hover,\n.ui.slider.checkbox label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.slider.checkbox .box:hover::before,\n.ui.slider.checkbox label:hover::before {\n  background: rgba(0, 0, 0, 0.15);\n}\n\n/* Active */\n\n.ui.slider.checkbox input:checked ~ .box,\n.ui.slider.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.slider.checkbox input:checked ~ .box:before,\n.ui.slider.checkbox input:checked ~ label:before {\n  background-color: #545454 !important;\n}\n\n.ui.slider.checkbox input:checked ~ .box:after,\n.ui.slider.checkbox input:checked ~ label:after {\n  left: 2rem;\n}\n\n/* Active Focus */\n\n.ui.slider.checkbox input:focus:checked ~ .box,\n.ui.slider.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.slider.checkbox input:focus:checked ~ .box:before,\n.ui.slider.checkbox input:focus:checked ~ label:before {\n  background-color: #000000 !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n.ui.toggle.checkbox {\n  min-height: 1.5rem;\n}\n\n/* Input */\n\n.ui.toggle.checkbox input {\n  width: 3.5rem;\n  height: 1.5rem;\n}\n\n/* Label */\n\n.ui.toggle.checkbox .box,\n.ui.toggle.checkbox label {\n  min-height: 1.5rem;\n  padding-left: 4.5rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.toggle.checkbox label {\n  padding-top: 0.15em;\n}\n\n/* Switch */\n\n.ui.toggle.checkbox .box:before,\n.ui.toggle.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  z-index: 1;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  border: none;\n  top: 0rem;\n  background: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 1.5rem;\n  border-radius: 500rem;\n}\n\n/* Handle */\n\n.ui.toggle.checkbox .box:after,\n.ui.toggle.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: 0rem;\n  left: 0em;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease, left 0.3s ease;\n  transition: background 0.3s ease, left 0.3s ease;\n}\n\n.ui.toggle.checkbox input ~ .box:after,\n.ui.toggle.checkbox input ~ label:after {\n  left: -0.05rem;\n}\n\n/* Focus */\n\n.ui.toggle.checkbox input:focus ~ .box:before,\n.ui.toggle.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n\n.ui.toggle.checkbox .box:hover::before,\n.ui.toggle.checkbox label:hover::before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Active */\n\n.ui.toggle.checkbox input:checked ~ .box,\n.ui.toggle.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.toggle.checkbox input:checked ~ .box:before,\n.ui.toggle.checkbox input:checked ~ label:before {\n  background-color: #2185D0 !important;\n}\n\n.ui.toggle.checkbox input:checked ~ .box:after,\n.ui.toggle.checkbox input:checked ~ label:after {\n  left: 2.15rem;\n}\n\n/* Active Focus */\n\n.ui.toggle.checkbox input:focus:checked ~ .box,\n.ui.toggle.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.toggle.checkbox input:focus:checked ~ .box:before,\n.ui.toggle.checkbox input:focus:checked ~ label:before {\n  background-color: #0d71bb !important;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.checkbox .box,\n.ui.fitted.checkbox label {\n  padding-left: 0em !important;\n}\n\n.ui.fitted.toggle.checkbox,\n.ui.fitted.toggle.checkbox {\n  width: 3.5rem;\n}\n\n.ui.fitted.slider.checkbox,\n.ui.fitted.slider.checkbox {\n  width: 3.5rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Checkbox';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('truetype');\n}\n\n/* Checkmark */\n\n.ui.checkbox label:after,\n.ui.checkbox .box:after {\n  font-family: 'Checkbox';\n}\n\n/* Checked */\n\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  content: '\\e800';\n}\n\n/* Indeterminate */\n\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  font-size: 12px;\n  content: '\\e801';\n}\n\n/*  UTF Reference\n.check:before { content: '\\e800'; }\n.dash:before  { content: '\\e801'; }\n.plus:before { content: '\\e802'; }\n*/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Dimmer\n*******************************/\n\n.dimmable {\n  position: relative;\n}\n\n.ui.dimmer {\n  display: none;\n  position: absolute;\n  top: 0em !important;\n  left: 0em !important;\n  width: 100%;\n  height: 100%;\n  text-align: center;\n  vertical-align: middle;\n  background-color: rgba(0, 0, 0, 0.85);\n  opacity: 0;\n  line-height: 1;\n  -webkit-animation-fill-mode: both;\n  animation-fill-mode: both;\n  -webkit-animation-duration: 0.5s;\n  animation-duration: 0.5s;\n  -webkit-transition: background-color 0.5s linear;\n  transition: background-color 0.5s linear;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/* Dimmer Content */\n\n.ui.dimmer > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n\n.ui.dimmer > .content > * {\n  display: table-cell;\n  vertical-align: middle;\n  color: #FFFFFF;\n}\n\n/* Loose Coupling */\n\n.ui.segment > .ui.dimmer {\n  border-radius: inherit !important;\n}\n\n/*******************************\n            States\n*******************************/\n\n.animating.dimmable:not(body),\n.dimmed.dimmable:not(body) {\n  overflow: hidden;\n}\n\n.dimmed.dimmable > .ui.animating.dimmer,\n.dimmed.dimmable > .ui.visible.dimmer,\n.ui.active.dimmer {\n  display: block;\n  opacity: 1;\n}\n\n.ui.disabled.dimmer {\n  width: 0 !important;\n  height: 0 !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n      Page\n---------------*/\n\n.ui.page.dimmer {\n  position: fixed;\n  -webkit-transform-style: '';\n  transform-style: '';\n  -webkit-perspective: 2000px;\n  perspective: 2000px;\n  -webkit-transform-origin: center center;\n  -ms-transform-origin: center center;\n  transform-origin: center center;\n}\n\nbody.animating.in.dimmable,\nbody.dimmed.dimmable {\n  overflow: hidden;\n}\n\nbody.dimmable > .dimmer {\n  position: fixed;\n}\n\n/*--------------\n    Blurring\n---------------*/\n\n.blurring.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(0px) grayscale(0);\n  filter: blur(0px) grayscale(0);\n  -webkit-transition: 800ms -webkit-filter ease, 800ms filter ease;\n  transition: 800ms filter ease;\n}\n\n.blurring.dimmed.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(5px) grayscale(0.7);\n  filter: blur(5px) grayscale(0.7);\n}\n\n/* Dimmer Color */\n\n.blurring.dimmable > .dimmer {\n  background-color: rgba(0, 0, 0, 0.6);\n}\n\n.blurring.dimmable > .inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.6);\n}\n\n/*--------------\n    Aligned\n---------------*/\n\n.ui.dimmer > .top.aligned.content > * {\n  vertical-align: top;\n}\n\n.ui.dimmer > .bottom.aligned.content > * {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n\n.ui.inverted.dimmer > .content > * {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Simple\n---------------*/\n\n/* Displays without javascript */\n\n.ui.simple.dimmer {\n  display: block;\n  overflow: hidden;\n  opacity: 1;\n  width: 0%;\n  height: 0%;\n  z-index: -100;\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.dimmed.dimmable > .ui.simple.dimmer {\n  overflow: visible;\n  opacity: 1;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.85);\n  z-index: 1;\n}\n\n.ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0);\n}\n\n.dimmed.dimmable > .ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Dropdown\n*******************************/\n\n.ui.dropdown {\n  cursor: pointer;\n  position: relative;\n  display: inline-block;\n  outline: none;\n  text-align: left;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n  transition: box-shadow 0.1s ease, width 0.1s ease;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/*******************************\n            Content\n*******************************/\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.dropdown .menu {\n  cursor: auto;\n  position: absolute;\n  display: none;\n  outline: none;\n  top: 100%;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  margin: 0em;\n  padding: 0em 0em;\n  background: #FFFFFF;\n  font-size: 1em;\n  text-shadow: none;\n  text-align: left;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n  z-index: 11;\n  will-change: transform, opacity;\n}\n\n.ui.dropdown .menu > * {\n  white-space: nowrap;\n}\n\n/*--------------\n  Hidden Input\n---------------*/\n\n.ui.dropdown > input:not(.search):first-child,\n.ui.dropdown > select {\n  display: none !important;\n}\n\n/*--------------\n Dropdown Icon\n---------------*/\n\n.ui.dropdown > .dropdown.icon {\n  position: relative;\n  width: auto;\n  font-size: 0.85714286em;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.dropdown .menu > .item .dropdown.icon {\n  width: auto;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.dropdown .menu > .item .dropdown.icon + .text {\n  margin-right: 1em;\n}\n\n/*--------------\n      Text\n---------------*/\n\n.ui.dropdown > .text {\n  display: inline-block;\n  -webkit-transition: none;\n  transition: none;\n}\n\n/*--------------\n    Menu Item\n---------------*/\n\n.ui.dropdown .menu > .item {\n  position: relative;\n  cursor: pointer;\n  display: block;\n  border: none;\n  height: auto;\n  text-align: left;\n  border-top: none;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571rem 1.14285714rem !important;\n  font-size: 1rem;\n  text-transform: none;\n  font-weight: normal;\n  box-shadow: none;\n  -webkit-touch-callout: none;\n}\n\n.ui.dropdown .menu > .item:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Floated Content\n---------------*/\n\n.ui.dropdown > .text > [class*=\"right floated\"],\n.ui.dropdown .menu .item > [class*=\"right floated\"] {\n  float: right !important;\n  margin-right: 0em !important;\n  margin-left: 1em !important;\n}\n\n.ui.dropdown > .text > [class*=\"left floated\"],\n.ui.dropdown .menu .item > [class*=\"left floated\"] {\n  float: left !important;\n  margin-left: 0em !important;\n  margin-right: 1em !important;\n}\n\n.ui.dropdown .menu .item > .icon.floated,\n.ui.dropdown .menu .item > .flag.floated,\n.ui.dropdown .menu .item > .image.floated,\n.ui.dropdown .menu .item > img.floated {\n  margin-top: 0em;\n}\n\n/*--------------\n  Menu Divider\n---------------*/\n\n.ui.dropdown .menu > .header {\n  margin: 1rem 0rem 0.75rem;\n  padding: 0em 1.14285714rem;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.78571429em;\n  font-weight: bold;\n  text-transform: uppercase;\n}\n\n.ui.dropdown .menu > .divider {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  height: 0em;\n  margin: 0.5em 0em;\n}\n\n.ui.dropdown .menu > .input {\n  width: auto;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1.14285714rem 0.71428571rem;\n  min-width: 10rem;\n}\n\n.ui.dropdown .menu > .header + .input {\n  margin-top: 0em;\n}\n\n.ui.dropdown .menu > .input:not(.transparent) input {\n  padding: 0.5em 1em;\n}\n\n.ui.dropdown .menu > .input:not(.transparent) .button,\n.ui.dropdown .menu > .input:not(.transparent) .icon,\n.ui.dropdown .menu > .input:not(.transparent) .label {\n  padding-top: 0.5em;\n  padding-bottom: 0.5em;\n}\n\n/*-----------------\n  Item Description\n-------------------*/\n\n.ui.dropdown > .text > .description,\n.ui.dropdown .menu > .item > .description {\n  float: right;\n  margin: 0em 0em 0em 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*-----------------\n       Message\n-------------------*/\n\n.ui.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n  font-weight: normal;\n}\n\n.ui.dropdown .menu > .message:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n    Sub Menu\n---------------*/\n\n.ui.dropdown .menu .menu {\n  top: 0% !important;\n  left: 100% !important;\n  right: auto !important;\n  margin: 0em 0em 0em -0.5em !important;\n  border-radius: 0.28571429rem !important;\n  z-index: 21 !important;\n}\n\n/* Hide Arrow */\n\n.ui.dropdown .menu .menu:after {\n  display: none;\n}\n\n/*--------------\n   Sub Elements\n---------------*/\n\n/* Icons / Flags / Labels / Image */\n\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image {\n  margin-top: 0em;\n}\n\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-top: 0em;\n}\n\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-left: 0em;\n  float: none;\n  margin-right: 0.71428571rem;\n}\n\n/*--------------\n     Image\n---------------*/\n\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  display: inline-block;\n  vertical-align: middle;\n  width: auto;\n  max-height: 2em;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n/*--------------\n      Menu\n---------------*/\n\n/* Remove Menu Item Divider */\n\n.ui.dropdown .ui.menu > .item:before,\n.ui.menu .ui.dropdown .menu > .item:before {\n  display: none;\n}\n\n/* Prevent Menu Item Border */\n\n.ui.menu .ui.dropdown .menu .active.item {\n  border-left: none;\n}\n\n/* Automatically float dropdown menu right on last menu item */\n\n.ui.menu .right.menu .dropdown:last-child .menu,\n.ui.menu .right.dropdown.item .menu,\n.ui.buttons > .ui.dropdown:last-child .menu {\n  left: auto;\n  right: 0em;\n}\n\n/*--------------\n      Label\n---------------*/\n\n/* Dropdown Menu */\n\n.ui.label.dropdown .menu {\n  min-width: 100%;\n}\n\n/*--------------\n     Button\n---------------*/\n\n/* No Margin On Icon Button */\n\n.ui.dropdown.icon.button > .dropdown.icon {\n  margin: 0em;\n}\n\n.ui.button.dropdown .menu {\n  min-width: 100%;\n}\n\n/*******************************\n              Types\n*******************************/\n\n/*--------------\n    Selection\n---------------*/\n\n/* Displays like a select box */\n\n.ui.selection.dropdown {\n  cursor: pointer;\n  word-wrap: break-word;\n  line-height: 1em;\n  white-space: normal;\n  outline: 0;\n  -webkit-transform: rotateZ(0deg);\n  transform: rotateZ(0deg);\n  min-width: 14em;\n  min-height: 2.7142em;\n  background: #FFFFFF;\n  display: inline-block;\n  padding: 0.78571429em 2.6em 0.78571429em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n  transition: box-shadow 0.1s ease, width 0.1s ease;\n}\n\n.ui.selection.dropdown.visible,\n.ui.selection.dropdown.active {\n  z-index: 10;\n}\n\nselect.ui.dropdown {\n  height: 38px;\n  padding: 0.5em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  visibility: visible;\n}\n\n.ui.selection.dropdown > .search.icon,\n.ui.selection.dropdown > .delete.icon,\n.ui.selection.dropdown > .dropdown.icon {\n  cursor: pointer;\n  position: absolute;\n  top: auto;\n  width: auto;\n  z-index: 3;\n  margin: -0.78571429em;\n  padding: 0.78571429em;\n  right: 1em;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n/* Compact */\n\n.ui.compact.selection.dropdown {\n  min-width: 0px;\n}\n\n/*  Selection Menu */\n\n.ui.selection.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  border-top-width: 0px !important;\n  width: auto;\n  outline: none;\n  margin: 0px -1px;\n  min-width: calc(100% +  2px );\n  width: calc(100% +  2px );\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n.ui.selection.dropdown .menu:after,\n.ui.selection.dropdown .menu:before {\n  display: none;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.selection.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.selection.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.selection.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.selection.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.selection.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/* Menu Item */\n\n.ui.selection.dropdown .menu > .item {\n  border-top: 1px solid #FAFAFA;\n  padding: 0.71428571rem 1.14285714rem !important;\n  white-space: normal;\n  word-wrap: normal;\n}\n\n/* Hover */\n\n.ui.selection.dropdown:hover {\n  border-color: rgba(34, 36, 38, 0.35);\n  box-shadow: none;\n}\n\n/* Active */\n\n.ui.selection.active.dropdown {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n.ui.selection.active.dropdown .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Focus */\n\n.ui.selection.dropdown:focus {\n  border-color: #96C8DA;\n  box-shadow: none;\n}\n\n.ui.selection.dropdown:focus .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible */\n\n.ui.selection.visible.dropdown > .text:not(.default) {\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Visible Hover */\n\n.ui.selection.active.dropdown:hover {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n.ui.selection.active.dropdown:hover .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Dropdown Icon */\n\n.ui.active.selection.dropdown > .dropdown.icon,\n.ui.visible.selection.dropdown > .dropdown.icon {\n  opacity: 1;\n  z-index: 3;\n}\n\n/* Connecting Border */\n\n.ui.active.selection.dropdown {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n\n/*--------------\n   Searchable\n---------------*/\n\n/* Search Selection */\n\n.ui.search.dropdown {\n  min-width: '';\n}\n\n/* Search Dropdown */\n\n.ui.search.dropdown > input.search {\n  background: none transparent !important;\n  border: none !important;\n  box-shadow: none !important;\n  cursor: pointer;\n  top: 0em;\n  left: 0em;\n  width: 100%;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: inherit;\n}\n\n/* Text Layering */\n\n.ui.search.dropdown > input.search {\n  position: absolute;\n  z-index: 2;\n}\n\n.ui.search.dropdown > .text {\n  cursor: text;\n  position: relative;\n  z-index: 3;\n}\n\n/* Search Selection */\n\n.ui.search.selection.dropdown > input.search {\n  line-height: 1.2142em;\n  padding: 0.67861429em 2.6em 0.67861429em 1em;\n}\n\n/* Active/Visible Search */\n\n.ui.search.dropdown.active > input.search,\n.ui.search.dropdown.visible > input.search {\n  cursor: auto;\n}\n\n.ui.search.dropdown.active > .text,\n.ui.search.dropdown.visible > .text {\n  pointer-events: none;\n}\n\n/* Filtered Text */\n\n.ui.active.search.dropdown input.search:focus + .text .icon,\n.ui.active.search.dropdown input.search:focus + .text .flag {\n  opacity: 0.45;\n}\n\n.ui.active.search.dropdown input.search:focus + .text {\n  color: rgba(0, 0, 0, 0.4) !important;\n}\n\n/* Search Menu */\n\n.ui.search.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.search.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.search.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.search.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.search.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/*--------------\n    Multiple\n---------------*/\n\n/* Multiple Selection */\n\n.ui.multiple.dropdown {\n  padding: 0.22620476em 2.6em 0.22620476em 0.28571429em;\n}\n\n.ui.multiple.dropdown .menu {\n  cursor: auto;\n}\n\n/* Multiple Search Selection */\n\n.ui.multiple.search.dropdown,\n.ui.multiple.search.dropdown > input.search {\n  cursor: text;\n}\n\n/* Selection Label */\n\n.ui.multiple.dropdown > .label {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  display: inline-block;\n  vertical-align: top;\n  white-space: normal;\n  font-size: 1em;\n  padding: 0.35714286em 0.71428571em;\n  margin: 0.21428571em 0.28571429rem 0.21428571em 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n\n/* Dropdown Icon */\n\n.ui.multiple.dropdown .dropdown.icon {\n  margin: 0em -0.71428571em 0em 0em;\n  padding: 0.5em;\n}\n\n/* Text */\n\n.ui.multiple.dropdown > .text {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n\n.ui.multiple.dropdown > .label ~ .text {\n  display: none;\n}\n\n/*-----------------\n  Multiple Search\n-----------------*/\n\n/* Prompt Text */\n\n.ui.multiple.search.dropdown > .text {\n  display: inline-block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  padding: inherit;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n\n.ui.multiple.search.dropdown > .label ~ .text {\n  display: none;\n}\n\n/* Search */\n\n.ui.multiple.search.dropdown > input.search {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  width: 2.2em;\n  line-height: 1.2142em;\n}\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.dropdown {\n  cursor: pointer;\n  display: inline-block;\n  color: inherit;\n}\n\n.ui.inline.dropdown .dropdown.icon {\n  margin: 0em 0.5em 0em 0.25em;\n  vertical-align: baseline;\n}\n\n.ui.inline.dropdown > .text {\n  font-weight: bold;\n}\n\n.ui.inline.dropdown .menu {\n  cursor: auto;\n  margin-top: 0.25em;\n  border-radius: 0.28571429rem;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n        Active\n----------------------*/\n\n/* Menu Item Active */\n\n.ui.dropdown .menu .active.item {\n  background: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n  z-index: 12;\n}\n\n/*--------------------\n        Hover\n----------------------*/\n\n/* Menu Item Hover */\n\n.ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  z-index: 13;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n/* Positioning */\n\n.ui.loading.dropdown > i.icon:before,\n.ui.loading.dropdown > i.icon:after {\n  left: 30% !important;\n}\n\n.ui.loading.dropdown > i.icon {\n  top: 50% !important;\n}\n\n.ui.multiple.loading.dropdown > i.icon:before,\n.ui.multiple.loading.dropdown > i.icon:after {\n  top: 0% !important;\n  left: 0% !important;\n}\n\n.ui.loading.dropdown > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.loading.dropdown > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  box-shadow: 0px 0px 0px 1px transparent;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: dropdown-spin 0.6s linear;\n  animation: dropdown-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n}\n\n/* Coupling */\n\n.ui.loading.dropdown.button > i.icon:before,\n.ui.loading.dropdown.button > i.icon:after {\n  display: none;\n}\n\n@-webkit-keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*--------------------\n     Default Text\n----------------------*/\n\n.ui.dropdown > .default.text,\n.ui.default.dropdown > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n\n.ui.dropdown:hover > .default.text,\n.ui.default.dropdown:hover > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n\n/*--------------------\n        Loading\n----------------------*/\n\n.ui.loading.dropdown > .text {\n  -webkit-transition: none;\n  transition: none;\n}\n\n/* Used To Check Position */\n\n.ui.dropdown .loading.menu {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n\n/*--------------------\n    Keyboard Select\n----------------------*/\n\n/* Selected Item */\n\n.ui.dropdown.selected,\n.ui.dropdown .menu .selected.item {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n    Search Filtered\n----------------------*/\n\n/* Filtered Item */\n\n.ui.dropdown > .filtered.text {\n  visibility: hidden;\n}\n\n.ui.dropdown .filtered.item {\n  display: none !important;\n}\n\n/*--------------------\n        Error\n----------------------*/\n\n.ui.dropdown.error,\n.ui.dropdown.error > .text,\n.ui.dropdown.error > .default.text {\n  color: #9F3A38;\n}\n\n.ui.selection.dropdown.error {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n\n.ui.selection.dropdown.error:hover {\n  border-color: #E0B4B4;\n}\n\n.ui.dropdown.error > .menu,\n.ui.dropdown.error > .menu .menu {\n  border-color: #E0B4B4;\n}\n\n.ui.dropdown.error > .menu > .item {\n  color: #9F3A38;\n}\n\n.ui.multiple.selection.error.dropdown > .label {\n  border-color: #E0B4B4;\n}\n\n/* Item Hover */\n\n.ui.dropdown.error > .menu > .item:hover {\n  background-color: #FFF2F2;\n}\n\n/* Item Active */\n\n.ui.dropdown.error > .menu .active.item {\n  background-color: #FDCFCF;\n}\n\n/*--------------------\n        Disabled\n----------------------*/\n\n/* Disabled */\n\n.ui.disabled.dropdown,\n.ui.dropdown .menu > .disabled.item {\n  cursor: default;\n  pointer-events: none;\n  opacity: 0.45;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Direction\n---------------*/\n\n/* Flyout Direction */\n\n.ui.dropdown .menu {\n  left: 0px;\n}\n\n/* Default Side (Right) */\n\n.ui.dropdown .right.menu > .menu,\n.ui.dropdown .menu .right.menu {\n  left: 100% !important;\n  right: auto !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/* Left Flyout Menu */\n\n.ui.dropdown > .left.menu .menu,\n.ui.dropdown .menu .left.menu {\n  left: auto !important;\n  right: 100% !important;\n  border-radius: 0.28571429rem !important;\n}\n\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n\n.ui.dropdown .item .left.dropdown.icon + .text,\n.ui.dropdown .left.menu .item .dropdown.icon + .text {\n  margin-left: 1em;\n}\n\n/*--------------\n     Upward\n---------------*/\n\n/* Upward Main Menu */\n\n.ui.upward.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Upward Sub Menu */\n\n.ui.dropdown .upward.menu {\n  top: auto !important;\n  bottom: 0 !important;\n}\n\n/* Active Upward */\n\n.ui.simple.upward.active.dropdown,\n.ui.simple.upward.dropdown:hover {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n}\n\n.ui.upward.dropdown.button:not(.pointing):not(.floating).active {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Selection */\n\n.ui.upward.selection.dropdown .menu {\n  border-top-width: 1px !important;\n  border-bottom-width: 0px !important;\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n\n.ui.upward.selection.dropdown:hover {\n  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);\n}\n\n/* Active Upward */\n\n.ui.active.upward.selection.dropdown {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Upward */\n\n.ui.upward.selection.dropdown.visible {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Hover Upward */\n\n.ui.upward.active.selection.dropdown:hover {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05);\n}\n\n.ui.upward.active.selection.dropdown:hover .menu {\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n\n/*--------------\n     Simple\n---------------*/\n\n/*  Selection Menu */\n\n.ui.scrolling.dropdown .menu,\n.ui.dropdown .scrolling.menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.ui.scrolling.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  min-width: 100% !important;\n  width: auto !important;\n}\n\n.ui.dropdown .scrolling.menu {\n  position: static;\n  overflow-y: auto;\n  border: none;\n  box-shadow: none !important;\n  border-radius: 0 !important;\n  margin: 0 !important;\n  min-width: 100% !important;\n  width: auto !important;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.scrolling.dropdown .menu .item.item.item,\n.ui.dropdown .scrolling.menu > .item.item.item {\n  border-top: none;\n  padding-right: calc( 1.14285714rem  +  17px ) !important;\n}\n\n.ui.scrolling.dropdown .menu .item:first-child,\n.ui.dropdown .scrolling.menu .item:first-child {\n  border-top: none;\n}\n\n.ui.dropdown > .animating.menu .scrolling.menu,\n.ui.dropdown > .visible.menu .scrolling.menu {\n  display: block;\n}\n\n/* Scrollbar in IE */\n\n@media all and (-ms-high-contrast: none) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    min-width: calc(100% -  17px );\n  }\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 9.71428571rem;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 14.57142857rem;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n\n/*--------------\n     Simple\n---------------*/\n\n/* Displays without javascript */\n\n.ui.simple.dropdown .menu:before,\n.ui.simple.dropdown .menu:after {\n  display: none;\n}\n\n.ui.simple.dropdown .menu {\n  position: absolute;\n  display: block;\n  overflow: hidden;\n  top: -9999px !important;\n  opacity: 0;\n  width: 0;\n  height: 0;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n.ui.simple.active.dropdown,\n.ui.simple.dropdown:hover {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n\n.ui.simple.active.dropdown > .menu,\n.ui.simple.dropdown:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 100% !important;\n  opacity: 1;\n}\n\n.ui.simple.dropdown > .menu > .item:active > .menu,\n.ui.simple.dropdown:hover > .menu > .item:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 0% !important;\n  left: 100% !important;\n  opacity: 1;\n}\n\n.ui.simple.disabled.dropdown:hover .menu {\n  display: none;\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n}\n\n/* Visible */\n\n.ui.simple.visible.dropdown > .menu {\n  display: block;\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n.ui.fluid.dropdown {\n  display: block;\n  width: 100%;\n  min-width: 0em;\n}\n\n.ui.fluid.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.dropdown .menu {\n  left: 0;\n  right: auto;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important;\n  border-radius: 0.28571429rem !important;\n}\n\n.ui.floating.dropdown > .menu {\n  margin-top: 0.5em !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Pointing\n---------------*/\n\n.ui.pointing.dropdown > .menu {\n  top: 100%;\n  margin-top: 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n\n.ui.pointing.dropdown > .menu:after {\n  display: block;\n  position: absolute;\n  pointer-events: none;\n  content: '';\n  visibility: visible;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\n  background: #FFFFFF;\n  z-index: 2;\n}\n\n.ui.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 50%;\n  margin: 0em 0em 0em -0.25em;\n}\n\n/* Top Left Pointing */\n\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n\n.ui.top.left.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 1em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n}\n\n/* Top Right  Pointing */\n\n.ui.top.right.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  right: 0%;\n  left: auto;\n  margin: 1em 0em 0em;\n}\n\n.ui.top.right.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: auto;\n  right: 1em;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n}\n\n/* Left Pointing */\n\n.ui.left.pointing.dropdown > .menu {\n  top: 0%;\n  left: 100%;\n  right: auto;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.left.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(-45deg);\n  -ms-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n\n/* Right Pointing */\n\n.ui.right.pointing.dropdown > .menu {\n  top: 0%;\n  left: auto;\n  right: 100%;\n  margin: 0em 1em 0em 0em;\n}\n\n.ui.right.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: auto;\n  right: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(135deg);\n  -ms-transform: rotate(135deg);\n  transform: rotate(135deg);\n}\n\n/* Bottom Pointing */\n\n.ui.bottom.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  left: 0%;\n  right: auto;\n  margin: 0em 0em 1em;\n}\n\n.ui.bottom.pointing.dropdown > .menu:after {\n  top: auto;\n  bottom: -0.25em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(-135deg);\n  -ms-transform: rotate(-135deg);\n  transform: rotate(-135deg);\n}\n\n/* Reverse Sub-Menu Direction */\n\n.ui.bottom.pointing.dropdown > .menu .menu {\n  top: auto !important;\n  bottom: 0px !important;\n}\n\n/* Bottom Left */\n\n.ui.bottom.left.pointing.dropdown > .menu {\n  left: 0%;\n  right: auto;\n}\n\n.ui.bottom.left.pointing.dropdown > .menu:after {\n  left: 1em;\n  right: auto;\n}\n\n/* Bottom Right */\n\n.ui.bottom.right.pointing.dropdown > .menu {\n  right: 0%;\n  left: auto;\n}\n\n.ui.bottom.right.pointing.dropdown > .menu:after {\n  left: auto;\n  right: 1em;\n}\n\n/* Upward pointing */\n\n.ui.upward.pointing.dropdown > .menu,\n.ui.upward.top.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  margin: 0em 0em 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n\n.ui.upward.pointing.dropdown > .menu:after,\n.ui.upward.top.pointing.dropdown > .menu:after {\n  top: 100%;\n  bottom: auto;\n  box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15);\n  margin: -0.25em 0em 0em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/* Dropdown Carets */\n\n@font-face {\n  font-family: 'Dropdown';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.ui.dropdown > .dropdown.icon {\n  font-family: 'Dropdown';\n  line-height: 1;\n  height: 1em;\n  width: 1.23em;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n.ui.dropdown > .dropdown.icon {\n  width: auto;\n}\n\n.ui.dropdown > .dropdown.icon:before {\n  content: '\\f0d7';\n}\n\n/* Sub Menu */\n\n.ui.dropdown .menu .item .dropdown.icon:before {\n  content: '\\f0da' ;\n}\n\n.ui.dropdown .item .left.dropdown.icon:before,\n.ui.dropdown .left.menu .item .dropdown.icon:before {\n  content: \"\\f0d9\" ;\n}\n\n/* Vertical Menu Dropdown */\n\n.ui.vertical.menu .dropdown.item > .dropdown.icon:before {\n  content: \"\\f0da\" ;\n}\n\n/* Icons for Reference\n.dropdown.down.icon {\n  content: \"\\f0d7\";\n}\n.dropdown.up.icon {\n  content: \"\\f0d8\";\n}\n.dropdown.left.icon {\n  content: \"\\f0d9\";\n}\n.dropdown.icon.icon {\n  content: \"\\f0da\";\n}\n*/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Types\n*******************************/\n\n.ui.embed {\n  position: relative;\n  max-width: 100%;\n  height: 0px;\n  overflow: hidden;\n  background: #DCDDDE;\n  padding-bottom: 56.25%;\n}\n\n/*-----------------\n  Embedded Content\n------------------*/\n\n.ui.embed iframe,\n.ui.embed embed,\n.ui.embed object {\n  position: absolute;\n  border: none;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  margin: 0em;\n  padding: 0em;\n}\n\n/*-----------------\n      Embed\n------------------*/\n\n.ui.embed > .embed {\n  display: none;\n}\n\n/*--------------\n   Placeholder\n---------------*/\n\n.ui.embed > .placeholder {\n  position: absolute;\n  cursor: pointer;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.embed > .icon {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n  z-index: 2;\n}\n\n.ui.embed > .icon:after {\n  position: absolute;\n  top: 0%;\n  left: 0%;\n  width: 100%;\n  height: 100%;\n  z-index: 3;\n  content: '';\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 0.5;\n  -webkit-transition: opacity 0.5s ease;\n  transition: opacity 0.5s ease;\n}\n\n.ui.embed > .icon:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 4;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n  color: #FFFFFF;\n  font-size: 6rem;\n  text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2);\n  -webkit-transition: opacity 0.5s ease, color 0.5s ease;\n  transition: opacity 0.5s ease, color 0.5s ease;\n  z-index: 10;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n     Hover\n---------------*/\n\n.ui.embed .icon:hover:after {\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 1;\n}\n\n.ui.embed .icon:hover:before {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.embed > .icon,\n.ui.active.embed > .placeholder {\n  display: none;\n}\n\n.ui.active.embed > .embed {\n  display: block;\n}\n\n/*******************************\n        Video Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.square.embed {\n  padding-bottom: 100%;\n}\n\n.ui[class*=\"4:3\"].embed {\n  padding-bottom: 75%;\n}\n\n.ui[class*=\"16:9\"].embed {\n  padding-bottom: 56.25%;\n}\n\n.ui[class*=\"21:9\"].embed {\n  padding-bottom: 42.85714286%;\n}\n/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Modal\n*******************************/\n\n.ui.modal {\n  display: none;\n  position: fixed;\n  z-index: 1001;\n  top: 50%;\n  left: 50%;\n  text-align: left;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);\n  -webkit-transform-origin: 50% 25%;\n  -ms-transform-origin: 50% 25%;\n  transform-origin: 50% 25%;\n  border-radius: 0.28571429rem;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n  will-change: top, left, margin, transform, opacity;\n}\n\n.ui.modal > :first-child:not(.icon),\n.ui.modal > .icon:first-child + * {\n  border-top-left-radius: 0.28571429rem;\n  border-top-right-radius: 0.28571429rem;\n}\n\n.ui.modal > :last-child {\n  border-bottom-left-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/*--------------\n     Close\n---------------*/\n\n.ui.modal > .close {\n  cursor: pointer;\n  position: absolute;\n  top: -2.5rem;\n  right: -2.5rem;\n  z-index: 1;\n  opacity: 0.8;\n  font-size: 1.25em;\n  color: #FFFFFF;\n  width: 2.25rem;\n  height: 2.25rem;\n  padding: 0.625rem 0rem 0rem 0rem;\n}\n\n.ui.modal > .close:hover {\n  opacity: 1;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.modal > .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  margin: 0em;\n  padding: 1.25rem 1.5rem;\n  box-shadow: none;\n  color: rgba(0, 0, 0, 0.85);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.modal > .header:not(.ui) {\n  font-size: 1.42857143rem;\n  line-height: 1.2857em;\n  font-weight: bold;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.modal > .content {\n  display: block;\n  width: 100%;\n  font-size: 1em;\n  line-height: 1.4;\n  padding: 1.5rem;\n  background: #FFFFFF;\n}\n\n.ui.modal > .image.content {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n/* Image */\n\n.ui.modal > .content > .image {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  width: '';\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.modal > [class*=\"top aligned\"] {\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.modal > [class*=\"middle aligned\"] {\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n}\n\n.ui.modal > [class*=\"stretched\"] {\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n}\n\n/* Description */\n\n.ui.modal > .content > .description {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  min-width: 0px;\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.modal > .content > .icon + .description,\n.ui.modal > .content > .image + .description {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  min-width: '';\n  width: auto;\n  padding-left: 2em;\n}\n\n/*rtl:ignore*/\n\n.ui.modal > .content > .image > i.icon {\n  margin: 0em;\n  opacity: 1;\n  width: auto;\n  line-height: 1;\n  font-size: 8rem;\n}\n\n/*--------------\n     Actions\n---------------*/\n\n.ui.modal > .actions {\n  background: #F9FAFB;\n  padding: 1rem 1rem;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  text-align: right;\n}\n\n.ui.modal .actions > .button {\n  margin-left: 0.75em;\n}\n\n/*-------------------\n       Responsive\n--------------------*/\n\n/* Modal Width */\n\n@media only screen and (max-width: 767px) {\n  .ui.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.modal {\n    width: 850px;\n    margin: 0em 0em 0em -425px;\n  }\n}\n\n@media only screen and (min-width: 1200px) {\n  .ui.modal {\n    width: 900px;\n    margin: 0em 0em 0em -450px;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.modal {\n    width: 950px;\n    margin: 0em 0em 0em -475px;\n  }\n}\n\n/* Tablet and Mobile */\n\n@media only screen and (max-width: 991px) {\n  .ui.modal > .header {\n    padding-right: 2.25rem;\n  }\n\n  .ui.modal > .close {\n    top: 1.0535rem;\n    right: 1rem;\n    color: rgba(0, 0, 0, 0.87);\n  }\n}\n\n/* Mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.modal > .header {\n    padding: 0.75rem 1rem !important;\n    padding-right: 2.25rem !important;\n  }\n\n  .ui.modal > .content {\n    display: block;\n    padding: 1rem !important;\n  }\n\n  .ui.modal > .close {\n    top: 0.5rem !important;\n    right: 0.5rem !important;\n  }\n\n  /*rtl:ignore*/\n\n  .ui.modal .image.content {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  .ui.modal .content > .image {\n    display: block;\n    max-width: 100%;\n    margin: 0em auto !important;\n    text-align: center;\n    padding: 0rem 0rem 1rem !important;\n  }\n\n  .ui.modal > .content > .image > i.icon {\n    font-size: 5rem;\n    text-align: center;\n  }\n\n  /*rtl:ignore*/\n\n  .ui.modal .content > .description {\n    display: block;\n    width: 100% !important;\n    margin: 0em !important;\n    padding: 1rem 0rem !important;\n    box-shadow: none;\n  }\n\n  /* Let Buttons Stack */\n\n  .ui.modal > .actions {\n    padding: 1rem 1rem 0rem !important;\n  }\n\n  .ui.modal .actions > .buttons,\n  .ui.modal .actions > .button {\n    margin-bottom: 1rem;\n  }\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.inverted.dimmer > .ui.modal {\n  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);\n}\n\n/*******************************\n             Types\n*******************************/\n\n.ui.basic.modal {\n  background-color: transparent;\n  border: none;\n  border-radius: 0em;\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.basic.modal > .header,\n.ui.basic.modal > .content,\n.ui.basic.modal > .actions {\n  background-color: transparent;\n}\n\n.ui.basic.modal > .header {\n  color: #FFFFFF;\n}\n\n.ui.basic.modal > .close {\n  top: 1rem;\n  right: 1.5rem;\n}\n\n.ui.inverted.dimmer > .basic.modal {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.inverted.dimmer > .ui.basic.modal > .header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Tablet and Mobile */\n\n@media only screen and (max-width: 991px) {\n  .ui.basic.modal > .close {\n    color: #FFFFFF;\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\n.ui.active.modal {\n  display: block;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Scrolling\n---------------*/\n\n/* A modal that cannot fit on the page */\n\n.scrolling.dimmable.dimmed {\n  overflow: hidden;\n}\n\n.scrolling.dimmable.dimmed > .dimmer {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scrolling.dimmable > .dimmer {\n  position: fixed;\n}\n\n.modals.dimmer .ui.scrolling.modal {\n  position: static !important;\n  margin: 3.5rem auto !important;\n}\n\n/* undetached scrolling */\n\n.scrolling.undetached.dimmable.dimmed {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scrolling.undetached.dimmable.dimmed > .dimmer {\n  overflow: hidden;\n}\n\n.scrolling.undetached.dimmable .ui.scrolling.modal {\n  position: absolute;\n  left: 50%;\n  margin-top: 3.5rem !important;\n}\n\n/* Coupling with Sidebar */\n\n.undetached.dimmable.dimmed > .pusher {\n  z-index: auto;\n}\n\n@media only screen and (max-width: 991px) {\n  .modals.dimmer .ui.scrolling.modal {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n}\n\n/*--------------\n   Full Screen\n---------------*/\n\n.ui.fullscreen.modal {\n  width: 95% !important;\n  left: 2.5% !important;\n  margin: 1em auto;\n}\n\n.ui.fullscreen.scrolling.modal {\n  left: 0em !important;\n}\n\n.ui.fullscreen.modal > .header {\n  padding-right: 2.25rem;\n}\n\n.ui.fullscreen.modal > .close {\n  top: 1.0535rem;\n  right: 1rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.modal {\n  font-size: 1rem;\n}\n\n/* Small */\n\n.ui.small.modal > .header:not(.ui) {\n  font-size: 1.3em;\n}\n\n/* Small Modal Width */\n\n@media only screen and (max-width: 767px) {\n  .ui.small.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.small.modal {\n    width: 70.4%;\n    margin: 0em 0em 0em -35.2%;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.small.modal {\n    width: 680px;\n    margin: 0em 0em 0em -340px;\n  }\n}\n\n@media only screen and (min-width: 1200px) {\n  .ui.small.modal {\n    width: 720px;\n    margin: 0em 0em 0em -360px;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.small.modal {\n    width: 760px;\n    margin: 0em 0em 0em -380px;\n  }\n}\n\n/* Large Modal Width */\n\n.ui.large.modal > .header {\n  font-size: 1.6em;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.large.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.large.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.large.modal {\n    width: 1020px;\n    margin: 0em 0em 0em -510px;\n  }\n}\n\n@media only screen and (min-width: 1200px) {\n  .ui.large.modal {\n    width: 1080px;\n    margin: 0em 0em 0em -540px;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.large.modal {\n    width: 1140px;\n    margin: 0em 0em 0em -570px;\n  }\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Nag\n*******************************/\n\n.ui.nag {\n  display: none;\n  opacity: 0.95;\n  position: relative;\n  top: 0em;\n  left: 0px;\n  z-index: 999;\n  min-height: 0em;\n  width: 100%;\n  margin: 0em;\n  padding: 0.75em 1em;\n  background: #555555;\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);\n  font-size: 1rem;\n  text-align: center;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  -webkit-transition: 0.2s background ease;\n  transition: 0.2s background ease;\n}\n\na.ui.nag {\n  cursor: pointer;\n}\n\n.ui.nag > .title {\n  display: inline-block;\n  margin: 0em 0.5em;\n  color: #FFFFFF;\n}\n\n.ui.nag > .close.icon {\n  cursor: pointer;\n  opacity: 0.4;\n  position: absolute;\n  top: 50%;\n  right: 1em;\n  font-size: 1em;\n  margin: -0.5em 0em 0em;\n  color: #FFFFFF;\n  -webkit-transition: opacity 0.2s ease;\n  transition: opacity 0.2s ease;\n}\n\n/*******************************\n             States\n*******************************/\n\n/* Hover */\n\n.ui.nag:hover {\n  background: #555555;\n  opacity: 1;\n}\n\n.ui.nag .close:hover {\n  opacity: 1;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Static\n---------------*/\n\n.ui.overlay.nag {\n  position: absolute;\n  display: block;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.nag {\n  position: fixed;\n}\n\n/*--------------\n     Bottom\n---------------*/\n\n.ui.bottom.nags,\n.ui.bottom.nag {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  top: auto;\n  bottom: 0em;\n}\n\n/*--------------\n     White\n---------------*/\n\n.ui.inverted.nags .nag,\n.ui.inverted.nag {\n  background-color: #F3F4F5;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.inverted.nags .nag .close,\n.ui.inverted.nags .nag .title,\n.ui.inverted.nag .close,\n.ui.inverted.nag .title {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*******************************\n           Groups\n*******************************/\n\n.ui.nags .nag {\n  border-radius: 0em !important;\n}\n\n.ui.nags .nag:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.bottom.nags .nag:last-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Popup\n*******************************/\n\n.ui.popup {\n  display: none;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  /* Fixes content being squished when inline (moz only) */\n  min-width: -webkit-min-content;\n  min-width: -moz-min-content;\n  min-width: min-content;\n  z-index: 1900;\n  border: 1px solid #D4D4D5;\n  line-height: 1.4285em;\n  max-width: 250px;\n  background: #FFFFFF;\n  padding: 0.833em 1em;\n  font-weight: normal;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n.ui.popup > .header {\n  padding: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.125em;\n  line-height: 1.2;\n  font-weight: bold;\n}\n\n.ui.popup > .header + .content {\n  padding-top: 0.5em;\n}\n\n.ui.popup:before {\n  position: absolute;\n  content: '';\n  width: 0.75em;\n  height: 0.75em;\n  background: #FFFFFF;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n  z-index: 2;\n  box-shadow: 1px 1px 0px 0px #bababc;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Spacing\n---------------*/\n\n.ui.popup {\n  margin: 0em;\n}\n\n/* Extending from Top */\n\n.ui.top.popup {\n  margin: 0em 0em 0.75em;\n}\n\n.ui.top.left.popup {\n  -webkit-transform-origin: left bottom;\n  -ms-transform-origin: left bottom;\n  transform-origin: left bottom;\n}\n\n.ui.top.center.popup {\n  -webkit-transform-origin: center bottom;\n  -ms-transform-origin: center bottom;\n  transform-origin: center bottom;\n}\n\n.ui.top.right.popup {\n  -webkit-transform-origin: right bottom;\n  -ms-transform-origin: right bottom;\n  transform-origin: right bottom;\n}\n\n/* Extending from Vertical Center */\n\n.ui.left.center.popup {\n  margin: 0em 0.75em 0em 0em;\n  -webkit-transform-origin: right 50%;\n  -ms-transform-origin: right 50%;\n  transform-origin: right 50%;\n}\n\n.ui.right.center.popup {\n  margin: 0em 0em 0em 0.75em;\n  -webkit-transform-origin: left 50%;\n  -ms-transform-origin: left 50%;\n  transform-origin: left 50%;\n}\n\n/* Extending from Bottom */\n\n.ui.bottom.popup {\n  margin: 0.75em 0em 0em;\n}\n\n.ui.bottom.left.popup {\n  -webkit-transform-origin: left top;\n  -ms-transform-origin: left top;\n  transform-origin: left top;\n}\n\n.ui.bottom.center.popup {\n  -webkit-transform-origin: center top;\n  -ms-transform-origin: center top;\n  transform-origin: center top;\n}\n\n.ui.bottom.right.popup {\n  -webkit-transform-origin: right top;\n  -ms-transform-origin: right top;\n  transform-origin: right top;\n}\n\n/*--------------\n     Pointer\n---------------*/\n\n/*--- Below ---*/\n\n.ui.bottom.center.popup:before {\n  margin-left: -0.325em;\n  top: -0.325em;\n  left: 50%;\n  right: auto;\n  bottom: auto;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n.ui.bottom.left.popup {\n  margin-left: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.bottom.left.popup:before {\n  top: -0.325em;\n  left: 1em;\n  right: auto;\n  bottom: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n.ui.bottom.right.popup {\n  margin-right: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.bottom.right.popup:before {\n  top: -0.325em;\n  right: 1em;\n  bottom: auto;\n  left: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n/*--- Above ---*/\n\n.ui.top.center.popup:before {\n  top: auto;\n  right: auto;\n  bottom: -0.325em;\n  left: 50%;\n  margin-left: -0.325em;\n}\n\n.ui.top.left.popup {\n  margin-left: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.top.left.popup:before {\n  bottom: -0.325em;\n  left: 1em;\n  top: auto;\n  right: auto;\n  margin-left: 0em;\n}\n\n.ui.top.right.popup {\n  margin-right: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.top.right.popup:before {\n  bottom: -0.325em;\n  right: 1em;\n  top: auto;\n  left: auto;\n  margin-left: 0em;\n}\n\n/*--- Left Center ---*/\n\n/*rtl:rename*/\n\n.ui.left.center.popup:before {\n  top: 50%;\n  right: -0.325em;\n  bottom: auto;\n  left: auto;\n  margin-top: -0.325em;\n  box-shadow: 1px -1px 0px 0px #bababc;\n}\n\n/*--- Right Center  ---*/\n\n/*rtl:rename*/\n\n.ui.right.center.popup:before {\n  top: 50%;\n  left: -0.325em;\n  bottom: auto;\n  right: auto;\n  margin-top: -0.325em;\n  box-shadow: -1px 1px 0px 0px #bababc;\n}\n\n/* Arrow Color By Location */\n\n.ui.bottom.popup:before {\n  background: #FFFFFF;\n}\n\n.ui.right.center.popup:before,\n.ui.left.center.popup:before {\n  background: #FFFFFF;\n}\n\n.ui.top.popup:before {\n  background: #FFFFFF;\n}\n\n/* Inverted Arrow Color */\n\n.ui.inverted.bottom.popup:before {\n  background: #1B1C1D;\n}\n\n.ui.inverted.right.center.popup:before,\n.ui.inverted.left.center.popup:before {\n  background: #1B1C1D;\n}\n\n.ui.inverted.top.popup:before {\n  background: #1B1C1D;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n/* Immediate Nested Grid */\n\n.ui.popup > .ui.grid:not(.padded) {\n  width: calc(100% + 1.75rem);\n  margin: -0.7rem -0.875rem;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.loading.popup {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n\n.ui.animating.popup,\n.ui.visible.popup {\n  display: block;\n}\n\n.ui.visible.popup {\n  -webkit-transform: translateZ(0px);\n  transform: translateZ(0px);\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n     Basic\n---------------*/\n\n.ui.basic.popup:before {\n  display: none;\n}\n\n/*--------------\n     Wide\n---------------*/\n\n.ui.wide.popup {\n  max-width: 350px;\n}\n\n.ui[class*=\"very wide\"].popup {\n  max-width: 550px;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.wide.popup,\n  .ui[class*=\"very wide\"].popup {\n    max-width: 250px;\n  }\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.popup {\n  width: 100%;\n  max-width: none;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n/* Inverted colors  */\n\n.ui.inverted.popup {\n  background: #1B1C1D;\n  color: #FFFFFF;\n  border: none;\n  box-shadow: none;\n}\n\n.ui.inverted.popup .header {\n  background-color: none;\n  color: #FFFFFF;\n}\n\n.ui.inverted.popup:before {\n  background-color: #1B1C1D;\n  box-shadow: none !important;\n}\n\n/*--------------\n     Flowing\n---------------*/\n\n.ui.flowing.popup {\n  max-width: none;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.popup {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.popup {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.popup {\n  font-size: 0.92857143rem;\n}\n\n.ui.popup {\n  font-size: 1rem;\n}\n\n.ui.large.popup {\n  font-size: 1.14285714rem;\n}\n\n.ui.huge.popup {\n  font-size: 1.42857143rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Progress Bar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Progress\n*******************************/\n\n.ui.progress {\n  position: relative;\n  display: block;\n  max-width: 100%;\n  border: none;\n  margin: 1em 0em 2.5em;\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.1);\n  padding: 0em;\n  border-radius: 0.28571429rem;\n}\n\n.ui.progress:first-child {\n  margin: 0em 0em 2.5em;\n}\n\n.ui.progress:last-child {\n  margin: 0em 0em 1.5em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* Activity Bar */\n\n.ui.progress .bar {\n  display: block;\n  line-height: 1;\n  position: relative;\n  width: 0%;\n  min-width: 2em;\n  background: #888888;\n  border-radius: 0.28571429rem;\n  -webkit-transition: width 0.1s ease, background-color 0.1s ease;\n  transition: width 0.1s ease, background-color 0.1s ease;\n}\n\n/* Percent Complete */\n\n.ui.progress .bar > .progress {\n  white-space: nowrap;\n  position: absolute;\n  width: auto;\n  font-size: 0.92857143em;\n  top: 50%;\n  right: 0.5em;\n  left: auto;\n  bottom: auto;\n  color: rgba(255, 255, 255, 0.7);\n  text-shadow: none;\n  margin-top: -0.5em;\n  font-weight: bold;\n  text-align: left;\n}\n\n/* Label */\n\n.ui.progress > .label {\n  position: absolute;\n  width: 100%;\n  font-size: 1em;\n  top: 100%;\n  right: auto;\n  left: 0%;\n  bottom: auto;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-shadow: none;\n  margin-top: 0.2em;\n  text-align: center;\n  -webkit-transition: color 0.4s ease;\n  transition: color 0.4s ease;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/* Indicating */\n\n.ui.indicating.progress[data-percent^=\"1\"] .bar,\n.ui.indicating.progress[data-percent^=\"2\"] .bar {\n  background-color: #D95C5C;\n}\n\n.ui.indicating.progress[data-percent^=\"3\"] .bar {\n  background-color: #EFBC72;\n}\n\n.ui.indicating.progress[data-percent^=\"4\"] .bar,\n.ui.indicating.progress[data-percent^=\"5\"] .bar {\n  background-color: #E6BB48;\n}\n\n.ui.indicating.progress[data-percent^=\"6\"] .bar {\n  background-color: #DDC928;\n}\n\n.ui.indicating.progress[data-percent^=\"7\"] .bar,\n.ui.indicating.progress[data-percent^=\"8\"] .bar {\n  background-color: #B4D95C;\n}\n\n.ui.indicating.progress[data-percent^=\"9\"] .bar,\n.ui.indicating.progress[data-percent^=\"100\"] .bar {\n  background-color: #66DA81;\n}\n\n/* Indicating Label */\n\n.ui.indicating.progress[data-percent^=\"1\"] .label,\n.ui.indicating.progress[data-percent^=\"2\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"3\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"4\"] .label,\n.ui.indicating.progress[data-percent^=\"5\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"6\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"7\"] .label,\n.ui.indicating.progress[data-percent^=\"8\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"9\"] .label,\n.ui.indicating.progress[data-percent^=\"100\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Single Digits */\n\n.ui.indicating.progress[data-percent=\"1\"] .bar,\n.ui.indicating.progress[data-percent=\"2\"] .bar,\n.ui.indicating.progress[data-percent=\"3\"] .bar,\n.ui.indicating.progress[data-percent=\"4\"] .bar,\n.ui.indicating.progress[data-percent=\"5\"] .bar,\n.ui.indicating.progress[data-percent=\"6\"] .bar,\n.ui.indicating.progress[data-percent=\"7\"] .bar,\n.ui.indicating.progress[data-percent=\"8\"] .bar,\n.ui.indicating.progress[data-percent=\"9\"] .bar {\n  background-color: #D95C5C;\n}\n\n.ui.indicating.progress[data-percent=\"1\"] .label,\n.ui.indicating.progress[data-percent=\"2\"] .label,\n.ui.indicating.progress[data-percent=\"3\"] .label,\n.ui.indicating.progress[data-percent=\"4\"] .label,\n.ui.indicating.progress[data-percent=\"5\"] .label,\n.ui.indicating.progress[data-percent=\"6\"] .label,\n.ui.indicating.progress[data-percent=\"7\"] .label,\n.ui.indicating.progress[data-percent=\"8\"] .label,\n.ui.indicating.progress[data-percent=\"9\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Indicating Success */\n\n.ui.indicating.progress.success .label {\n  color: #1A531B;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n     Success\n---------------*/\n\n.ui.progress.success .bar {\n  background-color: #21BA45 !important;\n}\n\n.ui.progress.success .bar,\n.ui.progress.success .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n.ui.progress.success > .label {\n  color: #1A531B;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.progress.warning .bar {\n  background-color: #F2C037 !important;\n}\n\n.ui.progress.warning .bar,\n.ui.progress.warning .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n.ui.progress.warning > .label {\n  color: #794B02;\n}\n\n/*--------------\n     Error\n---------------*/\n\n.ui.progress.error .bar {\n  background-color: #DB2828 !important;\n}\n\n.ui.progress.error .bar,\n.ui.progress.error .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n.ui.progress.error > .label {\n  color: #912D2B;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.progress .bar {\n  position: relative;\n  min-width: 2em;\n}\n\n.ui.active.progress .bar::after {\n  content: '';\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  right: 0px;\n  bottom: 0px;\n  background: #FFFFFF;\n  border-radius: 0.28571429rem;\n  -webkit-animation: progress-active 2s ease infinite;\n  animation: progress-active 2s ease infinite;\n}\n\n@-webkit-keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n\n@keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.progress {\n  opacity: 0.35;\n}\n\n.ui.disabled.progress .bar,\n.ui.disabled.progress .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.progress {\n  background: rgba(255, 255, 255, 0.08);\n  border: none;\n}\n\n.ui.inverted.progress .bar {\n  background: #888888;\n}\n\n.ui.inverted.progress .bar > .progress {\n  color: #F9FAFB;\n}\n\n.ui.inverted.progress > .label {\n  color: #FFFFFF;\n}\n\n.ui.inverted.progress.success > .label {\n  color: #21BA45;\n}\n\n.ui.inverted.progress.warning > .label {\n  color: #F2C037;\n}\n\n.ui.inverted.progress.error > .label {\n  color: #DB2828;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n/* bottom attached */\n\n.ui.progress.attached {\n  background: transparent;\n  position: relative;\n  border: none;\n  margin: 0em;\n}\n\n.ui.progress.attached,\n.ui.progress.attached .bar {\n  display: block;\n  height: 0.2rem;\n  padding: 0px;\n  overflow: hidden;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.progress.attached .bar {\n  border-radius: 0em;\n}\n\n/* top attached */\n\n.ui.progress.top.attached,\n.ui.progress.top.attached .bar {\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.progress.top.attached .bar {\n  border-radius: 0em;\n}\n\n/* Coupling */\n\n.ui.segment > .ui.attached.progress,\n.ui.card > .ui.attached.progress {\n  position: absolute;\n  top: auto;\n  left: 0;\n  bottom: 100%;\n  width: 100%;\n}\n\n.ui.segment > .ui.bottom.attached.progress,\n.ui.card > .ui.bottom.attached.progress {\n  top: 100%;\n  bottom: auto;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n/* Red */\n\n.ui.red.progress .bar {\n  background-color: #DB2828;\n}\n\n.ui.red.inverted.progress .bar {\n  background-color: #FF695E;\n}\n\n/* Orange */\n\n.ui.orange.progress .bar {\n  background-color: #F2711C;\n}\n\n.ui.orange.inverted.progress .bar {\n  background-color: #FF851B;\n}\n\n/* Yellow */\n\n.ui.yellow.progress .bar {\n  background-color: #FBBD08;\n}\n\n.ui.yellow.inverted.progress .bar {\n  background-color: #FFE21F;\n}\n\n/* Olive */\n\n.ui.olive.progress .bar {\n  background-color: #B5CC18;\n}\n\n.ui.olive.inverted.progress .bar {\n  background-color: #D9E778;\n}\n\n/* Green */\n\n.ui.green.progress .bar {\n  background-color: #21BA45;\n}\n\n.ui.green.inverted.progress .bar {\n  background-color: #2ECC40;\n}\n\n/* Teal */\n\n.ui.teal.progress .bar {\n  background-color: #00B5AD;\n}\n\n.ui.teal.inverted.progress .bar {\n  background-color: #6DFFFF;\n}\n\n/* Blue */\n\n.ui.blue.progress .bar {\n  background-color: #2185D0;\n}\n\n.ui.blue.inverted.progress .bar {\n  background-color: #54C8FF;\n}\n\n/* Violet */\n\n.ui.violet.progress .bar {\n  background-color: #6435C9;\n}\n\n.ui.violet.inverted.progress .bar {\n  background-color: #A291FB;\n}\n\n/* Purple */\n\n.ui.purple.progress .bar {\n  background-color: #A333C8;\n}\n\n.ui.purple.inverted.progress .bar {\n  background-color: #DC73FF;\n}\n\n/* Pink */\n\n.ui.pink.progress .bar {\n  background-color: #E03997;\n}\n\n.ui.pink.inverted.progress .bar {\n  background-color: #FF8EDF;\n}\n\n/* Brown */\n\n.ui.brown.progress .bar {\n  background-color: #A5673F;\n}\n\n.ui.brown.inverted.progress .bar {\n  background-color: #D67C1C;\n}\n\n/* Grey */\n\n.ui.grey.progress .bar {\n  background-color: #767676;\n}\n\n.ui.grey.inverted.progress .bar {\n  background-color: #DCDDDE;\n}\n\n/* Black */\n\n.ui.black.progress .bar {\n  background-color: #1B1C1D;\n}\n\n.ui.black.inverted.progress .bar {\n  background-color: #545454;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.tiny.progress {\n  font-size: 0.85714286rem;\n}\n\n.ui.tiny.progress .bar {\n  height: 0.5em;\n}\n\n.ui.small.progress {\n  font-size: 0.92857143rem;\n}\n\n.ui.small.progress .bar {\n  height: 1em;\n}\n\n.ui.progress {\n  font-size: 1rem;\n}\n\n.ui.progress .bar {\n  height: 1.75em;\n}\n\n.ui.large.progress {\n  font-size: 1.14285714rem;\n}\n\n.ui.large.progress .bar {\n  height: 2.5em;\n}\n\n.ui.big.progress {\n  font-size: 1.28571429rem;\n}\n\n.ui.big.progress .bar {\n  height: 3.5em;\n}\n\n/*******************************\n            Progress\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Rating\n*******************************/\n\n.ui.rating {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  white-space: nowrap;\n  vertical-align: baseline;\n}\n\n.ui.rating:last-child {\n  margin-right: 0em;\n}\n\n/* Icon */\n\n.ui.rating .icon {\n  padding: 0em;\n  margin: 0em;\n  text-align: center;\n  font-weight: normal;\n  font-style: normal;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  cursor: pointer;\n  width: 1.25em;\n  height: auto;\n  -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n  transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n      Standard\n--------------------*/\n\n/* Inactive Icon */\n\n.ui.rating .icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n}\n\n/* Active Icon */\n\n.ui.rating .active.icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Selected Icon */\n\n.ui.rating .icon.selected,\n.ui.rating .icon.selected.active {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n/* Inactive */\n\n.ui.star.rating .icon {\n  width: 1.25em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none;\n}\n\n/* Active Star */\n\n.ui.star.rating .active.icon {\n  background: transparent !important;\n  color: #FFE623 !important;\n  text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important;\n}\n\n/* Selected Star */\n\n.ui.star.rating .icon.selected,\n.ui.star.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FFCC00 !important;\n  text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important;\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n.ui.heart.rating .icon {\n  width: 1.4em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none !important;\n}\n\n/* Active Heart */\n\n.ui.heart.rating .active.icon {\n  background: transparent !important;\n  color: #FF6D75 !important;\n  text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important;\n}\n\n/* Selected Heart */\n\n.ui.heart.rating .icon.selected,\n.ui.heart.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FF3000 !important;\n  text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*-------------------\n       Disabled\n--------------------*/\n\n/* disabled rating */\n\n.ui.disabled.rating .icon {\n  cursor: default;\n}\n\n/*-------------------\n   User Interactive\n--------------------*/\n\n/* Selected Rating */\n\n.ui.rating.selected .active.icon {\n  opacity: 1;\n}\n\n.ui.rating.selected .icon.selected,\n.ui.rating .icon.selected {\n  opacity: 1;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.mini.rating {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.rating {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.rating {\n  font-size: 0.92857143rem;\n}\n\n.ui.rating {\n  font-size: 1rem;\n}\n\n.ui.large.rating {\n  font-size: 1.14285714rem;\n}\n\n.ui.huge.rating {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.rating {\n  font-size: 2rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Rating';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\") format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.ui.rating .icon {\n  font-family: 'Rating';\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n/* Empty Star */\n\n.ui.rating .icon:before {\n  content: '\\f006';\n}\n\n/* Active Star */\n\n.ui.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n/* Unfilled Star */\n\n.ui.star.rating .icon:before {\n  content: '\\f005';\n}\n\n/* Active Star */\n\n.ui.star.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/* Partial */\n\n.ui.star.rating .partial.icon:before {\n  content: '\\f006';\n}\n\n.ui.star.rating .partial.icon {\n  content: '\\f005';\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n/* Empty Heart\n.ui.heart.rating .icon:before {\n  content: '\\f08a';\n}\n*/\n\n.ui.heart.rating .icon:before {\n  content: '\\f004';\n}\n\n/* Active */\n\n.ui.heart.rating .active.icon:before {\n  content: '\\f004';\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Search\n*******************************/\n\n.ui.search {\n  position: relative;\n}\n\n.ui.search > .prompt {\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-shadow: none;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n  transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n}\n\n.ui.search .prompt {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.search .prompt ~ .search.icon {\n  cursor: pointer;\n}\n\n/*--------------\n    Results\n---------------*/\n\n.ui.search > .results {\n  display: none;\n  position: absolute;\n  top: 100%;\n  left: 0%;\n  -webkit-transform-origin: center top;\n  -ms-transform-origin: center top;\n  transform-origin: center top;\n  background: #FFFFFF;\n  margin-top: 0.5em;\n  width: 18em;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n  border: 1px solid #D4D4D5;\n  z-index: 998;\n}\n\n.ui.search > .results > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.search > .results > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/*--------------\n    Result\n---------------*/\n\n.ui.search > .results .result {\n  cursor: pointer;\n  display: block;\n  overflow: hidden;\n  font-size: 1em;\n  padding: 0.85714286em 1.14285714em;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.33;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n.ui.search > .results .result:last-child {\n  border-bottom: none !important;\n}\n\n/* Image */\n\n.ui.search > .results .result .image {\n  float: right;\n  overflow: hidden;\n  background: none;\n  width: 5em;\n  height: 3em;\n  border-radius: 0.25em;\n}\n\n.ui.search > .results .result .image img {\n  display: block;\n  width: auto;\n  height: 100%;\n}\n\n/*--------------\n      Info\n---------------*/\n\n.ui.search > .results .result .image + .content {\n  margin: 0em 6em 0em 0em;\n}\n\n.ui.search > .results .result .title {\n  margin: -0.14285em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.search > .results .result .description {\n  margin-top: 0;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.search > .results .result .price {\n  float: right;\n  color: #21BA45;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.search > .results > .message {\n  padding: 1em 1em;\n}\n\n.ui.search > .results > .message .header {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1rem;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.search > .results > .message .description {\n  margin-top: 0.25rem;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* View All Results */\n\n.ui.search > .results > .action {\n  display: block;\n  border-top: none;\n  background: #F3F4F5;\n  padding: 0.92857143em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-align: center;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n       Focus\n---------------------*/\n\n.ui.search > .prompt:focus {\n  border-color: rgba(34, 36, 38, 0.35);\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.search .input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.loading.search .input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.search > .results .result:hover,\n.ui.category.search > .results .category .result:hover {\n  background: #F9FAFB;\n}\n\n.ui.search .action:hover {\n  background: #E0E0E0;\n}\n\n/*--------------\n      Active\n---------------*/\n\n.ui.category.search > .results .category.active {\n  background: #F3F4F5;\n}\n\n.ui.category.search > .results .category.active > .name {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.search > .results .result.active,\n.ui.category.search > .results .category .result.active {\n  position: relative;\n  border-left-color: rgba(34, 36, 38, 0.1);\n  background: #F3F4F5;\n  box-shadow: none;\n}\n\n.ui.search > .results .result.active .title {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.search > .results .result.active .description {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/*******************************\n           Types\n*******************************/\n\n/*--------------\n    Categories\n---------------*/\n\n.ui.category.search .results {\n  width: 28em;\n}\n\n/* Category */\n\n.ui.category.search > .results .category {\n  background: #F3F4F5;\n  box-shadow: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n  transition: background 0.1s ease, border-color 0.1s ease;\n}\n\n/* Last Category */\n\n.ui.category.search > .results .category:last-child {\n  border-bottom: none;\n}\n\n/* First / Last */\n\n.ui.category.search > .results .category:first-child .name + .result {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Category Result */\n\n.ui.category.search > .results .category .result {\n  background: #FFFFFF;\n  margin-left: 100px;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n  transition: background 0.1s ease, border-color 0.1s ease;\n  padding: 0.85714286em 1.14285714em;\n}\n\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-bottom: none;\n}\n\n/* Category Result Name */\n\n.ui.category.search > .results .category > .name {\n  width: 100px;\n  background: transparent;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  float: 1em;\n  float: left;\n  padding: 0.4em 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n     Left / Right\n--------------------*/\n\n.ui[class*=\"left aligned\"].search > .results {\n  right: auto;\n  left: 0%;\n}\n\n.ui[class*=\"right aligned\"].search > .results {\n  right: 0%;\n  left: auto;\n}\n\n/*--------------\n    Fluid\n---------------*/\n\n.ui.fluid.search .results {\n  width: 100%;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n.ui.mini.search {\n  font-size: 0.71428571em;\n}\n\n.ui.small.search {\n  font-size: 0.92857143em;\n}\n\n.ui.search {\n  font-size: 1em;\n}\n\n.ui.large.search {\n  font-size: 1.14285714em;\n}\n\n.ui.big.search {\n  font-size: 1.28571429em;\n}\n\n.ui.huge.search {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.search {\n  font-size: 1.71428571em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n              Shape\n*******************************/\n\n.ui.shape {\n  position: relative;\n  vertical-align: top;\n  display: inline-block;\n  -webkit-perspective: 2000px;\n  perspective: 2000px;\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n\n.ui.shape .sides {\n  -webkit-transform-style: preserve-3d;\n  transform-style: preserve-3d;\n}\n\n.ui.shape .side {\n  opacity: 1;\n  width: 100%;\n  margin: 0em !important;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\n.ui.shape .side {\n  display: none;\n}\n\n.ui.shape .side * {\n  -webkit-backface-visibility: visible !important;\n  backface-visibility: visible !important;\n}\n\n/*******************************\n             Types\n*******************************/\n\n.ui.cube.shape .side {\n  min-width: 15em;\n  height: 15em;\n  padding: 2em;\n  background-color: #E6E6E6;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);\n}\n\n.ui.cube.shape .side > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  text-align: center;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n\n.ui.cube.shape .side > .content > div {\n  display: table-cell;\n  vertical-align: middle;\n  font-size: 2em;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.text.shape.animating .sides {\n  position: static;\n}\n\n.ui.text.shape .side {\n  white-space: nowrap;\n}\n\n.ui.text.shape .side > * {\n  white-space: normal;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.shape {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.shape .animating.side {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  display: block;\n  z-index: 100;\n}\n\n.ui.shape .hidden.side {\n  opacity: 0.6;\n}\n\n/*--------------\n      CSS\n---------------*/\n\n.ui.shape.animating .sides {\n  position: absolute;\n}\n\n.ui.shape.animating .sides {\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n\n.ui.shape.animating .side {\n  -webkit-transition: opacity 0.6s ease-in-out;\n  transition: opacity 0.6s ease-in-out;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.shape .active.side {\n  display: block;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Sidebar\n*******************************/\n\n/* Sidebar Menu */\n\n.ui.sidebar {\n  position: fixed;\n  top: 0;\n  left: 0;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-transition: none;\n  transition: none;\n  will-change: transform;\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  height: 100% !important;\n  max-height: 100%;\n  border-radius: 0em !important;\n  margin: 0em !important;\n  overflow-y: auto !important;\n  z-index: 102;\n}\n\n/* GPU Layers for Child Elements */\n\n.ui.sidebar > * {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-transform: rotateZ(0deg);\n  transform: rotateZ(0deg);\n}\n\n/*--------------\n   Direction\n---------------*/\n\n.ui.left.sidebar {\n  right: auto;\n  left: 0px;\n  -webkit-transform: translate3d(-100%, 0, 0);\n  transform: translate3d(-100%, 0, 0);\n}\n\n.ui.right.sidebar {\n  right: 0px !important;\n  left: auto !important;\n  -webkit-transform: translate3d(100%, 0%, 0);\n  transform: translate3d(100%, 0%, 0);\n}\n\n.ui.top.sidebar,\n.ui.bottom.sidebar {\n  width: 100% !important;\n  height: auto !important;\n}\n\n.ui.top.sidebar {\n  top: 0px !important;\n  bottom: auto !important;\n  -webkit-transform: translate3d(0, -100%, 0);\n  transform: translate3d(0, -100%, 0);\n}\n\n.ui.bottom.sidebar {\n  top: auto !important;\n  bottom: 0px !important;\n  -webkit-transform: translate3d(0, 100%, 0);\n  transform: translate3d(0, 100%, 0);\n}\n\n/*--------------\n     Pushable\n---------------*/\n\n.pushable {\n  height: 100%;\n  overflow-x: hidden;\n  padding: 0em !important;\n}\n\n/* Whole Page */\n\nbody.pushable {\n  background: #545454 !important;\n}\n\n/* Page Context */\n\n.pushable:not(body) {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n.pushable:not(body) > .ui.sidebar,\n.pushable:not(body) > .fixed,\n.pushable:not(body) > .pusher:after {\n  position: absolute;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.pushable > .fixed {\n  position: fixed;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  will-change: transform;\n  z-index: 101;\n}\n\n/*--------------\n     Page\n---------------*/\n\n.pushable > .pusher {\n  position: relative;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  overflow: hidden;\n  min-height: 100%;\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  z-index: 2;\n}\n\nbody.pushable > .pusher {\n  background: #FFFFFF;\n}\n\n/* Pusher should inherit background from context */\n\n.pushable > .pusher {\n  background: inherit;\n}\n\n/*--------------\n     Dimmer\n---------------*/\n\n.pushable > .pusher:after {\n  position: fixed;\n  top: 0px;\n  right: 0px;\n  content: '';\n  background-color: rgba(0, 0, 0, 0.4);\n  overflow: hidden;\n  opacity: 0;\n  -webkit-transition: opacity 500ms;\n  transition: opacity 500ms;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.sidebar.menu .item {\n  border-radius: 0em !important;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n     Dimmed\n---------------*/\n\n.pushable > .pusher.dimmed:after {\n  width: 100% !important;\n  height: 100% !important;\n  opacity: 1 !important;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.animating.sidebar {\n  visibility: visible;\n}\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.sidebar {\n  visibility: visible;\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n/* Shadow Direction */\n\n.ui.left.visible.sidebar,\n.ui.right.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n\n.ui.top.visible.sidebar,\n.ui.bottom.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible On Load */\n\n.ui.visible.left.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(260px, 0, 0);\n  transform: translate3d(260px, 0, 0);\n}\n\n.ui.visible.right.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-260px, 0, 0);\n  transform: translate3d(-260px, 0, 0);\n}\n\n.ui.visible.top.sidebar ~ .fixed,\n.ui.visible.top.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 36px, 0);\n  transform: translate3d(0, 36px, 0);\n}\n\n.ui.visible.bottom.sidebar ~ .fixed,\n.ui.visible.bottom.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, -36px, 0);\n  transform: translate3d(0, -36px, 0);\n}\n\n/* opposite sides visible forces content overlay */\n\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n/*--------------\n       iOS\n---------------*/\n\n/*\n  iOS incorrectly sizes document when content\n  is presented outside of view with 2Dtranslate\n*/\n\nhtml.ios {\n  overflow-x: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n\nhtml.ios,\nhtml.ios body {\n  height: initial !important;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n     Width\n---------------*/\n\n/* Left / Right */\n\n.ui[class*=\"very thin\"].left.sidebar,\n.ui[class*=\"very thin\"].right.sidebar {\n  width: 60px;\n}\n\n.ui.thin.left.sidebar,\n.ui.thin.right.sidebar {\n  width: 150px;\n}\n\n.ui.left.sidebar,\n.ui.right.sidebar {\n  width: 260px;\n}\n\n.ui.wide.left.sidebar,\n.ui.wide.right.sidebar {\n  width: 350px;\n}\n\n.ui[class*=\"very wide\"].left.sidebar,\n.ui[class*=\"very wide\"].right.sidebar {\n  width: 475px;\n}\n\n/* Left Visible */\n\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(60px, 0, 0);\n  transform: translate3d(60px, 0, 0);\n}\n\n.ui.visible.thin.left.sidebar ~ .fixed,\n.ui.visible.thin.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(150px, 0, 0);\n  transform: translate3d(150px, 0, 0);\n}\n\n.ui.visible.wide.left.sidebar ~ .fixed,\n.ui.visible.wide.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(350px, 0, 0);\n  transform: translate3d(350px, 0, 0);\n}\n\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(475px, 0, 0);\n  transform: translate3d(475px, 0, 0);\n}\n\n/* Right Visible */\n\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-60px, 0, 0);\n  transform: translate3d(-60px, 0, 0);\n}\n\n.ui.visible.thin.right.sidebar ~ .fixed,\n.ui.visible.thin.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-150px, 0, 0);\n  transform: translate3d(-150px, 0, 0);\n}\n\n.ui.visible.wide.right.sidebar ~ .fixed,\n.ui.visible.wide.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-350px, 0, 0);\n  transform: translate3d(-350px, 0, 0);\n}\n\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-475px, 0, 0);\n  transform: translate3d(-475px, 0, 0);\n}\n\n/*******************************\n          Animations\n*******************************/\n\n/*--------------\n    Overlay\n---------------*/\n\n/* Set-up */\n\n.ui.overlay.sidebar {\n  z-index: 102;\n}\n\n/* Initial */\n\n.ui.left.overlay.sidebar {\n  -webkit-transform: translate3d(-100%, 0%, 0);\n  transform: translate3d(-100%, 0%, 0);\n}\n\n.ui.right.overlay.sidebar {\n  -webkit-transform: translate3d(100%, 0%, 0);\n  transform: translate3d(100%, 0%, 0);\n}\n\n.ui.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n  transform: translate3d(0%, -100%, 0);\n}\n\n.ui.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n  transform: translate3d(0%, 100%, 0);\n}\n\n/* Animation */\n\n.animating.ui.overlay.sidebar,\n.ui.visible.overlay.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/* End - Sidebar */\n\n.ui.visible.left.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n.ui.visible.right.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n.ui.visible.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n.ui.visible.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n/* End - Pusher */\n\n.ui.visible.overlay.sidebar ~ .fixed,\n.ui.visible.overlay.sidebar ~ .pusher {\n  -webkit-transform: none !important;\n  -ms-transform: none !important;\n  transform: none !important;\n}\n\n/*--------------\n      Push\n---------------*/\n\n/* Initial */\n\n.ui.push.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial */\n\n.ui.left.push.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n  transform: translate3d(-100%, 0, 0);\n}\n\n.ui.right.push.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n  transform: translate3d(100%, 0, 0);\n}\n\n.ui.top.push.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n  transform: translate3d(0%, -100%, 0);\n}\n\n.ui.bottom.push.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n  transform: translate3d(0%, 100%, 0);\n}\n\n/* End */\n\n.ui.visible.push.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n  transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n    Uncover\n---------------*/\n\n/* Initial */\n\n.ui.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  z-index: 1;\n}\n\n/* End */\n\n.ui.visible.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/*--------------\n   Slide Along\n---------------*/\n\n/* Initial */\n\n.ui.slide.along.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n\n.ui.left.slide.along.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n  transform: translate3d(-50%, 0, 0);\n}\n\n.ui.right.slide.along.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n  transform: translate3d(50%, 0, 0);\n}\n\n.ui.top.slide.along.sidebar {\n  -webkit-transform: translate3d(0, -50%, 0);\n  transform: translate3d(0, -50%, 0);\n}\n\n.ui.bottom.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n  transform: translate3d(0%, 50%, 0);\n}\n\n/* Animation */\n\n.ui.animating.slide.along.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/* End */\n\n.ui.visible.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n  transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Slide Out\n---------------*/\n\n/* Initial */\n\n.ui.slide.out.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n\n.ui.left.slide.out.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n  transform: translate3d(50%, 0, 0);\n}\n\n.ui.right.slide.out.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n  transform: translate3d(-50%, 0, 0);\n}\n\n.ui.top.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n  transform: translate3d(0%, 50%, 0);\n}\n\n.ui.bottom.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, -50%, 0);\n  transform: translate3d(0%, -50%, 0);\n}\n\n/* Animation */\n\n.ui.animating.slide.out.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/* End */\n\n.ui.visible.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n  transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Scale Down\n---------------*/\n\n/* Initial */\n\n.ui.scale.down.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial  */\n\n.ui.left.scale.down.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n  transform: translate3d(-100%, 0, 0);\n}\n\n.ui.right.scale.down.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n  transform: translate3d(100%, 0, 0);\n}\n\n.ui.top.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n  transform: translate3d(0%, -100%, 0);\n}\n\n.ui.bottom.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n  transform: translate3d(0%, 100%, 0);\n}\n\n/* Pusher - Initial */\n\n.ui.scale.down.left.sidebar ~ .pusher {\n  -webkit-transform-origin: 75% 50%;\n  -ms-transform-origin: 75% 50%;\n  transform-origin: 75% 50%;\n}\n\n.ui.scale.down.right.sidebar ~ .pusher {\n  -webkit-transform-origin: 25% 50%;\n  -ms-transform-origin: 25% 50%;\n  transform-origin: 25% 50%;\n}\n\n.ui.scale.down.top.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 75%;\n  -ms-transform-origin: 50% 75%;\n  transform-origin: 50% 75%;\n}\n\n.ui.scale.down.bottom.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 25%;\n  -ms-transform-origin: 50% 25%;\n  transform-origin: 50% 25%;\n}\n\n/* Animation */\n\n.ui.animating.scale.down > .visible.ui.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n.ui.visible.scale.down.sidebar ~ .pusher,\n.ui.animating.scale.down.sidebar ~ .pusher {\n  display: block !important;\n  width: 100%;\n  height: 100%;\n  overflow: hidden !important;\n}\n\n/* End */\n\n.ui.visible.scale.down.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n.ui.visible.scale.down.sidebar ~ .pusher {\n  -webkit-transform: scale(0.75);\n  -ms-transform: scale(0.75);\n  transform: scale(0.75);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Sticky\n*******************************/\n\n.ui.sticky {\n  position: static;\n  -webkit-transition: none;\n  transition: none;\n  z-index: 800;\n}\n\n/*******************************\n            States\n*******************************/\n\n/* Bound */\n\n.ui.sticky.bound {\n  position: absolute;\n  left: auto;\n  right: auto;\n}\n\n/* Fixed */\n\n.ui.sticky.fixed {\n  position: fixed;\n  left: auto;\n  right: auto;\n}\n\n/* Bound/Fixed Position */\n\n.ui.sticky.bound.top,\n.ui.sticky.fixed.top {\n  top: 0px;\n  bottom: auto;\n}\n\n.ui.sticky.bound.bottom,\n.ui.sticky.fixed.bottom {\n  top: auto;\n  bottom: 0px;\n}\n\n/*******************************\n            Types\n*******************************/\n\n.ui.native.sticky {\n  position: -webkit-sticky;\n  position: -moz-sticky;\n  position: -ms-sticky;\n  position: -o-sticky;\n  position: sticky;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           UI Tabs\n*******************************/\n\n.ui.tab {\n  display: none;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------------\n       Active\n---------------------*/\n\n.ui.tab.active,\n.ui.tab.open {\n  display: block;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.tab.loading {\n  position: relative;\n  overflow: hidden;\n  display: block;\n  min-height: 250px;\n}\n\n.ui.tab.loading * {\n  position: relative !important;\n  left: -10000px !important;\n}\n\n.ui.tab.loading:before,\n.ui.tab.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.tab.loading:after,\n.ui.tab.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*******************************\n         Tab Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n          Transitions\n*******************************/\n\n.transition {\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -webkit-animation-duration: 300ms;\n  animation-duration: 300ms;\n  -webkit-animation-timing-function: ease;\n  animation-timing-function: ease;\n  -webkit-animation-fill-mode: both;\n  animation-fill-mode: both;\n}\n\n/*******************************\n            States\n*******************************/\n\n/* Animating */\n\n.animating.transition {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  visibility: visible !important;\n}\n\n/* Loading */\n\n.loading.transition {\n  position: absolute;\n  top: -99999px;\n  left: -99999px;\n}\n\n/* Hidden */\n\n.hidden.transition {\n  display: none;\n  visibility: hidden;\n}\n\n/* Visible */\n\n.visible.transition {\n  display: block !important;\n  visibility: visible !important;\n  /*  backface-visibility: @backfaceVisibility;\n  transform: @use3DAcceleration;*/\n}\n\n/* Disabled */\n\n.disabled.transition {\n  -webkit-animation-play-state: paused;\n  animation-play-state: paused;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n.looping.transition {\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n}\n\n/*******************************\n          Transitions\n*******************************/\n\n/*\n  Some transitions adapted from Animate CSS\n  https://github.com/daneden/animate.css\n\n  Additional transitions adapted from Glide\n  by Nick Pettit - https://github.com/nickpettit/glide\n*/\n\n/*--------------\n     Browse\n---------------*/\n\n.transition.browse {\n  -webkit-animation-duration: 500ms;\n  animation-duration: 500ms;\n}\n\n.transition.browse.in {\n  -webkit-animation-name: browseIn;\n  animation-name: browseIn;\n}\n\n.transition.browse.out,\n.transition.browse.left.out {\n  -webkit-animation-name: browseOutLeft;\n  animation-name: browseOutLeft;\n}\n\n.transition.browse.right.out {\n  -webkit-animation-name: browseOutRight;\n  animation-name: browseOutRight;\n}\n\n/* In */\n\n@-webkit-keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n    transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n    transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n\n@keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n    transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n    transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n@keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n@keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n/*--------------\n     Drop\n---------------*/\n\n.drop.transition {\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n  -webkit-animation-duration: 400ms;\n  animation-duration: 400ms;\n  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n  animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n}\n\n.drop.transition.in {\n  -webkit-animation-name: dropIn;\n  animation-name: dropIn;\n}\n\n.drop.transition.out {\n  -webkit-animation-name: dropOut;\n  animation-name: dropOut;\n}\n\n/* Drop */\n\n@-webkit-keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n@keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n@-webkit-keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n}\n\n@keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.transition.fade.in {\n  -webkit-animation-name: fadeIn;\n  animation-name: fadeIn;\n}\n\n.transition[class*=\"fade up\"].in {\n  -webkit-animation-name: fadeInUp;\n  animation-name: fadeInUp;\n}\n\n.transition[class*=\"fade down\"].in {\n  -webkit-animation-name: fadeInDown;\n  animation-name: fadeInDown;\n}\n\n.transition[class*=\"fade left\"].in {\n  -webkit-animation-name: fadeInLeft;\n  animation-name: fadeInLeft;\n}\n\n.transition[class*=\"fade right\"].in {\n  -webkit-animation-name: fadeInRight;\n  animation-name: fadeInRight;\n}\n\n.transition.fade.out {\n  -webkit-animation-name: fadeOut;\n  animation-name: fadeOut;\n}\n\n.transition[class*=\"fade up\"].out {\n  -webkit-animation-name: fadeOutUp;\n  animation-name: fadeOutUp;\n}\n\n.transition[class*=\"fade down\"].out {\n  -webkit-animation-name: fadeOutDown;\n  animation-name: fadeOutDown;\n}\n\n.transition[class*=\"fade left\"].out {\n  -webkit-animation-name: fadeOutLeft;\n  animation-name: fadeOutLeft;\n}\n\n.transition[class*=\"fade right\"].out {\n  -webkit-animation-name: fadeOutRight;\n  animation-name: fadeOutRight;\n}\n\n/* In */\n\n@-webkit-keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n\n  100% {\n    opacity: 1;\n  }\n}\n\n@keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n\n  100% {\n    opacity: 1;\n  }\n}\n\n@-webkit-keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n    transform: translateY(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n    transform: translateY(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@-webkit-keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n    transform: translateY(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n    transform: translateY(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@-webkit-keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n    transform: translateX(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n@keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n    transform: translateX(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n@-webkit-keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n    transform: translateX(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n@keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n    transform: translateX(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n\n  100% {\n    opacity: 0;\n  }\n}\n\n@keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n\n  100% {\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n    transform: translateY(5%);\n  }\n}\n\n@keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n    transform: translateY(5%);\n  }\n}\n\n@-webkit-keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n    transform: translateY(-5%);\n  }\n}\n\n@keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n    transform: translateY(-5%);\n  }\n}\n\n@-webkit-keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n    transform: translateX(5%);\n  }\n}\n\n@keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n    transform: translateX(5%);\n  }\n}\n\n@-webkit-keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n    transform: translateX(-5%);\n  }\n}\n\n@keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n    transform: translateX(-5%);\n  }\n}\n\n/*--------------\n     Flips\n---------------*/\n\n.flip.transition.in,\n.flip.transition.out {\n  -webkit-animation-duration: 600ms;\n  animation-duration: 600ms;\n}\n\n.horizontal.flip.transition.in {\n  -webkit-animation-name: horizontalFlipIn;\n  animation-name: horizontalFlipIn;\n}\n\n.horizontal.flip.transition.out {\n  -webkit-animation-name: horizontalFlipOut;\n  animation-name: horizontalFlipOut;\n}\n\n.vertical.flip.transition.in {\n  -webkit-animation-name: verticalFlipIn;\n  animation-name: verticalFlipIn;\n}\n\n.vertical.flip.transition.out {\n  -webkit-animation-name: verticalFlipOut;\n  animation-name: verticalFlipOut;\n}\n\n/* In */\n\n@-webkit-keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n    transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n\n@keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n    transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n\n@-webkit-keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n\n@keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n    transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n    transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n\n/*--------------\n      Scale\n---------------*/\n\n.scale.transition.in {\n  -webkit-animation-name: scaleIn;\n  animation-name: scaleIn;\n}\n\n.scale.transition.out {\n  -webkit-animation-name: scaleOut;\n  animation-name: scaleOut;\n}\n\n@-webkit-keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n@keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n  }\n}\n\n@keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n  }\n}\n\n/*--------------\n      Fly\n---------------*/\n\n/* Inward */\n\n.transition.fly {\n  -webkit-animation-duration: 0.6s;\n  animation-duration: 0.6s;\n  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n.transition.fly.in {\n  -webkit-animation-name: flyIn;\n  animation-name: flyIn;\n}\n\n.transition[class*=\"fly up\"].in {\n  -webkit-animation-name: flyInUp;\n  animation-name: flyInUp;\n}\n\n.transition[class*=\"fly down\"].in {\n  -webkit-animation-name: flyInDown;\n  animation-name: flyInDown;\n}\n\n.transition[class*=\"fly left\"].in {\n  -webkit-animation-name: flyInLeft;\n  animation-name: flyInLeft;\n}\n\n.transition[class*=\"fly right\"].in {\n  -webkit-animation-name: flyInRight;\n  animation-name: flyInRight;\n}\n\n/* Outward */\n\n.transition.fly.out {\n  -webkit-animation-name: flyOut;\n  animation-name: flyOut;\n}\n\n.transition[class*=\"fly up\"].out {\n  -webkit-animation-name: flyOutUp;\n  animation-name: flyOutUp;\n}\n\n.transition[class*=\"fly down\"].out {\n  -webkit-animation-name: flyOutDown;\n  animation-name: flyOutDown;\n}\n\n.transition[class*=\"fly left\"].out {\n  -webkit-animation-name: flyOutLeft;\n  animation-name: flyOutLeft;\n}\n\n.transition[class*=\"fly right\"].out {\n  -webkit-animation-name: flyOutRight;\n  animation-name: flyOutRight;\n}\n\n/* In */\n\n@-webkit-keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n    transform: scale3d(1.03, 1.03, 1.03);\n  }\n\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n    transform: scale3d(0.97, 0.97, 0.97);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n@keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n    transform: scale3d(1.03, 1.03, 1.03);\n  }\n\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n    transform: scale3d(0.97, 0.97, 0.97);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n@-webkit-keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n    transform: translate3d(0, 1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n    transform: translate3d(0, -5px, 0);\n  }\n\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n@keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n    transform: translate3d(0, 1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n    transform: translate3d(0, -5px, 0);\n  }\n\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n@-webkit-keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n    transform: translate3d(0, -1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n    transform: translate3d(0, 25px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n    transform: translate3d(0, 5px, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n    transform: translate3d(0, -1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n    transform: translate3d(0, 25px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n    transform: translate3d(0, 5px, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@-webkit-keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n    transform: translate3d(1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n    transform: translate3d(-25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n    transform: translate3d(-5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n    transform: translate3d(1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n    transform: translate3d(-25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n    transform: translate3d(-5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@-webkit-keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n    transform: translate3d(-1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n    transform: translate3d(25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n    transform: translate3d(5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n    transform: translate3d(-1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n    transform: translate3d(25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n    transform: translate3d(5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  50%, 55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n\n@keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  50%, 55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n\n@-webkit-keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0);\n  }\n}\n\n@keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0);\n  }\n}\n\n@-webkit-keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n    transform: translate3d(0, 20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0);\n  }\n}\n\n@keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n    transform: translate3d(0, 20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0);\n  }\n}\n\n@-webkit-keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n    transform: translate3d(20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0);\n  }\n}\n\n@keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n    transform: translate3d(20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0);\n  }\n}\n\n@-webkit-keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n    transform: translate3d(-20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0);\n  }\n}\n\n@keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n    transform: translate3d(-20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0);\n  }\n}\n\n/*--------------\n     Slide\n---------------*/\n\n.transition.slide.in,\n.transition[class*=\"slide down\"].in {\n  -webkit-animation-name: slideInY;\n  animation-name: slideInY;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"slide up\"].in {\n  -webkit-animation-name: slideInY;\n  animation-name: slideInY;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"slide left\"].in {\n  -webkit-animation-name: slideInX;\n  animation-name: slideInX;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"slide right\"].in {\n  -webkit-animation-name: slideInX;\n  animation-name: slideInX;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n.transition.slide.out,\n.transition[class*=\"slide down\"].out {\n  -webkit-animation-name: slideOutY;\n  animation-name: slideOutY;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"slide up\"].out {\n  -webkit-animation-name: slideOutY;\n  animation-name: slideOutY;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"slide left\"].out {\n  -webkit-animation-name: slideOutX;\n  animation-name: slideOutX;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"slide right\"].out {\n  -webkit-animation-name: slideOutX;\n  animation-name: slideOutX;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n/* In */\n\n@-webkit-keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n}\n\n@keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n}\n\n@-webkit-keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n}\n\n@keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n}\n\n@keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n}\n\n@-webkit-keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n}\n\n@keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n}\n\n/*--------------\n     Swing\n---------------*/\n\n.transition.swing {\n  -webkit-animation-duration: 800ms;\n  animation-duration: 800ms;\n}\n\n.transition[class*=\"swing down\"].in {\n  -webkit-animation-name: swingInX;\n  animation-name: swingInX;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"swing up\"].in {\n  -webkit-animation-name: swingInX;\n  animation-name: swingInX;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"swing left\"].in {\n  -webkit-animation-name: swingInY;\n  animation-name: swingInY;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"swing right\"].in {\n  -webkit-animation-name: swingInY;\n  animation-name: swingInY;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n.transition.swing.out,\n.transition[class*=\"swing down\"].out {\n  -webkit-animation-name: swingOutX;\n  animation-name: swingOutX;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"swing up\"].out {\n  -webkit-animation-name: swingOutX;\n  animation-name: swingOutX;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"swing left\"].out {\n  -webkit-animation-name: swingOutY;\n  animation-name: swingOutY;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"swing right\"].out {\n  -webkit-animation-name: swingOutY;\n  animation-name: swingOutY;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n/* In */\n\n@-webkit-keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n    transform: perspective(1000px) rotateX(15deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n}\n\n@keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n    transform: perspective(1000px) rotateX(15deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n}\n\n@-webkit-keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n    transform: perspective(1000px) rotateY(-17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n}\n\n@keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n    transform: perspective(1000px) rotateY(-17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n    transform: perspective(1000px) rotateX(17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n    transform: perspective(1000px) rotateX(17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n    transform: perspective(1000px) rotateY(-10deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n    transform: perspective(1000px) rotateY(-10deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n\n/*******************************\n       Static Animations\n*******************************/\n\n/*--------------\n    Emphasis\n---------------*/\n\n.flash.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: flash;\n  animation-name: flash;\n}\n\n.shake.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: shake;\n  animation-name: shake;\n}\n\n.bounce.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: bounce;\n  animation-name: bounce;\n}\n\n.tada.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: tada;\n  animation-name: tada;\n}\n\n.pulse.transition {\n  -webkit-animation-duration: 500ms;\n  animation-duration: 500ms;\n  -webkit-animation-name: pulse;\n  animation-name: pulse;\n}\n\n.jiggle.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: jiggle;\n  animation-name: jiggle;\n}\n\n/* Flash */\n\n@-webkit-keyframes flash {\n  0%, 50%, 100% {\n    opacity: 1;\n  }\n\n  25%, 75% {\n    opacity: 0;\n  }\n}\n\n@keyframes flash {\n  0%, 50%, 100% {\n    opacity: 1;\n  }\n\n  25%, 75% {\n    opacity: 0;\n  }\n}\n\n/* Shake */\n\n@-webkit-keyframes shake {\n  0%, 100% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0);\n  }\n\n  10%, 30%, 50%, 70%, 90% {\n    -webkit-transform: translateX(-10px);\n    transform: translateX(-10px);\n  }\n\n  20%, 40%, 60%, 80% {\n    -webkit-transform: translateX(10px);\n    transform: translateX(10px);\n  }\n}\n\n@keyframes shake {\n  0%, 100% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0);\n  }\n\n  10%, 30%, 50%, 70%, 90% {\n    -webkit-transform: translateX(-10px);\n    transform: translateX(-10px);\n  }\n\n  20%, 40%, 60%, 80% {\n    -webkit-transform: translateX(10px);\n    transform: translateX(10px);\n  }\n}\n\n/* Bounce */\n\n@-webkit-keyframes bounce {\n  0%, 20%, 50%, 80%, 100% {\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n\n  40% {\n    -webkit-transform: translateY(-30px);\n    transform: translateY(-30px);\n  }\n\n  60% {\n    -webkit-transform: translateY(-15px);\n    transform: translateY(-15px);\n  }\n}\n\n@keyframes bounce {\n  0%, 20%, 50%, 80%, 100% {\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n\n  40% {\n    -webkit-transform: translateY(-30px);\n    transform: translateY(-30px);\n  }\n\n  60% {\n    -webkit-transform: translateY(-15px);\n    transform: translateY(-15px);\n  }\n}\n\n/* Tada */\n\n@-webkit-keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  10%, 20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n    transform: scale(0.9) rotate(-3deg);\n  }\n\n  30%, 50%, 70%, 90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n    transform: scale(1.1) rotate(3deg);\n  }\n\n  40%, 60%, 80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n    transform: scale(1.1) rotate(-3deg);\n  }\n\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n    transform: scale(1) rotate(0);\n  }\n}\n\n@keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  10%, 20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n    transform: scale(0.9) rotate(-3deg);\n  }\n\n  30%, 50%, 70%, 90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n    transform: scale(1.1) rotate(3deg);\n  }\n\n  40%, 60%, 80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n    transform: scale(1.1) rotate(-3deg);\n  }\n\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n    transform: scale(1) rotate(0);\n  }\n}\n\n/* Pulse */\n\n@-webkit-keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n\n  50% {\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n    opacity: 0.7;\n  }\n\n  100% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n}\n\n@keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n\n  50% {\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n    opacity: 0.7;\n  }\n\n  100% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n}\n\n/* Rubberband */\n\n@-webkit-keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n    transform: scale3d(1.25, 0.75, 1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n    transform: scale3d(0.75, 1.25, 1);\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n    transform: scale3d(1.15, 0.85, 1);\n  }\n\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n    transform: scale3d(0.95, 1.05, 1);\n  }\n\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n    transform: scale3d(1.05, 0.95, 1);\n  }\n\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n@keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n    transform: scale3d(1.25, 0.75, 1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n    transform: scale3d(0.75, 1.25, 1);\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n    transform: scale3d(1.15, 0.85, 1);\n  }\n\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n    transform: scale3d(0.95, 1.05, 1);\n  }\n\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n    transform: scale3d(1.05, 0.95, 1);\n  }\n\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n"
  },
  {
    "path": "dist/asset/semantic-ui/semantic.js",
    "content": " /*\n * # Semantic UI - 2.1.6\n * https://github.com/Semantic-Org/Semantic-UI\n * http://www.semantic-ui.com/\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n;(function ( $, window, document, undefined ) {\n\n$.site = $.fn.site = function(parameters) {\n  var\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    settings        = ( $.isPlainObject(parameters) )\n      ? $.extend(true, {}, $.site.settings, parameters)\n      : $.extend({}, $.site.settings),\n\n    namespace       = settings.namespace,\n    error           = settings.error,\n\n    eventNamespace  = '.' + namespace,\n    moduleNamespace = 'module-' + namespace,\n\n    $document       = $(document),\n    $module         = $document,\n    element         = this,\n    instance        = $module.data(moduleNamespace),\n\n    module,\n    returnedValue\n  ;\n  module = {\n\n    initialize: function() {\n      module.instantiate();\n    },\n\n    instantiate: function() {\n      module.verbose('Storing instance of site', module);\n      instance = module;\n      $module\n        .data(moduleNamespace, module)\n      ;\n    },\n\n    normalize: function() {\n      module.fix.console();\n      module.fix.requestAnimationFrame();\n    },\n\n    fix: {\n      console: function() {\n        module.debug('Normalizing window.console');\n        if (console === undefined || console.log === undefined) {\n          module.verbose('Console not available, normalizing events');\n          module.disable.console();\n        }\n        if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {\n          module.verbose('Console group not available, normalizing events');\n          window.console.group = function() {};\n          window.console.groupEnd = function() {};\n          window.console.groupCollapsed = function() {};\n        }\n        if (typeof console.markTimeline == 'undefined') {\n          module.verbose('Mark timeline not available, normalizing events');\n          window.console.markTimeline = function() {};\n        }\n      },\n      consoleClear: function() {\n        module.debug('Disabling programmatic console clearing');\n        window.console.clear = function() {};\n      },\n      requestAnimationFrame: function() {\n        module.debug('Normalizing requestAnimationFrame');\n        if(window.requestAnimationFrame === undefined) {\n          module.debug('RequestAnimationFrame not available, normalizing event');\n          window.requestAnimationFrame = window.requestAnimationFrame\n            || window.mozRequestAnimationFrame\n            || window.webkitRequestAnimationFrame\n            || window.msRequestAnimationFrame\n            || function(callback) { setTimeout(callback, 0); }\n          ;\n        }\n      }\n    },\n\n    moduleExists: function(name) {\n      return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);\n    },\n\n    enabled: {\n      modules: function(modules) {\n        var\n          enabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(module.moduleExists(name)) {\n            enabledModules.push(name);\n          }\n        });\n        return enabledModules;\n      }\n    },\n\n    disabled: {\n      modules: function(modules) {\n        var\n          disabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(!module.moduleExists(name)) {\n            disabledModules.push(name);\n          }\n        });\n        return disabledModules;\n      }\n    },\n\n    change: {\n      setting: function(setting, value, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? (modules === 'all')\n            ? settings.modules\n            : [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            namespace = (module.moduleExists(name))\n              ? $.fn[name].settings.namespace || false\n              : true,\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', setting, value, name);\n            $.fn[name].settings[setting] = value;\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', setting, value);\n              }\n            }\n          }\n        });\n      },\n      settings: function(newSettings, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', newSettings, name);\n            $.extend(true, $.fn[name].settings, newSettings);\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', newSettings);\n              }\n            }\n          }\n        });\n      }\n    },\n\n    enable: {\n      console: function() {\n        module.console(true);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling debug for modules', modules);\n        module.change.setting('debug', true, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling verbose debug for modules', modules);\n        module.change.setting('verbose', true, modules, modifyExisting);\n      }\n    },\n    disable: {\n      console: function() {\n        module.console(false);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling debug for modules', modules);\n        module.change.setting('debug', false, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling verbose debug for modules', modules);\n        module.change.setting('verbose', false, modules, modifyExisting);\n      }\n    },\n\n    console: function(enable) {\n      if(enable) {\n        if(instance.cache.console === undefined) {\n          module.error(error.console);\n          return;\n        }\n        module.debug('Restoring console function');\n        window.console = instance.cache.console;\n      }\n      else {\n        module.debug('Disabling console function');\n        instance.cache.console = window.console;\n        window.console = {\n          clear          : function(){},\n          error          : function(){},\n          group          : function(){},\n          groupCollapsed : function(){},\n          groupEnd       : function(){},\n          info           : function(){},\n          log            : function(){},\n          markTimeline   : function(){},\n          warn           : function(){}\n        };\n      }\n    },\n\n    destroy: function() {\n      module.verbose('Destroying previous site for', $module);\n      $module\n        .removeData(moduleNamespace)\n      ;\n    },\n\n    cache: {},\n\n    setting: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, settings, name);\n      }\n      else if(value !== undefined) {\n        settings[name] = value;\n      }\n      else {\n        return settings[name];\n      }\n    },\n    internal: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, module, name);\n      }\n      else if(value !== undefined) {\n        module[name] = value;\n      }\n      else {\n        return module[name];\n      }\n    },\n    debug: function() {\n      if(settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.debug.apply(console, arguments);\n        }\n      }\n    },\n    verbose: function() {\n      if(settings.verbose && settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.verbose.apply(console, arguments);\n        }\n      }\n    },\n    error: function() {\n      module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n      module.error.apply(console, arguments);\n    },\n    performance: {\n      log: function(message) {\n        var\n          currentTime,\n          executionTime,\n          previousTime\n        ;\n        if(settings.performance) {\n          currentTime   = new Date().getTime();\n          previousTime  = time || currentTime;\n          executionTime = currentTime - previousTime;\n          time          = currentTime;\n          performance.push({\n            'Element'        : element,\n            'Name'           : message[0],\n            'Arguments'      : [].slice.call(message, 1) || '',\n            'Execution Time' : executionTime\n          });\n        }\n        clearTimeout(module.performance.timer);\n        module.performance.timer = setTimeout(module.performance.display, 500);\n      },\n      display: function() {\n        var\n          title = settings.name + ':',\n          totalTime = 0\n        ;\n        time = false;\n        clearTimeout(module.performance.timer);\n        $.each(performance, function(index, data) {\n          totalTime += data['Execution Time'];\n        });\n        title += ' ' + totalTime + 'ms';\n        if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n          console.groupCollapsed(title);\n          if(console.table) {\n            console.table(performance);\n          }\n          else {\n            $.each(performance, function(index, data) {\n              console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n            });\n          }\n          console.groupEnd();\n        }\n        performance = [];\n      }\n    },\n    invoke: function(query, passedArguments, context) {\n      var\n        object = instance,\n        maxDepth,\n        found,\n        response\n      ;\n      passedArguments = passedArguments || queryArguments;\n      context         = element         || context;\n      if(typeof query == 'string' && object !== undefined) {\n        query    = query.split(/[\\. ]/);\n        maxDepth = query.length - 1;\n        $.each(query, function(depth, value) {\n          var camelCaseValue = (depth != maxDepth)\n            ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n            : query\n          ;\n          if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n            object = object[camelCaseValue];\n          }\n          else if( object[camelCaseValue] !== undefined ) {\n            found = object[camelCaseValue];\n            return false;\n          }\n          else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n            object = object[value];\n          }\n          else if( object[value] !== undefined ) {\n            found = object[value];\n            return false;\n          }\n          else {\n            module.error(error.method, query);\n            return false;\n          }\n        });\n      }\n      if ( $.isFunction( found ) ) {\n        response = found.apply(context, passedArguments);\n      }\n      else if(found !== undefined) {\n        response = found;\n      }\n      if($.isArray(returnedValue)) {\n        returnedValue.push(response);\n      }\n      else if(returnedValue !== undefined) {\n        returnedValue = [returnedValue, response];\n      }\n      else if(response !== undefined) {\n        returnedValue = response;\n      }\n      return found;\n    }\n  };\n\n  if(methodInvoked) {\n    if(instance === undefined) {\n      module.initialize();\n    }\n    module.invoke(query);\n  }\n  else {\n    if(instance !== undefined) {\n      module.destroy();\n    }\n    module.initialize();\n  }\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.site.settings = {\n\n  name        : 'Site',\n  namespace   : 'site',\n\n  error : {\n    console : 'Console cannot be restored, most likely it was overwritten outside of module',\n    method : 'The method you called is not defined.'\n  },\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  modules: [\n    'accordion',\n    'api',\n    'checkbox',\n    'dimmer',\n    'dropdown',\n    'embed',\n    'form',\n    'modal',\n    'nag',\n    'popup',\n    'rating',\n    'shape',\n    'sidebar',\n    'state',\n    'sticky',\n    'tab',\n    'transition',\n    'visit',\n    'visibility'\n  ],\n\n  siteNamespace   : 'site',\n  namespaceStub   : {\n    cache     : {},\n    config    : {},\n    sections  : {},\n    section   : {},\n    utilities : {}\n  }\n\n};\n\n// allows for selection of elements with data attributes\n$.extend($.expr[ \":\" ], {\n  data: ($.expr.createPseudo)\n    ? $.expr.createPseudo(function(dataName) {\n        return function(elem) {\n          return !!$.data(elem, dataName);\n        };\n      })\n    : function(elem, i, match) {\n      // support: jQuery < 1.8\n      return !!$.data(elem, match[ 3 ]);\n    }\n});\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Form Validation\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.form = function(parameters) {\n  var\n    $allModules      = $(this),\n    moduleSelector   = $allModules.selector || '',\n\n    time             = new Date().getTime(),\n    performance      = [],\n\n    query            = arguments[0],\n    legacyParameters = arguments[1],\n    methodInvoked    = (typeof query == 'string'),\n    queryArguments   = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        $module     = $(this),\n        element     = this,\n\n        formErrors  = [],\n        keyHeldDown = false,\n\n        // set at run-time\n        $field,\n        $group,\n        $message,\n        $prompt,\n        $submit,\n        $clear,\n        $reset,\n\n        settings,\n        validation,\n\n        metadata,\n        selector,\n        className,\n        error,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n\n        instance,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          // settings grabbed at run time\n          module.get.settings();\n          if(methodInvoked) {\n            if(instance === undefined) {\n              module.instantiate();\n            }\n            module.invoke(query);\n          }\n          else {\n            module.verbose('Initializing form validation', $module, settings);\n            module.bindEvents();\n            module.set.defaults();\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          module.removeEvents();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $field      = $module.find(selector.field);\n          $group      = $module.find(selector.group);\n          $message    = $module.find(selector.message);\n          $prompt     = $module.find(selector.prompt);\n\n          $submit     = $module.find(selector.submit);\n          $clear      = $module.find(selector.clear);\n          $reset      = $module.find(selector.reset);\n        },\n\n        submit: function() {\n          module.verbose('Submitting form', $module);\n          $module\n            .submit()\n          ;\n        },\n\n        attachEvents: function(selector, action) {\n          action = action || 'submit';\n          $(selector)\n            .on('click' + eventNamespace, function(event) {\n              module[action]();\n              event.preventDefault();\n            })\n          ;\n        },\n\n        bindEvents: function() {\n          module.verbose('Attaching form events');\n          $module\n            .on('submit' + eventNamespace, module.validate.form)\n            .on('blur'   + eventNamespace, selector.field, module.event.field.blur)\n            .on('click'  + eventNamespace, selector.submit, module.submit)\n            .on('click'  + eventNamespace, selector.reset, module.reset)\n            .on('click'  + eventNamespace, selector.clear, module.clear)\n          ;\n          if(settings.keyboardShortcuts) {\n            $module\n              .on('keydown' + eventNamespace, selector.field, module.event.field.keydown)\n            ;\n          }\n          $field\n            .each(function() {\n              var\n                $input     = $(this),\n                type       = $input.prop('type'),\n                inputEvent = module.get.changeEvent(type, $input)\n              ;\n              $(this)\n                .on(inputEvent + eventNamespace, module.event.field.change)\n              ;\n            })\n          ;\n        },\n\n        clear: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue) || '',\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('clear');\n              }\n              else if(isCheckbox) {\n                $field.prop('checked', false);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val('');\n              }\n            })\n          ;\n        },\n\n        reset: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue),\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(defaultValue === undefined) {\n                return;\n              }\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('restore defaults');\n              }\n              else if(isCheckbox) {\n                module.verbose('Resetting checkbox value', $element, defaultValue);\n                $field.prop('checked', defaultValue);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val(defaultValue);\n              }\n            })\n          ;\n        },\n\n        is: {\n          bracketedRule: function(rule) {\n            return (rule.type && rule.type.match(settings.regExp.bracket));\n          },\n          valid: function() {\n            var\n              allValid = true\n            ;\n            module.verbose('Checking if form is valid');\n            $.each(validation, function(fieldName, field) {\n              if( !( module.validate.field(field, fieldName) ) ) {\n                allValid = false;\n              }\n            });\n            return allValid;\n          }\n        },\n\n        removeEvents: function() {\n          $module\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n          $submit\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n        },\n\n        event: {\n          field: {\n            keydown: function(event) {\n              var\n                $field  = $(this),\n                key     = event.which,\n                keyCode = {\n                  enter  : 13,\n                  escape : 27\n                }\n              ;\n              if( key == keyCode.escape) {\n                module.verbose('Escape key pressed blurring field');\n                $field\n                  .blur()\n                ;\n              }\n              if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).length > 0 ) {\n                if(!keyHeldDown) {\n                  $field\n                    .one('keyup' + eventNamespace, module.event.field.keyup)\n                  ;\n                  module.submit();\n                  module.debug('Enter pressed on input submitting form');\n                }\n                keyHeldDown = true;\n              }\n            },\n            keyup: function() {\n              keyHeldDown = false;\n            },\n            blur: function(event) {\n              var\n                $field          = $(this),\n                $fieldGroup     = $field.closest($group),\n                validationRules = module.get.validation($field)\n              ;\n              if( $fieldGroup.hasClass(className.error) ) {\n                module.debug('Revalidating field', $field, validationRules);\n                module.validate.form.call(module, event, true);\n              }\n              else if(settings.on == 'blur' || settings.on == 'change') {\n                if(validationRules) {\n                  module.validate.field( validationRules );\n                }\n              }\n            },\n            change: function(event) {\n              var\n                $field      = $(this),\n                $fieldGroup = $field.closest($group)\n              ;\n              if(settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) ) {\n                clearTimeout(module.timer);\n                module.timer = setTimeout(function() {\n                  module.debug('Revalidating field', $field,  module.get.validation($field));\n                  module.validate.form.call(module, event, true);\n                }, settings.delay);\n              }\n            }\n          }\n\n        },\n\n        get: {\n          ancillaryValue: function(rule) {\n            if(!rule.type || !module.is.bracketedRule(rule)) {\n              return false;\n            }\n            return rule.type.match(settings.regExp.bracket)[1] + '';\n          },\n          ruleName: function(rule) {\n            if( module.is.bracketedRule(rule) ) {\n              return rule.type.replace(rule.type.match(settings.regExp.bracket)[0], '');\n            }\n            return rule.type;\n          },\n          changeEvent: function(type, $input) {\n            if(type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {\n              return 'change';\n            }\n            else {\n              return module.get.inputEvent();\n            }\n          },\n          inputEvent: function() {\n            return (document.createElement('input').oninput !== undefined)\n              ? 'input'\n              : (document.createElement('input').onpropertychange !== undefined)\n                ? 'propertychange'\n                : 'keyup'\n            ;\n          },\n          prompt: function(rule, field) {\n            var\n              ruleName      = module.get.ruleName(rule),\n              ancillary     = module.get.ancillaryValue(rule),\n              prompt        = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,\n              requiresValue = (prompt.search('{value}') !== -1),\n              requiresName  = (prompt.search('{name}') !== -1),\n              $label,\n              $field,\n              name\n            ;\n            if(requiresName || requiresValue) {\n              $field = module.get.field(field.identifier);\n            }\n            if(requiresValue) {\n              prompt = prompt.replace('{value}', $field.val());\n            }\n            if(requiresName) {\n              $label = $field.closest(selector.group).find('label').eq(0);\n              name = ($label.size() == 1)\n                ? $label.text()\n                : $field.prop('placeholder') || settings.text.unspecifiedField\n              ;\n              prompt = prompt.replace('{name}', name);\n            }\n            prompt = prompt.replace('{identifier}', field.identifier);\n            prompt = prompt.replace('{ruleValue}', ancillary);\n            if(!rule.prompt) {\n              module.verbose('Using default validation prompt for type', prompt, ruleName);\n            }\n            return prompt;\n          },\n          settings: function() {\n            if($.isPlainObject(parameters)) {\n              var\n                keys     = Object.keys(parameters),\n                isLegacySettings = (keys.length > 0)\n                  ? (parameters[keys[0]].identifier !== undefined && parameters[keys[0]].rules !== undefined)\n                  : false,\n                ruleKeys\n              ;\n              if(isLegacySettings) {\n                // 1.x (ducktyped)\n                settings   = $.extend(true, {}, $.fn.form.settings, legacyParameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, parameters);\n                module.error(settings.error.oldSyntax, element);\n                module.verbose('Extending settings from legacy parameters', validation, settings);\n              }\n              else {\n                // 2.x\n                if(parameters.fields) {\n                  ruleKeys = Object.keys(parameters.fields);\n                  if( typeof parameters.fields[ruleKeys[0]] == 'string' || $.isArray(parameters.fields[ruleKeys[0]]) ) {\n                    $.each(parameters.fields, function(name, rules) {\n                      if(typeof rules == 'string') {\n                        rules = [rules];\n                      }\n                      parameters.fields[name] = {\n                        rules: []\n                      };\n                      $.each(rules, function(index, rule) {\n                        parameters.fields[name].rules.push({ type: rule });\n                      });\n                    });\n                  }\n                }\n\n                settings   = $.extend(true, {}, $.fn.form.settings, parameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, settings.fields);\n                module.verbose('Extending settings', validation, settings);\n              }\n            }\n            else {\n              settings   = $.fn.form.settings;\n              validation = $.fn.form.settings.defaults;\n              module.verbose('Using default form validation', validation, settings);\n            }\n\n            // shorthand\n            namespace       = settings.namespace;\n            metadata        = settings.metadata;\n            selector        = settings.selector;\n            className       = settings.className;\n            error           = settings.error;\n            moduleNamespace = 'module-' + namespace;\n            eventNamespace  = '.' + namespace;\n\n            // grab instance\n            instance = $module.data(moduleNamespace);\n\n            // refresh selector cache\n            module.refresh();\n          },\n          field: function(identifier) {\n            module.verbose('Finding field with identifier', identifier);\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return $field.filter('#' + identifier);\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'\"]');\n            }\n            else if( $field.filter('[name=\"' + identifier +'[]\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'[]\"]');\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]');\n            }\n            return $('<input/>');\n          },\n          fields: function(fields) {\n            var\n              $fields = $()\n            ;\n            $.each(fields, function(index, name) {\n              $fields = $fields.add( module.get.field(name) );\n            });\n            return $fields;\n          },\n          validation: function($field) {\n            var\n              fieldValidation,\n              identifier\n            ;\n            if(!validation) {\n              return false;\n            }\n            $.each(validation, function(fieldName, field) {\n              identifier = field.identifier || fieldName;\n              if( module.get.field(identifier)[0] == $field[0] ) {\n                field.identifier = identifier;\n                fieldValidation = field;\n              }\n            });\n            return fieldValidation || false;\n          },\n          value: function (field) {\n            var\n              fields = [],\n              results\n            ;\n            fields.push(field);\n            results = module.get.values.call(element, fields);\n            return results[field];\n          },\n          values: function (fields) {\n            var\n              $fields = $.isArray(fields)\n                ? module.get.fields(fields)\n                : $field,\n              values = {}\n            ;\n            $fields.each(function(index, field) {\n              var\n                $field     = $(field),\n                type       = $field.prop('type'),\n                name       = $field.prop('name'),\n                value      = $field.val(),\n                isCheckbox = $field.is(selector.checkbox),\n                isRadio    = $field.is(selector.radio),\n                isMultiple = (name.indexOf('[]') !== -1),\n                isChecked  = (isCheckbox)\n                  ? $field.is(':checked')\n                  : false\n              ;\n              if(name) {\n                if(isMultiple) {\n                  name = name.replace('[]', '');\n                  if(!values[name]) {\n                    values[name] = [];\n                  }\n                  if(isCheckbox) {\n                    if(isChecked) {\n                      values[name].push(value || true);\n                    }\n                    else {\n                      values[name].push(false);\n                    }\n                  }\n                  else {\n                    values[name].push(value);\n                  }\n                }\n                else {\n                  if(isRadio) {\n                    if(isChecked) {\n                      values[name] = value;\n                    }\n                  }\n                  else if(isCheckbox) {\n                    if(isChecked) {\n                      values[name] = value || true;\n                    }\n                    else {\n                      values[name] = false;\n                    }\n                  }\n                  else {\n                    values[name] = value;\n                  }\n                }\n              }\n            });\n            return values;\n          }\n        },\n\n        has: {\n\n          field: function(identifier) {\n            module.verbose('Checking for existence of a field with identifier', identifier);\n            if(typeof identifier !== 'string') {\n              module.error(error.identifier, identifier);\n            }\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            return false;\n          }\n\n        },\n\n        add: {\n          prompt: function(identifier, errors) {\n            var\n              $field       = module.get.field(identifier),\n              $fieldGroup  = $field.closest($group),\n              $prompt      = $fieldGroup.children(selector.prompt),\n              promptExists = ($prompt.length !== 0)\n            ;\n            errors = (typeof errors == 'string')\n              ? [errors]\n              : errors\n            ;\n            module.verbose('Adding field error state', identifier);\n            $fieldGroup\n              .addClass(className.error)\n            ;\n            if(settings.inline) {\n              if(!promptExists) {\n                $prompt = settings.templates.prompt(errors);\n                $prompt\n                  .appendTo($fieldGroup)\n                ;\n              }\n              $prompt\n                .html(errors[0])\n              ;\n              if(!promptExists) {\n                if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                  module.verbose('Displaying error with css transition', settings.transition);\n                  $prompt.transition(settings.transition + ' in', settings.duration);\n                }\n                else {\n                  module.verbose('Displaying error with fallback javascript animation');\n                  $prompt\n                    .fadeIn(settings.duration)\n                  ;\n                }\n              }\n              else {\n                module.verbose('Inline errors are disabled, no inline error added', identifier);\n              }\n            }\n          },\n          errors: function(errors) {\n            module.debug('Adding form error messages', errors);\n            module.set.error();\n            $message\n              .html( settings.templates.error(errors) )\n            ;\n          }\n        },\n\n        remove: {\n          prompt: function(identifier) {\n            var\n              $field      = module.get.field(identifier),\n              $fieldGroup = $field.closest($group),\n              $prompt     = $fieldGroup.children(selector.prompt)\n            ;\n            $fieldGroup\n              .removeClass(className.error)\n            ;\n            if(settings.inline && $prompt.is(':visible')) {\n              module.verbose('Removing prompt for field', identifier);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                $prompt.transition(settings.transition + ' out', settings.duration, function() {\n                  $prompt.remove();\n                });\n              }\n              else {\n                $prompt\n                  .fadeOut(settings.duration, function(){\n                    $prompt.remove();\n                  })\n                ;\n              }\n            }\n          }\n        },\n\n        set: {\n          success: function() {\n            $module\n              .removeClass(className.error)\n              .addClass(className.success)\n            ;\n          },\n          defaults: function () {\n            $field\n              .each(function () {\n                var\n                  $field     = $(this),\n                  isCheckbox = ($field.filter(selector.checkbox).length > 0),\n                  value      = (isCheckbox)\n                    ? $field.is(':checked')\n                    : $field.val()\n                ;\n                $field.data(metadata.defaultValue, value);\n              })\n            ;\n          },\n          error: function() {\n            $module\n              .removeClass(className.success)\n              .addClass(className.error)\n            ;\n          },\n          value: function (field, value) {\n            var\n              fields = {}\n            ;\n            fields[field] = value;\n            return module.set.values.call(element, fields);\n          },\n          values: function (fields) {\n            if($.isEmptyObject(fields)) {\n              return;\n            }\n            $.each(fields, function(key, value) {\n              var\n                $field      = module.get.field(key),\n                $element    = $field.parent(),\n                isMultiple  = $.isArray(value),\n                isCheckbox  = $element.is(selector.uiCheckbox),\n                isDropdown  = $element.is(selector.uiDropdown),\n                isRadio     = ($field.is(selector.radio) && isCheckbox),\n                fieldExists = ($field.length > 0),\n                $multipleField\n              ;\n              if(fieldExists) {\n                if(isMultiple && isCheckbox) {\n                  module.verbose('Selecting multiple', value, $field);\n                  $element.checkbox('uncheck');\n                  $.each(value, function(index, value) {\n                    $multipleField = $field.filter('[value=\"' + value + '\"]');\n                    $element       = $multipleField.parent();\n                    if($multipleField.length > 0) {\n                      $element.checkbox('check');\n                    }\n                  });\n                }\n                else if(isRadio) {\n                  module.verbose('Selecting radio value', value, $field);\n                  $field.filter('[value=\"' + value + '\"]')\n                    .parent(selector.uiCheckbox)\n                      .checkbox('check')\n                  ;\n                }\n                else if(isCheckbox) {\n                  module.verbose('Setting checkbox value', value, $element);\n                  if(value === true) {\n                    $element.checkbox('check');\n                  }\n                  else {\n                    $element.checkbox('uncheck');\n                  }\n                }\n                else if(isDropdown) {\n                  module.verbose('Setting dropdown value', value, $element);\n                  $element.dropdown('set selected', value);\n                }\n                else {\n                  module.verbose('Setting field value', value, $field);\n                  $field.val(value);\n                }\n              }\n            });\n          }\n        },\n\n        validate: {\n\n          form: function(event, ignoreCallbacks) {\n            var\n              values = module.get.values(),\n              apiRequest\n            ;\n\n            // input keydown event will fire submit repeatedly by browser default\n            if(keyHeldDown) {\n              return false;\n            }\n\n            // reset errors\n            formErrors = [];\n            if( module.is.valid() ) {\n              module.debug('Form has no validation errors, submitting');\n              module.set.success();\n              if(ignoreCallbacks !== true) {\n                return settings.onSuccess.call(element, event, values);\n              }\n            }\n            else {\n              module.debug('Form has errors');\n              module.set.error();\n              if(!settings.inline) {\n                module.add.errors(formErrors);\n              }\n              // prevent ajax submit\n              if($module.data('moduleApi') !== undefined) {\n                event.stopImmediatePropagation();\n              }\n              if(ignoreCallbacks !== true) {\n                return settings.onFailure.call(element, formErrors, values);\n              }\n            }\n          },\n\n          // takes a validation object and returns whether field passes validation\n          field: function(field, fieldName) {\n            var\n              identifier  = field.identifier || fieldName,\n              $field      = module.get.field(identifier),\n              fieldValid  = true,\n              fieldErrors = []\n            ;\n            if(!field.identifier) {\n              module.debug('Using field name as identifier', identifier);\n              field.identifier = identifier;\n            }\n            if($field.prop('disabled')) {\n              module.debug('Field is disabled. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.optional && $.trim($field.val()) === ''){\n              module.debug('Field is optional and empty. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.rules !== undefined) {\n              $.each(field.rules, function(index, rule) {\n                if( module.has.field(identifier) && !( module.validate.rule(field, rule) ) ) {\n                  module.debug('Field is invalid', identifier, rule.type);\n                  fieldErrors.push(module.get.prompt(rule, field));\n                  fieldValid = false;\n                }\n              });\n            }\n            if(fieldValid) {\n              module.remove.prompt(identifier, fieldErrors);\n              settings.onValid.call($field);\n            }\n            else {\n              formErrors = formErrors.concat(fieldErrors);\n              module.add.prompt(identifier, fieldErrors);\n              settings.onInvalid.call($field, fieldErrors);\n              return false;\n            }\n            return true;\n          },\n\n          // takes validation rule and returns whether field passes rule\n          rule: function(field, rule) {\n            var\n              $field       = module.get.field(field.identifier),\n              type         = rule.type,\n              value        = $field.val(),\n              isValid      = true,\n              ancillary    = module.get.ancillaryValue(rule),\n              ruleName     = module.get.ruleName(rule),\n              ruleFunction = settings.rules[ruleName]\n            ;\n            if( !$.isFunction(ruleFunction) ) {\n              module.error(error.noRule, ruleName);\n              return;\n            }\n            // cast to string avoiding encoding special values\n            value = (value === undefined || value === '' || value === null)\n              ? ''\n              : $.trim(value + '')\n            ;\n            return ruleFunction.call($field, value, ancillary);\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      module.initialize();\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.form.settings = {\n\n  name              : 'Form',\n  namespace         : 'form',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  fields            : false,\n\n  keyboardShortcuts : true,\n  on                : 'submit',\n  inline            : false,\n\n  delay             : 200,\n  revalidate        : true,\n\n  transition        : 'scale',\n  duration          : 200,\n\n  onValid           : function() {},\n  onInvalid         : function() {},\n  onSuccess         : function() { return true; },\n  onFailure         : function() { return false; },\n\n  metadata : {\n    defaultValue : 'default',\n    validate     : 'validate'\n  },\n\n  regExp: {\n    bracket : /\\[(.*)\\]/i,\n    decimal : /^\\d*(\\.)\\d+/,\n    email   : \"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\",\n    escape  : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    flags   : /^\\/(.*)\\/(.*)?/,\n    integer : /^\\-?\\d+$/,\n    number  : /^\\-?\\d*(\\.\\d+)?$/,\n    url     : /(https?:\\/\\/(?:www\\.|(?!www))[^\\s\\.]+\\.[^\\s]{2,}|www\\.[^\\s]+\\.[^\\s]{2,})/i\n  },\n\n  text: {\n    unspecifiedRule  : 'Please enter a valid value',\n    unspecifiedField : 'This field'\n  },\n\n  prompt: {\n    empty                : '{name} must have a value',\n    checked              : '{name} must be checked',\n    email                : '{name} must be a valid e-mail',\n    url                  : '{name} must be a valid url',\n    regExp               : '{name} is not formatted correctly',\n    integer              : '{name} must be an integer',\n    decimal              : '{name} must be a decimal number',\n    number               : '{name} must be set to a number',\n    is                   : '{name} must be \"{ruleValue}\"',\n    isExactly            : '{name} must be exactly \"{ruleValue}\"',\n    not                  : '{name} cannot be set to \"{ruleValue}\"',\n    notExactly           : '{name} cannot be set to exactly \"{ruleValue}\"',\n    contain              : '{name} cannot contain \"{ruleValue}\"',\n    containExactly       : '{name} cannot contain exactly \"{ruleValue}\"',\n    doesntContain        : '{name} must contain  \"{ruleValue}\"',\n    doesntContainExactly : '{name} must contain exactly \"{ruleValue}\"',\n    minLength            : '{name} must be at least {ruleValue} characters',\n    length               : '{name} must be at least {ruleValue} characters',\n    exactLength          : '{name} must be exactly {ruleValue} characters',\n    maxLength            : '{name} cannot be longer than {ruleValue} characters',\n    match                : '{name} must match {ruleValue} field',\n    different            : '{name} must have a different value than {ruleValue} field',\n    creditCard           : '{name} must be a valid credit card number',\n    minCount             : '{name} must have at least {ruleValue} choices',\n    exactCount           : '{name} must have exactly {ruleValue} choices',\n    maxCount             : '{name} must have {ruleValue} or less choices'\n  },\n\n  selector : {\n    checkbox   : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    clear      : '.clear',\n    field      : 'input, textarea, select',\n    group      : '.field',\n    input      : 'input',\n    message    : '.error.message',\n    prompt     : '.prompt.label',\n    radio      : 'input[type=\"radio\"]',\n    reset      : '.reset:not([type=\"reset\"])',\n    submit     : '.submit:not([type=\"submit\"])',\n    uiCheckbox : '.ui.checkbox',\n    uiDropdown : '.ui.dropdown'\n  },\n\n  className : {\n    error   : 'error',\n    label   : 'ui prompt label',\n    pressed : 'down',\n    success : 'success'\n  },\n\n  error: {\n    identifier : 'You must specify a string identifier for each field',\n    method     : 'The method you called is not defined.',\n    noRule     : 'There is no rule matching the one you specified',\n    oldSyntax  : 'Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically.'\n  },\n\n  templates: {\n\n    // template that produces error message\n    error: function(errors) {\n      var\n        html = '<ul class=\"list\">'\n      ;\n      $.each(errors, function(index, value) {\n        html += '<li>' + value + '</li>';\n      });\n      html += '</ul>';\n      return $(html);\n    },\n\n    // template that produces label\n    prompt: function(errors) {\n      return $('<div/>')\n        .addClass('ui basic red pointing prompt label')\n        .html(errors[0])\n      ;\n    }\n  },\n\n  rules: {\n\n    // is not empty or blank string\n    empty: function(value) {\n      return !(value === undefined || '' === value || $.isArray(value) && value.length === 0);\n    },\n\n    // checkbox checked\n    checked: function() {\n      return ($(this).filter(':checked').length > 0);\n    },\n\n    // is most likely an email\n    email: function(value){\n      var\n        emailRegExp = new RegExp($.fn.form.settings.regExp.email, 'i')\n      ;\n      return emailRegExp.test(value);\n    },\n\n    // value is most likely url\n    url: function(value) {\n      return $.fn.form.settings.regExp.url.test(value);\n    },\n\n    // matches specified regExp\n    regExp: function(value, regExp) {\n      var\n        regExpParts = regExp.match($.fn.form.settings.regExp.flags),\n        flags\n      ;\n      // regular expression specified as /baz/gi (flags)\n      if(regExpParts) {\n        regExp = (regExpParts.length >= 2)\n          ? regExpParts[1]\n          : regExp\n        ;\n        flags = (regExpParts.length >= 3)\n          ? regExpParts[2]\n          : ''\n        ;\n      }\n      return value.match( new RegExp(regExp, flags) );\n    },\n\n    // is valid integer or matches range\n    integer: function(value, range) {\n      var\n        intRegExp = $.fn.form.settings.regExp.integer,\n        min,\n        max,\n        parts\n      ;\n      if( !range || ['', '..'].indexOf(range) !== -1) {\n        // do nothing\n      }\n      else if(range.indexOf('..') == -1) {\n        if(intRegExp.test(range)) {\n          min = max = range - 0;\n        }\n      }\n      else {\n        parts = range.split('..', 2);\n        if(intRegExp.test(parts[0])) {\n          min = parts[0] - 0;\n        }\n        if(intRegExp.test(parts[1])) {\n          max = parts[1] - 0;\n        }\n      }\n      return (\n        intRegExp.test(value) &&\n        (min === undefined || value >= min) &&\n        (max === undefined || value <= max)\n      );\n    },\n\n    // is valid number (with decimal)\n    decimal: function(value) {\n      return $.fn.form.settings.regExp.decimal.test(value);\n    },\n\n    // is valid number\n    number: function(value) {\n      return $.fn.form.settings.regExp.number.test(value);\n    },\n\n    // is value (case insensitive)\n    is: function(value, text) {\n      text = (typeof text == 'string')\n        ? text.toLowerCase()\n        : text\n      ;\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      return (value == text);\n    },\n\n    // is value\n    isExactly: function(value, text) {\n      return (value == text);\n    },\n\n    // value is not another value (case insensitive)\n    not: function(value, notValue) {\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      notValue = (typeof notValue == 'string')\n        ? notValue.toLowerCase()\n        : notValue\n      ;\n      return (value != notValue);\n    },\n\n    // value is not another value (case sensitive)\n    notExactly: function(value, notValue) {\n      return (value != notValue);\n    },\n\n    // value contains text (insensitive)\n    contains: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) !== -1);\n    },\n\n    // value contains text (case sensitive)\n    containsExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) !== -1);\n    },\n\n    // value contains text (insensitive)\n    doesntContain: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) === -1);\n    },\n\n    // value contains text (case sensitive)\n    doesntContainExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) === -1);\n    },\n\n    // is at least string length\n    minLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // see rls notes for 2.0.6 (this is a duplicate of minLength)\n    length: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // is exactly length\n    exactLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length == requiredLength)\n        : false\n      ;\n    },\n\n    // is less than length\n    maxLength: function(value, maxLength) {\n      return (value !== undefined)\n        ? (value.length <= maxLength)\n        : false\n      ;\n    },\n\n    // matches another field\n    match: function(value, identifier) {\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() == matchingValue.toString() )\n        : false\n      ;\n    },\n\n    // different than another field\n    different: function(value, identifier) {\n      // use either id or name of field\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() !== matchingValue.toString() )\n        : false\n      ;\n    },\n\n    creditCard: function(cardNumber, cardTypes) {\n      var\n        cards = {\n          visa: {\n            pattern : /^4/,\n            length  : [16]\n          },\n          amex: {\n            pattern : /^3[47]/,\n            length  : [15]\n          },\n          mastercard: {\n            pattern : /^5[1-5]/,\n            length  : [16]\n          },\n          discover: {\n            pattern : /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,\n            length  : [16]\n          },\n          unionPay: {\n            pattern : /^(62|88)/,\n            length  : [16, 17, 18, 19]\n          },\n          jcb: {\n            pattern : /^35(2[89]|[3-8][0-9])/,\n            length  : [16]\n          },\n          maestro: {\n            pattern : /^(5018|5020|5038|6304|6759|676[1-3])/,\n            length  : [12, 13, 14, 15, 16, 17, 18, 19]\n          },\n          dinersClub: {\n            pattern : /^(30[0-5]|^36)/,\n            length  : [14]\n          },\n          laser: {\n            pattern : /^(6304|670[69]|6771)/,\n            length  : [16, 17, 18, 19]\n          },\n          visaElectron: {\n            pattern : /^(4026|417500|4508|4844|491(3|7))/,\n            length  : [16]\n          }\n        },\n        valid         = {},\n        validCard     = false,\n        requiredTypes = (typeof cardTypes == 'string')\n          ? cardTypes.split(',')\n          : false,\n        unionPay,\n        validation\n      ;\n\n      if(typeof cardNumber !== 'string' || cardNumber.length === 0) {\n        return;\n      }\n\n      // verify card types\n      if(requiredTypes) {\n        $.each(requiredTypes, function(index, type){\n          // verify each card type\n          validation = cards[type];\n          if(validation) {\n            valid = {\n              length  : ($.inArray(cardNumber.length, validation.length) !== -1),\n              pattern : (cardNumber.search(validation.pattern) !== -1)\n            };\n            if(valid.length && valid.pattern) {\n              validCard = true;\n            }\n          }\n        });\n\n        if(!validCard) {\n          return false;\n        }\n      }\n\n      // skip luhn for UnionPay\n      unionPay = {\n        number  : ($.inArray(cardNumber.length, cards.unionPay.length) !== -1),\n        pattern : (cardNumber.search(cards.unionPay.pattern) !== -1)\n      };\n      if(unionPay.number && unionPay.pattern) {\n        return true;\n      }\n\n      // verify luhn, adapted from  <https://gist.github.com/2134376>\n      var\n        length        = cardNumber.length,\n        multiple      = 0,\n        producedValue = [\n          [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n          [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]\n        ],\n        sum           = 0\n      ;\n      while (length--) {\n        sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];\n        multiple ^= 1;\n      }\n      return (sum % 10 === 0 && sum > 0);\n    },\n\n    minCount: function(value, minCount) {\n      if(minCount == 0) {\n        return true;\n      }\n      if(minCount == 1) {\n        return (value !== '');\n      }\n      return (value.split(',').length >= minCount);\n    },\n\n    exactCount: function(value, exactCount) {\n      if(exactCount == 0) {\n        return (value === '');\n      }\n      if(exactCount == 1) {\n        return (value !== '' && value.search(',') === -1);\n      }\n      return (value.split(',').length == exactCount);\n    },\n\n    maxCount: function(value, maxCount) {\n      if(maxCount == 0) {\n        return false;\n      }\n      if(maxCount == 1) {\n        return (value.search(',') === -1);\n      }\n      return (value.split(',').length <= maxCount);\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.accordion = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.accordion.settings, parameters)\n          : $.extend({}, $.fn.accordion.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        $module  = $(this),\n        $title   = $module.find(selector.title),\n        $content = $module.find(selector.content),\n\n        element  = this,\n        instance = $module.data(moduleNamespace),\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous instance', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $title   = $module.find(selector.title);\n          $content = $module.find(selector.content);\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding delegated events');\n            $module\n              .on(settings.on + eventNamespace, selector.trigger, module.event.click)\n            ;\n          }\n        },\n\n        event: {\n          click: function() {\n            module.toggle.call(this);\n          }\n        },\n\n        toggle: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive && !isAnimating),\n            isOpening   = (!isActive && isAnimating)\n          ;\n          module.debug('Toggling visibility of content', $activeTitle);\n          if(isOpen || isOpening) {\n            if(settings.collapsible) {\n              module.close.call($activeTitle);\n            }\n            else {\n              module.debug('Cannot close accordion content collapsing is disabled');\n            }\n          }\n          else {\n            module.open.call($activeTitle);\n          }\n        },\n\n        open: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive || isAnimating)\n          ;\n          if(isOpen) {\n            module.debug('Accordion already open, skipping', $activeContent);\n            return;\n          }\n          module.debug('Opening accordion content', $activeTitle);\n          settings.onOpening.call($activeContent);\n          if(settings.exclusive) {\n            module.closeOthers.call($activeTitle);\n          }\n          $activeTitle\n            .addClass(className.active)\n          ;\n          $activeContent\n            .stop(true, true)\n            .addClass(className.animating)\n          ;\n          if(settings.animateChildren) {\n            if($.fn.transition !== undefined && $module.transition('is supported')) {\n              $activeContent\n                .children()\n                  .transition({\n                    animation   : 'fade in',\n                    queue       : false,\n                    useFailSafe : true,\n                    debug       : settings.debug,\n                    verbose     : settings.verbose,\n                    duration    : settings.duration\n                  })\n              ;\n            }\n            else {\n              $activeContent\n                .children()\n                  .stop(true, true)\n                  .animate({\n                    opacity: 1\n                  }, settings.duration, module.resetOpacity)\n              ;\n            }\n          }\n          $activeContent\n            .slideDown(settings.duration, settings.easing, function() {\n              $activeContent\n                .removeClass(className.animating)\n                .addClass(className.active)\n              ;\n              module.reset.display.call(this);\n              settings.onOpen.call(this);\n              settings.onChange.call(this);\n            })\n          ;\n        },\n\n        close: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating    = $activeContent.hasClass(className.animating),\n            isActive       = $activeContent.hasClass(className.active),\n            isOpening      = (!isActive && isAnimating),\n            isClosing      = (isActive && isAnimating)\n          ;\n          if((isActive || isOpening) && !isClosing) {\n            module.debug('Closing accordion content', $activeContent);\n            settings.onClosing.call($activeContent);\n            $activeTitle\n              .removeClass(className.active)\n            ;\n            $activeContent\n              .stop(true, true)\n              .addClass(className.animating)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $activeContent\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      queue       : false,\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $activeContent\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $activeContent\n              .slideUp(settings.duration, settings.easing, function() {\n                $activeContent\n                  .removeClass(className.animating)\n                  .removeClass(className.active)\n                ;\n                module.reset.display.call(this);\n                settings.onClose.call(this);\n                settings.onChange.call(this);\n              })\n            ;\n          }\n        },\n\n        closeOthers: function(index) {\n          var\n            $activeTitle = (index !== undefined)\n              ? $title.eq(index)\n              : $(this).closest(selector.title),\n            $parentTitles    = $activeTitle.parents(selector.content).prev(selector.title),\n            $activeAccordion = $activeTitle.closest(selector.accordion),\n            activeSelector   = selector.title + '.' + className.active + ':visible',\n            activeContent    = selector.content + '.' + className.active + ':visible',\n            $openTitles,\n            $nestedTitles,\n            $openContents\n          ;\n          if(settings.closeNested) {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $openContents = $openTitles.next($content);\n          }\n          else {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);\n            $openTitles   = $openTitles.not($nestedTitles);\n            $openContents = $openTitles.next($content);\n          }\n          if( ($openTitles.length > 0) ) {\n            module.debug('Exclusive enabled, closing other content', $openTitles);\n            $openTitles\n              .removeClass(className.active)\n            ;\n            $openContents\n              .removeClass(className.animating)\n              .stop(true, true)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $openContents\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $openContents\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $openContents\n              .slideUp(settings.duration , settings.easing, function() {\n                $(this).removeClass(className.active);\n                module.reset.display.call(this);\n              })\n            ;\n          }\n        },\n\n        reset: {\n\n          display: function() {\n            module.verbose('Removing inline display from element', this);\n            $(this).css('display', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n          opacity: function() {\n            module.verbose('Removing inline opacity from element', this);\n            $(this).css('opacity', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          module.debug('Changing internal', name, value);\n          if(value !== undefined) {\n            if( $.isPlainObject(name) ) {\n              $.extend(true, module, name);\n            }\n            else {\n              module[name] = value;\n            }\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.accordion.settings = {\n\n  name            : 'Accordion',\n  namespace       : 'accordion',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  on              : 'click', // event on title that opens accordion\n\n  observeChanges  : true,  // whether accordion should automatically refresh on DOM insertion\n\n  exclusive       : true,  // whether a single accordion content panel should be open at once\n  collapsible     : true,  // whether accordion content can be closed\n  closeNested     : false, // whether nested content should be closed when a panel is closed\n  animateChildren : true,  // whether children opacity should be animated\n\n  duration        : 350, // duration of animation\n  easing          : 'easeOutQuad', // easing equation for animation\n\n\n  onOpening       : function(){}, // callback before open animation\n  onOpen          : function(){}, // callback after open animation\n  onClosing       : function(){}, // callback before closing animation\n  onClose         : function(){}, // callback after closing animation\n  onChange        : function(){}, // callback after closing or opening animation\n\n  error: {\n    method : 'The method you called is not defined'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating'\n  },\n\n  selector    : {\n    accordion : '.accordion',\n    title     : '.title',\n    trigger   : '.title',\n    content   : '.content'\n  }\n\n};\n\n// Adds easing\n$.extend( $.easing, {\n  easeOutQuad: function (x, t, b, c, d) {\n    return -c *(t/=d)*(t-2) + b;\n  }\n});\n\n})( jQuery, window, document );\n\n\n/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.checkbox = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = $.extend(true, {}, $.fn.checkbox.settings, parameters),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $label          = $(this).children(selector.label),\n        $input          = $(this).children(selector.input),\n        input           = $input[0],\n\n        initialLoad     = false,\n        shortcutPressed = false,\n        instance        = $module.data(moduleNamespace),\n\n        observer,\n        element         = this,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.verbose('Initializing checkbox', settings);\n\n          module.create.label();\n          module.bind.events();\n\n          module.set.tabbable();\n          module.hide.input();\n\n          module.observeChanges();\n          module.instantiate();\n          module.setup();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying module');\n          module.unbind.events();\n          module.show.input();\n          $module.removeData(moduleNamespace);\n        },\n\n        fix: {\n          reference: function() {\n            if( $module.is(selector.input) ) {\n              module.debug('Behavior called on <input> adjusting invoked element');\n              $module = $module.closest(selector.checkbox);\n              module.refresh();\n            }\n          }\n        },\n\n        setup: function() {\n          module.set.initialLoad();\n          if( module.is.indeterminate() ) {\n            module.debug('Initial value is indeterminate');\n            module.indeterminate();\n          }\n          else if( module.is.checked() ) {\n            module.debug('Initial value is checked');\n            module.check();\n          }\n          else {\n            module.debug('Initial value is unchecked');\n            module.uncheck();\n          }\n          module.remove.initialLoad();\n        },\n\n        refresh: function() {\n          $label = $module.children(selector.label);\n          $input = $module.children(selector.input);\n          input  = $input[0];\n        },\n\n        hide: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be unselectable');\n            $input.addClass(className.hidden);\n          }\n        },\n        show: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be selectable');\n            $input.removeClass(className.hidden);\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $element = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($element.length > 0) {\n            module.debug('Attaching checkbox events to element', selector, event);\n            $element\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound);\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            if( $target.is(selector.input) ) {\n              module.verbose('Using default check action on initialized checkbox');\n              return;\n            }\n            if( $target.is(selector.link) ) {\n              module.debug('Clicking link inside checkbox, skipping toggle');\n              return;\n            }\n            module.toggle();\n            $input.focus();\n            event.preventDefault();\n          },\n          keydown: function(event) {\n            var\n              key     = event.which,\n              keyCode = {\n                enter  : 13,\n                space  : 32,\n                escape : 27\n              }\n            ;\n            if(key == keyCode.escape) {\n              module.verbose('Escape key pressed blurring field');\n              $input.blur();\n              shortcutPressed = true;\n            }\n            else if(!event.ctrlKey && ( key == keyCode.space || key == keyCode.enter) ) {\n              module.verbose('Enter/space key pressed, toggling checkbox');\n              module.toggle();\n              shortcutPressed = true;\n            }\n            else {\n              shortcutPressed = false;\n            }\n          },\n          keyup: function(event) {\n            if(shortcutPressed) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        check: function() {\n          if( !module.should.allowCheck() ) {\n            return;\n          }\n          module.debug('Checking checkbox', $input);\n          module.set.checked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onChecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        uncheck: function() {\n          if( !module.should.allowUncheck() ) {\n            return;\n          }\n          module.debug('Unchecking checkbox');\n          module.set.unchecked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onUnchecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        indeterminate: function() {\n          if( module.should.allowIndeterminate() ) {\n            module.debug('Checkbox is already indeterminate');\n            return;\n          }\n          module.debug('Making checkbox indeterminate');\n          module.set.indeterminate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onIndeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        determinate: function() {\n          if( module.should.allowDeterminate() ) {\n            module.debug('Checkbox is already determinate');\n            return;\n          }\n          module.debug('Making checkbox determinate');\n          module.set.determinate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onDeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        enable: function() {\n          if( module.is.enabled() ) {\n            module.debug('Checkbox is already enabled');\n            return;\n          }\n          module.debug('Enabling checkbox');\n          module.set.enabled();\n          settings.onEnable.call(input);\n        },\n\n        disable: function() {\n          if( module.is.disabled() ) {\n            module.debug('Checkbox is already disabled');\n            return;\n          }\n          module.debug('Disabling checkbox');\n          module.set.disabled();\n          settings.onDisable.call(input);\n        },\n\n        get: {\n          radios: function() {\n            var\n              name = module.get.name()\n            ;\n            return $('input[name=\"' + name + '\"]').closest(selector.checkbox);\n          },\n          otherRadios: function() {\n            return module.get.radios().not($module);\n          },\n          name: function() {\n            return $input.attr('name');\n          }\n        },\n\n        is: {\n          initialLoad: function() {\n            return initialLoad;\n          },\n          radio: function() {\n            return ($input.hasClass(className.radio) || $input.attr('type') == 'radio');\n          },\n          indeterminate: function() {\n            return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');\n          },\n          checked: function() {\n            return $input.prop('checked') !== undefined && $input.prop('checked');\n          },\n          disabled: function() {\n            return $input.prop('disabled') !== undefined && $input.prop('disabled');\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          determinate: function() {\n            return !module.is.indeterminate();\n          },\n          unchecked: function() {\n            return !module.is.checked();\n          }\n        },\n\n        should: {\n          allowCheck: function() {\n            if(module.is.determinate() && module.is.checked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow check, checkbox is already checked');\n              return false;\n            }\n            if(settings.beforeChecked.apply(input) === false) {\n              module.debug('Should not allow check, beforeChecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowUncheck: function() {\n            if(module.is.determinate() && module.is.unchecked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow uncheck, checkbox is already unchecked');\n              return false;\n            }\n            if(settings.beforeUnchecked.apply(input) === false) {\n              module.debug('Should not allow uncheck, beforeUnchecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowIndeterminate: function() {\n            if(module.is.indeterminate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow indeterminate, checkbox is already indeterminate');\n              return false;\n            }\n            if(settings.beforeIndeterminate.apply(input) === false) {\n              module.debug('Should not allow indeterminate, beforeIndeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowDeterminate: function() {\n            if(module.is.determinate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow determinate, checkbox is already determinate');\n              return false;\n            }\n            if(settings.beforeDeterminate.apply(input) === false) {\n              module.debug('Should not allow determinate, beforeDeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          forceCallbacks: function() {\n            return (module.is.initialLoad() && settings.fireOnInit);\n          },\n          ignoreCallbacks: function() {\n            return (initialLoad && !settings.fireOnInit);\n          }\n        },\n\n        can: {\n          change: function() {\n            return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') );\n          },\n          uncheck: function() {\n            return (typeof settings.uncheckable === 'boolean')\n              ? settings.uncheckable\n              : !module.is.radio()\n            ;\n          }\n        },\n\n        set: {\n          initialLoad: function() {\n            initialLoad = true;\n          },\n          checked: function() {\n            module.verbose('Setting class to checked');\n            $module\n              .removeClass(className.indeterminate)\n              .addClass(className.checked)\n            ;\n            if( module.is.radio() ) {\n              module.uncheckOthers();\n            }\n            if(!module.is.indeterminate() && module.is.checked()) {\n              module.debug('Input is already checked, skipping input property change');\n              return;\n            }\n            module.verbose('Setting state to checked', input);\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', true)\n            ;\n            module.trigger.change();\n          },\n          unchecked: function() {\n            module.verbose('Removing checked class');\n            $module\n              .removeClass(className.indeterminate)\n              .removeClass(className.checked)\n            ;\n            if(!module.is.indeterminate() &&  module.is.unchecked() ) {\n              module.debug('Input is already unchecked');\n              return;\n            }\n            module.debug('Setting state to unchecked');\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', false)\n            ;\n            module.trigger.change();\n          },\n          indeterminate: function() {\n            module.verbose('Setting class to indeterminate');\n            $module\n              .addClass(className.indeterminate)\n            ;\n            if( module.is.indeterminate() ) {\n              module.debug('Input is already indeterminate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to indeterminate');\n            $input\n              .prop('indeterminate', true)\n            ;\n            module.trigger.change();\n          },\n          determinate: function() {\n            module.verbose('Removing indeterminate class');\n            $module\n              .removeClass(className.indeterminate)\n            ;\n            if( module.is.determinate() ) {\n              module.debug('Input is already determinate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to determinate');\n            $input\n              .prop('indeterminate', false)\n            ;\n          },\n          disabled: function() {\n            module.verbose('Setting class to disabled');\n            $module\n              .addClass(className.disabled)\n            ;\n            if( module.is.disabled() ) {\n              module.debug('Input is already disabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to disabled');\n            $input\n              .prop('disabled', 'disabled')\n            ;\n            module.trigger.change();\n          },\n          enabled: function() {\n            module.verbose('Removing disabled class');\n            $module.removeClass(className.disabled);\n            if( module.is.enabled() ) {\n              module.debug('Input is already enabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to enabled');\n            $input\n              .prop('disabled', false)\n            ;\n            module.trigger.change();\n          },\n          tabbable: function() {\n            module.verbose('Adding tabindex to checkbox');\n            if( $input.attr('tabindex') === undefined) {\n              $input.attr('tabindex', 0);\n            }\n          }\n        },\n\n        remove: {\n          initialLoad: function() {\n            initialLoad = false;\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n\n        create: {\n          label: function() {\n            if($input.prevAll(selector.label).length > 0) {\n              $input.prev(selector.label).detach().insertAfter($input);\n              module.debug('Moving existing label', $label);\n            }\n            else if( !module.has.label() ) {\n              $label = $('<label>').insertAfter($input);\n              module.debug('Creating label', $label);\n            }\n          }\n        },\n\n        has: {\n          label: function() {\n            return ($label.length > 0);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching checkbox events');\n            $module\n              .on('click'   + eventNamespace, module.event.click)\n              .on('keydown' + eventNamespace, selector.input, module.event.keydown)\n              .on('keyup'   + eventNamespace, selector.input, module.event.keyup)\n            ;\n          }\n        },\n\n        unbind: {\n          events: function() {\n            module.debug('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        uncheckOthers: function() {\n          var\n            $radios = module.get.otherRadios()\n          ;\n          module.debug('Unchecking other radios', $radios);\n          $radios.removeClass(className.checked);\n        },\n\n        toggle: function() {\n          if( !module.can.change() ) {\n            if(!module.is.radio()) {\n              module.debug('Checkbox is read-only or disabled, ignoring toggle');\n            }\n            return;\n          }\n          if( module.is.indeterminate() || module.is.unchecked() ) {\n            module.debug('Currently unchecked');\n            module.check();\n          }\n          else if( module.is.checked() && module.can.uncheck() ) {\n            module.debug('Currently checked');\n            module.uncheck();\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.checkbox.settings = {\n\n  name                : 'Checkbox',\n  namespace           : 'checkbox',\n\n  debug               : false,\n  verbose             : true,\n  performance         : true,\n\n  // delegated event context\n  uncheckable         : 'auto',\n  fireOnInit          : false,\n\n  onChange            : function(){},\n\n  beforeChecked       : function(){},\n  beforeUnchecked     : function(){},\n  beforeDeterminate   : function(){},\n  beforeIndeterminate : function(){},\n\n  onChecked           : function(){},\n  onUnchecked         : function(){},\n\n  onDeterminate       : function() {},\n  onIndeterminate     : function() {},\n\n  onEnabled           : function(){},\n  onDisabled          : function(){},\n\n  className       : {\n    checked       : 'checked',\n    indeterminate : 'indeterminate',\n    disabled      : 'disabled',\n    hidden        : 'hidden',\n    radio         : 'radio',\n    readOnly      : 'read-only'\n  },\n\n  error     : {\n    method       : 'The method you called is not defined'\n  },\n\n  selector : {\n    checkbox : '.ui.checkbox',\n    label    : 'label, .box',\n    input    : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    link     : 'a[href]'\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dimmer = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dimmer.settings, parameters)\n          : $.extend({}, $.fn.dimmer.settings),\n\n        selector        = settings.selector,\n        namespace       = settings.namespace,\n        className       = settings.className,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        clickEvent      = ('ontouchstart' in document.documentElement)\n          ? 'touchstart'\n          : 'click',\n\n        $module = $(this),\n        $dimmer,\n        $dimmable,\n\n        element   = this,\n        instance  = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        preinitialize: function() {\n          if( module.is.dimmer() ) {\n\n            $dimmable = $module.parent();\n            $dimmer   = $module;\n          }\n          else {\n            $dimmable = $module;\n            if( module.has.dimmer() ) {\n              if(settings.dimmerName) {\n                $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);\n              }\n              else {\n                $dimmer = $dimmable.find(selector.dimmer);\n              }\n            }\n            else {\n              $dimmer = module.create();\n            }\n          }\n        },\n\n        initialize: function() {\n          module.debug('Initializing dimmer', settings);\n\n          module.bind.events();\n          module.set.dimmable();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', $dimmer);\n          module.unbind.events();\n          module.remove.variation();\n          $dimmable\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            if(settings.on == 'hover') {\n              $dimmable\n                .on('mouseenter' + eventNamespace, module.show)\n                .on('mouseleave' + eventNamespace, module.hide)\n              ;\n            }\n            else if(settings.on == 'click') {\n              $dimmable\n                .on(clickEvent + eventNamespace, module.toggle)\n              ;\n            }\n            if( module.is.page() ) {\n              module.debug('Setting as a page dimmer', $dimmable);\n              module.set.pageDimmer();\n            }\n\n            if( module.is.closable() ) {\n              module.verbose('Adding dimmer close event', $dimmer);\n              $dimmable\n                .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          events: function() {\n            $module\n              .removeData(moduleNamespace)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            module.verbose('Determining if event occured on dimmer', event);\n            if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {\n              module.hide();\n              event.stopImmediatePropagation();\n            }\n          }\n        },\n\n        addContent: function(element) {\n          var\n            $content = $(element)\n          ;\n          module.debug('Add content to dimmer', $content);\n          if($content.parent()[0] !== $dimmer[0]) {\n            $content.detach().appendTo($dimmer);\n          }\n        },\n\n        create: function() {\n          var\n            $element = $( settings.template.dimmer() )\n          ;\n          if(settings.variation) {\n            module.debug('Creating dimmer with variation', settings.variation);\n            $element.addClass(settings.variation);\n          }\n          if(settings.dimmerName) {\n            module.debug('Creating named dimmer', settings.dimmerName);\n            $element.addClass(settings.dimmerName);\n          }\n          $element\n            .appendTo($dimmable)\n          ;\n          return $element;\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Showing dimmer', $dimmer, settings);\n          if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {\n            module.animate.show(callback);\n            settings.onShow.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is already shown or disabled');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.dimmed() || module.is.animating() ) {\n            module.debug('Hiding dimmer', $dimmer);\n            module.animate.hide(callback);\n            settings.onHide.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is not visible');\n          }\n        },\n\n        toggle: function() {\n          module.verbose('Toggling dimmer visibility', $dimmer);\n          if( !module.is.dimmed() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              if(settings.opacity !== 'auto') {\n                module.set.opacity();\n              }\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' in',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.set.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.set.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Showing dimmer animation with javascript');\n              module.set.dimmed();\n              if(settings.opacity == 'auto') {\n                settings.opacity = 0.8;\n              }\n              $dimmer\n                .stop()\n                .css({\n                  opacity : 0,\n                  width   : '100%',\n                  height  : '100%'\n                })\n                .fadeTo(module.get.duration(), settings.opacity, function() {\n                  $dimmer.removeAttr('style');\n                  module.set.active();\n                  callback();\n                })\n              ;\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              module.verbose('Hiding dimmer with css');\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' out',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.remove.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.remove.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Hiding dimmer with javascript');\n              module.remove.dimmed();\n              $dimmer\n                .stop()\n                .fadeOut(module.get.duration(), function() {\n                  module.remove.active();\n                  $dimmer.removeAttr('style');\n                  callback();\n                })\n              ;\n            }\n          }\n        },\n\n        get: {\n          dimmer: function() {\n            return $dimmer;\n          },\n          duration: function() {\n            if(typeof settings.duration == 'object') {\n              if( module.is.active() ) {\n                return settings.duration.hide;\n              }\n              else {\n                return settings.duration.show;\n              }\n            }\n            return settings.duration;\n          }\n        },\n\n        has: {\n          dimmer: function() {\n            if(settings.dimmerName) {\n              return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);\n            }\n            else {\n              return ( $module.find(selector.dimmer).length > 0 );\n            }\n          }\n        },\n\n        is: {\n          active: function() {\n            return $dimmer.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );\n          },\n          closable: function() {\n            if(settings.closable == 'auto') {\n              if(settings.on == 'hover') {\n                return false;\n              }\n              return true;\n            }\n            return settings.closable;\n          },\n          dimmer: function() {\n            return $module.hasClass(className.dimmer);\n          },\n          dimmable: function() {\n            return $module.hasClass(className.dimmable);\n          },\n          dimmed: function() {\n            return $dimmable.hasClass(className.dimmed);\n          },\n          disabled: function() {\n            return $dimmable.hasClass(className.disabled);\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          page: function () {\n            return $dimmable.is('body');\n          },\n          pageDimmer: function() {\n            return $dimmer.hasClass(className.pageDimmer);\n          }\n        },\n\n        can: {\n          show: function() {\n            return !$dimmer.hasClass(className.disabled);\n          }\n        },\n\n        set: {\n          opacity: function(opacity) {\n            var\n              color      = $dimmer.css('background-color'),\n              colorArray = color.split(','),\n              isRGBA     = (colorArray && colorArray.length == 4)\n            ;\n            opacity    = settings.opacity === 0 ? 0 : settings.opacity || opacity;\n            if(isRGBA) {\n              colorArray[3] = opacity + ')';\n              color         = colorArray.join(',');\n            }\n            else {\n              color = 'rgba(0, 0, 0, ' + opacity + ')';\n            }\n            module.debug('Setting opacity to', opacity);\n            $dimmer.css('background-color', color);\n          },\n          active: function() {\n            $dimmer.addClass(className.active);\n          },\n          dimmable: function() {\n            $dimmable.addClass(className.dimmable);\n          },\n          dimmed: function() {\n            $dimmable.addClass(className.dimmed);\n          },\n          pageDimmer: function() {\n            $dimmer.addClass(className.pageDimmer);\n          },\n          disabled: function() {\n            $dimmer.addClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.addClass(variation);\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $dimmer\n              .removeClass(className.active)\n            ;\n          },\n          dimmed: function() {\n            $dimmable.removeClass(className.dimmed);\n          },\n          disabled: function() {\n            $dimmer.removeClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.removeClass(variation);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      module.preinitialize();\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.dimmer.settings = {\n\n  name        : 'Dimmer',\n  namespace   : 'dimmer',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  // name to distinguish between multiple dimmers in context\n  dimmerName  : false,\n\n  // whether to add a variation type\n  variation   : false,\n\n  // whether to bind close events\n  closable    : 'auto',\n\n  // whether to use css animations\n  useCSS      : true,\n\n  // css animation to use\n  transition  : 'fade',\n\n  // event to bind to\n  on          : false,\n\n  // overriding opacity value\n  opacity     : 'auto',\n\n  // transition durations\n  duration    : {\n    show : 500,\n    hide : 500\n  },\n\n  onChange    : function(){},\n  onShow      : function(){},\n  onHide      : function(){},\n\n  error   : {\n    method   : 'The method you called is not defined.'\n  },\n\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    dimmable   : 'dimmable',\n    dimmed     : 'dimmed',\n    dimmer     : 'dimmer',\n    disabled   : 'disabled',\n    hide       : 'hide',\n    pageDimmer : 'page',\n    show       : 'show'\n  },\n\n  selector: {\n    dimmer   : '> .ui.dimmer',\n    content  : '.ui.dimmer > .content, .ui.dimmer > .content > .center'\n  },\n\n  template: {\n    dimmer: function() {\n     return $('<div />').attr('class', 'ui dimmer');\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dropdown = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = ('ontouchstart' in document.documentElement),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function(elementIndex) {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dropdown.settings, parameters)\n          : $.extend({}, $.fn.dropdown.settings),\n\n        className       = settings.className,\n        message         = settings.message,\n        fields          = settings.fields,\n        keys            = settings.keys,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        selector        = settings.selector,\n        error           = settings.error,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $text           = $module.find(selector.text),\n        $search         = $module.find(selector.search),\n        $input          = $module.find(selector.input),\n        $icon           = $module.find(selector.icon),\n\n        $combo = ($module.prev().find(selector.text).length > 0)\n          ? $module.prev().find(selector.text)\n          : $module.prev(),\n\n        $menu           = $module.children(selector.menu),\n        $item           = $menu.find(selector.item),\n\n        activated       = false,\n        itemActivated   = false,\n        internalChange  = false,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        initialLoad,\n        pageLostFocus,\n        elementNamespace,\n        id,\n        selectObserver,\n        menuObserver,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing dropdown', settings);\n\n          if( module.is.alreadySetup() ) {\n            module.setup.reference();\n          }\n          else {\n            module.setup.layout();\n            module.refreshData();\n\n            module.save.defaults();\n            module.restore.selected();\n\n            module.create.id();\n            module.bind.events();\n\n            module.observeChanges();\n            module.instantiate();\n          }\n\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of dropdown', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous dropdown', $module);\n          module.remove.tabbable();\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          $menu\n            .off(eventNamespace)\n          ;\n          $document\n            .off(elementNamespace)\n          ;\n          if(selectObserver) {\n            selectObserver.disconnect();\n          }\n          if(menuObserver) {\n            menuObserver.disconnect();\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            selectObserver = new MutationObserver(function(mutations) {\n              module.debug('<select> modified, recreating menu');\n              module.setup.select();\n            });\n            menuObserver = new MutationObserver(function(mutations) {\n              module.debug('Menu modified, updating selector cache');\n              module.refresh();\n            });\n            if(module.has.input()) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            if(module.has.menu()) {\n              menuObserver.observe($menu[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            module.debug('Setting up mutation observer', selectObserver, menuObserver);\n          }\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2, 8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          },\n          userChoice: function(values) {\n            var\n              $userChoices,\n              $userChoice,\n              isUserValue,\n              html\n            ;\n            values = values || module.get.userValues();\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            $.each(values, function(index, value) {\n              if(module.get.item(value) === false) {\n                html         = settings.templates.addition( module.add.variables(message.addResult, value) );\n                $userChoice  = $('<div />')\n                  .html(html)\n                  .attr('data-' + metadata.value, value)\n                  .attr('data-' + metadata.text, value)\n                  .addClass(className.addition)\n                  .addClass(className.item)\n                ;\n                $userChoices = ($userChoices === undefined)\n                  ? $userChoice\n                  : $userChoices.add($userChoice)\n                ;\n                module.verbose('Creating user choices for value', value, $userChoice);\n              }\n            });\n            return $userChoices;\n          },\n          userLabels: function(value) {\n            var\n              userValues = module.get.userValues()\n            ;\n            if(userValues) {\n              module.debug('Adding user labels', userValues);\n              $.each(userValues, function(index, value) {\n                module.verbose('Adding custom user value');\n                module.add.label(value, value);\n              });\n            }\n          },\n          menu: function() {\n            $menu = $('<div />')\n              .addClass(className.menu)\n              .appendTo($module)\n            ;\n          }\n        },\n\n        search: function(query) {\n          query = (query !== undefined)\n            ? query\n            : module.get.query()\n          ;\n          module.verbose('Searching for query', query);\n          module.filter(query);\n        },\n\n        select: {\n          firstUnfiltered: function() {\n            module.verbose('Selecting first non-filtered element');\n            module.remove.selectedItem();\n            $item\n              .not(selector.unselectable)\n                .eq(0)\n                .addClass(className.selected)\n            ;\n          },\n          nextAvailable: function($selected) {\n            $selected = $selected.eq(0);\n            var\n              $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0),\n              $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0),\n              hasNext        = ($nextAvailable.length > 0)\n            ;\n            if(hasNext) {\n              module.verbose('Moving selection to', $nextAvailable);\n              $nextAvailable.addClass(className.selected);\n            }\n            else {\n              module.verbose('Moving selection to', $prevAvailable);\n              $prevAvailable.addClass(className.selected);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug : settings.debug,\n                on    : false\n              }\n            ;\n            module.verbose('First request, initializing API');\n            $module\n              .api(apiSettings)\n            ;\n          },\n          layout: function() {\n            if( $module.is('select') ) {\n              module.setup.select();\n              module.setup.returnedObject();\n            }\n            if( !module.has.menu() ) {\n              module.create.menu();\n            }\n            if( module.is.search() && !module.has.search() ) {\n              module.verbose('Adding search input');\n              $search = $('<input />')\n                .addClass(className.search)\n                .prop('autocomplete', 'off')\n                .insertBefore($text)\n              ;\n            }\n            if(settings.allowTab) {\n              module.set.tabbable();\n            }\n          },\n          select: function() {\n            var\n              selectValues  = module.get.selectValues()\n            ;\n            module.debug('Dropdown initialized on a select', selectValues);\n            if( $module.is('select') ) {\n              $input = $module;\n            }\n            // see if select is placed correctly already\n            if($input.parent(selector.dropdown).length > 0) {\n              module.debug('UI dropdown already exists. Creating dropdown menu only');\n              $module = $input.closest(selector.dropdown);\n              if( !module.has.menu() ) {\n                module.create.menu();\n              }\n              $menu = $module.children(selector.menu);\n              module.setup.menu(selectValues);\n            }\n            else {\n              module.debug('Creating entire dropdown from select');\n              $module = $('<div />')\n                .attr('class', $input.attr('class') )\n                .addClass(className.selection)\n                .addClass(className.dropdown)\n                .html( templates.dropdown(selectValues) )\n                .insertBefore($input)\n              ;\n              if($input.hasClass(className.multiple) && $input.prop('multiple') === false) {\n                module.error(error.missingMultiple);\n                $input.prop('multiple', true);\n              }\n              if($input.is('[multiple]')) {\n                module.set.multiple();\n              }\n              if ($input.prop('disabled')) {\n                module.debug('Disabling dropdown')\n                $module.addClass(className.disabled)\n              }\n              $input\n                .removeAttr('class')\n                .detach()\n                .prependTo($module)\n              ;\n            }\n            module.refresh();\n          },\n          menu: function(values) {\n            $menu.html( templates.menu(values, fields));\n            $item = $menu.find(selector.item);\n          },\n          reference: function() {\n            module.debug('Dropdown behavior was called on select, replacing with closest dropdown');\n            // replace module reference\n            $module = $module.parent(selector.dropdown);\n            module.refresh();\n            module.setup.returnedObject();\n            // invoke method in context of current instance\n            if(methodInvoked) {\n              instance = module;\n              module.invoke(query);\n            }\n          },\n          returnedObject: function() {\n            var\n              $firstModules = $allModules.slice(0, elementIndex),\n              $lastModules = $allModules.slice(elementIndex + 1)\n            ;\n            // adjust all modules to use correct reference\n            $allModules = $firstModules.add($module).add($lastModules);\n          }\n        },\n\n        refresh: function() {\n          module.refreshSelectors();\n          module.refreshData();\n        },\n\n        refreshSelectors: function() {\n          module.verbose('Refreshing selector cache');\n          $text   = $module.find(selector.text);\n          $search = $module.find(selector.search);\n          $input  = $module.find(selector.input);\n          $icon   = $module.find(selector.icon);\n          $combo  = ($module.prev().find(selector.text).length > 0)\n            ? $module.prev().find(selector.text)\n            : $module.prev()\n          ;\n          $menu    = $module.children(selector.menu);\n          $item    = $menu.find(selector.item);\n        },\n\n        refreshData: function() {\n          module.verbose('Refreshing cached metadata');\n          $item\n            .removeData(metadata.text)\n            .removeData(metadata.value)\n          ;\n          $module\n            .removeData(metadata.defaultText)\n            .removeData(metadata.defaultValue)\n            .removeData(metadata.placeholderText)\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Toggling menu visibility');\n          if( !module.is.active() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.can.show() && !module.is.active() ) {\n            module.debug('Showing dropdown');\n            if(module.is.multiple() && !module.has.search() && module.is.allFiltered()) {\n              return true;\n            }\n            if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) {\n              module.remove.message();\n            }\n            if(settings.onShow.call(element) !== false) {\n              module.animate.show(function() {\n                if( module.can.click() ) {\n                  module.bind.intent();\n                }\n                module.set.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.active() ) {\n            module.debug('Hiding dropdown');\n            if(settings.onHide.call(element) !== false) {\n              module.animate.hide(function() {\n                module.remove.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hideOthers: function() {\n          module.verbose('Finding other dropdowns to hide');\n          $allModules\n            .not($module)\n              .has(selector.menu + '.' + className.visible)\n                .dropdown('hide')\n          ;\n        },\n\n        hideMenu: function() {\n          module.verbose('Hiding menu  instantaneously');\n          module.remove.active();\n          module.remove.visible();\n          $menu.transition('hide');\n        },\n\n        hideSubMenus: function() {\n          var\n            $subMenus = $menu.children(selector.item).find(selector.menu)\n          ;\n          module.verbose('Hiding sub menus', $subMenus);\n          $subMenus.transition('hide');\n        },\n\n        bind: {\n          events: function() {\n            if(hasTouch) {\n              module.bind.touchEvents();\n            }\n            module.bind.keyboardEvents();\n            module.bind.inputEvents();\n            module.bind.mouseEvents();\n          },\n          touchEvents: function() {\n            module.debug('Touch device detected binding additional touch events');\n            if( module.is.searchSelection() ) {\n              // do nothing special yet\n            }\n            else if( module.is.single() ) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.test.toggle)\n              ;\n            }\n            $menu\n              .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)\n            ;\n          },\n          keyboardEvents: function() {\n            module.verbose('Binding keyboard events');\n            $module\n              .on('keydown' + eventNamespace, module.event.keydown)\n            ;\n            if( module.has.search() ) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input)\n              ;\n            }\n            if( module.is.multiple() ) {\n              $document\n                .on('keydown' + elementNamespace, module.event.document.keydown)\n              ;\n            }\n          },\n          inputEvents: function() {\n            module.verbose('Binding input change events');\n            $module\n              .on('change' + eventNamespace, selector.input, module.event.change)\n            ;\n          },\n          mouseEvents: function() {\n            module.verbose('Binding mouse events');\n            if(module.is.multiple()) {\n              $module\n                .on('click'   + eventNamespace, selector.label,  module.event.label.click)\n                .on('click'   + eventNamespace, selector.remove, module.event.remove.click)\n              ;\n            }\n            if( module.is.searchSelection() ) {\n              $module\n                .on('mousedown' + eventNamespace, selector.menu,   module.event.menu.mousedown)\n                .on('mouseup'   + eventNamespace, selector.menu,   module.event.menu.mouseup)\n                .on('click'     + eventNamespace, selector.icon,   module.event.icon.click)\n                .on('click'     + eventNamespace, selector.search, module.show)\n                .on('focus'     + eventNamespace, selector.search, module.event.search.focus)\n                .on('blur'      + eventNamespace, selector.search, module.event.search.blur)\n                .on('click'     + eventNamespace, selector.text,   module.event.text.focus)\n              ;\n              if(module.is.multiple()) {\n                $module\n                  .on('click' + eventNamespace, module.event.click)\n                ;\n              }\n            }\n            else {\n              if(settings.on == 'click') {\n                $module\n                  .on('click' + eventNamespace, selector.icon, module.event.icon.click)\n                  .on('click' + eventNamespace, module.event.test.toggle)\n                ;\n              }\n              else if(settings.on == 'hover') {\n                $module\n                  .on('mouseenter' + eventNamespace, module.delay.show)\n                  .on('mouseleave' + eventNamespace, module.delay.hide)\n                ;\n              }\n              else {\n                $module\n                  .on(settings.on + eventNamespace, module.toggle)\n                ;\n              }\n              $module\n                .on('mousedown' + eventNamespace, module.event.mousedown)\n                .on('mouseup'   + eventNamespace, module.event.mouseup)\n                .on('focus'     + eventNamespace, module.event.focus)\n                .on('blur'      + eventNamespace, module.event.blur)\n              ;\n            }\n            $menu\n              .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)\n              .on('click'      + eventNamespace, selector.item, module.event.item.click)\n            ;\n          },\n          intent: function() {\n            module.verbose('Binding hide intent event to document');\n            if(hasTouch) {\n              $document\n                .on('touchstart' + elementNamespace, module.event.test.touch)\n                .on('touchmove'  + elementNamespace, module.event.test.touch)\n              ;\n            }\n            $document\n              .on('click' + elementNamespace, module.event.test.hide)\n            ;\n          }\n        },\n\n        unbind: {\n          intent: function() {\n            module.verbose('Removing hide intent event from document');\n            if(hasTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n                .off('touchmove' + elementNamespace)\n              ;\n            }\n            $document\n              .off('click' + elementNamespace)\n            ;\n          }\n        },\n\n        filter: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            afterFiltered = function() {\n              if(module.is.multiple()) {\n                module.filterActive();\n              }\n              module.select.firstUnfiltered();\n              if( module.has.allResultsFiltered() ) {\n                if( settings.onNoResults.call(element, searchTerm) ) {\n                  if(!settings.allowAdditions) {\n                    module.verbose('All items filtered, showing message', searchTerm);\n                    module.add.message(message.noResults);\n                  }\n                }\n                else {\n                  module.verbose('All items filtered, hiding dropdown', searchTerm);\n                  module.hideMenu();\n                }\n              }\n              else {\n                module.remove.message();\n              }\n              if(settings.allowAdditions) {\n                module.add.userSuggestion(query);\n              }\n              if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) {\n                module.show();\n              }\n            }\n          ;\n          if(settings.useLabels && module.has.maxSelections()) {\n            return;\n          }\n          if(settings.apiSettings) {\n            if( module.can.useAPI() ) {\n              module.queryRemote(searchTerm, function() {\n                afterFiltered();\n              });\n            }\n            else {\n              module.error(error.noAPI);\n            }\n          }\n          else {\n            module.filterItems(searchTerm);\n            afterFiltered();\n          }\n        },\n\n        queryRemote: function(query, callback) {\n          var\n            apiSettings = {\n              errorDuration        : false,\n              throttle             : settings.throttle,\n              urlData              : {\n                query: query\n              },\n              onError: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onFailure: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onSuccess : function(response) {\n                module.remove.message();\n                module.setup.menu({\n                  values: response[fields.remoteValues]\n                });\n                callback();\n              }\n            }\n          ;\n          if( !$module.api('get request') ) {\n            module.setup.api();\n          }\n          apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings);\n          $module\n            .api('setting', apiSettings)\n            .api('query')\n          ;\n        },\n\n        filterItems: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            results          =  null,\n            escapedTerm      = module.escape.regExp(searchTerm),\n            beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm')\n          ;\n          // avoid loop if we're matching nothing\n          if( module.has.query() ) {\n            results = [];\n\n            module.verbose('Searching for matching values', searchTerm);\n            $item\n              .each(function(){\n                var\n                  $choice = $(this),\n                  text,\n                  value\n                ;\n                if(settings.match == 'both' || settings.match == 'text') {\n                  text = String(module.get.choiceText($choice, false));\n                  if(text.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, text)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n                if(settings.match == 'both' || settings.match == 'value') {\n                  value = String(module.get.choiceValue($choice, text));\n\n                  if(value.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, value)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n              })\n            ;\n          }\n          module.debug('Showing only matched items', searchTerm);\n          module.remove.filteredItem();\n          if(results) {\n            $item\n              .not(results)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        filterActive: function() {\n          if(settings.useLabels) {\n            $item.filter('.' + className.active)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        focusSearch: function() {\n          if( module.is.search() && !module.is.focusedOnSearch() ) {\n            $search[0].focus();\n          }\n        },\n\n        forceSelection: function() {\n          var\n            $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0),\n            $activeItem        = $item.not(className.filtered).filter('.' + className.active).eq(0),\n            $selectedItem      = ($currentlySelected.length > 0)\n              ? $currentlySelected\n              : $activeItem,\n            hasSelected = ($selectedItem.size() > 0)\n          ;\n          if( module.has.query() ) {\n            if(hasSelected) {\n              module.debug('Forcing partial selection to selected item', $selectedItem);\n              module.event.item.click.call($selectedItem);\n              return;\n            }\n            else {\n              module.remove.searchTerm();\n            }\n          }\n          module.hide();\n        },\n\n        event: {\n          change: function() {\n            if(!internalChange) {\n              module.debug('Input changed, updating selection');\n              module.set.selected();\n            }\n          },\n          focus: function() {\n            if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) {\n              module.show();\n            }\n          },\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            // focus search\n            if($target.is($module) && !module.is.focusedOnSearch()) {\n              module.focusSearch();\n            }\n          },\n          blur: function(event) {\n            pageLostFocus = (document.activeElement === this);\n            if(!activated && !pageLostFocus) {\n              module.remove.activeLabel();\n              module.hide();\n            }\n          },\n          // prevents focus callback from occurring on mousedown\n          mousedown: function() {\n            activated = true;\n          },\n          mouseup: function() {\n            activated = false;\n          },\n          search: {\n            focus: function() {\n              activated = true;\n              if(module.is.multiple()) {\n                module.remove.activeLabel();\n              }\n              if(settings.showOnFocus) {\n                module.search();\n                module.show();\n              }\n            },\n            blur: function(event) {\n              pageLostFocus = (document.activeElement === this);\n              if(!itemActivated && !pageLostFocus) {\n                if(module.is.multiple()) {\n                  module.remove.activeLabel();\n                  module.hide();\n                }\n                else if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n                else {\n                  module.hide();\n                }\n              }\n              else if(pageLostFocus) {\n                if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n              }\n            }\n          },\n          icon: {\n            click: function(event) {\n              module.toggle();\n              event.stopPropagation();\n            }\n          },\n          text: {\n            focus: function(event) {\n              activated = true;\n              module.focusSearch();\n            }\n          },\n          input: function(event) {\n            if(module.is.multiple() || module.is.searchSelection()) {\n              module.set.filtered();\n            }\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.search, settings.delay.search);\n          },\n          label: {\n            click: function(event) {\n              var\n                $label        = $(this),\n                $labels       = $module.find(selector.label),\n                $activeLabels = $labels.filter('.' + className.active),\n                $nextActive   = $label.nextAll('.' + className.active),\n                $prevActive   = $label.prevAll('.' + className.active),\n                $range = ($nextActive.length > 0)\n                  ? $label.nextUntil($nextActive).add($activeLabels).add($label)\n                  : $label.prevUntil($prevActive).add($activeLabels).add($label)\n              ;\n              if(event.shiftKey) {\n                $activeLabels.removeClass(className.active);\n                $range.addClass(className.active);\n              }\n              else if(event.ctrlKey) {\n                $label.toggleClass(className.active);\n              }\n              else {\n                $activeLabels.removeClass(className.active);\n                $label.addClass(className.active);\n              }\n              settings.onLabelSelect.apply(this, $labels.filter('.' + className.active));\n            }\n          },\n          remove: {\n            click: function() {\n              var\n                $label = $(this).parent()\n              ;\n              if( $label.hasClass(className.active) ) {\n                // remove all selected labels\n                module.remove.activeLabels();\n              }\n              else {\n                // remove this label only\n                module.remove.activeLabels( $label );\n              }\n            }\n          },\n          test: {\n            toggle: function(event) {\n              var\n                toggleBehavior = (module.is.multiple())\n                  ? module.show\n                  : module.toggle\n              ;\n              if( module.determine.eventOnElement(event, toggleBehavior) ) {\n                event.preventDefault();\n              }\n            },\n            touch: function(event) {\n              module.determine.eventOnElement(event, function() {\n                if(event.type == 'touchstart') {\n                  module.timer = setTimeout(function() {\n                    module.hide();\n                  }, settings.delay.touch);\n                }\n                else if(event.type == 'touchmove') {\n                  clearTimeout(module.timer);\n                }\n              });\n              event.stopPropagation();\n            },\n            hide: function(event) {\n              module.determine.eventInModule(event, module.hide);\n            }\n          },\n          menu: {\n            mousedown: function() {\n              itemActivated = true;\n            },\n            mouseup: function() {\n              itemActivated = false;\n            }\n          },\n          item: {\n            mouseenter: function(event) {\n              var\n                $subMenu    = $(this).children(selector.menu),\n                $otherMenus = $(this).siblings(selector.item).children(selector.menu)\n              ;\n              if( $subMenu.length > 0 ) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Showing sub-menu', $subMenu);\n                  $.each($otherMenus, function() {\n                    module.animate.hide(false, $(this));\n                  });\n                  module.animate.show(false,  $subMenu);\n                }, settings.delay.show);\n                event.preventDefault();\n              }\n            },\n            mouseleave: function(event) {\n              var\n                $subMenu = $(this).children(selector.menu)\n              ;\n              if($subMenu.length > 0) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Hiding sub-menu', $subMenu);\n                  module.animate.hide(false,  $subMenu);\n                }, settings.delay.hide);\n              }\n            },\n            touchend: function() {\n            },\n            click: function (event) {\n              var\n                $choice        = $(this),\n                $target        = (event)\n                  ? $(event.target)\n                  : $(''),\n                $subMenu       = $choice.find(selector.menu),\n                text           = module.get.choiceText($choice),\n                value          = module.get.choiceValue($choice, text),\n                hasSubMenu     = ($subMenu.length > 0),\n                isBubbledEvent = ($subMenu.find($target).length > 0)\n              ;\n              if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) {\n                if(!settings.useLabels) {\n                  module.remove.filteredItem();\n                  module.remove.searchTerm();\n                  module.set.scrollPosition($choice);\n                }\n                module.determine.selectAction.call(this, text, value);\n              }\n            }\n          },\n\n          document: {\n            // label selection should occur even when element has no focus\n            keydown: function(event) {\n              var\n                pressedKey    = event.which,\n                isShortcutKey = module.is.inObject(pressedKey, keys)\n              ;\n              if(isShortcutKey) {\n                var\n                  $label            = $module.find(selector.label),\n                  $activeLabel      = $label.filter('.' + className.active),\n                  activeValue       = $activeLabel.data(metadata.value),\n                  labelIndex        = $label.index($activeLabel),\n                  labelCount        = $label.length,\n                  hasActiveLabel    = ($activeLabel.length > 0),\n                  hasMultipleActive = ($activeLabel.length > 1),\n                  isFirstLabel      = (labelIndex === 0),\n                  isLastLabel       = (labelIndex + 1 == labelCount),\n                  isSearch          = module.is.searchSelection(),\n                  isFocusedOnSearch = module.is.focusedOnSearch(),\n                  isFocused         = module.is.focused(),\n                  caretAtStart      = (isFocusedOnSearch && module.get.caretPosition() === 0),\n                  $nextLabel\n                ;\n                if(isSearch && !hasActiveLabel && !isFocusedOnSearch) {\n                  return;\n                }\n\n                if(pressedKey == keys.leftArrow) {\n                  // activate previous label\n                  if((isFocused || caretAtStart) && !hasActiveLabel) {\n                    module.verbose('Selecting previous label');\n                    $label.last().addClass(className.active);\n                  }\n                  else if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting previous label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding previous label to selection');\n                    }\n                    if(isFirstLabel && !hasMultipleActive) {\n                      $activeLabel.addClass(className.active);\n                    }\n                    else {\n                      $activeLabel.prev(selector.siblingLabel)\n                        .addClass(className.active)\n                        .end()\n                      ;\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.rightArrow) {\n                  // activate first label\n                  if(isFocused && !hasActiveLabel) {\n                    $label.first().addClass(className.active);\n                  }\n                  // activate next label\n                  if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting next label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding next label to selection');\n                    }\n                    if(isLastLabel) {\n                      if(isSearch) {\n                        if(!isFocusedOnSearch) {\n                          module.focusSearch();\n                        }\n                        else {\n                          $label.removeClass(className.active);\n                        }\n                      }\n                      else if(hasMultipleActive) {\n                        $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                      }\n                      else {\n                        $activeLabel.addClass(className.active);\n                      }\n                    }\n                    else {\n                      $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) {\n                  if(hasActiveLabel) {\n                    module.verbose('Removing active labels');\n                    if(isLastLabel) {\n                      if(isSearch && !isFocusedOnSearch) {\n                        module.focusSearch();\n                      }\n                    }\n                    $activeLabel.last().next(selector.siblingLabel).addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                    event.preventDefault();\n                  }\n                  else if(caretAtStart && !hasActiveLabel && pressedKey == keys.backspace) {\n                    module.verbose('Removing last label on input backspace');\n                    $activeLabel = $label.last().addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                  }\n                }\n                else {\n                  $activeLabel.removeClass(className.active);\n                }\n              }\n            }\n          },\n\n          keydown: function(event) {\n            var\n              pressedKey    = event.which,\n              isShortcutKey = module.is.inObject(pressedKey, keys)\n            ;\n            if(isShortcutKey) {\n              var\n                $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0),\n                $activeItem        = $menu.children('.' + className.active).eq(0),\n                $selectedItem      = ($currentlySelected.length > 0)\n                  ? $currentlySelected\n                  : $activeItem,\n                $visibleItems = ($selectedItem.length > 0)\n                  ? $selectedItem.siblings(':not(.' + className.filtered +')').andSelf()\n                  : $menu.children(':not(.' + className.filtered +')'),\n                $subMenu             = $selectedItem.children(selector.menu),\n                $parentMenu          = $selectedItem.closest(selector.menu),\n                inVisibleMenu        = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0),\n                hasSubMenu           = ($subMenu.length> 0),\n                hasSelectedItem      = ($selectedItem.length > 0),\n                selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),\n                delimiterPressed     = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()),\n                $nextItem,\n                isSubMenuItem,\n                newIndex\n              ;\n              // visible menu keyboard shortcuts\n              if( module.is.visible() ) {\n\n                // enter (select or open sub-menu)\n                if(pressedKey == keys.enter || delimiterPressed) {\n                  if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {\n                    module.verbose('Pressed enter on unselectable category, opening sub menu');\n                    pressedKey = keys.rightArrow;\n                  }\n                  else if(selectedIsSelectable) {\n                    module.verbose('Selecting item from keyboard shortcut', $selectedItem);\n                    module.event.item.click.call($selectedItem, event);\n                    if(module.is.searchSelection()) {\n                      module.remove.searchTerm();\n                    }\n                  }\n                  event.preventDefault();\n                }\n\n                // left arrow (hide sub-menu)\n                if(pressedKey == keys.leftArrow) {\n\n                  isSubMenuItem = ($parentMenu[0] !== $menu[0]);\n\n                  if(isSubMenuItem) {\n                    module.verbose('Left key pressed, closing sub-menu');\n                    module.animate.hide(false,  $parentMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $parentMenu\n                      .closest(selector.item)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // right arrow (show sub-menu)\n                if(pressedKey == keys.rightArrow) {\n                  if(hasSubMenu) {\n                    module.verbose('Right key pressed, opening sub-menu');\n                    module.animate.show(false,  $subMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $subMenu\n                      .find(selector.item).eq(0)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // up arrow (traverse menu up)\n                if(pressedKey == keys.upArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($visibleItems.index( $nextItem ) < 0) {\n                    module.verbose('Up key pressed but reached top of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Up key pressed, changing active item');\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // down arrow (traverse menu down)\n                if(pressedKey == keys.downArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($nextItem.length === 0) {\n                    module.verbose('Down key pressed but reached bottom of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Down key pressed, changing active item');\n                    $item\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // page down (show next page)\n                if(pressedKey == keys.pageUp) {\n                  module.scrollPage('up');\n                  event.preventDefault();\n                }\n                if(pressedKey == keys.pageDown) {\n                  module.scrollPage('down');\n                  event.preventDefault();\n                }\n\n                // escape (close menu)\n                if(pressedKey == keys.escape) {\n                  module.verbose('Escape key pressed, closing dropdown');\n                  module.hide();\n                }\n\n              }\n              else {\n                // delimiter key\n                if(delimiterPressed) {\n                  event.preventDefault();\n                }\n                // down arrow (open menu)\n                if(pressedKey == keys.downArrow) {\n                  module.verbose('Down key pressed, showing dropdown');\n                  module.show();\n                  event.preventDefault();\n                }\n              }\n            }\n            else {\n              if( module.is.selection() && !module.is.search() ) {\n                module.set.selectedLetter( String.fromCharCode(pressedKey) );\n              }\n            }\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        determine: {\n          selectAction: function(text, value) {\n            module.verbose('Determining action', settings.action);\n            if( $.isFunction( module.action[settings.action] ) ) {\n              module.verbose('Triggering preset action', settings.action, text, value);\n              module.action[ settings.action ].call(this, text, value);\n            }\n            else if( $.isFunction(settings.action) ) {\n              module.verbose('Triggering user action', settings.action, text, value);\n              settings.action.call(this, text, value);\n            }\n            else {\n              module.error(error.action, settings.action);\n            }\n          },\n          eventInModule: function(event, callback) {\n            var\n              $target    = $(event.target),\n              inDocument = ($target.closest(document.documentElement).length > 0),\n              inModule   = ($target.closest($module).length > 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(inDocument && !inModule) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown, canceling callback');\n              return false;\n            }\n          },\n          eventOnElement: function(event, callback) {\n            var\n              $target    = $(event.target),\n              $label     = $target.closest(selector.siblingLabel),\n              notOnLabel = ($module.find($label).length === 0),\n              notInMenu  = ($target.closest($menu).length === 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(notOnLabel && notInMenu) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown menu, canceling callback');\n              return false;\n            }\n          }\n        },\n\n        action: {\n\n          nothing: function() {},\n\n          activate: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            if( module.can.activate( $(this) ) ) {\n              module.set.selected(value, $(this));\n              if(module.is.multiple() && !module.is.allFiltered()) {\n                return;\n              }\n              else {\n                module.hideAndClear();\n              }\n            }\n          },\n\n          select: function(text, value) {\n            // mimics action.activate but does not select text\n            module.action.activate.call(this);\n          },\n\n          combo: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            module.set.selected(value, $(this));\n            module.hideAndClear();\n          },\n\n          hide: function(text, value) {\n            module.set.value(value);\n            module.hideAndClear();\n          }\n\n        },\n\n        get: {\n          id: function() {\n            return id;\n          },\n          defaultText: function() {\n            return $module.data(metadata.defaultText);\n          },\n          defaultValue: function() {\n            return $module.data(metadata.defaultValue);\n          },\n          placeholderText: function() {\n            return $module.data(metadata.placeholderText) || '';\n          },\n          text: function() {\n            return $text.text();\n          },\n          query: function() {\n            return $.trim($search.val());\n          },\n          searchWidth: function(characterCount) {\n            return (characterCount * settings.glyphWidth) + 'em';\n          },\n          selectionCount: function() {\n            var\n              values = module.get.values(),\n              count\n            ;\n            count = ( module.is.multiple() )\n              ? $.isArray(values)\n                ? values.length\n                : 0\n              : (module.get.value() !== '')\n                ? 1\n                : 0\n            ;\n            return count;\n          },\n          transition: function($subMenu) {\n            return (settings.transition == 'auto')\n              ? module.is.upward($subMenu)\n                ? 'slide up'\n                : 'slide down'\n              : settings.transition\n            ;\n          },\n          userValues: function() {\n            var\n              values = module.get.values()\n            ;\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            return $.grep(values, function(value) {\n              return (module.get.item(value) === false);\n            });\n          },\n          uniqueArray: function(array) {\n            return $.grep(array, function (value, index) {\n                return $.inArray(value, array) === index;\n            });\n          },\n          caretPosition: function() {\n            var\n              input = $search.get(0),\n              range,\n              rangeLength\n            ;\n            if('selectionStart' in input) {\n              return input.selectionStart;\n            }\n            else if (document.selection) {\n              input.focus();\n              range       = document.selection.createRange();\n              rangeLength = range.text.length;\n              range.moveStart('character', -input.value.length);\n              return range.text.length - rangeLength;\n            }\n          },\n          value: function() {\n            var\n              value = ($input.length > 0)\n                ? $input.val()\n                : $module.data(metadata.value)\n            ;\n            // prevents placeholder element from being selected when multiple\n            if($.isArray(value) && value.length === 1 && value[0] === '') {\n              return '';\n            }\n            return value;\n          },\n          values: function() {\n            var\n              value = module.get.value()\n            ;\n            if(value === '') {\n              return '';\n            }\n            return ( !module.has.selectInput() && module.is.multiple() )\n              ? (typeof value == 'string') // delimited string\n                ? value.split(settings.delimiter)\n                : ''\n              : value\n            ;\n          },\n          remoteValues: function() {\n            var\n              values = module.get.values(),\n              remoteValues = false\n            ;\n            if(values) {\n              if(typeof values == 'string') {\n                values = [values];\n              }\n              remoteValues = {};\n              $.each(values, function(index, value) {\n                var\n                  name = module.read.remoteData(value)\n                ;\n                module.verbose('Restoring value from session data', name, value);\n                remoteValues[value] = (name)\n                  ? name\n                  : value\n                ;\n              });\n            }\n            return remoteValues;\n          },\n          choiceText: function($choice, preserveHTML) {\n            preserveHTML = (preserveHTML !== undefined)\n              ? preserveHTML\n              : settings.preserveHTML\n            ;\n            if($choice) {\n              if($choice.find(selector.menu).length > 0) {\n                module.verbose('Retreiving text of element with sub-menu');\n                $choice = $choice.clone();\n                $choice.find(selector.menu).remove();\n                $choice.find(selector.menuIcon).remove();\n              }\n              return ($choice.data(metadata.text) !== undefined)\n                ? $choice.data(metadata.text)\n                : (preserveHTML)\n                  ? $.trim($choice.html())\n                  : $.trim($choice.text())\n              ;\n            }\n          },\n          choiceValue: function($choice, choiceText) {\n            choiceText = choiceText || module.get.choiceText($choice);\n            if(!$choice) {\n              return false;\n            }\n            return ($choice.data(metadata.value) !== undefined)\n              ? String( $choice.data(metadata.value) )\n              : (typeof choiceText === 'string')\n                ? $.trim(choiceText.toLowerCase())\n                : String(choiceText)\n            ;\n          },\n          inputEvent: function() {\n            var\n              input = $search[0]\n            ;\n            if(input) {\n              return (input.oninput !== undefined)\n                ? 'input'\n                : (input.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n              ;\n            }\n            return false;\n          },\n          selectValues: function() {\n            var\n              select = {}\n            ;\n            select.values = [];\n            $module\n              .find('option')\n                .each(function() {\n                  var\n                    $option  = $(this),\n                    name     = $option.html(),\n                    disabled = $option.attr('disabled'),\n                    value    = ( $option.attr('value') !== undefined )\n                      ? $option.attr('value')\n                      : name\n                  ;\n                  if(settings.placeholder === 'auto' && value === '') {\n                    select.placeholder = name;\n                  }\n                  else {\n                    select.values.push({\n                      name     : name,\n                      value    : value,\n                      disabled : disabled\n                    });\n                  }\n                })\n            ;\n            if(settings.placeholder && settings.placeholder !== 'auto') {\n              module.debug('Setting placeholder value to', settings.placeholder);\n              select.placeholder = settings.placeholder;\n            }\n            if(settings.sortSelect) {\n              select.values.sort(function(a, b) {\n                return (a.name > b.name)\n                  ? 1\n                  : -1\n                ;\n              });\n              module.debug('Retrieved and sorted values from select', select);\n            }\n            else {\n              module.debug('Retreived values from select', select);\n            }\n            return select;\n          },\n          activeItem: function() {\n            return $item.filter('.'  + className.active);\n          },\n          selectedItem: function() {\n            var\n              $selectedItem = $item.not(selector.unselectable).filter('.'  + className.selected)\n            ;\n            return ($selectedItem.length > 0)\n              ? $selectedItem\n              : $item.eq(0)\n            ;\n          },\n          itemWithAdditions: function(value) {\n            var\n              $items       = module.get.item(value),\n              $userItems   = module.create.userChoice(value),\n              hasUserItems = ($userItems && $userItems.length > 0)\n            ;\n            if(hasUserItems) {\n              $items = ($items.length > 0)\n                ? $items.add($userItems)\n                : $userItems\n              ;\n            }\n            return $items;\n          },\n          item: function(value, strict) {\n            var\n              $selectedItem = false,\n              shouldSearch,\n              isMultiple\n            ;\n            value = (value !== undefined)\n              ? value\n              : ( module.get.values() !== undefined)\n                ? module.get.values()\n                : module.get.text()\n            ;\n            shouldSearch = (isMultiple)\n              ? (value.length > 0)\n              : (value !== undefined && value !== null)\n            ;\n            isMultiple = (module.is.multiple() && $.isArray(value));\n            strict     = (value === '' || value === 0)\n              ? true\n              : strict || false\n            ;\n            if(shouldSearch) {\n              $item\n                .each(function() {\n                  var\n                    $choice       = $(this),\n                    optionText    = module.get.choiceText($choice),\n                    optionValue   = module.get.choiceValue($choice, optionText)\n                  ;\n                  // safe early exit\n                  if(optionValue === null || optionValue === undefined) {\n                    return;\n                  }\n                  if(isMultiple) {\n                    if($.inArray( String(optionValue), value) !== -1 || $.inArray(optionText, value) !== -1) {\n                      $selectedItem = ($selectedItem)\n                        ? $selectedItem.add($choice)\n                        : $choice\n                      ;\n                    }\n                  }\n                  else if(strict) {\n                    module.verbose('Ambiguous dropdown value using strict type check', $choice, value);\n                    if( optionValue === value || optionText === value) {\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                  else {\n                    if( String(optionValue) == String(value) || optionText == value) {\n                      module.verbose('Found select item by value', optionValue, value);\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                })\n              ;\n            }\n            return $selectedItem;\n          }\n        },\n\n        check: {\n          maxSelections: function(selectionCount) {\n            if(settings.maxSelections) {\n              selectionCount = (selectionCount !== undefined)\n                ? selectionCount\n                : module.get.selectionCount()\n              ;\n              if(selectionCount >= settings.maxSelections) {\n                module.debug('Maximum selection count reached');\n                if(settings.useLabels) {\n                  $item.addClass(className.filtered);\n                  module.add.message(message.maxSelections);\n                }\n                return true;\n              }\n              else {\n                module.verbose('No longer at maximum selection count');\n                module.remove.message();\n                module.remove.filteredItem();\n                if(module.is.searchSelection()) {\n                  module.filterItems();\n                }\n                return false;\n              }\n            }\n            return true;\n          }\n        },\n\n        restore: {\n          defaults: function() {\n            module.clear();\n            module.restore.defaultText();\n            module.restore.defaultValue();\n          },\n          defaultText: function() {\n            var\n              defaultText     = module.get.defaultText(),\n              placeholderText = module.get.placeholderText\n            ;\n            if(defaultText === placeholderText) {\n              module.debug('Restoring default placeholder text', defaultText);\n              module.set.placeholderText(defaultText);\n            }\n            else {\n              module.debug('Restoring default text', defaultText);\n              module.set.text(defaultText);\n            }\n          },\n          defaultValue: function() {\n            var\n              defaultValue = module.get.defaultValue()\n            ;\n            if(defaultValue !== undefined) {\n              module.debug('Restoring default value', defaultValue);\n              if(defaultValue !== '') {\n                module.set.value(defaultValue);\n                module.set.selected();\n              }\n              else {\n                module.remove.activeItem();\n                module.remove.selectedItem();\n              }\n            }\n          },\n          labels: function() {\n            if(settings.allowAdditions) {\n              if(!settings.useLabels) {\n                module.error(error.labels);\n                settings.useLabels = true;\n              }\n              module.debug('Restoring selected values');\n              module.create.userLabels();\n            }\n            module.check.maxSelections();\n          },\n          selected: function() {\n            module.restore.values();\n            if(module.is.multiple()) {\n              module.debug('Restoring previously selected values and labels');\n              module.restore.labels();\n            }\n            else {\n              module.debug('Restoring previously selected values');\n            }\n          },\n          values: function() {\n            // prevents callbacks from occuring on initial load\n            module.set.initialLoad();\n            if(settings.apiSettings) {\n              if(settings.saveRemoteData) {\n                module.restore.remoteValues();\n              }\n              else {\n                module.clearValue();\n              }\n            }\n            else {\n              module.set.selected();\n            }\n            module.remove.initialLoad();\n          },\n          remoteValues: function() {\n            var\n              values = module.get.remoteValues()\n            ;\n            module.debug('Recreating selected from session data', values);\n            if(values) {\n              if( module.is.single() ) {\n                $.each(values, function(value, name) {\n                  module.set.text(name);\n                });\n              }\n              else {\n                $.each(values, function(value, name) {\n                  module.add.label(value, name);\n                });\n              }\n            }\n          }\n        },\n\n        read: {\n          remoteData: function(value) {\n            var\n              name\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            name = sessionStorage.getItem(value);\n            return (name !== undefined)\n              ? name\n              : false\n            ;\n          }\n        },\n\n        save: {\n          defaults: function() {\n            module.save.defaultText();\n            module.save.placeholderText();\n            module.save.defaultValue();\n          },\n          defaultValue: function() {\n            var\n              value = module.get.value()\n            ;\n            module.verbose('Saving default value as', value);\n            $module.data(metadata.defaultValue, value);\n          },\n          defaultText: function() {\n            var\n              text = module.get.text()\n            ;\n            module.verbose('Saving default text as', text);\n            $module.data(metadata.defaultText, text);\n          },\n          placeholderText: function() {\n            var\n              text\n            ;\n            if(settings.placeholder !== false && $text.hasClass(className.placeholder)) {\n              text = module.get.text();\n              module.verbose('Saving placeholder text as', text);\n              $module.data(metadata.placeholderText, text);\n            }\n          },\n          remoteData: function(name, value) {\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            module.verbose('Saving remote data to session storage', value, name);\n            sessionStorage.setItem(value, name);\n          }\n        },\n\n        clear: function() {\n          if(module.is.multiple()) {\n            module.remove.labels();\n          }\n          else {\n            module.remove.activeItem();\n            module.remove.selectedItem();\n          }\n          module.set.placeholderText();\n          module.clearValue();\n        },\n\n        clearValue: function() {\n          module.set.value('');\n        },\n\n        scrollPage: function(direction, $selectedItem) {\n          var\n            $currentItem  = $selectedItem || module.get.selectedItem(),\n            $menu         = $currentItem.closest(selector.menu),\n            menuHeight    = $menu.outerHeight(),\n            currentScroll = $menu.scrollTop(),\n            itemHeight    = $item.eq(0).outerHeight(),\n            itemsPerPage  = Math.floor(menuHeight / itemHeight),\n            maxScroll     = $menu.prop('scrollHeight'),\n            newScroll     = (direction == 'up')\n              ? currentScroll - (itemHeight * itemsPerPage)\n              : currentScroll + (itemHeight * itemsPerPage),\n            $selectableItem = $item.not(selector.unselectable),\n            isWithinRange,\n            $nextSelectedItem,\n            elementIndex\n          ;\n          elementIndex      = (direction == 'up')\n            ? $selectableItem.index($currentItem) - itemsPerPage\n            : $selectableItem.index($currentItem) + itemsPerPage\n          ;\n          isWithinRange = (direction == 'up')\n            ? (elementIndex >= 0)\n            : (elementIndex < $selectableItem.length)\n          ;\n          $nextSelectedItem = (isWithinRange)\n            ? $selectableItem.eq(elementIndex)\n            : (direction == 'up')\n              ? $selectableItem.first()\n              : $selectableItem.last()\n          ;\n          if($nextSelectedItem.length > 0) {\n            module.debug('Scrolling page', direction, $nextSelectedItem);\n            $currentItem\n              .removeClass(className.selected)\n            ;\n            $nextSelectedItem\n              .addClass(className.selected)\n            ;\n            $menu\n              .scrollTop(newScroll)\n            ;\n          }\n        },\n\n        set: {\n          filtered: function() {\n            var\n              isMultiple       = module.is.multiple(),\n              isSearch         = module.is.searchSelection(),\n              isSearchMultiple = (isMultiple && isSearch),\n              searchValue      = (isSearch)\n                ? module.get.query()\n                : '',\n              hasSearchValue   = (typeof searchValue === 'string' && searchValue.length > 0),\n              searchWidth      = module.get.searchWidth(searchValue.length),\n              valueIsSet       = searchValue !== ''\n            ;\n            if(isMultiple && hasSearchValue) {\n              module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);\n              $search.css('width', searchWidth);\n            }\n            if(hasSearchValue || (isSearchMultiple && valueIsSet)) {\n              module.verbose('Hiding placeholder text');\n              $text.addClass(className.filtered);\n            }\n            else if(!isMultiple || (isSearchMultiple && !valueIsSet)) {\n              module.verbose('Showing placeholder text');\n              $text.removeClass(className.filtered);\n            }\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          placeholderText: function(text) {\n            text = text || module.get.placeholderText();\n            module.debug('Setting placeholder text', text);\n            module.set.text(text);\n            $text.addClass(className.placeholder);\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Added tabindex to searchable dropdown');\n              $search\n                .val('')\n                .attr('tabindex', 0)\n              ;\n              $menu\n                .attr('tabindex', -1)\n              ;\n            }\n            else {\n              module.debug('Added tabindex to dropdown');\n              if( $module.attr('tabindex') === undefined) {\n                $module\n                  .attr('tabindex', 0)\n                ;\n                $menu\n                  .attr('tabindex', -1)\n                ;\n              }\n            }\n          },\n          initialLoad: function() {\n            module.verbose('Setting initial load');\n            initialLoad = true;\n          },\n          activeItem: function($item) {\n            if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) {\n              $item.addClass(className.filtered);\n            }\n            else {\n              $item.addClass(className.active);\n            }\n          },\n          scrollPosition: function($item, forceScroll) {\n            var\n              edgeTolerance = 5,\n              $menu,\n              hasActive,\n              offset,\n              itemHeight,\n              itemOffset,\n              menuOffset,\n              menuScroll,\n              menuHeight,\n              abovePage,\n              belowPage\n            ;\n\n            $item       = $item || module.get.selectedItem();\n            $menu       = $item.closest(selector.menu);\n            hasActive   = ($item && $item.length > 0);\n            forceScroll = (forceScroll !== undefined)\n              ? forceScroll\n              : false\n            ;\n            if($item && $menu.length > 0 && hasActive) {\n              itemOffset = $item.position().top;\n\n              $menu.addClass(className.loading);\n              menuScroll = $menu.scrollTop();\n              menuOffset = $menu.offset().top;\n              itemOffset = $item.offset().top;\n              offset     = menuScroll - menuOffset + itemOffset;\n              if(!forceScroll) {\n                menuHeight = $menu.height();\n                belowPage  = menuScroll + menuHeight < (offset + edgeTolerance);\n                abovePage  = ((offset - edgeTolerance) < menuScroll);\n              }\n              module.debug('Scrolling to active item', offset);\n              if(forceScroll || abovePage || belowPage) {\n                $menu.scrollTop(offset);\n              }\n              $menu.removeClass(className.loading);\n            }\n          },\n          text: function(text) {\n            if(settings.action !== 'select') {\n              if(settings.action == 'combo') {\n                module.debug('Changing combo button text', text, $combo);\n                if(settings.preserveHTML) {\n                  $combo.html(text);\n                }\n                else {\n                  $combo.text(text);\n                }\n              }\n              else {\n                if(text !== module.get.placeholderText()) {\n                  $text.removeClass(className.placeholder);\n                }\n                module.debug('Changing text', text, $text);\n                $text\n                  .removeClass(className.filtered)\n                ;\n                if(settings.preserveHTML) {\n                  $text.html(text);\n                }\n                else {\n                  $text.text(text);\n                }\n              }\n            }\n          },\n          selectedLetter: function(letter) {\n            var\n              $selectedItem         = $item.filter('.' + className.selected),\n              alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),\n              $nextValue            = false,\n              $nextItem\n            ;\n            // check next of same letter\n            if(alreadySelectedLetter) {\n              $nextItem = $selectedItem.nextAll($item).eq(0);\n              if( module.has.firstLetter($nextItem, letter) ) {\n                $nextValue  = $nextItem;\n              }\n            }\n            // check all values\n            if(!$nextValue) {\n              $item\n                .each(function(){\n                  if(module.has.firstLetter($(this), letter)) {\n                    $nextValue = $(this);\n                    return false;\n                  }\n                })\n              ;\n            }\n            // set next value\n            if($nextValue) {\n              module.verbose('Scrolling to next value with letter', letter);\n              module.set.scrollPosition($nextValue);\n              $selectedItem.removeClass(className.selected);\n              $nextValue.addClass(className.selected);\n            }\n          },\n          direction: function($menu) {\n            if(settings.direction == 'auto') {\n              if(module.is.onScreen($menu)) {\n                module.remove.upward($menu);\n              }\n              else {\n                module.set.upward($menu);\n              }\n            }\n            else if(settings.direction == 'upward') {\n              module.set.upward($menu);\n            }\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.addClass(className.upward);\n          },\n          value: function(value, text, $selected) {\n            var\n              hasInput     = ($input.length > 0),\n              isAddition   = !module.has.value(value),\n              currentValue = module.get.values(),\n              stringValue  = (value !== undefined)\n                ? String(value)\n                : value,\n              newValue\n            ;\n            if(hasInput) {\n              if(stringValue == currentValue) {\n                module.verbose('Skipping value update already same value', value, currentValue);\n                if(!module.is.initialLoad()) {\n                  return;\n                }\n              }\n\n              if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) {\n                module.debug('Adding user option', value);\n                module.add.optionValue(value);\n              }\n              module.debug('Updating input value', value, currentValue);\n              internalChange = true;\n              $input\n                .val(value)\n              ;\n              if(settings.fireOnInit === false && module.is.initialLoad()) {\n                module.debug('Input native change event ignored on initial load');\n              }\n              else {\n                module.trigger.change();\n              }\n              internalChange = false;\n            }\n            else {\n              module.verbose('Storing value in metadata', value, $input);\n              if(value !== currentValue) {\n                $module.data(metadata.value, stringValue);\n              }\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onChange);\n            }\n            else {\n              settings.onChange.call(element, value, text, $selected);\n            }\n          },\n          active: function() {\n            $module\n              .addClass(className.active)\n            ;\n          },\n          multiple: function() {\n            $module.addClass(className.multiple);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          exactly: function(value, $selectedItem) {\n            module.debug('Setting selected to exact values');\n            module.clear();\n            module.set.selected(value, $selectedItem);\n          },\n          selected: function(value, $selectedItem) {\n            var\n              isMultiple = module.is.multiple(),\n              $userSelectedItem\n            ;\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n            if(!$selectedItem) {\n              return;\n            }\n            module.debug('Setting selected menu item to', $selectedItem);\n            if(module.is.single()) {\n              module.remove.activeItem();\n              module.remove.selectedItem();\n            }\n            else if(settings.useLabels) {\n              module.remove.selectedItem();\n            }\n            // select each item\n            $selectedItem\n              .each(function() {\n                var\n                  $selected      = $(this),\n                  selectedText   = module.get.choiceText($selected),\n                  selectedValue  = module.get.choiceValue($selected, selectedText),\n\n                  isFiltered     = $selected.hasClass(className.filtered),\n                  isActive       = $selected.hasClass(className.active),\n                  isUserValue    = $selected.hasClass(className.addition),\n                  shouldAnimate  = (isMultiple && $selectedItem.length == 1)\n                ;\n                if(isMultiple) {\n                  if(!isActive || isUserValue) {\n                    if(settings.apiSettings && settings.saveRemoteData) {\n                      module.save.remoteData(selectedText, selectedValue);\n                    }\n                    if(settings.useLabels) {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.add.label(selectedValue, selectedText, shouldAnimate);\n                      module.set.activeItem($selected);\n                      module.filterActive();\n                      module.select.nextAvailable($selectedItem);\n                    }\n                    else {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.set.text(module.add.variables(message.count));\n                      module.set.activeItem($selected);\n                    }\n                  }\n                  else if(!isFiltered) {\n                    module.debug('Selected active value, removing label');\n                    module.remove.selected(selectedValue);\n                  }\n                }\n                else {\n                  if(settings.apiSettings && settings.saveRemoteData) {\n                    module.save.remoteData(selectedText, selectedValue);\n                  }\n                  module.set.text(selectedText);\n                  module.set.value(selectedValue, selectedText, $selected);\n                  $selected\n                    .addClass(className.active)\n                    .addClass(className.selected)\n                  ;\n                }\n              })\n            ;\n          }\n        },\n\n        add: {\n          label: function(value, text, shouldAnimate) {\n            var\n              $next  = module.is.searchSelection()\n                ? $search\n                : $text,\n              $label\n            ;\n            $label =  $('<a />')\n              .addClass(className.label)\n              .attr('data-value', value)\n              .html(templates.label(value, text))\n            ;\n            $label = settings.onLabelCreate.call($label, value, text);\n\n            if(module.has.label(value)) {\n              module.debug('Label already exists, skipping', value);\n              return;\n            }\n            if(settings.label.variation) {\n              $label.addClass(settings.label.variation);\n            }\n            if(shouldAnimate === true) {\n              module.debug('Animating in label', $label);\n              $label\n                .addClass(className.hidden)\n                .insertBefore($next)\n                .transition(settings.label.transition, settings.label.duration)\n              ;\n            }\n            else {\n              module.debug('Adding selection label', $label);\n              $label\n                .insertBefore($next)\n              ;\n            }\n          },\n          message: function(message) {\n            var\n              $message = $menu.children(selector.message),\n              html     = settings.templates.message(module.add.variables(message))\n            ;\n            if($message.length > 0) {\n              $message\n                .html(html)\n              ;\n            }\n            else {\n              $message = $('<div/>')\n                .html(html)\n                .addClass(className.message)\n                .appendTo($menu)\n              ;\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(hasOption) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            if( module.is.single() ) {\n              module.verbose('Removing previous user addition');\n              $input.find('option.' + className.addition).remove();\n            }\n            $('<option/>')\n              .prop('value', value)\n              .addClass(className.addition)\n              .html(value)\n              .appendTo($input)\n            ;\n            module.verbose('Adding user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          userSuggestion: function(value) {\n            var\n              $addition         = $menu.children(selector.addition),\n              $existingItem     = module.get.item(value),\n              alreadyHasValue   = $existingItem && $existingItem.not(selector.addition).length,\n              hasUserSuggestion = $addition.length > 0,\n              html\n            ;\n            if(settings.useLabels && module.has.maxSelections()) {\n              return;\n            }\n            if(value === '' || alreadyHasValue) {\n              $addition.remove();\n              return;\n            }\n            $item\n              .removeClass(className.selected)\n            ;\n            if(hasUserSuggestion) {\n              html = settings.templates.addition( module.add.variables(message.addResult, value) );\n              $addition\n                .html(html)\n                .attr('data-' + metadata.value, value)\n                .attr('data-' + metadata.text, value)\n                .removeClass(className.filtered)\n                .addClass(className.selected)\n              ;\n              module.verbose('Replacing user suggestion with new value', $addition);\n            }\n            else {\n              $addition = module.create.userChoice(value);\n              $addition\n                .prependTo($menu)\n                .addClass(className.selected)\n              ;\n              module.verbose('Adding item choice to menu corresponding with user choice addition', $addition);\n            }\n          },\n          variables: function(message, term) {\n            var\n              hasCount    = (message.search('{count}') !== -1),\n              hasMaxCount = (message.search('{maxCount}') !== -1),\n              hasTerm     = (message.search('{term}') !== -1),\n              values,\n              count,\n              query\n            ;\n            module.verbose('Adding templated variables to message', message);\n            if(hasCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{count}', count);\n            }\n            if(hasMaxCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{maxCount}', settings.maxSelections);\n            }\n            if(hasTerm) {\n              query   = term || module.get.query();\n              message = message.replace('{term}', query);\n            }\n            return message;\n          },\n          value: function(addedValue, addedText, $selectedItem) {\n            var\n              currentValue = module.get.values(),\n              newValue\n            ;\n            if(addedValue === '') {\n              module.debug('Cannot select blank values from multiselect');\n              return;\n            }\n            // extend current array\n            if($.isArray(currentValue)) {\n              newValue = currentValue.concat([addedValue]);\n              newValue = module.get.uniqueArray(newValue);\n            }\n            else {\n              newValue = [addedValue];\n            }\n            // add values\n            if( module.has.selectInput() ) {\n              if(module.can.extendSelect()) {\n                module.debug('Adding value to select', addedValue, newValue, $input);\n                module.add.optionValue(addedValue);\n              }\n            }\n            else {\n              newValue = newValue.join(settings.delimiter);\n              module.debug('Setting hidden input to delimited value', newValue, $input);\n            }\n\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('Skipping onadd callback on initial load', settings.onAdd);\n            }\n            else {\n              settings.onAdd.call(element, addedValue, addedText, $selectedItem);\n            }\n            module.set.value(newValue, addedValue, addedText, $selectedItem);\n            module.check.maxSelections();\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          activeLabel: function() {\n            $module.find(selector.label).removeClass(className.active);\n          },\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          initialLoad: function() {\n            initialLoad = false;\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.removeClass(className.upward);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          activeItem: function() {\n            $item.removeClass(className.active);\n          },\n          filteredItem: function() {\n            if(settings.useLabels && module.has.maxSelections() ) {\n              return;\n            }\n            if(settings.useLabels && module.is.multiple()) {\n              $item.not('.' + className.active).removeClass(className.filtered);\n            }\n            else {\n              $item.removeClass(className.filtered);\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(!hasOption || !$option.hasClass(className.addition)) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            $option.remove();\n            module.verbose('Removing user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          message: function() {\n            $menu.children(selector.message).remove();\n          },\n          searchTerm: function() {\n            module.verbose('Cleared search term');\n            $search.val('');\n            module.set.filtered();\n          },\n          selected: function(value, $selectedItem) {\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n\n            if(!$selectedItem) {\n              return false;\n            }\n\n            $selectedItem\n              .each(function() {\n                var\n                  $selected     = $(this),\n                  selectedText  = module.get.choiceText($selected),\n                  selectedValue = module.get.choiceValue($selected, selectedText)\n                ;\n                if(module.is.multiple()) {\n                  if(settings.useLabels) {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    module.remove.label(selectedValue);\n                  }\n                  else {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    if(module.get.selectionCount() === 0) {\n                      module.set.placeholderText();\n                    }\n                    else {\n                      module.set.text(module.add.variables(message.count));\n                    }\n                  }\n                }\n                else {\n                  module.remove.value(selectedValue, selectedText, $selected);\n                }\n                $selected\n                  .removeClass(className.filtered)\n                  .removeClass(className.active)\n                ;\n                if(settings.useLabels) {\n                  $selected.removeClass(className.selected);\n                }\n              })\n            ;\n          },\n          selectedItem: function() {\n            $item.removeClass(className.selected);\n          },\n          value: function(removedValue, removedText, $removedItem) {\n            var\n              values = module.get.values(),\n              newValue\n            ;\n            if( module.has.selectInput() ) {\n              module.verbose('Input is <select> removing selected option', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              module.remove.optionValue(removedValue);\n            }\n            else {\n              module.verbose('Removing from delimited values', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              newValue = newValue.join(settings.delimiter);\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onRemove);\n            }\n            else {\n              settings.onRemove.call(element, removedValue, removedText, $removedItem);\n            }\n            module.set.value(newValue, removedText, $removedItem);\n            module.check.maxSelections();\n          },\n          arrayValue: function(removedValue, values) {\n            if( !$.isArray(values) ) {\n              values = [values];\n            }\n            values = $.grep(values, function(value){\n              return (removedValue != value);\n            });\n            module.verbose('Removed value from delimited string', removedValue, values);\n            return values;\n          },\n          label: function(value, shouldAnimate) {\n            var\n              $labels       = $module.find(selector.label),\n              $removedLabel = $labels.filter('[data-value=\"' + value +'\"]')\n            ;\n            module.verbose('Removing label', $removedLabel);\n            $removedLabel.remove();\n          },\n          activeLabels: function($activeLabels) {\n            $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active);\n            module.verbose('Removing active label selections', $activeLabels);\n            module.remove.labels($activeLabels);\n          },\n          labels: function($labels) {\n            $labels = $labels || $module.find(selector.label);\n            module.verbose('Removing labels', $labels);\n            $labels\n              .each(function(){\n                var\n                  $label      = $(this),\n                  value       = $label.data(metadata.value),\n                  stringValue = (value !== undefined)\n                    ? String(value)\n                    : value,\n                  isUserValue = module.is.userValue(stringValue)\n                ;\n                if(settings.onLabelRemove.call($label, value) === false) {\n                  module.debug('Label remove callback cancelled removal');\n                  return;\n                }\n                if(isUserValue) {\n                  module.remove.value(stringValue);\n                  module.remove.label(stringValue);\n                }\n                else {\n                  // selected will also remove label\n                  module.remove.selected(stringValue);\n                }\n              })\n            ;\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Searchable dropdown initialized');\n              $search\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n            else {\n              module.debug('Simple selection dropdown initialized');\n              $module\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n          }\n        },\n\n        has: {\n          search: function() {\n            return ($search.length > 0);\n          },\n          selectInput: function() {\n            return ( $input.is('select') );\n          },\n          firstLetter: function($item, letter) {\n            var\n              text,\n              firstLetter\n            ;\n            if(!$item || $item.length === 0 || typeof letter !== 'string') {\n              return false;\n            }\n            text        = module.get.choiceText($item, false);\n            letter      = letter.toLowerCase();\n            firstLetter = String(text).charAt(0).toLowerCase();\n            return (letter == firstLetter);\n          },\n          input: function() {\n            return ($input.length > 0);\n          },\n          items: function() {\n            return ($item.length > 0);\n          },\n          menu: function() {\n            return ($menu.length > 0);\n          },\n          message: function() {\n            return ($menu.children(selector.message).length !== 0);\n          },\n          label: function(value) {\n            var\n              $labels = $module.find(selector.label)\n            ;\n            return ($labels.filter('[data-value=\"' + value +'\"]').length > 0);\n          },\n          maxSelections: function() {\n            return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections);\n          },\n          allResultsFiltered: function() {\n            return ($item.filter(selector.unselectable).length === $item.length);\n          },\n          query: function() {\n            return (module.get.query() !== '');\n          },\n          value: function(value) {\n            var\n              values   = module.get.values(),\n              hasValue = $.isArray(values)\n               ? values && ($.inArray(value, values) !== -1)\n               : (values == value)\n            ;\n            return (hasValue)\n              ? true\n              : false\n            ;\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          alreadySetup: function() {\n            return ($module.is('select') && $module.parent(selector.dropdown).length > 0  && $module.prev().length === 0);\n          },\n          animating: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.transition && $subMenu.transition('is animating')\n              : $menu.transition    && $menu.transition('is animating')\n            ;\n          },\n          disabled: function() {\n            return $module.hasClass(className.disabled);\n          },\n          focused: function() {\n            return (document.activeElement === $module[0]);\n          },\n          focusedOnSearch: function() {\n            return (document.activeElement === $search[0]);\n          },\n          allFiltered: function() {\n            return( (module.is.multiple() || module.has.search()) && !module.has.message() && module.has.allResultsFiltered() );\n          },\n          hidden: function($subMenu) {\n            return !module.is.visible($subMenu);\n          },\n          initialLoad: function() {\n            return initialLoad;\n          },\n          onScreen: function($subMenu) {\n            var\n              $currentMenu   = $subMenu || $menu,\n              canOpenDownward = true,\n              onScreen = {},\n              calculations\n            ;\n            $currentMenu.addClass(className.loading);\n            calculations = {\n              context: {\n                scrollTop : $context.scrollTop(),\n                height    : $context.outerHeight()\n              },\n              menu : {\n                offset: $currentMenu.offset(),\n                height: $currentMenu.outerHeight()\n              }\n            };\n            onScreen = {\n              above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.menu.height,\n              below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top + calculations.menu.height\n            };\n            if(onScreen.below) {\n              module.verbose('Dropdown can fit in context downward', onScreen);\n              canOpenDownward = true;\n            }\n            else if(!onScreen.below && !onScreen.above) {\n              module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen);\n              canOpenDownward = true;\n            }\n            else {\n              module.verbose('Dropdown cannot fit below, opening upward', onScreen);\n              canOpenDownward = false;\n            }\n            $currentMenu.removeClass(className.loading);\n            return canOpenDownward;\n          },\n          inObject: function(needle, object) {\n            var\n              found = false\n            ;\n            $.each(object, function(index, property) {\n              if(property == needle) {\n                found = true;\n                return true;\n              }\n            });\n            return found;\n          },\n          multiple: function() {\n            return $module.hasClass(className.multiple);\n          },\n          single: function() {\n            return !module.is.multiple();\n          },\n          selectMutation: function(mutations) {\n            var\n              selectChanged = false\n            ;\n            $.each(mutations, function(index, mutation) {\n              if(mutation.target && $(mutation.target).is('select')) {\n                selectChanged = true;\n                return true;\n              }\n            });\n            return selectChanged;\n          },\n          search: function() {\n            return $module.hasClass(className.search);\n          },\n          searchSelection: function() {\n            return ( module.has.search() && $search.parent(selector.dropdown).length === 1 );\n          },\n          selection: function() {\n            return $module.hasClass(className.selection);\n          },\n          userValue: function(value) {\n            return ($.inArray(value, module.get.userValues()) !== -1);\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            return $element.hasClass(className.upward);\n          },\n          visible: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.hasClass(className.visible)\n              : $menu.hasClass(className.visible)\n            ;\n          }\n        },\n\n        can: {\n          activate: function($item) {\n            if(settings.useLabels) {\n              return true;\n            }\n            if(!module.has.maxSelections()) {\n              return true;\n            }\n            if(module.has.maxSelections() && $item.hasClass(className.active)) {\n              return true;\n            }\n            return false;\n          },\n          click: function() {\n            return (hasTouch || settings.on == 'click');\n          },\n          extendSelect: function() {\n            return settings.allowAdditions || settings.apiSettings;\n          },\n          show: function() {\n            return !module.is.disabled() && (module.has.items() || module.has.message());\n          },\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          }\n        },\n\n        animate: {\n          show: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  module.hideSubMenus();\n                  module.hideOthers();\n                  module.set.active();\n                },\n              transition\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            module.verbose('Doing menu show animation', $currentMenu);\n            module.set.direction($subMenu);\n            transition = module.get.transition($subMenu);\n            if( module.is.selection() ) {\n              module.set.scrollPosition(module.get.selectedItem(), true);\n            }\n            if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('show');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' in',\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    duration   : settings.duration,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition, transition);\n              }\n            }\n          },\n          hide: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              duration = ($subMenu)\n                ? (settings.duration * 0.9)\n                : settings.duration,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  if( module.can.click() ) {\n                    module.unbind.intent();\n                  }\n                  module.remove.active();\n                },\n              transition = module.get.transition($subMenu)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {\n              module.verbose('Doing menu hide animation', $currentMenu);\n\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('hide');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' out',\n                    duration   : settings.duration,\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      if(settings.direction == 'auto') {\n                        module.remove.upward($subMenu);\n                      }\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.transition);\n              }\n            }\n          }\n        },\n\n        hideAndClear: function() {\n          module.remove.searchTerm();\n          if( module.has.maxSelections() ) {\n            return;\n          }\n          if(module.has.search()) {\n            module.hide(function() {\n              module.remove.filteredItem();\n            });\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        delay: {\n          show: function() {\n            module.verbose('Delaying show event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.show, settings.delay.show);\n          },\n          hide: function() {\n            module.verbose('Delaying hide event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.hide, settings.delay.hide);\n          }\n        },\n\n        escape: {\n          regExp: function(text) {\n            text =  String(text);\n            return text.replace(regExp.escape, '\\\\$&');\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : $allModules\n  ;\n};\n\n$.fn.dropdown.settings = {\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  on                     : 'click',    // what event should show menu action on item selection\n  action                 : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){})\n\n\n  apiSettings            : false,\n  saveRemoteData         : true,      // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh\n  throttle               : 200,       // How long to wait after last user input to search remotely\n\n  context                : window,      // Context to use when determining if on screen\n  direction              : 'auto',     // Whether dropdown should always open in one direction\n  keepOnScreen           : true,       // Whether dropdown should check whether it is on screen before showing\n\n  match                  : 'both',     // what to match against with search selection (both, text, or label)\n  fullTextSearch         : false,      // search anywhere in value\n\n  placeholder            : 'auto',     // whether to convert blank <select> values to placeholder text\n  preserveHTML           : true,       // preserve html when selecting value\n  sortSelect             : false,      // sort selection on init\n\n  forceSelection         : true,       // force a choice on blur with search selection\n  allowAdditions         : false,      // whether multiple select should allow user added values\n\n  maxSelections          : false,      // When set to a number limits the number of selections to this count\n  useLabels              : true,       // whether multiple select should filter currently active selections from choices\n  delimiter              : ',',        // when multiselect uses normal <input> the values will be delimited with this character\n\n  showOnFocus            : true,       // show menu on focus\n  allowTab               : true,       // add tabindex to element\n  allowCategorySelection : false,      // allow elements with sub-menus to be selected\n\n  fireOnInit             : false,      // Whether callbacks should fire when initializing dropdown values\n\n  transition             : 'auto',     // auto transition will slide down or up based on direction\n  duration               : 200,        // duration of transition\n\n  glyphWidth             : 1.0714,     // widest glyph width in em (W is 1.0714 em) used to calculate multiselect input width\n\n  // label settings on multi-select\n  label: {\n    transition : 'scale',\n    duration   : 200,\n    variation  : false\n  },\n\n  // delay before event\n  delay : {\n    hide   : 300,\n    show   : 200,\n    search : 20,\n    touch  : 50\n  },\n\n  /* Callbacks */\n  onChange      : function(value, text, $selected){},\n  onAdd         : function(value, text, $selected){},\n  onRemove      : function(value, text, $selected){},\n\n  onLabelSelect : function($selectedLabels){},\n  onLabelCreate : function(value, text) { return $(this); },\n  onLabelRemove : function(value) { return true; },\n  onNoResults   : function(searchTerm) { return true; },\n  onShow        : function(){},\n  onHide        : function(){},\n\n  /* Component */\n  name           : 'Dropdown',\n  namespace      : 'dropdown',\n\n  message: {\n    addResult     : 'Add <b>{term}</b>',\n    count         : '{count} selected',\n    maxSelections : 'Max {maxCount} selections',\n    noResults     : 'No results found.',\n    serverError   : 'There was an error contacting the server'\n  },\n\n  error : {\n    action          : 'You called a dropdown action that was not defined',\n    alreadySetup    : 'Once a select has been initialized behaviors must be called on the created ui dropdown',\n    labels          : 'Allowing user additions currently requires the use of labels.',\n    missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values',\n    method          : 'The method you called is not defined.',\n    noAPI           : 'The API module is required to load resources remotely',\n    noStorage       : 'Saving remote data requires session storage',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>'\n  },\n\n  regExp : {\n    escape   : /[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\n  },\n\n  metadata : {\n    defaultText     : 'defaultText',\n    defaultValue    : 'defaultValue',\n    placeholderText : 'placeholder',\n    text            : 'text',\n    value           : 'value'\n  },\n\n  // property names for remote query\n  fields: {\n    remoteValues : 'results', // grouping for api results\n    values       : 'values', // grouping for all dropdown values\n    name         : 'name',   // displayed dropdown text\n    value        : 'value'   // actual dropdown value\n  },\n\n  keys : {\n    backspace  : 8,\n    delimiter  : 188, // comma\n    deleteKey  : 46,\n    enter      : 13,\n    escape     : 27,\n    pageUp     : 33,\n    pageDown   : 34,\n    leftArrow  : 37,\n    upArrow    : 38,\n    rightArrow : 39,\n    downArrow  : 40\n  },\n\n  selector : {\n    addition     : '.addition',\n    dropdown     : '.ui.dropdown',\n    icon         : '> .dropdown.icon',\n    input        : '> input[type=\"hidden\"], > select',\n    item         : '.item',\n    label        : '> .label',\n    remove       : '> .label > .delete.icon',\n    siblingLabel : '.label',\n    menu         : '.menu',\n    message      : '.message',\n    menuIcon     : '.dropdown.icon',\n    search       : 'input.search, .menu > .search > input',\n    text         : '> .text:not(.icon)',\n    unselectable : '.disabled, .filtered'\n  },\n\n  className : {\n    active      : 'active',\n    addition    : 'addition',\n    animating   : 'animating',\n    disabled    : 'disabled',\n    dropdown    : 'ui dropdown',\n    filtered    : 'filtered',\n    hidden      : 'hidden transition',\n    item        : 'item',\n    label       : 'ui label',\n    loading     : 'loading',\n    menu        : 'menu',\n    message     : 'message',\n    multiple    : 'multiple',\n    placeholder : 'default',\n    search      : 'search',\n    selected    : 'selected',\n    selection   : 'selection',\n    upward      : 'upward',\n    visible     : 'visible'\n  }\n\n};\n\n/* Templates */\n$.fn.dropdown.settings.templates = {\n\n  // generates dropdown from select values\n  dropdown: function(select) {\n    var\n      placeholder = select.placeholder || false,\n      values      = select.values || {},\n      html        = ''\n    ;\n    html +=  '<i class=\"dropdown icon\"></i>';\n    if(select.placeholder) {\n      html += '<div class=\"default text\">' + placeholder + '</div>';\n    }\n    else {\n      html += '<div class=\"text\"></div>';\n    }\n    html += '<div class=\"menu\">';\n    $.each(select.values, function(index, option) {\n      html += (option.disabled)\n        ? '<div class=\"disabled item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n        : '<div class=\"item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n      ;\n    });\n    html += '</div>';\n    return html;\n  },\n\n  // generates just menu from select\n  menu: function(response, fields) {\n    var\n      values = response[fields.values] || {},\n      html   = ''\n    ;\n    $.each(values, function(index, option) {\n      html += '<div class=\"item\" data-value=\"' + option[fields.value] + '\">' + option[fields.name] + '</div>';\n    });\n    return html;\n  },\n\n  // generates label for multiselect\n  label: function(value, text) {\n    return text + '<i class=\"delete icon\"></i>';\n  },\n\n\n  // generates messages like \"No results\"\n  message: function(message) {\n    return message;\n  },\n\n  // generates user addition to selection menu\n  addition: function(choice) {\n    return choice;\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.embed = function(parameters) {\n\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.embed.settings, parameters)\n          : $.extend({}, $.fn.embed.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        sources         = settings.sources,\n        error           = settings.error,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n        $module         = $(this),\n        $placeholder    = $module.find(selector.placeholder),\n        $icon           = $module.find(selector.icon),\n        $embed          = $module.find(selector.embed),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing embed');\n          module.determine.autoplay();\n          module.create();\n          module.bind.events();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance of embed');\n          module.reset();\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $placeholder = $module.find(selector.placeholder);\n          $icon        = $module.find(selector.icon);\n          $embed       = $module.find(selector.embed);\n        },\n\n        bind: {\n          events: function() {\n            if( module.has.placeholder() ) {\n              module.debug('Adding placeholder events');\n              $module\n                .on('click' + eventNamespace, selector.placeholder, module.createAndShow)\n                .on('click' + eventNamespace, selector.icon, module.createAndShow)\n              ;\n            }\n          }\n        },\n\n        create: function() {\n          var\n            placeholder = module.get.placeholder()\n          ;\n          if(placeholder) {\n            module.createPlaceholder();\n          }\n          else {\n            module.createAndShow();\n          }\n        },\n\n        createPlaceholder: function(placeholder) {\n          var\n            icon  = module.get.icon(),\n            url   = module.get.url(),\n            embed = module.generate.embed(url)\n          ;\n          placeholder = placeholder || module.get.placeholder();\n          $module.html( templates.placeholder(placeholder, icon) );\n          module.debug('Creating placeholder for embed', placeholder, icon);\n        },\n\n        createEmbed: function(url) {\n          module.refresh();\n          url = url || module.get.url();\n          $embed = $('<div/>')\n            .addClass(className.embed)\n            .html( module.generate.embed(url) )\n            .appendTo($module)\n          ;\n          settings.onCreate.call(element, url);\n          module.debug('Creating embed object', $embed);\n        },\n\n        createAndShow: function() {\n          module.createEmbed();\n          module.show();\n        },\n\n        // sets new embed\n        change: function(source, id, url) {\n          module.debug('Changing video to ', source, id, url);\n          $module\n            .data(metadata.source, source)\n            .data(metadata.id, id)\n            .data(metadata.url, url)\n          ;\n          module.create();\n        },\n\n        // clears embed\n        reset: function() {\n          module.debug('Clearing embed and showing placeholder');\n          module.remove.active();\n          module.remove.embed();\n          module.showPlaceholder();\n          settings.onReset.call(element);\n        },\n\n        // shows current embed\n        show: function() {\n          module.debug('Showing embed');\n          module.set.active();\n          settings.onDisplay.call(element);\n        },\n\n        hide: function() {\n          module.debug('Hiding embed');\n          module.showPlaceholder();\n        },\n\n        showPlaceholder: function() {\n          module.debug('Showing placeholder image');\n          module.remove.active();\n          settings.onPlaceholderDisplay.call(element);\n        },\n\n        get: {\n          id: function() {\n            return settings.id || $module.data(metadata.id);\n          },\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          },\n          icon: function() {\n            return (settings.icon)\n              ? settings.icon\n              : ($module.data(metadata.icon) !== undefined)\n                ? $module.data(metadata.icon)\n                : module.determine.icon()\n            ;\n          },\n          source: function(url) {\n            return (settings.source)\n              ? settings.source\n              : ($module.data(metadata.source) !== undefined)\n                ? $module.data(metadata.source)\n                : module.determine.source()\n            ;\n          },\n          type: function() {\n            var source = module.get.source();\n            return (sources[source] !== undefined)\n              ? sources[source].type\n              : false\n            ;\n          },\n          url: function() {\n            return (settings.url)\n              ? settings.url\n              : ($module.data(metadata.url) !== undefined)\n                ? $module.data(metadata.url)\n                : module.determine.url()\n            ;\n          }\n        },\n\n        determine: {\n          autoplay: function() {\n            if(module.should.autoplay()) {\n              settings.autoplay = true;\n            }\n          },\n          source: function(url) {\n            var\n              matchedSource = false\n            ;\n            url = url || module.get.url();\n            if(url) {\n              $.each(sources, function(name, source) {\n                if(url.search(source.domain) !== -1) {\n                  matchedSource = name;\n                  return false;\n                }\n              });\n            }\n            return matchedSource;\n          },\n          icon: function() {\n            var\n              source = module.get.source()\n            ;\n            return (sources[source] !== undefined)\n              ? sources[source].icon\n              : false\n            ;\n          },\n          url: function() {\n            var\n              id     = settings.id     || $module.data(metadata.id),\n              source = settings.source || $module.data(metadata.source),\n              url\n            ;\n            url = (sources[source] !== undefined)\n              ? sources[source].url.replace('{id}', id)\n              : false\n            ;\n            if(url) {\n              $module.data(metadata.url, url);\n            }\n            return url;\n          }\n        },\n\n\n        set: {\n          active: function() {\n            $module.addClass(className.active);\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          embed: function() {\n            $embed.empty();\n          }\n        },\n\n        encode: {\n          parameters: function(parameters) {\n            var\n              urlString = [],\n              index\n            ;\n            for (index in parameters) {\n              urlString.push( encodeURIComponent(index) + '=' + encodeURIComponent( parameters[index] ) );\n            }\n            return urlString.join('&amp;');\n          }\n        },\n\n        generate: {\n          embed: function(url) {\n            module.debug('Generating embed html');\n            var\n              source = module.get.source(),\n              html,\n              parameters\n            ;\n            url = module.get.url(url);\n            if(url) {\n              parameters = module.generate.parameters(source);\n              html       = templates.iframe(url, parameters);\n            }\n            else {\n              module.error(error.noURL, $module);\n            }\n            return html;\n          },\n          parameters: function(source, extraParameters) {\n            var\n              parameters = (sources[source] && sources[source].parameters !== undefined)\n                ? sources[source].parameters(settings)\n                : {}\n            ;\n            extraParameters = extraParameters || settings.parameters;\n            if(extraParameters) {\n              parameters = $.extend({}, parameters, extraParameters);\n            }\n            parameters = settings.onEmbed(parameters);\n            return module.encode.parameters(parameters);\n          }\n        },\n\n        has: {\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          }\n        },\n\n        should: {\n          autoplay: function() {\n            return (settings.autoplay === 'auto')\n              ? (settings.placeholder || $module.data(metadata.placeholder) !== undefined)\n              : settings.autoplay\n            ;\n          }\n        },\n\n        is: {\n          video: function() {\n            return module.get.type() == 'video';\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.embed.settings = {\n\n  name        : 'Embed',\n  namespace   : 'embed',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  icon     : false,\n  source   : false,\n  url      : false,\n  id       : false,\n\n  // standard video settings\n  autoplay  : 'auto',\n  color     : '#444444',\n  hd        : true,\n  brandedUI : false,\n\n  // additional parameters to include with the embed\n  parameters: false,\n\n  onDisplay            : function() {},\n  onPlaceholderDisplay : function() {},\n  onReset              : function() {},\n  onCreate             : function(url) {},\n  onEmbed              : function(parameters) {\n    return parameters;\n  },\n\n  metadata    : {\n    id          : 'id',\n    icon        : 'icon',\n    placeholder : 'placeholder',\n    source      : 'source',\n    url         : 'url'\n  },\n\n  error : {\n    noURL  : 'No URL specified',\n    method : 'The method you called is not defined'\n  },\n\n  className : {\n    active : 'active',\n    embed  : 'embed'\n  },\n\n  selector : {\n    embed       : '.embed',\n    placeholder : '.placeholder',\n    icon        : '.icon'\n  },\n\n  sources: {\n    youtube: {\n      name   : 'youtube',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'youtube.com',\n      url    : '//www.youtube.com/embed/{id}',\n      parameters: function(settings) {\n        return {\n          autohide       : !settings.brandedUI,\n          autoplay       : settings.autoplay,\n          color          : settings.colors || undefined,\n          hq             : settings.hd,\n          jsapi          : settings.api,\n          modestbranding : !settings.brandedUI\n        };\n      }\n    },\n    vimeo: {\n      name   : 'vimeo',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'vimeo.com',\n      url    : '//player.vimeo.com/video/{id}',\n      parameters: function(settings) {\n        return {\n          api      : settings.api,\n          autoplay : settings.autoplay,\n          byline   : settings.brandedUI,\n          color    : settings.colors || undefined,\n          portrait : settings.brandedUI,\n          title    : settings.brandedUI\n        };\n      }\n    }\n  },\n\n  templates: {\n    iframe : function(url, parameters) {\n      return ''\n        + '<iframe src=\"' + url + '?' + parameters + '\"'\n        + ' width=\"100%\" height=\"100%\"'\n        + ' frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n      ;\n    },\n    placeholder : function(image, icon) {\n      var\n        html = ''\n      ;\n      if(icon) {\n        html += '<i class=\"' + icon + ' icon\"></i>';\n      }\n      if(image) {\n        html += '<img class=\"placeholder\" src=\"' + image + '\">';\n      }\n      return html;\n    }\n  },\n\n  // NOT YET IMPLEMENTED\n  api     : true,\n  onPause : function() {},\n  onPlay  : function() {},\n  onStop  : function() {}\n\n};\n\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.modal = function(parameters) {\n  var\n    $allModules    = $(this),\n    $window        = $(window),\n    $document      = $(document),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings    = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.modal.settings, parameters)\n          : $.extend({}, $.fn.modal.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $close          = $module.find(selector.close),\n\n        $allModals,\n        $otherModals,\n        $focusedElement,\n        $dimmable,\n        $dimmer,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        observer,\n        module\n      ;\n      module  = {\n\n        initialize: function() {\n          module.verbose('Initializing dimmer', $context);\n\n          module.create.id();\n          module.create.dimmer();\n          module.refreshModals();\n\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of modal');\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        create: {\n          dimmer: function() {\n            var\n              defaultSettings = {\n                debug      : settings.debug,\n                dimmerName : 'modals',\n                duration   : {\n                  show     : settings.duration,\n                  hide     : settings.duration\n                }\n              },\n              dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)\n            ;\n            if(settings.inverted) {\n              dimmerSettings.variation = (dimmerSettings.variation !== undefined)\n                ? dimmerSettings.variation + ' inverted'\n                : 'inverted'\n              ;\n            }\n            if($.fn.dimmer === undefined) {\n              module.error(error.dimmer);\n              return;\n            }\n            module.debug('Creating dimmer with settings', dimmerSettings);\n            $dimmable = $context.dimmer(dimmerSettings);\n            if(settings.detachable) {\n              module.verbose('Modal is detachable, moving content into dimmer');\n              $dimmable.dimmer('add content', $module);\n            }\n            else {\n              module.set.undetached();\n            }\n            if(settings.blurring) {\n              $dimmable.addClass(className.blurring);\n            }\n            $dimmer = $dimmable.dimmer('get dimmer');\n          },\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous modal');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n          $window.off(elementNamespace);\n          $close.off(eventNamespace);\n          $context.dimmer('destroy');\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, refreshing');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        refresh: function() {\n          module.remove.scrolling();\n          module.cacheSizes();\n          module.set.screenHeight();\n          module.set.type();\n          module.set.position();\n        },\n\n        refreshModals: function() {\n          $otherModals = $module.siblings(selector.modal);\n          $allModals   = $otherModals.add($module);\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching modal events to element', selector, event);\n            $toggle\n              .off(eventNamespace)\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching events');\n            $module\n              .on('click' + eventNamespace, selector.close, module.event.close)\n              .on('click' + eventNamespace, selector.approve, module.event.approve)\n              .on('click' + eventNamespace, selector.deny, module.event.deny)\n            ;\n            $window\n              .on('resize' + elementNamespace, module.event.resize)\n            ;\n          }\n        },\n\n        get: {\n          id: function() {\n            return (Math.random().toString(16) + '000000000').substr(2,8);\n          }\n        },\n\n        event: {\n          approve: function() {\n            if(settings.onApprove.call(element, $(this)) === false) {\n              module.verbose('Approve callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          deny: function() {\n            if(settings.onDeny.call(element, $(this)) === false) {\n              module.verbose('Deny callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          close: function() {\n            module.hide();\n          },\n          click: function(event) {\n            var\n              $target   = $(event.target),\n              isInModal = ($target.closest(selector.modal).length > 0),\n              isInDOM   = $.contains(document.documentElement, event.target)\n            ;\n            if(!isInModal && isInDOM) {\n              module.debug('Dimmer clicked, hiding all modals');\n              if( module.is.active() ) {\n                module.remove.clickaway();\n                if(settings.allowMultiple) {\n                  module.hide();\n                }\n                else {\n                  module.hideAll();\n                }\n              }\n            }\n          },\n          debounce: function(method, delay) {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(method, delay);\n          },\n          keyboard: function(event) {\n            var\n              keyCode   = event.which,\n              escapeKey = 27\n            ;\n            if(keyCode == escapeKey) {\n              if(settings.closable) {\n                module.debug('Escape key pressed hiding modal');\n                module.hide();\n              }\n              else {\n                module.debug('Escape key pressed, but closable is set to false');\n              }\n              event.preventDefault();\n            }\n          },\n          resize: function() {\n            if( $dimmable.dimmer('is active') ) {\n              requestAnimationFrame(module.refresh);\n            }\n          }\n        },\n\n        toggle: function() {\n          if( module.is.active() || module.is.animating() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.showModal(callback);\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.hideModal(callback);\n        },\n\n        showModal: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.animating() || !module.is.active() ) {\n\n            module.showDimmer();\n            module.cacheSizes();\n            module.set.position();\n            module.set.screenHeight();\n            module.set.type();\n            module.set.clickaway();\n\n            if( !settings.allowMultiple && module.others.active() ) {\n              module.hideOthers(module.showModal);\n            }\n            else {\n              settings.onShow.call(element);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                module.debug('Showing modal with css animations');\n                $module\n                  .transition({\n                    debug       : settings.debug,\n                    animation   : settings.transition + ' in',\n                    queue       : settings.queue,\n                    duration    : settings.duration,\n                    useFailSafe : true,\n                    onComplete : function() {\n                      settings.onVisible.apply(element);\n                      module.add.keyboardShortcuts();\n                      module.save.focus();\n                      module.set.active();\n                      if(settings.autofocus) {\n                        module.set.autofocus();\n                      }\n                      callback();\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition);\n              }\n            }\n          }\n          else {\n            module.debug('Modal is already visible');\n          }\n        },\n\n        hideModal: function(callback, keepDimmed) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Hiding modal');\n          if(settings.onHide.call(element, $(this)) === false) {\n            module.verbose('Hide callback returned false cancelling hide');\n            return;\n          }\n\n          if( module.is.animating() || module.is.active() ) {\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.remove.active();\n              $module\n                .transition({\n                  debug       : settings.debug,\n                  animation   : settings.transition + ' out',\n                  queue       : settings.queue,\n                  duration    : settings.duration,\n                  useFailSafe : true,\n                  onStart     : function() {\n                    if(!module.others.active() && !keepDimmed) {\n                      module.hideDimmer();\n                    }\n                    module.remove.keyboardShortcuts();\n                  },\n                  onComplete : function() {\n                    settings.onHidden.call(element);\n                    module.restore.focus();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        showDimmer: function() {\n          if($dimmable.dimmer('is animating') || !$dimmable.dimmer('is active') ) {\n            module.debug('Showing dimmer');\n            $dimmable.dimmer('show');\n          }\n          else {\n            module.debug('Dimmer already visible');\n          }\n        },\n\n        hideDimmer: function() {\n          if( $dimmable.dimmer('is animating') || ($dimmable.dimmer('is active')) ) {\n            $dimmable.dimmer('hide', function() {\n              module.remove.clickaway();\n              module.remove.screenHeight();\n            });\n          }\n          else {\n            module.debug('Dimmer is not visible cannot hide');\n            return;\n          }\n        },\n\n        hideAll: function(callback) {\n          var\n            $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding all visible modals');\n            module.hideDimmer();\n            $visibleModals\n              .modal('hide modal', callback)\n            ;\n          }\n        },\n\n        hideOthers: function(callback) {\n          var\n            $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding other modals', $otherModals);\n            $visibleModals\n              .modal('hide modal', callback, true)\n            ;\n          }\n        },\n\n        others: {\n          active: function() {\n            return ($otherModals.filter('.' + className.active).length > 0);\n          },\n          animating: function() {\n            return ($otherModals.filter('.' + className.animating).length > 0);\n          }\n        },\n\n\n        add: {\n          keyboardShortcuts: function() {\n            module.verbose('Adding keyboard shortcuts');\n            $document\n              .on('keyup' + eventNamespace, module.event.keyboard)\n            ;\n          }\n        },\n\n        save: {\n          focus: function() {\n            $focusedElement = $(document.activeElement).blur();\n          }\n        },\n\n        restore: {\n          focus: function() {\n            if($focusedElement && $focusedElement.length > 0) {\n              $focusedElement.focus();\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .off('click' + elementNamespace)\n              ;\n            }\n          },\n          bodyStyle: function() {\n            if($body.attr('style') === '') {\n              module.verbose('Removing style attribute');\n              $body.removeAttr('style');\n            }\n          },\n          screenHeight: function() {\n            module.debug('Removing page height');\n            $body\n              .css('height', '')\n            ;\n          },\n          keyboardShortcuts: function() {\n            module.verbose('Removing keyboard shortcuts');\n            $document\n              .off('keyup' + eventNamespace)\n            ;\n          },\n          scrolling: function() {\n            $dimmable.removeClass(className.scrolling);\n            $module.removeClass(className.scrolling);\n          }\n        },\n\n        cacheSizes: function() {\n          var\n            modalHeight = $module.outerHeight()\n          ;\n          if(module.cache === undefined || modalHeight !== 0) {\n            module.cache = {\n              pageHeight    : $(document).outerHeight(),\n              height        : modalHeight + settings.offset,\n              contextHeight : (settings.context == 'body')\n                ? $(window).height()\n                : $dimmable.height()\n            };\n          }\n          module.debug('Caching modal and container sizes', module.cache);\n        },\n\n        can: {\n          fit: function() {\n            return ( ( module.cache.height + (settings.padding * 2) ) < module.cache.contextHeight);\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return $module.transition('is supported')\n              ? $module.transition('is animating')\n              : $module.is(':visible')\n            ;\n          },\n          scrolling: function() {\n            return $dimmable.hasClass(className.scrolling);\n          },\n          modernBrowser: function() {\n            // appName for IE11 reports 'Netscape' can no longer use\n            return !(window.ActiveXObject || \"ActiveXObject\" in window);\n          }\n        },\n\n        set: {\n          autofocus: function() {\n            var\n              $inputs    = $module.find(':input').filter(':visible'),\n              $autofocus = $inputs.filter('[autofocus]'),\n              $input     = ($autofocus.length > 0)\n                ? $autofocus.first()\n                : $inputs.first()\n            ;\n            if($input.length > 0) {\n              $input.focus();\n            }\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .on('click' + elementNamespace, module.event.click)\n              ;\n            }\n          },\n          screenHeight: function() {\n            if( module.can.fit() ) {\n              $body.css('height', '');\n            }\n            else {\n              module.debug('Modal is taller than page content, resizing page height');\n              $body\n                .css('height', module.cache.height + (settings.padding * 2) )\n              ;\n            }\n          },\n          active: function() {\n            $module.addClass(className.active);\n          },\n          scrolling: function() {\n            $dimmable.addClass(className.scrolling);\n            $module.addClass(className.scrolling);\n          },\n          type: function() {\n            if(module.can.fit()) {\n              module.verbose('Modal fits on screen');\n              if(!module.others.active() && !module.others.animating()) {\n                module.remove.scrolling();\n              }\n            }\n            else {\n              module.verbose('Modal cannot fit on screen setting to scrolling');\n              module.set.scrolling();\n            }\n          },\n          position: function() {\n            module.verbose('Centering modal on page', module.cache);\n            if(module.can.fit()) {\n              $module\n                .css({\n                  top: '',\n                  marginTop: -(module.cache.height / 2)\n                })\n              ;\n            }\n            else {\n              $module\n                .css({\n                  marginTop : '',\n                  top       : $document.scrollTop()\n                })\n              ;\n            }\n          },\n          undetached: function() {\n            $dimmable.addClass(className.undetached);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.modal.settings = {\n\n  name           : 'Modal',\n  namespace      : 'modal',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  observeChanges : false,\n\n  allowMultiple  : false,\n  detachable     : true,\n  closable       : true,\n  autofocus      : true,\n\n  inverted       : false,\n  blurring       : false,\n\n  dimmerSettings : {\n    closable : false,\n    useCSS   : true\n  },\n\n\n  context    : 'body',\n\n  queue      : false,\n  duration   : 500,\n  offset     : 0,\n  transition : 'scale',\n\n  // padding with edge of page\n  padding    : 50,\n\n  // called before show animation\n  onShow     : function(){},\n\n  // called after show animation\n  onVisible  : function(){},\n\n  // called before hide animation\n  onHide     : function(){ return true; },\n\n  // called after hide animation\n  onHidden   : function(){},\n\n  // called after approve selector match\n  onApprove  : function(){ return true; },\n\n  // called after deny selector match\n  onDeny     : function(){ return true; },\n\n  selector    : {\n    close    : '> .close',\n    approve  : '.actions .positive, .actions .approve, .actions .ok',\n    deny     : '.actions .negative, .actions .deny, .actions .cancel',\n    modal    : '.ui.modal'\n  },\n  error : {\n    dimmer    : 'UI Dimmer, a required component is not included in this page',\n    method    : 'The method you called is not defined.',\n    notFound  : 'The element you specified could not be found'\n  },\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    blurring   : 'blurring',\n    scrolling  : 'scrolling',\n    undetached : 'undetached'\n  }\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.nag = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.nag.settings, parameters)\n          : $.extend({}, $.fn.nag.settings),\n\n        className       = settings.className,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        $close          = $module.find(selector.close),\n        $context        = (settings.context)\n          ? $(settings.context)\n          : $('body'),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        moduleOffset,\n        moduleHeight,\n\n        contextWidth,\n        contextHeight,\n        contextOffset,\n\n        yOffset,\n        yPosition,\n\n        timer,\n        module,\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); }\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing element');\n\n          $module\n            .on('click' + eventNamespace, selector.close, module.dismiss)\n            .data(moduleNamespace, module)\n          ;\n\n          if(settings.detachable && $module.parent()[0] !== $context[0]) {\n            $module\n              .detach()\n              .prependTo($context)\n            ;\n          }\n\n          if(settings.displayTime > 0) {\n            setTimeout(module.hide, settings.displayTime);\n          }\n          module.show();\n        },\n\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        show: function() {\n          if( module.should.show() && !$module.is(':visible') ) {\n            module.debug('Showing nag', settings.animation.show);\n            if(settings.animation.show == 'fade') {\n              $module\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            else {\n              $module\n                .slideDown(settings.duration, settings.easing)\n              ;\n            }\n          }\n        },\n\n        hide: function() {\n          module.debug('Showing nag', settings.animation.hide);\n          if(settings.animation.show == 'fade') {\n            $module\n              .fadeIn(settings.duration, settings.easing)\n            ;\n          }\n          else {\n            $module\n              .slideUp(settings.duration, settings.easing)\n            ;\n          }\n        },\n\n        onHide: function() {\n          module.debug('Removing nag', settings.animation.hide);\n          $module.remove();\n          if (settings.onHide) {\n            settings.onHide();\n          }\n        },\n\n        dismiss: function(event) {\n          if(settings.storageMethod) {\n            module.storage.set(settings.key, settings.value);\n          }\n          module.hide();\n          event.stopImmediatePropagation();\n          event.preventDefault();\n        },\n\n        should: {\n          show: function() {\n            if(settings.persist) {\n              module.debug('Persistent nag is set, can show nag');\n              return true;\n            }\n            if( module.storage.get(settings.key) != settings.value.toString() ) {\n              module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));\n              return true;\n            }\n            module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));\n            return false;\n          }\n        },\n\n        get: {\n          storageOptions: function() {\n            var\n              options = {}\n            ;\n            if(settings.expires) {\n              options.expires = settings.expires;\n            }\n            if(settings.domain) {\n              options.domain = settings.domain;\n            }\n            if(settings.path) {\n              options.path = settings.path;\n            }\n            return options;\n          }\n        },\n\n        clear: function() {\n          module.storage.remove(settings.key);\n        },\n\n        storage: {\n          set: function(key, value) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.setItem(key, value);\n              module.debug('Value stored using local storage', key, value);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.setItem(key, value);\n              module.debug('Value stored using session storage', key, value);\n            }\n            else if($.cookie !== undefined) {\n              $.cookie(key, value, options);\n              module.debug('Value stored using cookie', key, value, options);\n            }\n            else {\n              module.error(error.noCookieStorage);\n              return;\n            }\n          },\n          get: function(key, value) {\n            var\n              storedValue\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              storedValue = window.localStorage.getItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              storedValue = window.sessionStorage.getItem(key);\n            }\n            // get by cookie\n            else if($.cookie !== undefined) {\n              storedValue = $.cookie(key);\n            }\n            else {\n              module.error(error.noCookieStorage);\n            }\n            if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {\n              storedValue = undefined;\n            }\n            return storedValue;\n          },\n          remove: function(key) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.removeItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.removeItem(key);\n            }\n            // store by cookie\n            else if($.cookie !== undefined) {\n              $.removeCookie(key, options);\n            }\n            else {\n              module.error(error.noStorage);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.nag.settings = {\n\n  name        : 'Nag',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  namespace   : 'Nag',\n\n  // allows cookie to be overriden\n  persist     : false,\n\n  // set to zero to require manually dismissal, otherwise hides on its own\n  displayTime : 0,\n\n  animation   : {\n    show : 'slide',\n    hide : 'slide'\n  },\n\n  context       : false,\n  detachable    : false,\n\n  expires       : 30,\n  domain        : false,\n  path          : '/',\n\n  // type of storage to use\n  storageMethod : 'cookie',\n\n  // value to store in dismissed localstorage/cookie\n  key           : 'nag',\n  value         : 'dismiss',\n\n  error: {\n    noCookieStorage : '$.cookie is not included. A storage solution is required.',\n    noStorage       : 'Neither $.cookie or store is defined. A storage solution is required for storing state',\n    method          : 'The method you called is not defined.'\n  },\n\n  className     : {\n    bottom : 'bottom',\n    fixed  : 'fixed'\n  },\n\n  selector      : {\n    close : '.close.icon'\n  },\n\n  speed         : 500,\n  easing        : 'easeOutQuad',\n\n  onHide: function() {}\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.popup = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n    $window        = $(window),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = (true),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.popup.settings, parameters)\n          : $.extend({}, $.fn.popup.settings),\n\n        selector           = settings.selector,\n        className          = settings.className,\n        error              = settings.error,\n        metadata           = settings.metadata,\n        namespace          = settings.namespace,\n\n        eventNamespace     = '.' + settings.namespace,\n        moduleNamespace    = 'module-' + namespace,\n\n        $module            = $(this),\n        $context           = $(settings.context),\n        $target            = (settings.target)\n          ? $(settings.target)\n          : $module,\n\n        $popup,\n        $offsetParent,\n\n        searchDepth        = 0,\n        triedPositions     = false,\n        openedWithTouch    = false,\n\n        element            = this,\n        instance           = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        module\n      ;\n\n      module = {\n\n        // binds events\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.createID();\n          module.bind.events();\n          if( !module.exists() && settings.preserve) {\n            module.create();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        refresh: function() {\n          if(settings.popup) {\n            $popup = $(settings.popup).eq(0);\n          }\n          else {\n            if(settings.inline) {\n              $popup = $target.nextAll(selector.popup).eq(0);\n              settings.popup = $popup;\n            }\n          }\n          if(settings.popup) {\n            $popup.addClass(className.loading);\n            $offsetParent = module.get.offsetParent();\n            $popup.removeClass(className.loading);\n            if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {\n              module.debug('Moving popup to the same offset parent as activating element');\n              $popup\n                .detach()\n                .appendTo($offsetParent)\n              ;\n            }\n          }\n          else {\n            $offsetParent = (settings.inline)\n              ? module.get.offsetParent($target)\n              : module.has.popup()\n                ? module.get.offsetParent($popup)\n                : $body\n            ;\n          }\n          if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) {\n            module.debug('Setting page as offset parent');\n            $offsetParent = $body;\n          }\n          if( module.get.variation() ) {\n            module.set.variation();\n          }\n        },\n\n        reposition: function() {\n          module.refresh();\n          module.set.position();\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous module');\n          // remove element only if was created dynamically\n          if($popup && !settings.preserve) {\n            module.removePopup();\n          }\n          // clear all timeouts\n          clearTimeout(module.hideTimer);\n          clearTimeout(module.showTimer);\n          // remove events\n          $window.off(elementNamespace);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        event: {\n          start:  function(event) {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.show\n                : settings.delay\n            ;\n            clearTimeout(module.hideTimer);\n            if(!openedWithTouch) {\n              module.showTimer = setTimeout(module.show, delay);\n            }\n          },\n          end:  function() {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.hide\n                : settings.delay\n            ;\n            clearTimeout(module.showTimer);\n            module.hideTimer = setTimeout(module.hide, delay);\n          },\n          touchstart: function(event) {\n            openedWithTouch = true;\n            module.show();\n          },\n          resize: function() {\n            if( module.is.visible() ) {\n              module.set.position();\n            }\n          },\n          hideGracefully: function(event) {\n            // don't close on clicks inside popup\n            if(event && $(event.target).closest(selector.popup).length === 0) {\n              module.debug('Click occurred outside popup hiding popup');\n              module.hide();\n            }\n            else {\n              module.debug('Click was inside popup, keeping popup open');\n            }\n          }\n        },\n\n        // generates popup html from metadata\n        create: function() {\n          var\n            html      = module.get.html(),\n            title     = module.get.title(),\n            content   = module.get.content()\n          ;\n\n          if(html || content || title) {\n            module.debug('Creating pop-up html');\n            if(!html) {\n              html = settings.templates.popup({\n                title   : title,\n                content : content\n              });\n            }\n            $popup = $('<div/>')\n              .addClass(className.popup)\n              .data(metadata.activator, $module)\n              .html(html)\n            ;\n            if(settings.inline) {\n              module.verbose('Inserting popup element inline', $popup);\n              $popup\n                .insertAfter($module)\n              ;\n            }\n            else {\n              module.verbose('Appending popup element to body', $popup);\n              $popup\n                .appendTo( $context )\n              ;\n            }\n            module.refresh();\n            module.set.variation();\n\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n            settings.onCreate.call($popup, element);\n          }\n          else if($target.next(selector.popup).length !== 0) {\n            module.verbose('Pre-existing popup found');\n            settings.inline = true;\n            settings.popups  = $target.next(selector.popup).data(metadata.activator, $module);\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else if(settings.popup) {\n            $(settings.popup).data(metadata.activator, $module);\n            module.verbose('Used popup specified in settings');\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else {\n            module.debug('No content specified skipping display', element);\n          }\n        },\n\n        createID: function() {\n          id = (Math.random().toString(16) + '000000000').substr(2,8);\n          elementNamespace = '.' + id;\n          module.verbose('Creating unique id for element', id);\n        },\n\n        // determines popup state\n        toggle: function() {\n          module.debug('Toggling pop-up');\n          if( module.is.hidden() ) {\n            module.debug('Popup is hidden, showing pop-up');\n            module.unbind.close();\n            module.show();\n          }\n          else {\n            module.debug('Popup is visible, hiding pop-up');\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = callback || function(){};\n          module.debug('Showing pop-up', settings.transition);\n          if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {\n            if( !module.exists() ) {\n              module.create();\n            }\n            if(settings.onShow.call($popup, element) === false) {\n              module.debug('onShow callback returned false, cancelling popup animation');\n              return;\n            }\n            else if(!settings.preserve && !settings.popup) {\n              module.refresh();\n            }\n            if( $popup && module.set.position() ) {\n              module.save.conditions();\n              if(settings.exclusive) {\n                module.hideAll();\n              }\n              module.animate.show(callback);\n            }\n          }\n        },\n\n\n        hide: function(callback) {\n          callback = callback || function(){};\n          if( module.is.visible() || module.is.animating() ) {\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            module.remove.visible();\n            module.unbind.close();\n            module.restore.conditions();\n            module.animate.hide(callback);\n          }\n        },\n\n        hideAll: function() {\n          $(selector.popup)\n            .filter('.' + className.visible)\n            .each(function() {\n              $(this)\n                .data(metadata.activator)\n                .popup('hide')\n              ;\n            })\n          ;\n        },\n        exists: function() {\n          if(!$popup) {\n            return false;\n          }\n          if(settings.inline || settings.popup) {\n            return ( module.has.popup() );\n          }\n          else {\n            return ( $popup.closest($context).length >= 1 )\n              ? true\n              : false\n            ;\n          }\n        },\n\n        removePopup: function() {\n          if( module.has.popup() && !settings.popup) {\n            module.debug('Removing popup', $popup);\n            $popup.remove();\n            $popup = undefined;\n            settings.onRemove.call($popup, element);\n          }\n        },\n\n        save: {\n          conditions: function() {\n            module.cache = {\n              title: $module.attr('title')\n            };\n            if (module.cache.title) {\n              $module.removeAttr('title');\n            }\n            module.verbose('Saving original attributes', module.cache.title);\n          }\n        },\n        restore: {\n          conditions: function() {\n            if(module.cache && module.cache.title) {\n              $module.attr('title', module.cache.title);\n              module.verbose('Restoring original attributes', module.cache.title);\n            }\n            return true;\n          }\n        },\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.set.visible();\n              $popup\n                .transition({\n                  animation  : settings.transition + ' in',\n                  queue      : false,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  onComplete : function() {\n                    module.bind.close();\n                    callback.call($popup, element);\n                    settings.onVisible.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            module.debug('Hiding pop-up');\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              $popup\n                .transition({\n                  animation  : settings.transition + ' out',\n                  queue      : false,\n                  duration   : settings.duration,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  onComplete : function() {\n                    module.reset();\n                    callback.call($popup, element);\n                    settings.onHidden.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        change: {\n          content: function(html) {\n            $popup.html(html);\n          }\n        },\n\n        get: {\n          html: function() {\n            $module.removeData(metadata.html);\n            return $module.data(metadata.html) || settings.html;\n          },\n          title: function() {\n            $module.removeData(metadata.title);\n            return $module.data(metadata.title) || settings.title;\n          },\n          content: function() {\n            $module.removeData(metadata.content);\n            return $module.data(metadata.content) || $module.attr('title') || settings.content;\n          },\n          variation: function() {\n            $module.removeData(metadata.variation);\n            return $module.data(metadata.variation) || settings.variation;\n          },\n          popup: function() {\n            return $popup;\n          },\n          popupOffset: function() {\n            return $popup.offset();\n          },\n          calculations: function() {\n            var\n              targetElement  = $target[0],\n              targetPosition = (settings.inline || (settings.popup && settings.movePopup))\n                ? $target.position()\n                : $target.offset(),\n              calculations = {},\n              screen\n            ;\n            calculations = {\n              // element which is launching popup\n              target : {\n                element : $target[0],\n                width   : $target.outerWidth(),\n                height  : $target.outerHeight(),\n                top     : targetPosition.top,\n                left    : targetPosition.left,\n                margin  : {}\n              },\n              // popup itself\n              popup : {\n                width  : $popup.outerWidth(),\n                height : $popup.outerHeight()\n              },\n              // offset container (or 3d context)\n              parent : {\n                width  : $offsetParent.outerWidth(),\n                height : $offsetParent.outerHeight()\n              },\n              // screen boundaries\n              screen : {\n                scroll: {\n                  top  : $window.scrollTop(),\n                  left : $window.scrollLeft()\n                },\n                width  : $window.width(),\n                height : $window.height()\n              }\n            };\n\n            // add in container calcs if fluid\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              calculations.container = {\n                width: $popup.parent().outerWidth()\n              };\n              calculations.popup.width = calculations.container.width;\n            }\n\n            // add in margins if inline\n            calculations.target.margin.top = (settings.inline)\n              ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)\n              : 0\n            ;\n            calculations.target.margin.left = (settings.inline)\n              ? module.is.rtl()\n                ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)\n                : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left') , 10)\n              : 0\n            ;\n            // calculate screen boundaries\n            screen = calculations.screen;\n            calculations.boundary = {\n              top    : screen.scroll.top,\n              bottom : screen.scroll.top + screen.height,\n              left   : screen.scroll.left,\n              right  : screen.scroll.left + screen.width\n            };\n            return calculations;\n          },\n          id: function() {\n            return id;\n          },\n          startEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseenter';\n            }\n            else if(settings.on == 'focus') {\n              return 'focus';\n            }\n            return false;\n          },\n          scrollEvent: function() {\n            return 'scroll';\n          },\n          endEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseleave';\n            }\n            else if(settings.on == 'focus') {\n              return 'blur';\n            }\n            return false;\n          },\n          distanceFromBoundary: function(offset, calculations) {\n            var\n              distanceFromBoundary = {},\n              popup,\n              boundary\n            ;\n            offset       = offset       || module.get.offset();\n            calculations = calculations || module.get.calculations();\n\n            // shorthand\n            popup        = calculations.popup;\n            boundary     = calculations.boundary;\n\n            if(offset) {\n              distanceFromBoundary = {\n                top    : (offset.top - boundary.top),\n                left   : (offset.left - boundary.left),\n                right  : (boundary.right - (offset.left + popup.width) ),\n                bottom : (boundary.bottom - (offset.top + popup.height) )\n              };\n              module.verbose('Distance from boundaries determined', offset, distanceFromBoundary);\n            }\n            return distanceFromBoundary;\n          },\n          offsetParent: function($target) {\n            var\n              element = ($target !== undefined)\n                ? $target[0]\n                : $module[0],\n              parentNode = element.parentNode,\n              $node    = $(parentNode)\n            ;\n            if(parentNode) {\n              var\n                is2D     = ($node.css('transform') === 'none'),\n                isStatic = ($node.css('position') === 'static'),\n                isHTML   = $node.is('html')\n              ;\n              while(parentNode && !isHTML && isStatic && is2D) {\n                parentNode = parentNode.parentNode;\n                $node    = $(parentNode);\n                is2D     = ($node.css('transform') === 'none');\n                isStatic = ($node.css('position') === 'static');\n                isHTML   = $node.is('html');\n              }\n            }\n            return ($node && $node.length > 0)\n              ? $node\n              : $()\n            ;\n          },\n          positions: function() {\n            return {\n              'top left'      : false,\n              'top center'    : false,\n              'top right'     : false,\n              'bottom left'   : false,\n              'bottom center' : false,\n              'bottom right'  : false,\n              'left center'   : false,\n              'right center'  : false\n            };\n          },\n          nextPosition: function(position) {\n            var\n              positions          = position.split(' '),\n              verticalPosition   = positions[0],\n              horizontalPosition = positions[1],\n              opposite = {\n                top    : 'bottom',\n                bottom : 'top',\n                left   : 'right',\n                right  : 'left'\n              },\n              adjacent = {\n                left   : 'center',\n                center : 'right',\n                right  : 'left'\n              },\n              backup = {\n                'top left'      : 'top center',\n                'top center'    : 'top right',\n                'top right'     : 'right center',\n                'right center'  : 'bottom right',\n                'bottom right'  : 'bottom center',\n                'bottom center' : 'bottom left',\n                'bottom left'   : 'left center',\n                'left center'   : 'top left'\n              },\n              adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'),\n              oppositeTried = false,\n              adjacentTried = false,\n              nextPosition  = false\n            ;\n            if(!triedPositions) {\n              module.verbose('All available positions available');\n              triedPositions = module.get.positions();\n            }\n\n            module.debug('Recording last position tried', position);\n            triedPositions[position] = true;\n\n            if(settings.prefer === 'opposite') {\n              nextPosition  = [opposite[verticalPosition], horizontalPosition];\n              nextPosition  = nextPosition.join(' ');\n              oppositeTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying opposite strategy', nextPosition);\n            }\n            if((settings.prefer === 'adjacent') && adjacentsAvailable ) {\n              nextPosition  = [verticalPosition, adjacent[horizontalPosition]];\n              nextPosition  = nextPosition.join(' ');\n              adjacentTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying adjacent strategy', nextPosition);\n            }\n            if(adjacentTried || oppositeTried) {\n              module.debug('Using backup position', nextPosition);\n              nextPosition = backup[position];\n            }\n            return nextPosition;\n          }\n        },\n\n        set: {\n          position: function(position, calculations) {\n\n            // exit conditions\n            if($target.length === 0 || $popup.length === 0) {\n              module.error(error.notFound);\n              return;\n            }\n            var\n              offset,\n              distanceAway,\n              target,\n              popup,\n              parent,\n              positioning,\n              popupOffset,\n              distanceFromBoundary\n            ;\n\n            calculations = calculations || module.get.calculations();\n            position     = position     || $module.data(metadata.position) || settings.position;\n\n            offset       = $module.data(metadata.offset) || settings.offset;\n            distanceAway = settings.distanceAway;\n\n            // shorthand\n            target = calculations.target;\n            popup  = calculations.popup;\n            parent = calculations.parent;\n\n            if(target.width === 0 && target.height === 0 && !(target.element instanceof SVGGraphicsElement)) {\n              module.debug('Popup target is hidden, no action taken');\n              return false;\n            }\n\n            if(settings.inline) {\n              module.debug('Adding margin to calculation', target.margin);\n              if(position == 'left center' || position == 'right center') {\n                offset       +=  target.margin.top;\n                distanceAway += -target.margin.left;\n              }\n              else if (position == 'top left' || position == 'top center' || position == 'top right') {\n                offset       += target.margin.left;\n                distanceAway -= target.margin.top;\n              }\n              else {\n                offset       += target.margin.left;\n                distanceAway += target.margin.top;\n              }\n            }\n\n            module.debug('Determining popup position from calculations', position, calculations);\n\n            if (module.is.rtl()) {\n              position = position.replace(/left|right/g, function (match) {\n                return (match == 'left')\n                  ? 'right'\n                  : 'left'\n                ;\n              });\n              module.debug('RTL: Popup position updated', position);\n            }\n\n            // if last attempt use specified last resort position\n            if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') {\n              position = settings.lastResort;\n            }\n\n            switch (position) {\n              case 'top left':\n                positioning = {\n                  top    : 'auto',\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + offset,\n                  right  : 'auto'\n                };\n              break;\n              case 'top center':\n                positioning = {\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  top    : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'top right':\n                positioning = {\n                  bottom :  parent.height - target.top + distanceAway,\n                  right  :  parent.width - target.left - target.width - offset,\n                  top    : 'auto',\n                  left   : 'auto'\n                };\n              break;\n              case 'left center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  right  : parent.width - target.left + distanceAway,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n              case 'right center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  left   : target.left + target.width + distanceAway,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom left':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom center':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom right':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  right  : parent.width - target.left  - target.width - offset,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n            }\n            if(positioning === undefined) {\n              module.error(error.invalidPosition, position);\n            }\n\n            module.debug('Calculated popup positioning values', positioning);\n\n            // tentatively place on stage\n            $popup\n              .css(positioning)\n              .removeClass(className.position)\n              .addClass(position)\n              .addClass(className.loading)\n            ;\n\n            popupOffset = module.get.popupOffset();\n\n            // see if any boundaries are surpassed with this tentative position\n            distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);\n\n            if( module.is.offstage(distanceFromBoundary, position) ) {\n              module.debug('Position is outside viewport', position);\n              if(searchDepth < settings.maxSearchDepth) {\n                searchDepth++;\n                position = module.get.nextPosition(position);\n                module.debug('Trying new position', position);\n                return ($popup)\n                  ? module.set.position(position, calculations)\n                  : false\n                ;\n              }\n              else {\n                if(settings.lastResort) {\n                  module.debug('No position found, showing with last position');\n                }\n                else {\n                  module.debug('Popup could not find a position to display', $popup);\n                  module.error(error.cannotPlace, element);\n                  module.remove.attempts();\n                  module.remove.loading();\n                  module.reset();\n                  return false;\n                }\n              }\n            }\n            module.debug('Position is on stage', position);\n            module.remove.attempts();\n            module.remove.loading();\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              module.set.fluidWidth(calculations);\n            }\n            return true;\n          },\n\n          fluidWidth: function(calculations) {\n            calculations = calculations || module.get.calculations();\n            module.debug('Automatically setting element width to parent width', calculations.parent.width);\n            $popup.css('width', calculations.container.width);\n          },\n\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation && module.has.popup() ) {\n              module.verbose('Adding variation to popup', variation);\n              $popup.addClass(variation);\n            }\n          },\n\n          visible: function() {\n            $module.addClass(className.visible);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $popup.removeClass(className.loading);\n          },\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation) {\n              module.verbose('Removing variation', variation);\n              $popup.removeClass(variation);\n            }\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          attempts: function() {\n            module.verbose('Resetting all searched positions');\n            searchDepth    = 0;\n            triedPositions = false;\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding popup events to module');\n            if(settings.on == 'click') {\n              $module\n                .on('click' + eventNamespace, module.toggle)\n              ;\n            }\n            if(settings.on == 'hover' && hasTouch) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.touchstart)\n              ;\n            }\n            if( module.get.startEvent() ) {\n              $module\n                .on(module.get.startEvent() + eventNamespace, module.event.start)\n                .on(module.get.endEvent() + eventNamespace, module.event.end)\n              ;\n            }\n            if(settings.target) {\n              module.debug('Target set to element', $target);\n            }\n            $window.on('resize' + elementNamespace, module.event.resize);\n          },\n          popup: function() {\n            module.verbose('Allowing hover events on popup to prevent closing');\n            if( $popup && module.has.popup() ) {\n              $popup\n                .on('mouseenter' + eventNamespace, module.event.start)\n                .on('mouseleave' + eventNamespace, module.event.end)\n              ;\n            }\n          },\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click'))   {\n              $document\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n              $context\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('touchstart' + elementNamespace, function(event) {\n                  module.verbose('Touched away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('click' + elementNamespace, function(event) {\n                  module.verbose('Clicked away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {\n              $document\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n              $context\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n              ;\n              openedWithTouch = false;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Removing close event from document');\n              $document\n                .off('click' + elementNamespace)\n              ;\n            }\n          }\n        },\n\n        has: {\n          popup: function() {\n            return ($popup && $popup.length > 0);\n          }\n        },\n\n        is: {\n          offstage: function(distanceFromBoundary, position) {\n            var\n              offstage = []\n            ;\n            // return boundaries that have been surpassed\n            $.each(distanceFromBoundary, function(direction, distance) {\n              if(distance < -settings.jitter) {\n                module.debug('Position exceeds allowable distance from edge', direction, distance, position);\n                offstage.push(direction);\n              }\n            });\n            if(offstage.length > 0) {\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $popup && $popup.hasClass(className.animating) );\n          },\n          fluid: function() {\n            return ( $popup && $popup.hasClass(className.fluid));\n          },\n          visible: function() {\n            return $popup && $popup.hasClass(className.visible);\n          },\n          dropdown: function() {\n            return $module.hasClass(className.dropdown);\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          rtl: function () {\n            return $module.css('direction') == 'rtl';\n          }\n        },\n\n        reset: function() {\n          module.remove.visible();\n          if(settings.preserve) {\n            if($.fn.transition !== undefined) {\n              $popup\n                .transition('remove transition')\n              ;\n            }\n          }\n          else {\n            module.removePopup();\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.popup.settings = {\n\n  name         : 'Popup',\n\n  // module settings\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n  namespace    : 'popup',\n\n  // callback only when element added to dom\n  onCreate     : function(){},\n\n  // callback before element removed from dom\n  onRemove     : function(){},\n\n  // callback before show animation\n  onShow       : function(){},\n\n  // callback after show animation\n  onVisible    : function(){},\n\n  // callback before hide animation\n  onHide       : function(){},\n\n  // callback after hide animation\n  onHidden     : function(){},\n\n  // when to show popup\n  on           : 'hover',\n\n  // whether to add touchstart events when using hover\n  addTouchEvents : true,\n\n  // default position relative to element\n  position     : 'top left',\n\n  // name of variation to use\n  variation    : '',\n\n  // whether popup should be moved to context\n  movePopup      : true,\n\n  // element which popup should be relative to\n  target         : false,\n\n  // jq selector or element that should be used as popup\n  popup          : false,\n\n  // popup should remain inline next to activator\n  inline         : false,\n\n  // popup should be removed from page on hide\n  preserve       : false,\n\n  // popup should not close when being hovered on\n  hoverable      : false,\n\n  // explicitly set content\n  content      : false,\n\n  // explicitly set html\n  html         : false,\n\n  // explicitly set title\n  title        : false,\n\n  // whether automatically close on clickaway when on click\n  closable     : true,\n\n  // automatically hide on scroll\n  hideOnScroll : 'auto',\n\n  // hide other popups on show\n  exclusive    : false,\n\n  // context to attach popups\n  context      : 'body',\n\n  // position to prefer when calculating new position\n  prefer       : 'opposite',\n\n  // specify position to appear even if it doesn't fit\n  lastResort   : false,\n\n  // delay used to prevent accidental refiring of animations due to user error\n  delay        : {\n    show : 50,\n    hide : 70\n  },\n\n  // whether fluid variation should assign width explicitly\n  setFluidWidth  : true,\n\n  // transition settings\n  duration       : 200,\n  transition     : 'scale',\n\n  // distance away from activating element in px\n  distanceAway   : 0,\n\n  // number of pixels an element is allowed to be \"offstage\" for a position to be chosen (allows for rounding)\n  jitter         : 2,\n\n  // offset on aligning axis from calculated position\n  offset         : 0,\n\n  // maximum times to look for a position before failing (9 positions total)\n  maxSearchDepth : 15,\n\n  error: {\n    invalidPosition : 'The position you specified is not a valid position',\n    cannotPlace     : 'Popup does not fit within the boundaries of the viewport',\n    method          : 'The method you called is not defined.',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',\n    notFound        : 'The target or popup you specified does not exist on the page'\n  },\n\n  metadata: {\n    activator : 'activator',\n    content   : 'content',\n    html      : 'html',\n    offset    : 'offset',\n    position  : 'position',\n    title     : 'title',\n    variation : 'variation'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating',\n    dropdown  : 'dropdown',\n    fluid     : 'fluid',\n    loading   : 'loading',\n    popup     : 'ui popup',\n    position  : 'top left center bottom right',\n    visible   : 'visible'\n  },\n\n  selector    : {\n    popup    : '.ui.popup'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    popup: function(text) {\n      var\n        html   = '',\n        escape = $.fn.popup.settings.templates.escape\n      ;\n      if(typeof text !== undefined) {\n        if(typeof text.title !== undefined && text.title) {\n          text.title = escape(text.title);\n          html += '<div class=\"header\">' + text.title + '</div>';\n        }\n        if(typeof text.content !== undefined && text.content) {\n          text.content = escape(text.content);\n          html += '<div class=\"content\">' + text.content + '</div>';\n        }\n      }\n      return html;\n    }\n  }\n\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Progress\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.progress = function(parameters) {\n  var\n    $allModules    = $(this),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.progress.settings, parameters)\n          : $.extend({}, $.fn.progress.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $bar            = $(this).find(selector.bar),\n        $progress       = $(this).find(selector.progress),\n        $label          = $(this).find(selector.label),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        animating = false,\n        transitionEnd,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing progress bar', settings);\n\n          module.set.duration();\n          module.set.transitionEvent();\n\n          module.read.metadata();\n          module.read.settings();\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of progress', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying previous progress for', $module);\n          clearInterval(instance.interval);\n          module.remove.state();\n          $module.removeData(moduleNamespace);\n          instance = undefined;\n        },\n\n        reset: function() {\n          module.set.percent(0);\n          module.set.value(0);\n        },\n\n        complete: function() {\n          if(module.percent === undefined || module.percent < 100) {\n            module.set.percent(100);\n          }\n        },\n\n        read: {\n          metadata: function() {\n            var\n              data = {\n                percent : $module.data(metadata.percent),\n                total   : $module.data(metadata.total),\n                value   : $module.data(metadata.value)\n              }\n            ;\n            if(data.percent) {\n              module.debug('Current percent value set from metadata', data.percent);\n              module.set.percent(data.percent);\n            }\n            if(data.total) {\n              module.debug('Total value set from metadata', data.total);\n              module.set.total(data.total);\n            }\n            if(data.value) {\n              module.debug('Current value set from metadata', data.value);\n              module.set.value(data.value);\n              module.set.progress(data.value);\n            }\n          },\n          settings: function() {\n            if(settings.total !== false) {\n              module.debug('Current total set in settings', settings.total);\n              module.set.total(settings.total);\n            }\n            if(settings.value !== false) {\n              module.debug('Current value set in settings', settings.value);\n              module.set.value(settings.value);\n              module.set.progress(module.value);\n            }\n            if(settings.percent !== false) {\n              module.debug('Current percent set in settings', settings.percent);\n              module.set.percent(settings.percent);\n            }\n          }\n        },\n\n        increment: function(incrementValue) {\n          var\n            maxValue,\n            startValue,\n            newValue\n          ;\n          if( module.has.total() ) {\n            startValue     = module.get.value();\n            incrementValue = incrementValue || 1;\n\n            newValue       = startValue + incrementValue;\n            maxValue       = module.get.total();\n\n            module.debug('Incrementing value', startValue, newValue, maxValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above total', maxValue);\n              newValue = maxValue;\n            }\n          }\n          else {\n            startValue     = module.get.percent();\n            incrementValue = incrementValue || module.get.randomValue();\n\n            newValue       = startValue + incrementValue;\n            maxValue       = 100;\n\n            module.debug('Incrementing percentage by', startValue, newValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above 100 percent');\n              newValue = maxValue;\n            }\n          }\n          module.set.progress(newValue);\n        },\n        decrement: function(decrementValue) {\n          var\n            total     = module.get.total(),\n            startValue,\n            newValue\n          ;\n          if(total) {\n            startValue     =  module.get.value();\n            decrementValue =  decrementValue || 1;\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing value by', decrementValue, startValue);\n          }\n          else {\n            startValue     =  module.get.percent();\n            decrementValue =  decrementValue || module.get.randomValue();\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing percentage by', decrementValue, startValue);\n          }\n\n          if(newValue < 0) {\n            module.debug('Value cannot decrement below 0');\n            newValue = 0;\n          }\n          module.set.progress(newValue);\n        },\n\n        has: {\n          total: function() {\n            return (module.get.total() !== false);\n          }\n        },\n\n        get: {\n          text: function(templateText) {\n            var\n              value   = module.value                || 0,\n              total   = module.total                || 0,\n              percent = (animating)\n                ? module.get.displayPercent()\n                : module.percent || 0,\n              left = (module.total > 0)\n                ? (total - value)\n                : (100 - percent)\n            ;\n            templateText = templateText || '';\n            templateText = templateText\n              .replace('{value}', value)\n              .replace('{total}', total)\n              .replace('{left}', left)\n              .replace('{percent}', percent)\n            ;\n            module.debug('Adding variables to progress bar text', templateText);\n            return templateText;\n          },\n\n\n          randomValue: function() {\n            module.debug('Generating random increment percentage');\n            return Math.floor((Math.random() * settings.random.max) + settings.random.min);\n          },\n\n          numericValue: function(value) {\n            return (typeof value === 'string')\n              ? (value.replace(/[^\\d.]/g, '') !== '')\n                ? +(value.replace(/[^\\d.]/g, ''))\n                : false\n              : value\n            ;\n          },\n\n          transitionEnd: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          // gets current displayed percentage (if animating values this is the intermediary value)\n          displayPercent: function() {\n            var\n              barWidth       = $bar.width(),\n              totalWidth     = $module.width(),\n              minDisplay     = parseInt($bar.css('min-width'), 10),\n              displayPercent = (barWidth > minDisplay)\n                ? (barWidth / totalWidth * 100)\n                : module.percent\n            ;\n            return (settings.precision > 0)\n              ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(displayPercent)\n            ;\n          },\n\n          percent: function() {\n            return module.percent || 0;\n          },\n          value: function() {\n            return module.value || 0;\n          },\n          total: function() {\n            return module.total || false;\n          }\n        },\n\n        is: {\n          success: function() {\n            return $module.hasClass(className.success);\n          },\n          warning: function() {\n            return $module.hasClass(className.warning);\n          },\n          error: function() {\n            return $module.hasClass(className.error);\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          visible: function() {\n            return $module.is(':visible');\n          }\n        },\n\n        remove: {\n          state: function() {\n            module.verbose('Removing stored state');\n            delete module.total;\n            delete module.percent;\n            delete module.value;\n          },\n          active: function() {\n            module.verbose('Removing active state');\n            $module.removeClass(className.active);\n          },\n          success: function() {\n            module.verbose('Removing success state');\n            $module.removeClass(className.success);\n          },\n          warning: function() {\n            module.verbose('Removing warning state');\n            $module.removeClass(className.warning);\n          },\n          error: function() {\n            module.verbose('Removing error state');\n            $module.removeClass(className.error);\n          }\n        },\n\n        set: {\n          barWidth: function(value) {\n            if(value > 100) {\n              module.error(error.tooHigh, value);\n            }\n            else if (value < 0) {\n              module.error(error.tooLow, value);\n            }\n            else {\n              $bar\n                .css('width', value + '%')\n              ;\n              $module\n                .attr('data-percent', parseInt(value, 10))\n              ;\n            }\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting progress bar transition duration', duration);\n            $bar\n              .css({\n                'transition-duration':  duration\n              })\n            ;\n          },\n          percent: function(percent) {\n            percent = (typeof percent == 'string')\n              ? +(percent.replace('%', ''))\n              : percent\n            ;\n            // round display percentage\n            percent = (settings.precision > 0)\n              ? Math.round(percent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(percent)\n            ;\n            module.percent = percent;\n            if( !module.has.total() ) {\n              module.value = (settings.precision > 0)\n                ? Math.round( (percent / 100) * module.total * (10 * settings.precision)) / (10 * settings.precision)\n                : Math.round( (percent / 100) * module.total * 10) / 10\n              ;\n              if(settings.limitValues) {\n                module.value = (module.value > 100)\n                  ? 100\n                  : (module.value < 0)\n                    ? 0\n                    : module.value\n                ;\n              }\n            }\n            module.set.barWidth(percent);\n            module.set.labelInterval();\n            module.set.labels();\n            settings.onChange.call(element, percent, module.value, module.total);\n          },\n          labelInterval: function() {\n            var\n              animationCallback = function() {\n                module.verbose('Bar finished animating, removing continuous label updates');\n                clearInterval(module.interval);\n                animating = false;\n                module.set.labels();\n              }\n            ;\n            clearInterval(module.interval);\n            $bar.one(transitionEnd + eventNamespace, animationCallback);\n            module.timer = setTimeout(animationCallback, settings.duration + 100);\n            animating = true;\n            module.interval = setInterval(module.set.labels, settings.framerate);\n          },\n          labels: function() {\n            module.verbose('Setting both bar progress and outer label text');\n            module.set.barLabel();\n            module.set.state();\n          },\n          label: function(text) {\n            text = text || '';\n            if(text) {\n              text = module.get.text(text);\n              module.debug('Setting label to text', text);\n              $label.text(text);\n            }\n          },\n          state: function(percent) {\n            percent = (percent !== undefined)\n              ? percent\n              : module.percent\n            ;\n            if(percent === 100) {\n              if(settings.autoSuccess && !(module.is.warning() || module.is.error())) {\n                module.set.success();\n                module.debug('Automatically triggering success at 100%');\n              }\n              else {\n                module.verbose('Reached 100% removing active state');\n                module.remove.active();\n              }\n            }\n            else if(percent > 0) {\n              module.verbose('Adjusting active progress bar label', percent);\n              module.set.active();\n            }\n            else {\n              module.remove.active();\n              module.set.label(settings.text.active);\n            }\n          },\n          barLabel: function(text) {\n            if(text !== undefined) {\n              $progress.text( module.get.text(text) );\n            }\n            else if(settings.label == 'ratio' && module.total) {\n              module.debug('Adding ratio to bar label');\n              $progress.text( module.get.text(settings.text.ratio) );\n            }\n            else if(settings.label == 'percent') {\n              module.debug('Adding percentage to bar label');\n              $progress.text( module.get.text(settings.text.percent) );\n            }\n          },\n          active: function(text) {\n            text = text || settings.text.active;\n            module.debug('Setting active state');\n            if(settings.showActivity && !module.is.active() ) {\n              $module.addClass(className.active);\n            }\n            module.remove.warning();\n            module.remove.error();\n            module.remove.success();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onActive.call(element, module.value, module.total);\n          },\n          success : function(text) {\n            text = text || settings.text.success;\n            module.debug('Setting success state');\n            $module.addClass(className.success);\n            module.remove.active();\n            module.remove.warning();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onSuccess.call(element, module.total);\n          },\n          warning : function(text) {\n            text = text || settings.text.warning;\n            module.debug('Setting warning state');\n            $module.addClass(className.warning);\n            module.remove.active();\n            module.remove.success();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onWarning.call(element, module.value, module.total);\n          },\n          error : function(text) {\n            text = text || settings.text.error;\n            module.debug('Setting error state');\n            $module.addClass(className.error);\n            module.remove.active();\n            module.remove.success();\n            module.remove.warning();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onError.call(element, module.value, module.total);\n          },\n          transitionEvent: function() {\n            transitionEnd = module.get.transitionEnd();\n          },\n          total: function(totalValue) {\n            module.total = totalValue;\n          },\n          value: function(value) {\n            module.value = value;\n          },\n          progress: function(value) {\n            var\n              numericValue = module.get.numericValue(value),\n              percentComplete\n            ;\n            if(numericValue === false) {\n              module.error(error.nonNumeric, value);\n            }\n            if( module.has.total() ) {\n              module.set.value(numericValue);\n              percentComplete = (numericValue / module.total) * 100;\n              module.debug('Calculating percent complete from total', percentComplete);\n              module.set.percent( percentComplete );\n            }\n            else {\n              percentComplete = numericValue;\n              module.debug('Setting value to exact percentage value', percentComplete);\n              module.set.percent( percentComplete );\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.progress.settings = {\n\n  name         : 'Progress',\n  namespace    : 'progress',\n\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n\n  random       : {\n    min : 2,\n    max : 5\n  },\n\n  duration     : 300,\n\n  autoSuccess  : true,\n  showActivity : true,\n  limitValues  : true,\n\n  label        : 'percent',\n  precision    : 0,\n  framerate    : (1000 / 30), /// 30 fps\n\n  percent      : false,\n  total        : false,\n  value        : false,\n\n  onChange     : function(percent, value, total){},\n  onSuccess    : function(total){},\n  onActive     : function(value, total){},\n  onError      : function(value, total){},\n  onWarning    : function(value, total){},\n\n  error    : {\n    method     : 'The method you called is not defined.',\n    nonNumeric : 'Progress value is non numeric',\n    tooHigh    : 'Value specified is above 100%',\n    tooLow     : 'Value specified is below 0%'\n  },\n\n  regExp: {\n    variable: /\\{\\$*[A-z0-9]+\\}/g\n  },\n\n  metadata: {\n    percent : 'percent',\n    total   : 'total',\n    value   : 'value'\n  },\n\n  selector : {\n    bar      : '> .bar',\n    label    : '> .label',\n    progress : '.bar > .progress'\n  },\n\n  text : {\n    active  : false,\n    error   : false,\n    success : false,\n    warning : false,\n    percent : '{percent}%',\n    ratio   : '{value} of {total}'\n  },\n\n  className : {\n    active  : 'active',\n    error   : 'error',\n    success : 'success',\n    warning : 'warning'\n  }\n\n};\n\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.rating = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.rating.settings, parameters)\n          : $.extend({}, $.fn.rating.settings),\n\n        namespace       = settings.namespace,\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        element         = this,\n        instance        = $(this).data(moduleNamespace),\n\n        $module         = $(this),\n        $icon           = $module.find(selector.icon),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing rating module', settings);\n\n          if($icon.length === 0) {\n            module.setup.layout();\n          }\n\n          if(settings.interactive) {\n            module.enable();\n          }\n          else {\n            module.disable();\n          }\n          module.set.rating( module.get.initialRating() );\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Instantiating module', settings);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance', instance);\n          module.remove.events();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $icon   = $module.find(selector.icon);\n        },\n\n        setup: {\n          layout: function() {\n            var\n              maxRating = module.get.maxRating(),\n              html      = $.fn.rating.settings.templates.icon(maxRating)\n            ;\n            module.debug('Generating icon html dynamically');\n            $module\n              .html(html)\n            ;\n            module.refresh();\n          }\n        },\n\n        event: {\n          mouseenter: function() {\n            var\n              $activeIcon = $(this)\n            ;\n            $activeIcon\n              .nextAll()\n                .removeClass(className.selected)\n            ;\n            $module\n              .addClass(className.selected)\n            ;\n            $activeIcon\n              .addClass(className.selected)\n                .prevAll()\n                .addClass(className.selected)\n            ;\n          },\n          mouseleave: function() {\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n            ;\n          },\n          click: function() {\n            var\n              $activeIcon   = $(this),\n              currentRating = module.get.rating(),\n              rating        = $icon.index($activeIcon) + 1,\n              canClear      = (settings.clearable == 'auto')\n               ? ($icon.length === 1)\n               : settings.clearable\n            ;\n            if(canClear && currentRating == rating) {\n              module.clearRating();\n            }\n            else {\n              module.set.rating( rating );\n            }\n          }\n        },\n\n        clearRating: function() {\n          module.debug('Clearing current rating');\n          module.set.rating(0);\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events');\n            $module\n              .on('mouseenter' + eventNamespace, selector.icon, module.event.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.icon, module.event.mouseleave)\n              .on('click'      + eventNamespace, selector.icon, module.event.click)\n            ;\n          }\n        },\n\n        remove: {\n          events: function() {\n            module.verbose('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        enable: function() {\n          module.debug('Setting rating to interactive mode');\n          module.bind.events();\n          $module\n            .removeClass(className.disabled)\n          ;\n        },\n\n        disable: function() {\n          module.debug('Setting rating to read-only mode');\n          module.remove.events();\n          $module\n            .addClass(className.disabled)\n          ;\n        },\n\n        get: {\n          initialRating: function() {\n            if($module.data(metadata.rating) !== undefined) {\n              $module.removeData(metadata.rating);\n              return $module.data(metadata.rating);\n            }\n            return settings.initialRating;\n          },\n          maxRating: function() {\n            if($module.data(metadata.maxRating) !== undefined) {\n              $module.removeData(metadata.maxRating);\n              return $module.data(metadata.maxRating);\n            }\n            return settings.maxRating;\n          },\n          rating: function() {\n            var\n              currentRating = $icon.filter('.' + className.active).length\n            ;\n            module.verbose('Current rating retrieved', currentRating);\n            return currentRating;\n          }\n        },\n\n        set: {\n          rating: function(rating) {\n            var\n              ratingIndex = (rating - 1 >= 0)\n                ? (rating - 1)\n                : 0,\n              $activeIcon = $icon.eq(ratingIndex)\n            ;\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n              .removeClass(className.active)\n            ;\n            if(rating > 0) {\n              module.verbose('Setting current rating to', rating);\n              $activeIcon\n                .prevAll()\n                .andSelf()\n                  .addClass(className.active)\n              ;\n            }\n            settings.onRate.call(element, rating);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.rating.settings = {\n\n  name          : 'Rating',\n  namespace     : 'rating',\n\n  debug         : false,\n  verbose       : false,\n  performance   : true,\n\n  initialRating : 0,\n  interactive   : true,\n  maxRating     : 4,\n  clearable     : 'auto',\n\n  onRate        : function(rating){},\n\n  error         : {\n    method    : 'The method you called is not defined',\n    noMaximum : 'No maximum rating specified. Cannot generate HTML automatically'\n  },\n\n\n  metadata: {\n    rating    : 'rating',\n    maxRating : 'maxRating'\n  },\n\n  className : {\n    active   : 'active',\n    disabled : 'disabled',\n    selected : 'selected',\n    loading  : 'loading'\n  },\n\n  selector  : {\n    icon : '.icon'\n  },\n\n  templates: {\n    icon: function(maxRating) {\n      var\n        icon = 1,\n        html = ''\n      ;\n      while(icon <= maxRating) {\n        html += '<i class=\"icon\"></i>';\n        icon++;\n      }\n      return html;\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.search = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $(this)\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.search.settings, parameters)\n          : $.extend({}, $.fn.search.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        regExp          = settings.regExp,\n        fields          = settings.fields,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n        $prompt         = $module.find(selector.prompt),\n        $searchButton   = $module.find(selector.searchButton),\n        $results        = $module.find(selector.results),\n        $result         = $module.find(selector.result),\n        $category       = $module.find(selector.category),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n          module.determine.searchFields();\n          module.bind.events();\n          module.set.type();\n          module.create.results();\n          module.instantiate();\n        },\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events to search');\n            if(settings.automatic) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input)\n              ;\n              $prompt\n                .attr('autocomplete', 'off')\n              ;\n            }\n            $module\n              // prompt\n              .on('focus'     + eventNamespace, selector.prompt, module.event.focus)\n              .on('blur'      + eventNamespace, selector.prompt, module.event.blur)\n              .on('keydown'   + eventNamespace, selector.prompt, module.handleKeyboard)\n              // search button\n              .on('click'     + eventNamespace, selector.searchButton, module.query)\n              // results\n              .on('mousedown' + eventNamespace, selector.results, module.event.result.mousedown)\n              .on('mouseup'   + eventNamespace, selector.results, module.event.result.mouseup)\n              .on('click'     + eventNamespace, selector.result,  module.event.result.click)\n            ;\n          }\n        },\n\n        determine: {\n          searchFields: function() {\n            // this makes sure $.extend does not add specified search fields to default fields\n            // this is the only setting which should not extend defaults\n            if(parameters && parameters.searchFields !== undefined) {\n              settings.searchFields = parameters.searchFields;\n            }\n          }\n        },\n\n        event: {\n          input: function() {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.query, settings.searchDelay);\n          },\n          focus: function() {\n            module.set.focus();\n            if( module.has.minimumCharacters() ) {\n              module.query();\n              if( module.can.show() ) {\n                module.showResults();\n              }\n            }\n          },\n          blur: function(event) {\n            var\n              pageLostFocus = (document.activeElement === this)\n            ;\n            if(!pageLostFocus && !module.resultsClicked) {\n              module.cancel.query();\n              module.remove.focus();\n              module.timer = setTimeout(module.hideResults, settings.hideDelay);\n            }\n          },\n          result: {\n            mousedown: function() {\n              module.resultsClicked = true;\n            },\n            mouseup: function() {\n              module.resultsClicked = false;\n            },\n            click: function(event) {\n              module.debug('Search result selected');\n              var\n                $result = $(this),\n                $title  = $result.find(selector.title).eq(0),\n                $link   = $result.find('a[href]').eq(0),\n                href    = $link.attr('href')   || false,\n                target  = $link.attr('target') || false,\n                title   = $title.html(),\n                // title is used for result lookup\n                value   = ($title.length > 0)\n                  ? $title.text()\n                  : false,\n                results = module.get.results(),\n                result  = $result.data(metadata.result) || module.get.result(value, results),\n                returnedValue\n              ;\n              if( $.isFunction(settings.onSelect) ) {\n                if(settings.onSelect.call(element, result, results) === false) {\n                  module.debug('Custom onSelect callback cancelled default select action');\n                  return;\n                }\n              }\n              module.hideResults();\n              if(value) {\n                module.set.value(value);\n              }\n              if(href) {\n                module.verbose('Opening search link found in result', $link);\n                if(target == '_blank' || event.ctrlKey) {\n                  window.open(href);\n                }\n                else {\n                  window.location.href = (href);\n                }\n              }\n            }\n          }\n        },\n        handleKeyboard: function(event) {\n          var\n            // force selector refresh\n            $result      = $module.find(selector.result),\n            $category    = $module.find(selector.category),\n            currentIndex = $result.index( $result.filter('.' + className.active) ),\n            resultSize   = $result.length,\n\n            keyCode      = event.which,\n            keys         = {\n              backspace : 8,\n              enter     : 13,\n              escape    : 27,\n              upArrow   : 38,\n              downArrow : 40\n            },\n            newIndex\n          ;\n          // search shortcuts\n          if(keyCode == keys.escape) {\n            module.verbose('Escape key pressed, blurring search field');\n            module.trigger.blur();\n          }\n          if( module.is.visible() ) {\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, selecting active result');\n              if( $result.filter('.' + className.active).length > 0 ) {\n                module.event.result.click.call($result.filter('.' + className.active), event);\n                event.preventDefault();\n                return false;\n              }\n            }\n            else if(keyCode == keys.upArrow) {\n              module.verbose('Up key pressed, changing active result');\n              newIndex = (currentIndex - 1 < 0)\n                ? currentIndex\n                : currentIndex - 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n            else if(keyCode == keys.downArrow) {\n              module.verbose('Down key pressed, changing active result');\n              newIndex = (currentIndex + 1 >= resultSize)\n                ? currentIndex\n                : currentIndex + 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n          }\n          else {\n            // query shortcuts\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, executing query');\n              module.query();\n              module.set.buttonPressed();\n              $prompt.one('keyup', module.remove.buttonFocus);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug     : settings.debug,\n                on        : false,\n                cache     : 'local',\n                action    : 'search',\n                onError   : module.error\n              },\n              searchHTML\n            ;\n            module.verbose('First request, initializing API');\n            $module.api(apiSettings);\n          }\n        },\n\n        can: {\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          },\n          show: function() {\n            return module.is.focused() && !module.is.visible() && !module.is.empty();\n          },\n          transition: function() {\n            return settings.transition && $.fn.transition !== undefined && $module.transition('is supported');\n          }\n        },\n\n        is: {\n          empty: function() {\n            return ($results.html() === '');\n          },\n          visible: function() {\n            return ($results.filter(':visible').length > 0);\n          },\n          focused: function() {\n            return ($prompt.filter(':focus').length > 0);\n          }\n        },\n\n        trigger: {\n          blur: function() {\n            var\n              events        = document.createEvent('HTMLEvents'),\n              promptElement = $prompt[0]\n            ;\n            if(promptElement) {\n              module.verbose('Triggering native blur event');\n              events.initEvent('blur', false, false);\n              promptElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        get: {\n          inputEvent: function() {\n            var\n              prompt = $prompt[0],\n              inputEvent   = (prompt !== undefined && prompt.oninput !== undefined)\n                ? 'input'\n                : (prompt !== undefined && prompt.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n            ;\n            return inputEvent;\n          },\n          value: function() {\n            return $prompt.val();\n          },\n          results: function() {\n            var\n              results = $module.data(metadata.results)\n            ;\n            return results;\n          },\n          result: function(value, results) {\n            var\n              lookupFields = ['title', 'id'],\n              result       = false\n            ;\n            value = (value !== undefined)\n              ? value\n              : module.get.value()\n            ;\n            results = (results !== undefined)\n              ? results\n              : module.get.results()\n            ;\n            if(settings.type === 'category') {\n              module.debug('Finding result that matches', value);\n              $.each(results, function(index, category) {\n                if($.isArray(category.results)) {\n                  result = module.search.object(value, category.results, lookupFields)[0];\n                  // don't continue searching if a result is found\n                  if(result) {\n                    return false;\n                  }\n                }\n              });\n            }\n            else {\n              module.debug('Finding result in results object', value);\n              result = module.search.object(value, results, lookupFields)[0];\n            }\n            return result || false;\n          },\n        },\n\n        set: {\n          focus: function() {\n            $module.addClass(className.focus);\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          value: function(value) {\n            module.verbose('Setting search input value', value);\n            $prompt\n              .val(value)\n            ;\n          },\n          type: function(type) {\n            type = type || settings.type;\n            if(settings.type == 'category') {\n              $module.addClass(settings.type);\n            }\n          },\n          buttonPressed: function() {\n            $searchButton.addClass(className.pressed);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          focus: function() {\n            $module.removeClass(className.focus);\n          },\n          buttonPressed: function() {\n            $searchButton.removeClass(className.pressed);\n          }\n        },\n\n        query: function() {\n          var\n            searchTerm = module.get.value(),\n            cache = module.read.cache(searchTerm)\n          ;\n          if( module.has.minimumCharacters() )  {\n            if(cache) {\n              module.debug('Reading result from cache', searchTerm);\n              module.save.results(cache.results);\n              module.addResults(cache.html);\n              module.inject.id(cache.results);\n            }\n            else {\n              module.debug('Querying for', searchTerm);\n              if($.isPlainObject(settings.source) || $.isArray(settings.source)) {\n                module.search.local(searchTerm);\n              }\n              else if( module.can.useAPI() ) {\n                module.search.remote(searchTerm);\n              }\n              else {\n                module.error(error.source);\n              }\n            }\n            settings.onSearchQuery.call(element, searchTerm);\n          }\n          else {\n            module.hideResults();\n          }\n        },\n\n        search: {\n          local: function(searchTerm) {\n            var\n              results = module.search.object(searchTerm, settings.content),\n              searchHTML\n            ;\n            module.set.loading();\n            module.save.results(results);\n            module.debug('Returned local search results', results);\n\n            searchHTML = module.generateResults({\n              results: results\n            });\n            module.remove.loading();\n            module.addResults(searchHTML);\n            module.inject.id(results);\n            module.write.cache(searchTerm, {\n              html    : searchHTML,\n              results : results\n            });\n          },\n          remote: function(searchTerm) {\n            var\n              apiSettings = {\n                onSuccess : function(response) {\n                  module.parse.response.call(element, response, searchTerm);\n                },\n                onFailure: function() {\n                  module.displayMessage(error.serverError);\n                },\n                urlData: {\n                  query: searchTerm\n                }\n              }\n            ;\n            if( !$module.api('get request') ) {\n              module.setup.api();\n            }\n            $.extend(true, apiSettings, settings.apiSettings);\n            module.debug('Executing search', apiSettings);\n            module.cancel.query();\n            $module\n              .api('setting', apiSettings)\n              .api('query')\n            ;\n          },\n          object: function(searchTerm, source, searchFields) {\n            var\n              results      = [],\n              fuzzyResults = [],\n              searchExp    = searchTerm.toString().replace(regExp.escape, '\\\\$&'),\n              matchRegExp  = new RegExp(regExp.beginsWith + searchExp, 'i'),\n\n              // avoid duplicates when pushing results\n              addResult = function(array, result) {\n                var\n                  notResult      = ($.inArray(result, results) == -1),\n                  notFuzzyResult = ($.inArray(result, fuzzyResults) == -1)\n                ;\n                if(notResult && notFuzzyResult) {\n                  array.push(result);\n                }\n              }\n            ;\n            source = source || settings.source;\n            searchFields = (searchFields !== undefined)\n              ? searchFields\n              : settings.searchFields\n            ;\n\n            // search fields should be array to loop correctly\n            if(!$.isArray(searchFields)) {\n              searchFields = [searchFields];\n            }\n\n            // exit conditions if no source\n            if(source === undefined || source === false) {\n              module.error(error.source);\n              return [];\n            }\n\n            // iterate through search fields looking for matches\n            $.each(searchFields, function(index, field) {\n              $.each(source, function(label, content) {\n                var\n                  fieldExists = (typeof content[field] == 'string')\n                ;\n                if(fieldExists) {\n                  if( content[field].search(matchRegExp) !== -1) {\n                    // content starts with value (first in results)\n                    addResult(results, content);\n                  }\n                  else if(settings.searchFullText && module.fuzzySearch(searchTerm, content[field]) ) {\n                    // content fuzzy matches (last in results)\n                    addResult(fuzzyResults, content);\n                  }\n                }\n              });\n            });\n            return $.merge(results, fuzzyResults);\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          if(typeof query !== 'string') {\n            return false;\n          }\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        parse: {\n          response: function(response, searchTerm) {\n            var\n              searchHTML = module.generateResults(response)\n            ;\n            module.verbose('Parsing server response', response);\n            if(response !== undefined) {\n              if(searchTerm !== undefined && response[fields.results] !== undefined) {\n                module.addResults(searchHTML);\n                module.inject.id(response[fields.results]);\n                module.write.cache(searchTerm, {\n                  html    : searchHTML,\n                  results : response[fields.results]\n                });\n                module.save.results(response[fields.results]);\n              }\n            }\n          }\n        },\n\n        cancel: {\n          query: function() {\n            if( module.can.useAPI() ) {\n              $module.api('abort');\n            }\n          }\n        },\n\n        has: {\n          minimumCharacters: function() {\n            var\n              searchTerm    = module.get.value(),\n              numCharacters = searchTerm.length\n            ;\n            return (numCharacters >= settings.minCharacters);\n          }\n        },\n\n        clear: {\n          cache: function(value) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(!value) {\n              module.debug('Clearing cache', value);\n              $module.removeData(metadata.cache);\n            }\n            else if(value && cache && cache[value]) {\n              module.debug('Removing value from cache', value);\n              delete cache[value];\n              $module.data(metadata.cache, cache);\n            }\n          }\n        },\n\n        read: {\n          cache: function(name) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(settings.cache) {\n              module.verbose('Checking cache for generated html for query', name);\n              return (typeof cache == 'object') && (cache[name] !== undefined)\n                ? cache[name]\n                : false\n              ;\n            }\n            return false;\n          }\n        },\n\n        create: {\n          id: function(resultIndex, categoryIndex) {\n            var\n              resultID      = (resultIndex + 1), // not zero indexed\n              categoryID    = (categoryIndex + 1),\n              firstCharCode,\n              letterID,\n              id\n            ;\n            if(categoryIndex !== undefined) {\n              // start char code for \"A\"\n              letterID = String.fromCharCode(97 + categoryIndex);\n              id          = letterID + resultID;\n              module.verbose('Creating category result id', id);\n            }\n            else {\n              id = resultID;\n              module.verbose('Creating result id', id);\n            }\n            return id;\n          },\n          results: function() {\n            if($results.length === 0) {\n              $results = $('<div />')\n                .addClass(className.results)\n                .appendTo($module)\n              ;\n            }\n          }\n        },\n\n        inject: {\n          result: function(result, resultIndex, categoryIndex) {\n            module.verbose('Injecting result into results');\n            var\n              $selectedResult = (categoryIndex !== undefined)\n                ? $results\n                    .children().eq(categoryIndex)\n                      .children(selector.result).eq(resultIndex)\n                : $results\n                    .children(selector.result).eq(resultIndex)\n            ;\n            module.verbose('Injecting results metadata', $selectedResult);\n            $selectedResult\n              .data(metadata.result, result)\n            ;\n          },\n          id: function(results) {\n            module.debug('Injecting unique ids into results');\n            var\n              // since results may be object, we must use counters\n              categoryIndex = 0,\n              resultIndex   = 0\n            ;\n            if(settings.type === 'category') {\n              // iterate through each category result\n              $.each(results, function(index, category) {\n                resultIndex = 0;\n                $.each(category.results, function(index, value) {\n                  var\n                    result = category.results[index]\n                  ;\n                  if(result.id === undefined) {\n                    result.id = module.create.id(resultIndex, categoryIndex);\n                  }\n                  module.inject.result(result, resultIndex, categoryIndex);\n                  resultIndex++;\n                });\n                categoryIndex++;\n              });\n            }\n            else {\n              // top level\n              $.each(results, function(index, value) {\n                var\n                  result = results[index]\n                ;\n                if(result.id === undefined) {\n                  result.id = module.create.id(resultIndex);\n                }\n                module.inject.result(result, resultIndex);\n                resultIndex++;\n              });\n            }\n            return results;\n          }\n        },\n\n        save: {\n          results: function(results) {\n            module.verbose('Saving current search results to metadata', results);\n            $module.data(metadata.results, results);\n          }\n        },\n\n        write: {\n          cache: function(name, value) {\n            var\n              cache = ($module.data(metadata.cache) !== undefined)\n                ? $module.data(metadata.cache)\n                : {}\n            ;\n            if(settings.cache) {\n              module.verbose('Writing generated html to cache', name, value);\n              cache[name] = value;\n              $module\n                .data(metadata.cache, cache)\n              ;\n            }\n          }\n        },\n\n        addResults: function(html) {\n          if( $.isFunction(settings.onResultsAdd) ) {\n            if( settings.onResultsAdd.call($results, html) === false ) {\n              module.debug('onResultsAdd callback cancelled default action');\n              return false;\n            }\n          }\n          $results\n            .html(html)\n          ;\n          if( module.can.show() ) {\n            module.showResults();\n          }\n        },\n\n        showResults: function() {\n          if(!module.is.visible()) {\n            if( module.can.transition() ) {\n              module.debug('Showing results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' in',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Showing results with javascript');\n              $results\n                .stop()\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsOpen.call($results);\n          }\n        },\n        hideResults: function() {\n          if( module.is.visible() ) {\n            if( module.can.transition() ) {\n              module.debug('Hiding results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' out',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Hiding results with javascript');\n              $results\n                .stop()\n                .fadeOut(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsClose.call($results);\n          }\n        },\n\n        generateResults: function(response) {\n          module.debug('Generating html from response', response);\n          var\n            template       = settings.templates[settings.type],\n            isProperObject = ($.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results])),\n            isProperArray  = ($.isArray(response[fields.results]) && response[fields.results].length > 0),\n            html           = ''\n          ;\n          if(isProperObject || isProperArray ) {\n            if(settings.maxResults > 0) {\n              if(isProperObject) {\n                if(settings.type == 'standard') {\n                  module.error(error.maxResults);\n                }\n              }\n              else {\n                response[fields.results] = response[fields.results].slice(0, settings.maxResults);\n              }\n            }\n            if($.isFunction(template)) {\n              html = template(response, fields);\n            }\n            else {\n              module.error(error.noTemplate, false);\n            }\n          }\n          else {\n            html = module.displayMessage(error.noResults, 'empty');\n          }\n          settings.onResults.call(element, response);\n          return html;\n        },\n\n        displayMessage: function(text, type) {\n          type = type || 'standard';\n          module.debug('Displaying message', text, type);\n          module.addResults( settings.templates.message(text, type) );\n          return settings.templates.message(text, type);\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.search.settings = {\n\n  name           : 'Search',\n  namespace      : 'search',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  type           : 'standard',\n  // template to use (specified in settings.templates)\n\n  minCharacters  : 1,\n  // minimum characters required to search\n\n  apiSettings    : false,\n  // API config\n\n  source         : false,\n  // object to search\n\n  searchFields   : [\n    'title',\n    'description'\n  ],\n  // fields to search\n\n  displayField   : '',\n  // field to display in standard results template\n\n  searchFullText : true,\n  // whether to include fuzzy results in local search\n\n  automatic      : true,\n  // whether to add events to prompt automatically\n\n  hideDelay      : 0,\n  // delay before hiding menu after blur\n\n  searchDelay    : 200,\n  // delay before searching\n\n  maxResults     : 7,\n  // maximum results returned from local\n\n  cache          : true,\n  // whether to store lookups in local cache\n\n  // transition settings\n  transition     : 'scale',\n  duration       : 200,\n  easing         : 'easeOutExpo',\n\n  // callbacks\n  onSelect       : false,\n  onResultsAdd   : false,\n\n  onSearchQuery  : function(query){},\n  onResults      : function(response){},\n\n  onResultsOpen  : function(){},\n  onResultsClose : function(){},\n\n  className: {\n    active  : 'active',\n    empty   : 'empty',\n    focus   : 'focus',\n    loading : 'loading',\n    results : 'results',\n    pressed : 'down'\n  },\n\n  error : {\n    source      : 'Cannot search. No source used, and Semantic API module was not included',\n    noResults   : 'Your search returned no results',\n    logging     : 'Error in debug logging, exiting.',\n    noEndpoint  : 'No search endpoint was specified',\n    noTemplate  : 'A valid template name was not specified.',\n    serverError : 'There was an issue querying the server.',\n    maxResults  : 'Results must be an array to use maxResults setting',\n    method      : 'The method you called is not defined.'\n  },\n\n  metadata: {\n    cache   : 'cache',\n    results : 'results',\n    result  : 'result'\n  },\n\n  regExp: {\n    escape     : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    beginsWith : '(?:\\s|^)'\n  },\n\n  // maps api response attributes to internal representation\n  fields: {\n    categories      : 'results',     // array of categories (category view)\n    categoryName    : 'name',        // name of category (category view)\n    categoryResults : 'results',     // array of results (category view)\n    description     : 'description', // result description\n    image           : 'image',       // result image\n    price           : 'price',       // result price\n    results         : 'results',     // array of results (standard)\n    title           : 'title',       // result title\n    url             : 'url',         // result url\n    action          : 'action',      // \"view more\" object name\n    actionText      : 'text',        // \"view more\" text\n    actionURL       : 'url'          // \"view more\" url\n  },\n\n  selector : {\n    prompt       : '.prompt',\n    searchButton : '.search.button',\n    results      : '.results',\n    category     : '.category',\n    result       : '.result',\n    title        : '.title, .name'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    message: function(message, type) {\n      var\n        html = ''\n      ;\n      if(message !== undefined && type !== undefined) {\n        html +=  ''\n          + '<div class=\"message ' + type + '\">'\n        ;\n        // message type\n        if(type == 'empty') {\n          html += ''\n            + '<div class=\"header\">No Results</div class=\"header\">'\n            + '<div class=\"description\">' + message + '</div class=\"description\">'\n          ;\n        }\n        else {\n          html += ' <div class=\"description\">' + message + '</div>';\n        }\n        html += '</div>';\n      }\n      return html;\n    },\n    category: function(response, fields) {\n      var\n        html = '',\n        escape = $.fn.search.settings.templates.escape\n      ;\n      if(response[fields.categoryResults] !== undefined) {\n\n        // each category\n        $.each(response[fields.categoryResults], function(index, category) {\n          if(category[fields.results] !== undefined && category.results.length > 0) {\n\n            html  += '<div class=\"category\">';\n\n            if(category[fields.categoryName] !== undefined) {\n              html += '<div class=\"name\">' + category[fields.categoryName] + '</div>';\n            }\n\n            // each item inside category\n            $.each(category.results, function(index, result) {\n              if(result[fields.url]) {\n                html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n              }\n              else {\n                html  += '<a class=\"result\">';\n              }\n              if(result[fields.image] !== undefined) {\n                html += ''\n                  + '<div class=\"image\">'\n                  + ' <img src=\"' + result[fields.image] + '\">'\n                  + '</div>'\n                ;\n              }\n              html += '<div class=\"content\">';\n              if(result[fields.price] !== undefined) {\n                html += '<div class=\"price\">' + result[fields.price] + '</div>';\n              }\n              if(result[fields.title] !== undefined) {\n                html += '<div class=\"title\">' + result[fields.title] + '</div>';\n              }\n              if(result[fields.description] !== undefined) {\n                html += '<div class=\"description\">' + result[fields.description] + '</div>';\n              }\n              html  += ''\n                + '</div>'\n              ;\n              html += '</a>';\n            });\n            html  += ''\n              + '</div>'\n            ;\n          }\n        });\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    },\n    standard: function(response, fields) {\n      var\n        html = ''\n      ;\n      if(response[fields.results] !== undefined) {\n\n        // each result\n        $.each(response[fields.results], function(index, result) {\n          if(result[fields.url]) {\n            html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n          }\n          else {\n            html  += '<a class=\"result\">';\n          }\n          if(result[fields.image] !== undefined) {\n            html += ''\n              + '<div class=\"image\">'\n              + ' <img src=\"' + result[fields.image] + '\">'\n              + '</div>'\n            ;\n          }\n          html += '<div class=\"content\">';\n          if(result[fields.price] !== undefined) {\n            html += '<div class=\"price\">' + result[fields.price] + '</div>';\n          }\n          if(result[fields.title] !== undefined) {\n            html += '<div class=\"title\">' + result[fields.title] + '</div>';\n          }\n          if(result[fields.description] !== undefined) {\n            html += '<div class=\"description\">' + result[fields.description] + '</div>';\n          }\n          html  += ''\n            + '</div>'\n          ;\n          html += '</a>';\n        });\n\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    }\n  }\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.shape = function(parameters) {\n  var\n    $allModules     = $(this),\n    $body           = $('body'),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        moduleSelector = $allModules.selector || '',\n        settings       = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.shape.settings, parameters)\n          : $.extend({}, $.fn.shape.settings),\n\n        // internal aliases\n        namespace     = settings.namespace,\n        selector      = settings.selector,\n        error         = settings.error,\n        className     = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // selector cache\n        $module       = $(this),\n        $sides        = $module.find(selector.sides),\n        $side         = $module.find(selector.side),\n\n        // private variables\n        nextIndex = false,\n        $activeSide,\n        $nextSide,\n\n        // standard module\n        element       = this,\n        instance      = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module for', element);\n          module.set.defaultSide();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache for', element);\n          $module = $(element);\n          $sides  = $(this).find(selector.shape);\n          $side   = $(this).find(selector.side);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          var\n            shape          = $sides[0] || document.createElement('div'),\n            fakeAssignment = shape.offsetWidth\n          ;\n        },\n\n        animate: function(propertyObject, callback) {\n          module.verbose('Animating box with properties', propertyObject);\n          callback = callback || function(event) {\n            module.verbose('Executing animation callback');\n            if(event !== undefined) {\n              event.stopPropagation();\n            }\n            module.reset();\n            module.set.active();\n          };\n          settings.beforeChange.call($nextSide[0]);\n          if(module.get.transitionEvent()) {\n            module.verbose('Starting CSS animation');\n            $module\n              .addClass(className.animating)\n            ;\n            $sides\n              .css(propertyObject)\n              .one(module.get.transitionEvent(), callback)\n            ;\n            module.set.duration(settings.duration);\n            requestAnimationFrame(function() {\n              $module\n                .addClass(className.animating)\n              ;\n              $activeSide\n                .addClass(className.hidden)\n              ;\n            });\n          }\n          else {\n            callback();\n          }\n        },\n\n        queue: function(method) {\n          module.debug('Queueing animation of', method);\n          $sides\n            .one(module.get.transitionEvent(), function() {\n              module.debug('Executing queued animation');\n              setTimeout(function(){\n                $module.shape(method);\n              }, 0);\n            })\n          ;\n        },\n\n        reset: function() {\n          module.verbose('Animating states reset');\n          $module\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          // removeAttr style does not consistently work in safari\n          $sides\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          $side\n            .attr('style', '')\n            .removeAttr('style')\n            .removeClass(className.hidden)\n          ;\n          $nextSide\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n        },\n\n        is: {\n          complete: function() {\n            return ($side.filter('.' + className.active)[0] == $nextSide[0]);\n          },\n          animating: function() {\n            return $module.hasClass(className.animating);\n          }\n        },\n\n        set: {\n\n          defaultSide: function() {\n            $activeSide = $module.find('.' + settings.className.active);\n            $nextSide   = ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n            nextIndex = false;\n            module.verbose('Active side set to', $activeSide);\n            module.verbose('Next side set to', $nextSide);\n          },\n\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting animation duration', duration);\n            if(settings.duration || settings.duration === 0) {\n              $sides.add($side)\n                .css({\n                  '-webkit-transition-duration': duration,\n                  '-moz-transition-duration': duration,\n                  '-ms-transition-duration': duration,\n                  '-o-transition-duration': duration,\n                  'transition-duration': duration\n                })\n              ;\n            }\n          },\n\n          currentStageSize: function() {\n            var\n              $activeSide = $module.find('.' + settings.className.active),\n              width       = $activeSide.outerWidth(true),\n              height      = $activeSide.outerHeight(true)\n            ;\n            $module\n              .css({\n                width: width,\n                height: height\n              })\n            ;\n          },\n\n          stageSize: function() {\n            var\n              $clone      = $module.clone().addClass(className.loading),\n              $activeSide = $clone.find('.' + settings.className.active),\n              $nextSide   = (nextIndex)\n                ? $clone.find(selector.side).eq(nextIndex)\n                : ( $activeSide.next(selector.side).length > 0 )\n                  ? $activeSide.next(selector.side)\n                  : $clone.find(selector.side).first(),\n              newSize = {}\n            ;\n            module.set.currentStageSize();\n            $activeSide.removeClass(className.active);\n            $nextSide.addClass(className.active);\n            $clone.insertAfter($module);\n            newSize = {\n              width  : $nextSide.outerWidth(true),\n              height : $nextSide.outerHeight(true)\n            };\n            $clone.remove();\n            $module\n              .css(newSize)\n            ;\n            module.verbose('Resizing stage to fit new content', newSize);\n          },\n\n          nextSide: function(selector) {\n            nextIndex = selector;\n            $nextSide = $side.filter(selector);\n            nextIndex = $side.index($nextSide);\n            if($nextSide.length === 0) {\n              module.set.defaultSide();\n              module.error(error.side);\n            }\n            module.verbose('Next side manually set to', $nextSide);\n          },\n\n          active: function() {\n            module.verbose('Setting new side to active', $nextSide);\n            $side\n              .removeClass(className.active)\n            ;\n            $nextSide\n              .addClass(className.active)\n            ;\n            settings.onChange.call($nextSide[0]);\n            module.set.defaultSide();\n          }\n        },\n\n        flip: {\n\n          up: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping up', $nextSide);\n              module.set.stageSize();\n              module.stage.above();\n              module.animate( module.get.transform.up() );\n            }\n            else {\n              module.queue('flip up');\n            }\n          },\n\n          down: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping down', $nextSide);\n              module.set.stageSize();\n              module.stage.below();\n              module.animate( module.get.transform.down() );\n            }\n            else {\n              module.queue('flip down');\n            }\n          },\n\n          left: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping left', $nextSide);\n              module.set.stageSize();\n              module.stage.left();\n              module.animate(module.get.transform.left() );\n            }\n            else {\n              module.queue('flip left');\n            }\n          },\n\n          right: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping right', $nextSide);\n              module.set.stageSize();\n              module.stage.right();\n              module.animate(module.get.transform.right() );\n            }\n            else {\n              module.queue('flip right');\n            }\n          },\n\n          over: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping over', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.over() );\n            }\n            else {\n              module.queue('flip over');\n            }\n          },\n\n          back: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping back', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.back() );\n            }\n            else {\n              module.queue('flip back');\n            }\n          }\n\n        },\n\n        get: {\n\n          transform: {\n            up: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'\n              };\n            },\n\n            down: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'\n              };\n            },\n\n            left: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'\n              };\n            },\n\n            right: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'\n              };\n            },\n\n            over: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'\n              };\n            },\n\n            back: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'\n              };\n            }\n          },\n\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          nextSide: function() {\n            return ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n          }\n\n        },\n\n        stage: {\n\n          above: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as above', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          below: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as below', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          left: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          right: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          behind: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as behind', $nextSide, box);\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-180deg)'\n              })\n            ;\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.shape.settings = {\n\n  // module info\n  name : 'Shape',\n\n  // debug content outputted to console\n  debug      : false,\n\n  // verbose debug output\n  verbose    : false,\n\n  // performance data output\n  performance: true,\n\n  // event namespace\n  namespace  : 'shape',\n\n  // callback occurs on side change\n  beforeChange : function() {},\n  onChange     : function() {},\n\n  // allow animation to same side\n  allowRepeats: false,\n\n  // animation duration\n  duration   : false,\n\n  // possible errors\n  error: {\n    side   : 'You tried to switch to a side that does not exist.',\n    method : 'The method you called is not defined'\n  },\n\n  // classnames used\n  className   : {\n    animating : 'animating',\n    hidden    : 'hidden',\n    loading   : 'loading',\n    active    : 'active'\n  },\n\n  // selectors used\n  selector    : {\n    sides : '.sides',\n    side  : '.side'\n  }\n\n};\n\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sidebar = function(parameters) {\n  var\n    $allModules     = $(this),\n    $window         = $(window),\n    $document       = $(document),\n    $html           = $('html'),\n    $head           = $('head'),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sidebar.settings, parameters)\n          : $.extend({}, $.fn.sidebar.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $sidebars       = $module.children(selector.sidebar),\n        $fixed          = $context.children(selector.fixed),\n        $pusher         = $context.children(selector.pusher),\n        $style,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        currentScroll,\n        transitionEvent,\n\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.debug('Initializing sidebar', parameters);\n\n          module.create.id();\n\n          transitionEvent = module.get.transitionEvent();\n\n          if(module.is.ios()) {\n            module.set.ios();\n          }\n\n          // avoids locking rendering if initialized in onReady\n          if(settings.delaySetup) {\n            requestAnimationFrame(module.setup.layout);\n          }\n          else {\n            module.setup.layout();\n          }\n\n          requestAnimationFrame(function() {\n            module.setup.cache();\n          });\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          if(module.is.ios()) {\n            module.remove.ios();\n          }\n          // bound by uuid\n          $context.off(elementNamespace);\n          $window.off(elementNamespace);\n          $document.off(elementNamespace);\n        },\n\n        event: {\n          clickaway: function(event) {\n            var\n              clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)),\n              clickedContext  = ($context.is(event.target))\n            ;\n            if(clickedInPusher) {\n              module.verbose('User clicked on dimmed page');\n              module.hide();\n            }\n            if(clickedContext) {\n              module.verbose('User clicked on dimmable context (scaled out page)');\n              module.hide();\n            }\n          },\n          touch: function(event) {\n            //event.stopPropagation();\n          },\n          containScroll: function(event) {\n            if(element.scrollTop <= 0)  {\n              element.scrollTop = 1;\n            }\n            if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) {\n              element.scrollTop = element.scrollHeight - element.offsetHeight - 1;\n            }\n          },\n          scroll: function(event) {\n            if( $(event.target).closest(selector.sidebar).length === 0 ) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        bind: {\n          clickaway: function() {\n            module.verbose('Adding clickaway events to context', $context);\n            if(settings.closable) {\n              $context\n                .on('click'    + elementNamespace, module.event.clickaway)\n                .on('touchend' + elementNamespace, module.event.clickaway)\n              ;\n            }\n          },\n          scrollLock: function() {\n            if(settings.scrollLock) {\n              module.debug('Disabling page scroll');\n              $window\n                .on('DOMMouseScroll' + elementNamespace, module.event.scroll)\n              ;\n            }\n            module.verbose('Adding events to contain sidebar scroll');\n            $document\n              .on('touchmove' + elementNamespace, module.event.touch)\n            ;\n            $module\n              .on('scroll' + eventNamespace, module.event.containScroll)\n            ;\n          }\n        },\n        unbind: {\n          clickaway: function() {\n            module.verbose('Removing clickaway events from context', $context);\n            $context.off(elementNamespace);\n          },\n          scrollLock: function() {\n            module.verbose('Removing scroll lock from page');\n            $document.off(elementNamespace);\n            $window.off(elementNamespace);\n            $module.off('scroll' + eventNamespace);\n          }\n        },\n\n        add: {\n          inlineCSS: function() {\n            var\n              width     = module.cache.width  || $module.outerWidth(),\n              height    = module.cache.height || $module.outerHeight(),\n              isRTL     = module.is.rtl(),\n              direction = module.get.direction(),\n              distance  = {\n                left   : width,\n                right  : -width,\n                top    : height,\n                bottom : -height\n              },\n              style\n            ;\n\n            if(isRTL){\n              module.verbose('RTL detected, flipping widths');\n              distance.left = -width;\n              distance.right = width;\n            }\n\n            style  = '<style>';\n\n            if(direction === 'left' || direction === 'right') {\n              module.debug('Adding CSS rules for animation distance', width);\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + ' }'\n              ;\n            }\n            else if(direction === 'top' || direction == 'bottom') {\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + ' }'\n              ;\n            }\n\n            /* IE is only browser not to create context with transforms */\n            /* https://www.w3.org/Bugs/Public/show_bug.cgi?id=16328 */\n            if( module.is.ie() ) {\n              if(direction === 'left' || direction === 'right') {\n                module.debug('Adding CSS rules for animation distance', width);\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + ' }'\n                ;\n              }\n              else if(direction === 'top' || direction == 'bottom') {\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + ' }'\n                ;\n              }\n              /* opposite sides visible forces content overlay */\n              style += ''\n                + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,'\n                + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {'\n                + '   -webkit-transform: translate3d(0px, 0, 0);'\n                + '           transform: translate3d(0px, 0, 0);'\n                + ' }'\n              ;\n            }\n            style += '</style>';\n            $style = $(style)\n              .appendTo($head)\n            ;\n            module.debug('Adding sizing css to head', $style);\n          }\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $context  = $(settings.context);\n          $sidebars = $context.children(selector.sidebar);\n          $pusher   = $context.children(selector.pusher);\n          $fixed    = $context.children(selector.fixed);\n          module.clear.cache();\n        },\n\n        refreshSidebars: function() {\n          module.verbose('Refreshing other sidebars');\n          $sidebars = $context.children(selector.sidebar);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          element.style.display = 'none';\n          var ignored = element.offsetHeight;\n          element.scrollTop = element.scrollTop;\n          element.style.display = '';\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              width  : $module.outerWidth(),\n              height : $module.outerHeight(),\n              rtl    : ($module.css('direction') == 'rtl')\n            };\n          },\n          layout: function() {\n            if( $context.children(selector.pusher).length === 0 ) {\n              module.debug('Adding wrapper element for sidebar');\n              module.error(error.pusher);\n              $pusher = $('<div class=\"pusher\" />');\n              $context\n                .children()\n                  .not(selector.omitted)\n                  .not($sidebars)\n                  .wrapAll($pusher)\n              ;\n              module.refresh();\n            }\n            if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {\n              module.debug('Moved sidebar to correct parent element');\n              module.error(error.movedSidebar, element);\n              $module.detach().prependTo($context);\n              module.refresh();\n            }\n            module.clear.cache();\n            module.set.pushable();\n            module.set.direction();\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching sidebar events to element', selector, event);\n            $toggle\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.hidden()) {\n            module.refreshSidebars();\n            if(settings.overlay)  {\n              module.error(error.overlay);\n              settings.transition = 'overlay';\n            }\n            module.refresh();\n            if(module.othersActive()) {\n              module.debug('Other sidebars currently visible');\n              if(settings.exclusive) {\n                // if not overlay queue animation after hide\n                if(settings.transition != 'overlay') {\n                  module.hideOthers(module.show);\n                  return;\n                }\n                else {\n                  module.hideOthers();\n                }\n              }\n              else {\n                settings.transition = 'overlay';\n              }\n            }\n            module.pushPage(function() {\n              callback.call(element);\n              settings.onShow.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onVisible.call(element);\n          }\n          else {\n            module.debug('Sidebar is already visible');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.visible() || module.is.animating()) {\n            module.debug('Hiding sidebar', callback);\n            module.refreshSidebars();\n            module.pullPage(function() {\n              callback.call(element);\n              settings.onHidden.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onHide.call(element);\n          }\n        },\n\n        othersAnimating: function() {\n          return ($sidebars.not($module).filter('.' + className.animating).length > 0);\n        },\n        othersVisible: function() {\n          return ($sidebars.not($module).filter('.' + className.visible).length > 0);\n        },\n        othersActive: function() {\n          return(module.othersVisible() || module.othersAnimating());\n        },\n\n        hideOthers: function(callback) {\n          var\n            $otherSidebars = $sidebars.not($module).filter('.' + className.visible),\n            sidebarCount   = $otherSidebars.length,\n            callbackCount  = 0\n          ;\n          callback = callback || function(){};\n          $otherSidebars\n            .sidebar('hide', function() {\n              callbackCount++;\n              if(callbackCount == sidebarCount) {\n                callback();\n              }\n            })\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Determining toggled direction');\n          if(module.is.hidden()) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        pushPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition === 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            dim,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(settings.transition == 'scale down') {\n            module.scrollToTop();\n          }\n          module.set.transition(transition);\n          module.repaint();\n          animate = function() {\n            module.bind.clickaway();\n            module.add.inlineCSS();\n            module.set.animating();\n            module.set.visible();\n          };\n          dim = function() {\n            module.set.dimmed();\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.bind.scrollLock();\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n          if(settings.dimPage && !module.othersVisible()) {\n            requestAnimationFrame(dim);\n          }\n        },\n\n        pullPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition == 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.verbose('Removing context push state', module.get.direction());\n\n          module.unbind.clickaway();\n          module.unbind.scrollLock();\n\n          animate = function() {\n            module.set.transition(transition);\n            module.set.animating();\n            module.remove.visible();\n            if(settings.dimPage && !module.othersVisible()) {\n              $pusher.removeClass(className.dimmed);\n            }\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.remove.transition();\n              module.remove.inlineCSS();\n              if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) {\n                module.scrollBack();\n              }\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n        },\n\n        scrollToTop: function() {\n          module.verbose('Scrolling to top of page to avoid animation issues');\n          currentScroll = $(window).scrollTop();\n          $module.scrollTop(0);\n          window.scrollTo(0, 0);\n        },\n\n        scrollBack: function() {\n          module.verbose('Scrolling back to original page position');\n          window.scrollTo(0, currentScroll);\n        },\n\n        clear: {\n          cache: function() {\n            module.verbose('Clearing cached dimensions');\n            module.cache = {};\n          }\n        },\n\n        set: {\n\n          // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios\n          ios: function() {\n            $html.addClass(className.ios);\n          },\n\n          // container\n          pushed: function() {\n            $context.addClass(className.pushed);\n          },\n          pushable: function() {\n            $context.addClass(className.pushable);\n          },\n\n          // pusher\n          dimmed: function() {\n            $pusher.addClass(className.dimmed);\n          },\n\n          // sidebar\n          active: function() {\n            $module.addClass(className.active);\n          },\n          animating: function() {\n            $module.addClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.addClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.addClass(className[direction]);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          overlay: function() {\n            $module.addClass(className.overlay);\n          }\n        },\n        remove: {\n\n          inlineCSS: function() {\n            module.debug('Removing inline css styles', $style);\n            if($style && $style.length > 0) {\n              $style.remove();\n            }\n          },\n\n          // ios scroll on html not document\n          ios: function() {\n            $html.removeClass(className.ios);\n          },\n\n          // context\n          pushed: function() {\n            $context.removeClass(className.pushed);\n          },\n          pushable: function() {\n            $context.removeClass(className.pushable);\n          },\n\n          // sidebar\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.removeClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.removeClass(className[direction]);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          overlay: function() {\n            $module.removeClass(className.overlay);\n          }\n        },\n\n        get: {\n          direction: function() {\n            if($module.hasClass(className.top)) {\n              return className.top;\n            }\n            else if($module.hasClass(className.right)) {\n              return className.right;\n            }\n            else if($module.hasClass(className.bottom)) {\n              return className.bottom;\n            }\n            return className.left;\n          },\n          transition: function() {\n            var\n              direction = module.get.direction(),\n              transition\n            ;\n            transition = ( module.is.mobile() )\n              ? (settings.mobileTransition == 'auto')\n                ? settings.defaultTransition.mobile[direction]\n                : settings.mobileTransition\n              : (settings.transition == 'auto')\n                ? settings.defaultTransition.computer[direction]\n                : settings.transition\n            ;\n            module.verbose('Determined transition', transition);\n            return transition;\n          },\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          }\n        },\n\n        is: {\n\n          ie: function() {\n            var\n              isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),\n              isIE   = ('ActiveXObject' in window)\n            ;\n            return (isIE11 || isIE);\n          },\n\n          ios: function() {\n            var\n              userAgent      = navigator.userAgent,\n              isIOS          = userAgent.match(regExp.ios),\n              isMobileChrome = userAgent.match(regExp.mobileChrome)\n            ;\n            if(isIOS && !isMobileChrome) {\n              module.verbose('Browser was found to be iOS', userAgent);\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          mobile: function() {\n            var\n              userAgent    = navigator.userAgent,\n              isMobile     = userAgent.match(regExp.mobile)\n            ;\n            if(isMobile) {\n              module.verbose('Browser was found to be mobile', userAgent);\n              return true;\n            }\n            else {\n              module.verbose('Browser is not mobile, using regular transition', userAgent);\n              return false;\n            }\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          visible: function() {\n            return $module.hasClass(className.visible);\n          },\n          // alias\n          open: function() {\n            return module.is.visible();\n          },\n          closed: function() {\n            return module.is.hidden();\n          },\n          vertical: function() {\n            return $module.hasClass(className.top);\n          },\n          animating: function() {\n            return $context.hasClass(className.animating);\n          },\n          rtl: function () {\n            if(module.cache.rtl === undefined) {\n              module.cache.rtl = ($module.css('direction') == 'rtl');\n            }\n            return module.cache.rtl;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      }\n    ;\n\n    if(methodInvoked) {\n      if(instance === undefined) {\n        module.initialize();\n      }\n      module.invoke(query);\n    }\n    else {\n      if(instance !== undefined) {\n        module.invoke('destroy');\n      }\n      module.initialize();\n    }\n  });\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sidebar.settings = {\n\n  name              : 'Sidebar',\n  namespace         : 'sidebar',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  transition        : 'auto',\n  mobileTransition  : 'auto',\n\n  defaultTransition : {\n    computer: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    },\n    mobile: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    }\n  },\n\n  context           : 'body',\n  exclusive         : false,\n  closable          : true,\n  dimPage           : true,\n  scrollLock        : false,\n  returnScroll      : false,\n  delaySetup        : false,\n\n  duration          : 500,\n\n  onChange          : function(){},\n  onShow            : function(){},\n  onHide            : function(){},\n\n  onHidden          : function(){},\n  onVisible         : function(){},\n\n  className         : {\n    active    : 'active',\n    animating : 'animating',\n    dimmed    : 'dimmed',\n    ios       : 'ios',\n    pushable  : 'pushable',\n    pushed    : 'pushed',\n    right     : 'right',\n    top       : 'top',\n    left      : 'left',\n    bottom    : 'bottom',\n    visible   : 'visible'\n  },\n\n  selector: {\n    fixed   : '.fixed',\n    omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',\n    pusher  : '.pusher',\n    sidebar : '.ui.sidebar'\n  },\n\n  regExp: {\n    ios          : /(iPad|iPhone|iPod)/g,\n    mobileChrome : /(CriOS)/g,\n    mobile       : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\n  },\n\n  error   : {\n    method       : 'The method you called is not defined.',\n    pusher       : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element',\n    movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag',\n    overlay      : 'The overlay setting is no longer supported, use animation: overlay',\n    notFound     : 'There were no elements that matched the specified selector'\n  }\n\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sticky = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings              = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sticky.settings, parameters)\n          : $.extend({}, $.fn.sticky.settings),\n\n        className             = settings.className,\n        namespace             = settings.namespace,\n        error                 = settings.error,\n\n        eventNamespace        = '.' + namespace,\n        moduleNamespace       = 'module-' + namespace,\n\n        $module               = $(this),\n        $window               = $(window),\n        $scroll               = $(settings.scrollContext),\n        $container,\n        $context,\n\n        selector              = $module.selector || '',\n        instance              = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        observer,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          module.determineContainer();\n          module.determineContext();\n          module.verbose('Initializing sticky', settings, $container);\n\n          module.save.positions();\n          module.checkErrors();\n          module.bind.events();\n\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance');\n          module.reset();\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load' + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $scroll\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module.removeData(moduleNamespace);\n        },\n\n        observeChanges: function() {\n          var\n            context = $context[0]\n          ;\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu', mutations);\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            observer.observe(context, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        determineContainer: function() {\n          $container = $module.offsetParent();\n        },\n\n        determineContext: function() {\n          if(settings.context) {\n            $context = $(settings.context);\n          }\n          else {\n            $context = $container;\n          }\n          if($context.length === 0) {\n            module.error(error.invalidContext, settings.context, $module);\n            return;\n          }\n        },\n\n        checkErrors: function() {\n          if( module.is.hidden() ) {\n            module.error(error.visible, $module);\n          }\n          if(module.cache.element.height > module.cache.context.height) {\n            module.reset();\n            module.error(error.elementSize, $module);\n            return;\n          }\n        },\n\n        bind: {\n          events: function() {\n            $window\n              .on('load' + eventNamespace, module.event.load)\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $scroll\n              .off('scroll' + eventNamespace)\n              .on('scroll' + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          load: function() {\n            module.verbose('Page contents finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          resize: function() {\n            module.verbose('Window resized');\n            requestAnimationFrame(module.refresh);\n          },\n          scroll: function() {\n            requestAnimationFrame(function() {\n              $scroll.triggerHandler('scrollchange' + eventNamespace, $scroll.scrollTop() );\n            });\n          },\n          scrollchange: function(event, scrollPosition) {\n            module.stick(scrollPosition);\n            settings.onScroll.call(element);\n          }\n        },\n\n        refresh: function(hardRefresh) {\n          module.reset();\n          if(!settings.context) {\n            module.determineContext();\n          }\n          if(hardRefresh) {\n            module.determineContainer();\n          }\n          module.save.positions();\n          module.stick();\n          settings.onReposition.call(element);\n        },\n\n        supports: {\n          sticky: function() {\n            var\n              $element = $('<div/>'),\n              element = $element[0]\n            ;\n            $element.addClass(className.supported);\n            return($element.css('position').match('sticky'));\n          }\n        },\n\n        save: {\n          lastScroll: function(scroll) {\n            module.lastScroll = scroll;\n          },\n          elementScroll: function(scroll) {\n            module.elementScroll = scroll;\n          },\n          positions: function() {\n            var\n              scrollContext = {\n                height : $scroll.height()\n              },\n              element = {\n                margin: {\n                  top    : parseInt($module.css('margin-top'), 10),\n                  bottom : parseInt($module.css('margin-bottom'), 10),\n                },\n                offset : $module.offset(),\n                width  : $module.outerWidth(),\n                height : $module.outerHeight()\n              },\n              context = {\n                offset : $context.offset(),\n                height : $context.outerHeight()\n              },\n              container = {\n                height: $container.outerHeight()\n              }\n            ;\n            if( !module.is.standardScroll() ) {\n              module.debug('Non-standard scroll. Removing scroll offset from element offset');\n\n              scrollContext.top  = $scroll.scrollTop();\n              scrollContext.left = $scroll.scrollLeft();\n\n              element.offset.top  += scrollContext.top;\n              context.offset.top  += scrollContext.top;\n              element.offset.left += scrollContext.left;\n              context.offset.left += scrollContext.left;\n            }\n            module.cache = {\n              fits : ( element.height < scrollContext.height ),\n              scrollContext : {\n                height : scrollContext.height\n              },\n              element: {\n                margin : element.margin,\n                top    : element.offset.top - element.margin.top,\n                left   : element.offset.left,\n                width  : element.width,\n                height : element.height,\n                bottom : element.offset.top + element.height\n              },\n              context: {\n                top           : context.offset.top,\n                height        : context.height,\n                bottom        : context.offset.top + context.height\n              }\n            };\n            module.set.containerSize();\n            module.set.size();\n            module.stick();\n            module.debug('Caching element positions', module.cache);\n          }\n        },\n\n        get: {\n          direction: function(scroll) {\n            var\n              direction = 'down'\n            ;\n            scroll = scroll || $scroll.scrollTop();\n            if(module.lastScroll !== undefined) {\n              if(module.lastScroll < scroll) {\n                direction = 'down';\n              }\n              else if(module.lastScroll > scroll) {\n                direction = 'up';\n              }\n            }\n            return direction;\n          },\n          scrollChange: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            return (module.lastScroll)\n              ? (scroll - module.lastScroll)\n              : 0\n            ;\n          },\n          currentElementScroll: function() {\n            if(module.elementScroll) {\n              return module.elementScroll;\n            }\n            return ( module.is.top() )\n              ? Math.abs(parseInt($module.css('top'), 10))    || 0\n              : Math.abs(parseInt($module.css('bottom'), 10)) || 0\n            ;\n          },\n\n          elementScroll: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            var\n              element        = module.cache.element,\n              scrollContext  = module.cache.scrollContext,\n              delta          = module.get.scrollChange(scroll),\n              maxScroll      = (element.height - scrollContext.height + settings.offset),\n              elementScroll  = module.get.currentElementScroll(),\n              possibleScroll = (elementScroll + delta)\n            ;\n            if(module.cache.fits || possibleScroll < 0) {\n              elementScroll = 0;\n            }\n            else if(possibleScroll > maxScroll ) {\n              elementScroll = maxScroll;\n            }\n            else {\n              elementScroll = possibleScroll;\n            }\n            return elementScroll;\n          }\n        },\n\n        remove: {\n          lastScroll: function() {\n            delete module.lastScroll;\n          },\n          elementScroll: function(scroll) {\n            delete module.elementScroll;\n          },\n          offset: function() {\n            $module.css('margin-top', '');\n          }\n        },\n\n        set: {\n          offset: function() {\n            module.verbose('Setting offset on element', settings.offset);\n            $module\n              .css('margin-top', settings.offset)\n            ;\n          },\n          containerSize: function() {\n            var\n              tagName = $container.get(0).tagName\n            ;\n            if(tagName === 'HTML' || tagName == 'body') {\n              // this can trigger for too many reasons\n              //module.error(error.container, tagName, $module);\n              module.determineContainer();\n            }\n            else {\n              if( Math.abs($container.outerHeight() - module.cache.context.height) > settings.jitter) {\n                module.debug('Context has padding, specifying exact height for container', module.cache.context.height);\n                $container.css({\n                  height: module.cache.context.height\n                });\n              }\n            }\n          },\n          minimumSize: function() {\n            var\n              element   = module.cache.element\n            ;\n            $container\n              .css('min-height', element.height)\n            ;\n          },\n          scroll: function(scroll) {\n            module.debug('Setting scroll on element', scroll);\n            if(module.elementScroll == scroll) {\n              return;\n            }\n            if( module.is.top() ) {\n              $module\n                .css('bottom', '')\n                .css('top', -scroll)\n              ;\n            }\n            if( module.is.bottom() ) {\n              $module\n                .css('top', '')\n                .css('bottom', scroll)\n              ;\n            }\n          },\n          size: function() {\n            if(module.cache.element.height !== 0 && module.cache.element.width !== 0) {\n              element.style.setProperty('width',  module.cache.element.width  + 'px', 'important');\n              element.style.setProperty('height', module.cache.element.height + 'px', 'important');\n            }\n          }\n        },\n\n        is: {\n          standardScroll: function() {\n            return ($scroll[0] == window);\n          },\n          top: function() {\n            return $module.hasClass(className.top);\n          },\n          bottom: function() {\n            return $module.hasClass(className.bottom);\n          },\n          initialPosition: function() {\n            return (!module.is.fixed() && !module.is.bound());\n          },\n          hidden: function() {\n            return (!$module.is(':visible'));\n          },\n          bound: function() {\n            return $module.hasClass(className.bound);\n          },\n          fixed: function() {\n            return $module.hasClass(className.fixed);\n          }\n        },\n\n        stick: function(scroll) {\n          var\n            cachedPosition = scroll || $scroll.scrollTop(),\n            cache          = module.cache,\n            fits           = cache.fits,\n            element        = cache.element,\n            scrollContext  = cache.scrollContext,\n            context        = cache.context,\n            offset         = (module.is.bottom() && settings.pushing)\n              ? settings.bottomOffset\n              : settings.offset,\n            scroll         = {\n              top    : cachedPosition + offset,\n              bottom : cachedPosition + offset + scrollContext.height\n            },\n            direction      = module.get.direction(scroll.top),\n            elementScroll  = (fits)\n              ? 0\n              : module.get.elementScroll(scroll.top),\n\n            // shorthand\n            doesntFit      = !fits,\n            elementVisible = (element.height !== 0)\n          ;\n\n          if(elementVisible) {\n\n            if( module.is.initialPosition() ) {\n              if(scroll.top >= context.bottom) {\n                module.debug('Initial element position is bottom of container');\n                module.bindBottom();\n              }\n              else if(scroll.top > element.top) {\n                if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Initial element position is bottom of container');\n                  module.bindBottom();\n                }\n                else {\n                  module.debug('Initial element position is fixed');\n                  module.fixTop();\n                }\n              }\n\n            }\n            else if( module.is.fixed() ) {\n\n              // currently fixed top\n              if( module.is.top() ) {\n                if( scroll.top <= element.top ) {\n                  module.debug('Fixed element reached top of container');\n                  module.setInitialPosition();\n                }\n                else if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Fixed element reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n              }\n\n              // currently fixed bottom\n              else if(module.is.bottom() ) {\n\n                // top edge\n                if( (scroll.bottom - element.height) <= element.top) {\n                  module.debug('Bottom fixed rail has reached top of container');\n                  module.setInitialPosition();\n                }\n                // bottom edge\n                else if(scroll.bottom >= context.bottom) {\n                  module.debug('Bottom fixed rail has reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n\n              }\n            }\n            else if( module.is.bottom() ) {\n              if( scroll.top <= element.top ) {\n                module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button');\n                module.setInitialPosition();\n              }\n              else {\n                if(settings.pushing) {\n                  if(module.is.bound() && scroll.bottom <= context.bottom ) {\n                    module.debug('Fixing bottom attached element to bottom of browser.');\n                    module.fixBottom();\n                  }\n                }\n                else {\n                  if(module.is.bound() && (scroll.top <= context.bottom - element.height) ) {\n                    module.debug('Fixing bottom attached element to top of browser.');\n                    module.fixTop();\n                  }\n                }\n              }\n            }\n          }\n        },\n\n        bindTop: function() {\n          module.debug('Binding element to top of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : '',\n              marginBottom : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.bottom)\n            .addClass(className.bound)\n            .addClass(className.top)\n          ;\n          settings.onTop.call(element);\n          settings.onUnstick.call(element);\n        },\n        bindBottom: function() {\n          module.debug('Binding element to bottom of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.top)\n            .addClass(className.bound)\n            .addClass(className.bottom)\n          ;\n          settings.onBottom.call(element);\n          settings.onUnstick.call(element);\n        },\n\n        setInitialPosition: function() {\n          module.debug('Returning to initial position');\n          module.unfix();\n          module.unbind();\n        },\n\n\n        fixTop: function() {\n          module.debug('Fixing element to top of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.bottom)\n            .addClass(className.fixed)\n            .addClass(className.top)\n          ;\n          settings.onStick.call(element);\n        },\n\n        fixBottom: function() {\n          module.debug('Sticking element to bottom of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.top)\n            .addClass(className.fixed)\n            .addClass(className.bottom)\n          ;\n          settings.onStick.call(element);\n        },\n\n        unbind: function() {\n          if( module.is.bound() ) {\n            module.debug('Removing container bound position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.bound)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n          }\n        },\n\n        unfix: function() {\n          if( module.is.fixed() ) {\n            module.debug('Removing fixed position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.fixed)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n            settings.onUnstick.call(element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Reseting elements position');\n          module.unbind();\n          module.unfix();\n          module.resetCSS();\n          module.remove.offset();\n          module.remove.lastScroll();\n        },\n\n        resetCSS: function() {\n          $module\n            .css({\n              width  : '',\n              height : ''\n            })\n          ;\n          $container\n            .css({\n              height: ''\n            })\n          ;\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 0);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sticky.settings = {\n\n  name           : 'Sticky',\n  namespace      : 'sticky',\n\n  debug          : false,\n  verbose        : true,\n  performance    : true,\n\n  // whether to stick in the opposite direction on scroll up\n  pushing        : false,\n\n  context        : false,\n\n  // Context to watch scroll events\n  scrollContext  : window,\n\n  // Offset to adjust scroll\n  offset         : 0,\n\n  // Offset to adjust scroll when attached to bottom of screen\n  bottomOffset   : 0,\n\n  jitter         : 5, // will only set container height if difference between context and container is larger than this number\n\n  // Whether to automatically observe changes with Mutation Observers\n  observeChanges : false,\n\n  // Called when position is recalculated\n  onReposition   : function(){},\n\n  // Called on each scroll\n  onScroll       : function(){},\n\n  // Called when element is stuck to viewport\n  onStick        : function(){},\n\n  // Called when element is unstuck from viewport\n  onUnstick      : function(){},\n\n  // Called when element reaches top of context\n  onTop          : function(){},\n\n  // Called when element reaches bottom of context\n  onBottom       : function(){},\n\n  error         : {\n    container      : 'Sticky element must be inside a relative container',\n    visible        : 'Element is hidden, you must call refresh after element becomes visible',\n    method         : 'The method you called is not defined.',\n    invalidContext : 'Context specified does not exist',\n    elementSize    : 'Sticky element is larger than its container, cannot create sticky.'\n  },\n\n  className : {\n    bound     : 'bound',\n    fixed     : 'fixed',\n    supported : 'native',\n    top       : 'top',\n    bottom    : 'bottom'\n  }\n\n};\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.tab = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n\n    moduleSelector  = $allModules.selector || '',\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    initializedHistory = false,\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.tab.settings, parameters)\n          : $.extend({}, $.fn.tab.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + settings.namespace,\n        moduleNamespace = 'module-' + settings.namespace,\n\n        $module         = $(this),\n        $context,\n        $tabs,\n\n        cache           = {},\n        firstLoad       = true,\n        recursionDepth  = 0,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        activeTabPath,\n        parameterArray,\n        module,\n\n        historyEvent\n\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing tab menu item', $module);\n          module.fix.callbacks();\n          module.determineTabs();\n\n          module.debug('Determining tabs', settings.context, $tabs);\n          // set up automatic routing\n          if(settings.auto) {\n            module.set.auto();\n          }\n          module.bind.events();\n\n          if(settings.history && !initializedHistory) {\n            module.initializeHistory();\n            initializedHistory = true;\n          }\n\n          module.instantiate();\n        },\n\n        instantiate: function () {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying tabs', $module);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            // if using $.tab don't add events\n            if( !$.isWindow( element ) ) {\n              module.debug('Attaching tab activation events to element', $module);\n              $module\n                .on('click' + eventNamespace, module.event.click)\n              ;\n            }\n          }\n        },\n\n        determineTabs: function() {\n          var\n            $reference\n          ;\n\n          // determine tab context\n          if(settings.context === 'parent') {\n            if($module.closest(selector.ui).length > 0) {\n              $reference = $module.closest(selector.ui);\n              module.verbose('Using closest UI element as parent', $reference);\n            }\n            else {\n              $reference = $module;\n            }\n            $context = $reference.parent();\n            module.verbose('Determined parent element for creating context', $context);\n          }\n          else if(settings.context) {\n            $context = $(settings.context);\n            module.verbose('Using selector for tab context', settings.context, $context);\n          }\n          else {\n            $context = $('body');\n          }\n          // find tabs\n          if(settings.childrenOnly) {\n            $tabs = $context.children(selector.tabs);\n            module.debug('Searching tab context children for tabs', $context, $tabs);\n          }\n          else {\n            $tabs = $context.find(selector.tabs);\n            module.debug('Searching tab context for tabs', $context, $tabs);\n          }\n        },\n\n        fix: {\n          callbacks: function() {\n            if( $.isPlainObject(parameters) && (parameters.onTabLoad || parameters.onTabInit) ) {\n              if(parameters.onTabLoad) {\n                parameters.onLoad = parameters.onTabLoad;\n                delete parameters.onTabLoad;\n                module.error(error.legacyLoad, parameters.onLoad);\n              }\n              if(parameters.onTabInit) {\n                parameters.onFirstLoad = parameters.onTabInit;\n                delete parameters.onTabInit;\n                module.error(error.legacyInit, parameters.onFirstLoad);\n              }\n              settings = $.extend(true, {}, $.fn.tab.settings, parameters);\n            }\n          }\n        },\n\n        initializeHistory: function() {\n          module.debug('Initializing page state');\n          if( $.address === undefined ) {\n            module.error(error.state);\n            return false;\n          }\n          else {\n            if(settings.historyType == 'state') {\n              module.debug('Using HTML5 to manage state');\n              if(settings.path !== false) {\n                $.address\n                  .history(true)\n                  .state(settings.path)\n                ;\n              }\n              else {\n                module.error(error.path);\n                return false;\n              }\n            }\n            $.address\n              .bind('change', module.event.history.change)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              tabPath = $(this).data(metadata.tab)\n            ;\n            if(tabPath !== undefined) {\n              if(settings.history) {\n                module.verbose('Updating page state', event);\n                $.address.value(tabPath);\n              }\n              else {\n                module.verbose('Changing tab', event);\n                module.changeTab(tabPath);\n              }\n              event.preventDefault();\n            }\n            else {\n              module.debug('No tab specified');\n            }\n          },\n          history: {\n            change: function(event) {\n              var\n                tabPath   = event.pathNames.join('/') || module.get.initialPath(),\n                pageTitle = settings.templates.determineTitle(tabPath) || false\n              ;\n              module.performance.display();\n              module.debug('History change event', tabPath, event);\n              historyEvent = event;\n              if(tabPath !== undefined) {\n                module.changeTab(tabPath);\n              }\n              if(pageTitle) {\n                $.address.title(pageTitle);\n              }\n            }\n          }\n        },\n\n        refresh: function() {\n          if(activeTabPath) {\n            module.debug('Refreshing tab', activeTabPath);\n            module.changeTab(activeTabPath);\n          }\n        },\n\n        cache: {\n\n          read: function(cacheKey) {\n            return (cacheKey !== undefined)\n              ? cache[cacheKey]\n              : false\n            ;\n          },\n          add: function(cacheKey, content) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Adding cached content for', cacheKey);\n            cache[cacheKey] = content;\n          },\n          remove: function(cacheKey) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Removing cached content for', cacheKey);\n            delete cache[cacheKey];\n          }\n        },\n\n        set: {\n          auto: function() {\n            var\n              url = (typeof settings.path == 'string')\n                ? settings.path.replace(/\\/$/, '') + '/{$tab}'\n                : '/{$tab}'\n            ;\n            module.verbose('Setting up automatic tab retrieval from server', url);\n            if($.isPlainObject(settings.apiSettings)) {\n              settings.apiSettings.url = url;\n            }\n            else {\n              settings.apiSettings = {\n                url: url\n              };\n            }\n          },\n          loading: function(tabPath) {\n            var\n              $tab      = module.get.tabElement(tabPath),\n              isLoading = $tab.hasClass(className.loading)\n            ;\n            if(!isLoading) {\n              module.verbose('Setting loading state for', $tab);\n              $tab\n                .addClass(className.loading)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onRequest.call($tab[0], tabPath);\n              }\n            }\n          },\n          state: function(state) {\n            $.address.value(state);\n          }\n        },\n\n        changeTab: function(tabPath) {\n          var\n            pushStateAvailable = (window.history && window.history.pushState),\n            shouldIgnoreLoad   = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad),\n            remoteContent      = (settings.auto || $.isPlainObject(settings.apiSettings) ),\n            // only add default path if not remote content\n            pathArray = (remoteContent && !shouldIgnoreLoad)\n              ? module.utilities.pathToArray(tabPath)\n              : module.get.defaultPathArray(tabPath)\n          ;\n          tabPath = module.utilities.arrayToPath(pathArray);\n          $.each(pathArray, function(index, tab) {\n            var\n              currentPathArray   = pathArray.slice(0, index + 1),\n              currentPath        = module.utilities.arrayToPath(currentPathArray),\n\n              isTab              = module.is.tab(currentPath),\n              isLastIndex        = (index + 1 == pathArray.length),\n\n              $tab               = module.get.tabElement(currentPath),\n              $anchor,\n              nextPathArray,\n              nextPath,\n              isLastTab\n            ;\n            module.verbose('Looking for tab', tab);\n            if(isTab) {\n              module.verbose('Tab was found', tab);\n              // scope up\n              activeTabPath  = currentPath;\n              parameterArray = module.utilities.filterArray(pathArray, currentPathArray);\n\n              if(isLastIndex) {\n                isLastTab = true;\n              }\n              else {\n                nextPathArray = pathArray.slice(0, index + 2);\n                nextPath      = module.utilities.arrayToPath(nextPathArray);\n                isLastTab     = ( !module.is.tab(nextPath) );\n                if(isLastTab) {\n                  module.verbose('Tab parameters found', nextPathArray);\n                }\n              }\n              if(isLastTab && remoteContent) {\n                if(!shouldIgnoreLoad) {\n                  module.activate.navigation(currentPath);\n                  module.fetch.content(currentPath, tabPath);\n                }\n                else {\n                  module.debug('Ignoring remote content on first tab load', currentPath);\n                  firstLoad = false;\n                  module.cache.add(tabPath, $tab.html());\n                  module.activate.all(currentPath);\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                return false;\n              }\n              else {\n                module.debug('Opened local tab', currentPath);\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n              }\n\n            }\n            else if(tabPath.search('/') == -1 && tabPath !== '') {\n              // look for in page anchor\n              $anchor     = $('#' + tabPath + ', a[name=\"' + tabPath + '\"]');\n              currentPath = $anchor.closest('[data-tab]').data(metadata.tab);\n              $tab        = module.get.tabElement(currentPath);\n              // if anchor exists use parent tab\n              if($anchor && $anchor.length > 0 && currentPath) {\n                module.debug('Anchor link used, opening parent tab', $tab, $anchor);\n                if( !$tab.hasClass(className.active) ) {\n                  setTimeout(function() {\n                    module.scrollTo($anchor);\n                  }, 0);\n                }\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                return false;\n              }\n            }\n            else {\n              module.error(error.missingTab, $module, $context, currentPath);\n              return false;\n            }\n          });\n        },\n\n        scrollTo: function($element) {\n          var\n            scrollOffset = ($element && $element.length > 0)\n              ? $element.offset().top\n              : false\n          ;\n          if(scrollOffset !== false) {\n            module.debug('Forcing scroll to an in-page link in a hidden tab', scrollOffset, $element);\n            $(document).scrollTop(scrollOffset);\n          }\n        },\n\n        update: {\n          content: function(tabPath, html, evaluateScripts) {\n            var\n              $tab = module.get.tabElement(tabPath),\n              tab  = $tab[0]\n            ;\n            evaluateScripts = (evaluateScripts !== undefined)\n              ? evaluateScripts\n              : settings.evaluateScripts\n            ;\n            if(evaluateScripts) {\n              module.debug('Updating HTML and evaluating inline scripts', tabPath, html);\n              $tab.html(html);\n            }\n            else {\n              module.debug('Updating HTML', tabPath, html);\n              tab.innerHTML = html;\n            }\n          }\n        },\n\n        fetch: {\n\n          content: function(tabPath, fullTabPath) {\n            var\n              $tab        = module.get.tabElement(tabPath),\n              apiSettings = {\n                dataType         : 'html',\n                encodeParameters : false,\n                on               : 'now',\n                cache            : settings.alwaysRefresh,\n                headers          : {\n                  'X-Remote': true\n                },\n                onSuccess : function(response) {\n                  module.cache.add(fullTabPath, response);\n                  module.update.content(tabPath, response);\n                  if(tabPath == activeTabPath) {\n                    module.debug('Content loaded', tabPath);\n                    module.activate.tab(tabPath);\n                  }\n                  else {\n                    module.debug('Content loaded in background', tabPath);\n                  }\n                  settings.onFirstLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                },\n                urlData: {\n                  tab: fullTabPath\n                }\n              },\n              request         = $tab.api('get request') || false,\n              existingRequest = ( request && request.state() === 'pending' ),\n              requestSettings,\n              cachedContent\n            ;\n\n            fullTabPath   = fullTabPath || tabPath;\n            cachedContent = module.cache.read(fullTabPath);\n\n\n            if(settings.cache && cachedContent) {\n              module.activate.tab(tabPath);\n              module.debug('Adding cached content', fullTabPath);\n              if(settings.evaluateScripts == 'once') {\n                module.update.content(tabPath, cachedContent, false);\n              }\n              else {\n                module.update.content(tabPath, cachedContent);\n              }\n              settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n            }\n            else if(existingRequest) {\n              module.set.loading(tabPath);\n              module.debug('Content is already loading', fullTabPath);\n            }\n            else if($.api !== undefined) {\n              requestSettings = $.extend(true, {}, settings.apiSettings, apiSettings);\n              module.debug('Retrieving remote content', fullTabPath, requestSettings);\n              module.set.loading(tabPath);\n              $tab.api(requestSettings);\n            }\n            else {\n              module.error(error.api);\n            }\n          }\n        },\n\n        activate: {\n          all: function(tabPath) {\n            module.activate.tab(tabPath);\n            module.activate.navigation(tabPath);\n          },\n          tab: function(tabPath) {\n            var\n              $tab     = module.get.tabElement(tabPath),\n              isActive = $tab.hasClass(className.active)\n            ;\n            module.verbose('Showing tab content for', $tab);\n            if(!isActive) {\n              $tab\n                .addClass(className.active)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onVisible.call($tab[0], tabPath);\n              }\n            }\n          },\n          navigation: function(tabPath) {\n            var\n              $navigation = module.get.navElement(tabPath),\n              isActive    = $navigation.hasClass(className.active)\n            ;\n            module.verbose('Activating tab navigation for', $navigation, tabPath);\n            if(!isActive) {\n              $navigation\n                .addClass(className.active)\n                .siblings($allModules)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n            }\n          }\n        },\n\n        deactivate: {\n          all: function() {\n            module.deactivate.navigation();\n            module.deactivate.tabs();\n          },\n          navigation: function() {\n            $allModules\n              .removeClass(className.active)\n            ;\n          },\n          tabs: function() {\n            $tabs\n              .removeClass(className.active + ' ' + className.loading)\n            ;\n          }\n        },\n\n        is: {\n          tab: function(tabName) {\n            return (tabName !== undefined)\n              ? ( module.get.tabElement(tabName).length > 0 )\n              : false\n            ;\n          }\n        },\n\n        get: {\n          initialPath: function() {\n            return $allModules.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab);\n          },\n          path: function() {\n            return $.address.value();\n          },\n          // adds default tabs to tab path\n          defaultPathArray: function(tabPath) {\n            return module.utilities.pathToArray( module.get.defaultPath(tabPath) );\n          },\n          defaultPath: function(tabPath) {\n            var\n              $defaultNav = $allModules.filter('[data-' + metadata.tab + '^=\"' + tabPath + '/\"]').eq(0),\n              defaultTab  = $defaultNav.data(metadata.tab) || false\n            ;\n            if( defaultTab ) {\n              module.debug('Found default tab', defaultTab);\n              if(recursionDepth < settings.maxDepth) {\n                recursionDepth++;\n                return module.get.defaultPath(defaultTab);\n              }\n              module.error(error.recursion);\n            }\n            else {\n              module.debug('No default tabs found for', tabPath, $tabs);\n            }\n            recursionDepth = 0;\n            return tabPath;\n          },\n          navElement: function(tabPath) {\n            tabPath = tabPath || activeTabPath;\n            return $allModules.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n          },\n          tabElement: function(tabPath) {\n            var\n              $fullPathTab,\n              $simplePathTab,\n              tabPathArray,\n              lastTab\n            ;\n            tabPath        = tabPath || activeTabPath;\n            tabPathArray   = module.utilities.pathToArray(tabPath);\n            lastTab        = module.utilities.last(tabPathArray);\n            $fullPathTab   = $tabs.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n            $simplePathTab = $tabs.filter('[data-' + metadata.tab + '=\"' + lastTab + '\"]');\n            return ($fullPathTab.length > 0)\n              ? $fullPathTab\n              : $simplePathTab\n            ;\n          },\n          tab: function() {\n            return activeTabPath;\n          }\n        },\n\n        utilities: {\n          filterArray: function(keepArray, removeArray) {\n            return $.grep(keepArray, function(keepValue) {\n              return ( $.inArray(keepValue, removeArray) == -1);\n            });\n          },\n          last: function(array) {\n            return $.isArray(array)\n              ? array[ array.length - 1]\n              : false\n            ;\n          },\n          pathToArray: function(pathName) {\n            if(pathName === undefined) {\n              pathName = activeTabPath;\n            }\n            return typeof pathName == 'string'\n              ? pathName.split('/')\n              : [pathName]\n            ;\n          },\n          arrayToPath: function(pathArray) {\n            return $.isArray(pathArray)\n              ? pathArray.join('/')\n              : false\n            ;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n\n};\n\n// shortcut for tabbed content with no defined navigation\n$.tab = function() {\n  $(window).tab.apply(this, arguments);\n};\n\n$.fn.tab.settings = {\n\n  name            : 'Tab',\n  namespace       : 'tab',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  auto            : false,  // uses pjax style endpoints fetching content from same url with remote-content headers\n  history         : false,  // use browser history\n  historyType     : 'hash', // #/ or html5 state\n  path            : false,  // base path of url\n\n  context         : false,  // specify a context that tabs must appear inside\n  childrenOnly    : false,  // use only tabs that are children of context\n  maxDepth        : 25,     // max depth a tab can be nested\n\n  alwaysRefresh   : false,  // load tab content new every tab click\n  cache           : true,   // cache the content requests to pull locally\n  ignoreFirstLoad : false,  // don't load remote content on first load\n\n  apiSettings     : false,  // settings for api call\n  evaluateScripts : 'once', // whether inline scripts should be parsed (true/false/once). Once will not re-evaluate on cached content\n\n  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded\n  onLoad      : function(tabPath, parameterArray, historyEvent) {}, // called on every load\n  onVisible   : function(tabPath, parameterArray, historyEvent) {}, // called every time tab visible\n  onRequest   : function(tabPath, parameterArray, historyEvent) {}, // called ever time a tab beings loading remote content\n\n  templates    : {\n    determineTitle: function(tabArray) {} // returns page title for path\n  },\n\n  error: {\n    api        : 'You attempted to load content without API module',\n    method     : 'The method you called is not defined',\n    missingTab : 'Activated tab cannot be found. Tabs are case-sensitive.',\n    noContent  : 'The tab you specified is missing a content url.',\n    path       : 'History enabled, but no path was specified',\n    recursion  : 'Max recursive depth reached',\n    legacyInit : 'onTabInit has been renamed to onFirstLoad in 2.0, please adjust your code.',\n    legacyLoad : 'onTabLoad has been renamed to onLoad in 2.0. Please adjust your code',\n    state      : 'History requires Asual\\'s Address library <https://github.com/asual/jquery-address>'\n  },\n\n  metadata : {\n    tab    : 'tab',\n    loaded : 'loaded',\n    promise: 'promise'\n  },\n\n  className   : {\n    loading : 'loading',\n    active  : 'active'\n  },\n\n  selector    : {\n    tabs : '.ui.tab',\n    ui   : '.ui'\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.transition = function() {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    moduleArguments = arguments,\n    query           = moduleArguments[0],\n    queryArguments  = [].slice.call(arguments, 1),\n    methodInvoked   = (typeof query === 'string'),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function(index) {\n      var\n        $module  = $(this),\n        element  = this,\n\n        // set at run time\n        settings,\n        instance,\n\n        error,\n        className,\n        metadata,\n        animationEnd,\n        animationName,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n\n          // get full settings\n          settings        = module.get.settings.apply(element, moduleArguments);\n\n          // shorthand\n          className       = settings.className;\n          error           = settings.error;\n          metadata        = settings.metadata;\n\n          // define namespace\n          eventNamespace  = '.' + settings.namespace;\n          moduleNamespace = 'module-' + settings.namespace;\n          instance        = $module.data(moduleNamespace) || module;\n\n          // get vendor specific events\n          animationEnd    = module.get.animationEndEvent();\n\n          if(methodInvoked) {\n            methodInvoked = module.invoke(query);\n          }\n\n          // method not invoked, lets run an animation\n          if(methodInvoked === false) {\n            module.verbose('Converted arguments into settings object', settings);\n            if(settings.interval) {\n              module.delay(settings.animate);\n            }\n            else  {\n              module.animate();\n            }\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing display type on next animation');\n          delete module.displayType;\n        },\n\n        forceRepaint: function() {\n          module.verbose('Forcing element repaint');\n          var\n            $parentElement = $module.parent(),\n            $nextElement = $module.next()\n          ;\n          if($nextElement.length === 0) {\n            $module.detach().appendTo($parentElement);\n          }\n          else {\n            $module.detach().insertBefore($nextElement);\n          }\n        },\n\n        repaint: function() {\n          module.verbose('Repainting element');\n          var\n            fakeAssignment = element.offsetWidth\n          ;\n        },\n\n        delay: function(interval) {\n          var\n            direction = module.get.animationDirection(),\n            shouldReverse,\n            delay\n          ;\n          if(!direction) {\n            direction = module.can.transition()\n              ? module.get.direction()\n              : 'static'\n            ;\n          }\n          interval = (interval !== undefined)\n            ? interval\n            : settings.interval\n          ;\n          shouldReverse = (settings.reverse == 'auto' && direction == className.outward);\n          delay = (shouldReverse || settings.reverse == true)\n            ? ($allModules.length - index) * settings.interval\n            : index * settings.interval\n          ;\n          module.debug('Delaying animation by', delay);\n          setTimeout(module.animate, delay);\n        },\n\n        animate: function(overrideSettings) {\n          settings = overrideSettings || settings;\n          if(!module.is.supported()) {\n            module.error(error.support);\n            return false;\n          }\n          module.debug('Preparing animation', settings.animation);\n          if(module.is.animating()) {\n            if(settings.queue) {\n              if(!settings.allowRepeats && module.has.direction() && module.is.occurring() && module.queuing !== true) {\n                module.debug('Animation is currently occurring, preventing queueing same animation', settings.animation);\n              }\n              else {\n                module.queue(settings.animation);\n              }\n              return false;\n            }\n            else if(!settings.allowRepeats && module.is.occurring()) {\n              module.debug('Animation is already occurring, will not execute repeated animation', settings.animation);\n              return false;\n            }\n            else {\n              module.debug('New animation started, completing previous early', settings.animation);\n              instance.complete();\n            }\n          }\n          if( module.can.animate() ) {\n            module.set.animating(settings.animation);\n          }\n          else {\n            module.error(error.noAnimation, settings.animation, element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Resetting animation to beginning conditions');\n          module.remove.animationCallbacks();\n          module.restore.conditions();\n          module.remove.animating();\n        },\n\n        queue: function(animation) {\n          module.debug('Queueing animation of', animation);\n          module.queuing = true;\n          $module\n            .one(animationEnd + '.queue' + eventNamespace, function() {\n              module.queuing = false;\n              module.repaint();\n              module.animate.apply(this, settings);\n            })\n          ;\n        },\n\n        complete: function (event) {\n          module.debug('Animation complete', settings.animation);\n          module.remove.completeCallback();\n          module.remove.failSafe();\n          if(!module.is.looping()) {\n            if( module.is.outward() ) {\n              module.verbose('Animation is outward, hiding element');\n              module.restore.conditions();\n              module.hide();\n            }\n            else if( module.is.inward() ) {\n              module.verbose('Animation is outward, showing element');\n              module.restore.conditions();\n              module.show();\n            }\n            else {\n              module.verbose('Static animation completed');\n              module.restore.conditions();\n              settings.onComplete.call(element);\n            }\n          }\n        },\n\n        force: {\n          visible: function() {\n            var\n              style          = $module.attr('style'),\n              userStyle      = module.get.userStyle(),\n              displayType    = module.get.displayType(),\n              overrideStyle  = userStyle + 'display: ' + displayType + ' !important;',\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== displayType) {\n              module.verbose('Overriding default display to show element', displayType);\n              $module\n                .attr('style', overrideStyle)\n              ;\n            }\n            else if(emptyStyle) {\n              $module.removeAttr('style');\n            }\n          },\n          hidden: function() {\n            var\n              style          = $module.attr('style'),\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== 'none' && !module.is.hidden()) {\n              module.verbose('Overriding default display to hide element');\n              $module\n                .css('display', 'none')\n              ;\n            }\n            else if(emptyStyle) {\n              $module\n                .removeAttr('style')\n              ;\n            }\n          }\n        },\n\n        has: {\n          direction: function(animation) {\n            var\n              hasDirection = false\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              $.each(animation, function(index, word){\n                if(word === className.inward || word === className.outward) {\n                  hasDirection = true;\n                }\n              });\n            }\n            return hasDirection;\n          },\n          inlineDisplay: function() {\n            var\n              style = $module.attr('style') || ''\n            ;\n            return $.isArray(style.match(/display.*?;/, ''));\n          }\n        },\n\n        set: {\n          animating: function(animation) {\n            var\n              animationClass,\n              direction\n            ;\n            // remove previous callbacks\n            module.remove.completeCallback();\n\n            // determine exact animation\n            animation      = animation || settings.animation;\n            animationClass = module.get.animationClass(animation);\n\n            // save animation class in cache to restore class names\n            module.save.animation(animationClass);\n\n            // override display if necessary so animation appears visibly\n            module.force.visible();\n\n            module.remove.hidden();\n            module.remove.direction();\n\n            module.start.animation(animationClass);\n\n          },\n          duration: function(animationName, duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            if(duration || duration === 0) {\n              module.verbose('Setting animation duration', duration);\n              $module\n                .css({\n                  'animation-duration':  duration\n                })\n              ;\n            }\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            if(direction == className.inward) {\n              module.set.inward();\n            }\n            else {\n              module.set.outward();\n            }\n          },\n          looping: function() {\n            module.debug('Transition set to loop');\n            $module\n              .addClass(className.looping)\n            ;\n          },\n          hidden: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.hidden)\n            ;\n          },\n          inward: function() {\n            module.debug('Setting direction to inward');\n            $module\n              .removeClass(className.outward)\n              .addClass(className.inward)\n            ;\n          },\n          outward: function() {\n            module.debug('Setting direction to outward');\n            $module\n              .removeClass(className.inward)\n              .addClass(className.outward)\n            ;\n          },\n          visible: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.visible)\n            ;\n          }\n        },\n\n        start: {\n          animation: function(animationClass) {\n            animationClass = animationClass || module.get.animationClass();\n            module.debug('Starting tween', animationClass);\n            $module\n              .addClass(animationClass)\n              .one(animationEnd + '.complete' + eventNamespace, module.complete)\n            ;\n            if(settings.useFailSafe) {\n              module.add.failSafe();\n            }\n            module.set.duration(settings.duration);\n            settings.onStart.call(element);\n          }\n        },\n\n        save: {\n          animation: function(animation) {\n            if(!module.cache) {\n              module.cache = {};\n            }\n            module.cache.animation = animation;\n          },\n          displayType: function(displayType) {\n            if(displayType !== 'none') {\n              $module.data(metadata.displayType, displayType);\n            }\n          },\n          transitionExists: function(animation, exists) {\n            $.fn.transition.exists[animation] = exists;\n            module.verbose('Saving existence of transition', animation, exists);\n          }\n        },\n\n        restore: {\n          conditions: function() {\n            var\n              animation = module.get.currentAnimation()\n            ;\n            if(animation) {\n              $module\n                .removeClass(animation)\n              ;\n              module.verbose('Removing animation class', module.cache);\n            }\n            module.remove.duration();\n          }\n        },\n\n        add: {\n          failSafe: function() {\n            var\n              duration = module.get.duration()\n            ;\n            module.timer = setTimeout(function() {\n              $module.triggerHandler(animationEnd);\n            }, duration + settings.failSafeDelay);\n            module.verbose('Adding fail safe timer', module.timer);\n          }\n        },\n\n        remove: {\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          animationCallbacks: function() {\n            module.remove.queueCallback();\n            module.remove.completeCallback();\n          },\n          queueCallback: function() {\n            $module.off('.queue' + eventNamespace);\n          },\n          completeCallback: function() {\n            $module.off('.complete' + eventNamespace);\n          },\n          display: function() {\n            $module.css('display', '');\n          },\n          direction: function() {\n            $module\n              .removeClass(className.inward)\n              .removeClass(className.outward)\n            ;\n          },\n          duration: function() {\n            $module\n              .css('animation-duration', '')\n            ;\n          },\n          failSafe: function() {\n            module.verbose('Removing fail safe timer', module.timer);\n            if(module.timer) {\n              clearTimeout(module.timer);\n            }\n          },\n          hidden: function() {\n            $module.removeClass(className.hidden);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          looping: function() {\n            module.debug('Transitions are no longer looping');\n            if( module.is.looping() ) {\n              module.reset();\n              $module\n                .removeClass(className.looping)\n              ;\n            }\n          },\n          transition: function() {\n            $module\n              .removeClass(className.visible)\n              .removeClass(className.hidden)\n            ;\n          }\n        },\n        get: {\n          settings: function(animation, duration, onComplete) {\n            // single settings object\n            if(typeof animation == 'object') {\n              return $.extend(true, {}, $.fn.transition.settings, animation);\n            }\n            // all arguments provided\n            else if(typeof onComplete == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : onComplete,\n                duration   : duration\n              });\n            }\n            // only duration provided\n            else if(typeof duration == 'string' || typeof duration == 'number') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation,\n                duration  : duration\n              });\n            }\n            // duration is actually settings object\n            else if(typeof duration == 'object') {\n              return $.extend({}, $.fn.transition.settings, duration, {\n                animation : animation\n              });\n            }\n            // duration is actually callback\n            else if(typeof duration == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : duration\n              });\n            }\n            // only animation provided\n            else {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation\n              });\n            }\n            return $.fn.transition.settings;\n          },\n          animationClass: function(animation) {\n            var\n              animationClass = animation || settings.animation,\n              directionClass = (module.can.transition() && !module.has.direction())\n                ? module.get.direction() + ' '\n                : ''\n            ;\n            return className.animating + ' '\n              + className.transition + ' '\n              + directionClass\n              + animationClass\n            ;\n          },\n          currentAnimation: function() {\n            return (module.cache && module.cache.animation !== undefined)\n              ? module.cache.animation\n              : false\n            ;\n          },\n          currentDirection: function() {\n            return module.is.inward()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          direction: function() {\n            return module.is.hidden() || !module.is.visible()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          animationDirection: function(animation) {\n            var\n              direction\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              // search animation name for out/in class\n              $.each(animation, function(index, word){\n                if(word === className.inward) {\n                  direction = className.inward;\n                }\n                else if(word === className.outward) {\n                  direction = className.outward;\n                }\n              });\n            }\n            // return found direction\n            if(direction) {\n              return direction;\n            }\n            return false;\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            if(duration === false) {\n              duration = $module.css('animation-duration') || 0;\n            }\n            return (typeof duration === 'string')\n              ? (duration.indexOf('ms') > -1)\n                ? parseFloat(duration)\n                : parseFloat(duration) * 1000\n              : duration\n            ;\n          },\n          displayType: function() {\n            if(settings.displayType) {\n              return settings.displayType;\n            }\n            if($module.data(metadata.displayType) === undefined) {\n              // create fake element to determine display state\n              module.can.transition(true);\n            }\n            return $module.data(metadata.displayType);\n          },\n          userStyle: function(style) {\n            style = style || $module.attr('style') || '';\n            return style.replace(/display.*?;/, '');\n          },\n          transitionExists: function(animation) {\n            return $.fn.transition.exists[animation];\n          },\n          animationStartEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationstart',\n                'OAnimation'      :'oAnimationStart',\n                'MozAnimation'    :'mozAnimationStart',\n                'WebkitAnimation' :'webkitAnimationStart'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          },\n          animationEndEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationend',\n                'OAnimation'      :'oAnimationEnd',\n                'MozAnimation'    :'mozAnimationEnd',\n                'WebkitAnimation' :'webkitAnimationEnd'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          }\n\n        },\n\n        can: {\n          transition: function(forced) {\n            var\n              animation         = settings.animation,\n              transitionExists  = module.get.transitionExists(animation),\n              elementClass,\n              tagName,\n              $clone,\n              currentAnimation,\n              inAnimation,\n              directionExists,\n              displayType\n            ;\n            if( transitionExists === undefined || forced) {\n              module.verbose('Determining whether animation exists');\n              elementClass = $module.attr('class');\n              tagName      = $module.prop('tagName');\n\n              $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module);\n              currentAnimation = $clone\n                .addClass(animation)\n                .removeClass(className.inward)\n                .removeClass(className.outward)\n                .addClass(className.animating)\n                .addClass(className.transition)\n                .css('animationName')\n              ;\n              inAnimation = $clone\n                .addClass(className.inward)\n                .css('animationName')\n              ;\n              displayType = $clone\n                .attr('class', elementClass)\n                .removeAttr('style')\n                .removeClass(className.hidden)\n                .removeClass(className.visible)\n                .show()\n                .css('display')\n              ;\n              module.verbose('Determining final display state', displayType);\n              module.save.displayType(displayType);\n\n              $clone.remove();\n              if(currentAnimation != inAnimation) {\n                module.debug('Direction exists for animation', animation);\n                directionExists = true;\n              }\n              else if(currentAnimation == 'none' || !currentAnimation) {\n                module.debug('No animation defined in css', animation);\n                return;\n              }\n              else {\n                module.debug('Static animation found', animation, displayType);\n                directionExists = false;\n              }\n              module.save.transitionExists(animation, directionExists);\n            }\n            return (transitionExists !== undefined)\n              ? transitionExists\n              : directionExists\n            ;\n          },\n          animate: function() {\n            // can transition does not return a value if animation does not exist\n            return (module.can.transition() !== undefined);\n          }\n        },\n\n        is: {\n          animating: function() {\n            return $module.hasClass(className.animating);\n          },\n          inward: function() {\n            return $module.hasClass(className.inward);\n          },\n          outward: function() {\n            return $module.hasClass(className.outward);\n          },\n          looping: function() {\n            return $module.hasClass(className.looping);\n          },\n          occurring: function(animation) {\n            animation = animation || settings.animation;\n            animation = '.' + animation.replace(' ', '.');\n            return ( $module.filter(animation).length > 0 );\n          },\n          visible: function() {\n            return $module.is(':visible');\n          },\n          hidden: function() {\n            return $module.css('visibility') === 'hidden';\n          },\n          supported: function() {\n            return(animationEnd !== false);\n          }\n        },\n\n        hide: function() {\n          module.verbose('Hiding element');\n          if( module.is.animating() ) {\n            module.reset();\n          }\n          element.blur(); // IE will trigger focus change if element is not blurred before hiding\n          module.remove.display();\n          module.remove.visible();\n          module.set.hidden();\n          module.force.hidden();\n          settings.onHide.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        show: function(display) {\n          module.verbose('Showing element', display);\n          module.remove.hidden();\n          module.set.visible();\n          module.force.visible();\n          settings.onShow.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        toggle: function() {\n          if( module.is.visible() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        stop: function() {\n          module.debug('Stopping current animation');\n          $module.triggerHandler(animationEnd);\n        },\n\n        stopAll: function() {\n          module.debug('Stopping all animation');\n          module.remove.queueCallback();\n          $module.triggerHandler(animationEnd);\n        },\n\n        clear: {\n          queue: function() {\n            module.debug('Clearing animation queue');\n            module.remove.queueCallback();\n          }\n        },\n\n        enable: function() {\n          module.verbose('Starting animation');\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          module.debug('Stopping animation');\n          $module.addClass(className.disabled);\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        // modified for transition to return invoke success\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return (found !== undefined)\n            ? found\n            : false\n          ;\n        }\n      };\n      module.initialize();\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n// Records if CSS transition is available\n$.fn.transition.exists = {};\n\n$.fn.transition.settings = {\n\n  // module info\n  name          : 'Transition',\n\n  // debug content outputted to console\n  debug         : false,\n\n  // verbose debug output\n  verbose       : false,\n\n  // performance data output\n  performance   : true,\n\n  // event namespace\n  namespace     : 'transition',\n\n  // delay between animations in group\n  interval      : 0,\n\n  // whether group animations should be reversed\n  reverse       : 'auto',\n\n  // animation callback event\n  onStart       : function() {},\n  onComplete    : function() {},\n  onShow        : function() {},\n  onHide        : function() {},\n\n  // whether timeout should be used to ensure callback fires in cases animationend does not\n  useFailSafe   : true,\n\n  // delay in ms for fail safe\n  failSafeDelay : 100,\n\n  // whether EXACT animation can occur twice in a row\n  allowRepeats  : false,\n\n  // Override final display type on visible\n  displayType   : false,\n\n  // animation duration\n  animation     : 'fade',\n  duration      : false,\n\n  // new animations will occur after previous ones\n  queue         : true,\n\n  metadata : {\n    displayType: 'display'\n  },\n\n  className   : {\n    animating  : 'animating',\n    disabled   : 'disabled',\n    hidden     : 'hidden',\n    inward     : 'in',\n    loading    : 'loading',\n    looping    : 'looping',\n    outward    : 'out',\n    transition : 'transition',\n    visible    : 'visible'\n  },\n\n  // possible errors\n  error: {\n    noAnimation : 'There is no css animation matching the one you specified. Please make sure your css is vendor prefixed, and you have included transition css.',\n    repeated    : 'That animation is already occurring, cancelling repeated animation',\n    method      : 'The method you called is not defined',\n    support     : 'This browser does not support CSS animations'\n  }\n\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - API\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.api = $.fn.api = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n    moduleSelector = $allModules.selector || '',\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.api.settings, parameters)\n          : $.extend({}, $.fn.api.settings),\n\n        // internal aliases\n        namespace       = settings.namespace,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n        className       = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // element that creates request\n        $module         = $(this),\n        $form           = $module.closest(selector.form),\n\n        // context used for state\n        $context        = (settings.stateContext)\n          ? $(settings.stateContext)\n          : $module,\n\n        // request details\n        ajaxSettings,\n        requestSettings,\n        url,\n        data,\n        requestStartTime,\n\n        // standard module\n        element         = this,\n        context         = $context[0],\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          if(!methodInvoked) {\n            module.bind.events();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            var\n              triggerEvent = module.get.event()\n            ;\n            if( triggerEvent ) {\n              module.verbose('Attaching API events to element', triggerEvent);\n              $module\n                .on(triggerEvent + eventNamespace, module.event.trigger)\n              ;\n            }\n            else if(settings.on == 'now') {\n              module.debug('Querying API endpoint immediately');\n              module.query();\n            }\n          }\n        },\n\n        decode: {\n          json: function(response) {\n            if(response !== undefined && typeof response == 'string') {\n              try {\n               response = JSON.parse(response);\n              }\n              catch(e) {\n                // isnt json string\n              }\n            }\n            return response;\n          }\n        },\n\n        read: {\n          cachedResponse: function(url) {\n            var\n              response\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            response = sessionStorage.getItem(url);\n            module.debug('Using cached response', url, response);\n            response = module.decode.json(response);\n            return false;\n          }\n        },\n        write: {\n          cachedResponse: function(url, response) {\n            if(response && response === '') {\n              module.debug('Response empty, not caching', response);\n              return;\n            }\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            if( $.isPlainObject(response) ) {\n              response = JSON.stringify(response);\n            }\n            sessionStorage.setItem(url, response);\n            module.verbose('Storing cached response for url', url, response);\n          }\n        },\n\n        query: function() {\n\n          if(module.is.disabled()) {\n            module.debug('Element is disabled API request aborted');\n            return;\n          }\n\n          if(module.is.loading()) {\n            if(settings.interruptRequests) {\n              module.debug('Interrupting previous request');\n              module.abort();\n            }\n            else {\n              module.debug('Cancelling request, previous request is still pending');\n              return;\n            }\n          }\n\n          // pass element metadata to url (value, text)\n          if(settings.defaultData) {\n            $.extend(true, settings.urlData, module.get.defaultData());\n          }\n\n          // Add form content\n          if(settings.serializeForm) {\n            settings.data = module.add.formData(settings.data);\n          }\n\n          // call beforesend and get any settings changes\n          requestSettings = module.get.settings();\n\n          // check if before send cancelled request\n          if(requestSettings === false) {\n            module.cancelled = true;\n            module.error(error.beforeSend);\n            return;\n          }\n          else {\n            module.cancelled = false;\n          }\n\n          // get url\n          url = module.get.templatedURL();\n\n          if(!url && !module.is.mocked()) {\n            module.error(error.missingURL);\n            return;\n          }\n\n          // replace variables\n          url = module.add.urlData( url );\n\n          // missing url parameters\n          if( !url && !module.is.mocked()) {\n            return;\n          }\n\n\n          // look for jQuery ajax parameters in settings\n          ajaxSettings = $.extend(true, {}, settings, {\n            type       : settings.method || settings.type,\n            data       : data,\n            url        : settings.base + url,\n            beforeSend : settings.beforeXHR,\n            success    : function() {},\n            failure    : function() {},\n            complete   : function() {}\n          });\n\n          module.debug('Querying URL', ajaxSettings.url);\n          module.verbose('Using AJAX settings', ajaxSettings);\n\n          if(settings.cache === 'local' && module.read.cachedResponse(url)) {\n            module.debug('Response returned from local cache');\n            module.request = module.create.request();\n            module.request.resolveWith(context, [ module.read.cachedResponse(url) ]);\n            return;\n          }\n\n          if( !settings.throttle ) {\n            module.debug('Sending request', data, ajaxSettings.method);\n            module.send.request();\n          }\n          else {\n            if(!settings.throttleFirstRequest && !module.timer) {\n              module.debug('Sending request', data, ajaxSettings.method);\n              module.send.request();\n              module.timer = setTimeout(function(){}, settings.throttle);\n            }\n            else {\n              module.debug('Throttling request', settings.throttle);\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                if(module.timer) {\n                  delete module.timer;\n                }\n                module.debug('Sending throttled request', data, ajaxSettings.method);\n                module.send.request();\n              }, settings.throttle);\n            }\n          }\n\n        },\n\n        should: {\n          removeError: function() {\n            return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) );\n          }\n        },\n\n        is: {\n          disabled: function() {\n            return ($module.filter(selector.disabled).length > 0);\n          },\n          form: function() {\n            return $module.is('form') || $context.is('form');\n          },\n          mocked: function() {\n            return (settings.mockResponse || settings.mockResponseAsync);\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          loading: function() {\n            return (module.request && module.request.state() == 'pending');\n          },\n          abortedRequest: function(xhr) {\n            if(xhr && xhr.readyState !== undefined && xhr.readyState === 0) {\n              module.verbose('XHR request determined to be aborted');\n              return true;\n            }\n            else {\n              module.verbose('XHR request was not aborted');\n              return false;\n            }\n          },\n          validResponse: function(response) {\n            if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) {\n              module.verbose('Response is not JSON, skipping validation', settings.successTest, response);\n              return true;\n            }\n            module.debug('Checking JSON returned success', settings.successTest, response);\n            if( settings.successTest(response) ) {\n              module.debug('Response passed success test', response);\n              return true;\n            }\n            else {\n              module.debug('Response failed success test', response);\n              return false;\n            }\n          }\n        },\n\n        was: {\n          cancelled: function() {\n            return (module.cancelled || false);\n          },\n          succesful: function() {\n            return (module.request && module.request.state() == 'resolved');\n          },\n          failure: function() {\n            return (module.request && module.request.state() == 'rejected');\n          },\n          complete: function() {\n            return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') );\n          }\n        },\n\n        add: {\n          urlData: function(url, urlData) {\n            var\n              requiredVariables,\n              optionalVariables\n            ;\n            if(url) {\n              requiredVariables = url.match(settings.regExp.required);\n              optionalVariables = url.match(settings.regExp.optional);\n              urlData           = urlData || settings.urlData;\n              if(requiredVariables) {\n                module.debug('Looking for required URL variables', requiredVariables);\n                $.each(requiredVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(2, templatedString.length - 3)\n                      : templatedString.substr(1, templatedString.length - 2),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // remove value\n                  if(value === undefined) {\n                    module.error(error.requiredParameter, variable, url);\n                    url = false;\n                    return false;\n                  }\n                  else {\n                    module.verbose('Found required variable', variable, value);\n                    value = (settings.encodeParameters)\n                      ? module.get.urlEncodedValue(value)\n                      : value\n                    ;\n                    url = url.replace(templatedString, value);\n                  }\n                });\n              }\n              if(optionalVariables) {\n                module.debug('Looking for optional URL variables', requiredVariables);\n                $.each(optionalVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {/$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(3, templatedString.length - 4)\n                      : templatedString.substr(2, templatedString.length - 3),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // optional replacement\n                  if(value !== undefined) {\n                    module.verbose('Optional variable Found', variable, value);\n                    url = url.replace(templatedString, value);\n                  }\n                  else {\n                    module.verbose('Optional variable not found', variable);\n                    // remove preceding slash if set\n                    if(url.indexOf('/' + templatedString) !== -1) {\n                      url = url.replace('/' + templatedString, '');\n                    }\n                    else {\n                      url = url.replace(templatedString, '');\n                    }\n                  }\n                });\n              }\n            }\n            return url;\n          },\n          formData: function(data) {\n            var\n              canSerialize = ($.fn.serializeObject !== undefined),\n              formData     = (canSerialize)\n                ? $form.serializeObject()\n                : $form.serialize(),\n              hasOtherData\n            ;\n            data         = data || settings.data;\n            hasOtherData = $.isPlainObject(data);\n\n            if(hasOtherData) {\n              if(canSerialize) {\n                module.debug('Extending existing data with form data', data, formData);\n                data = $.extend(true, {}, data, formData);\n              }\n              else {\n                module.error(error.missingSerialize);\n                module.debug('Cant extend data. Replacing data with form data', data, formData);\n                data = formData;\n              }\n            }\n            else {\n              module.debug('Adding form data', formData);\n              data = formData;\n            }\n            return data;\n          }\n        },\n\n        send: {\n          request: function() {\n            module.set.loading();\n            module.request = module.create.request();\n            if( module.is.mocked() ) {\n              module.mockedXHR = module.create.mockedXHR();\n            }\n            else {\n              module.xhr = module.create.xhr();\n            }\n            settings.onRequest.call(context, module.request, module.xhr);\n          }\n        },\n\n        event: {\n          trigger: function(event) {\n            module.query();\n            if(event.type == 'submit' || event.type == 'click') {\n              event.preventDefault();\n            }\n          },\n          xhr: {\n            always: function() {\n              // nothing special\n            },\n            done: function(response, textStatus, xhr) {\n              var\n                context            = this,\n                elapsedTime        = (new Date().getTime() - requestStartTime),\n                timeLeft           = (settings.loadingDuration - elapsedTime),\n                translatedResponse = ( $.isFunction(settings.onResponse) )\n                  ? settings.onResponse.call(context, $.extend(true, {}, response))\n                  : false\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(translatedResponse) {\n                module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response);\n                response = translatedResponse;\n              }\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.validResponse(response) ) {\n                  module.request.resolveWith(context, [response, xhr]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'invalid']);\n                }\n              }, timeLeft);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                context     = this,\n                elapsedTime = (new Date().getTime() - requestStartTime),\n                timeLeft    = (settings.loadingDuration - elapsedTime)\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.abortedRequest(xhr) ) {\n                  module.request.rejectWith(context, [xhr, 'aborted', httpMessage]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'error', status, httpMessage]);\n                }\n              }, timeLeft);\n            }\n          },\n          request: {\n            done: function(response, xhr) {\n              module.debug('Successful API Response', response);\n              if(settings.cache === 'local' && url) {\n                module.write.cachedResponse(url, response);\n                module.debug('Saving server response locally', module.cache);\n              }\n              settings.onSuccess.call(context, response, $module, xhr);\n            },\n            complete: function(firstParameter, secondParameter) {\n              var\n                xhr,\n                response\n              ;\n              // have to guess callback parameters based on request success\n              if( module.was.succesful() ) {\n                response = firstParameter;\n                xhr      = secondParameter;\n              }\n              else {\n                xhr      = firstParameter;\n                response = module.get.responseFromXHR(xhr);\n              }\n              module.remove.loading();\n              settings.onComplete.call(context, response, $module, xhr);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                // pull response from xhr if available\n                response     = module.get.responseFromXHR(xhr),\n                errorMessage = module.get.errorFromRequest(response, status, httpMessage)\n              ;\n              if(status == 'aborted') {\n                module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);\n                settings.onAbort.call(context, status, $module, xhr);\n              }\n              else if(status == 'invalid') {\n                module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);\n              }\n              else if(status == 'error')  {\n                if(xhr !== undefined) {\n                  module.debug('XHR produced a server error', status, httpMessage);\n                  // make sure we have an error to display to console\n                  if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {\n                    module.error(error.statusMessage + httpMessage, ajaxSettings.url);\n                  }\n                  settings.onError.call(context, errorMessage, $module, xhr);\n                }\n              }\n\n              if(settings.errorDuration && status !== 'aborted') {\n                module.debug('Adding error state');\n                module.set.error();\n                if( module.should.removeError() ) {\n                  setTimeout(module.remove.error, settings.errorDuration);\n                }\n              }\n              module.debug('API Request failed', errorMessage, xhr);\n              settings.onFailure.call(context, response, $module, xhr);\n            }\n          }\n        },\n\n        create: {\n\n          request: function() {\n            // api request promise\n            return $.Deferred()\n              .always(module.event.request.complete)\n              .done(module.event.request.done)\n              .fail(module.event.request.fail)\n            ;\n          },\n\n          mockedXHR: function () {\n            var\n              // xhr does not simulate these properties of xhr but must return them\n              textStatus  = false,\n              status      = false,\n              httpMessage = false,\n              asyncCallback,\n              response,\n              mockedXHR\n            ;\n\n            mockedXHR = $.Deferred()\n              .always(module.event.xhr.complete)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n\n            if(settings.mockResponse) {\n              if( $.isFunction(settings.mockResponse) ) {\n                module.debug('Using mocked callback returning response', settings.mockResponse);\n                response = settings.mockResponse.call(context, settings);\n              }\n              else {\n                module.debug('Using specified response', settings.mockResponse);\n                response = settings.mockResponse;\n              }\n              // simulating response\n              mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n            }\n            else if( $.isFunction(settings.mockResponseAsync) ) {\n              asyncCallback = function(response) {\n                module.debug('Async callback returned response', response);\n\n                if(response) {\n                  mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n                }\n                else {\n                  mockedXHR.rejectWith(context, [{ responseText: response }, status, httpMessage]);\n                }\n              };\n              module.debug('Using async mocked response', settings.mockResponseAsync);\n              settings.mockResponseAsync.call(context, settings, asyncCallback);\n            }\n            return mockedXHR;\n          },\n\n          xhr: function() {\n            var\n              xhr\n            ;\n            // ajax request promise\n            xhr = $.ajax(ajaxSettings)\n              .always(module.event.xhr.always)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n            module.verbose('Created server request', xhr);\n            return xhr;\n          }\n        },\n\n        set: {\n          error: function() {\n            module.verbose('Adding error state to element', $context);\n            $context.addClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Adding loading state to element', $context);\n            $context.addClass(className.loading);\n            requestStartTime = new Date().getTime();\n          }\n        },\n\n        remove: {\n          error: function() {\n            module.verbose('Removing error state from element', $context);\n            $context.removeClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Removing loading state from element', $context);\n            $context.removeClass(className.loading);\n          }\n        },\n\n        get: {\n          responseFromXHR: function(xhr) {\n            return $.isPlainObject(xhr)\n              ? (settings.dataType == 'json' || settings.dataType == 'jsonp')\n                ? module.decode.json(xhr.responseText)\n                : xhr.responseText\n              : false\n            ;\n          },\n          errorFromRequest: function(response, status, httpMessage) {\n            return ($.isPlainObject(response) && response.error !== undefined)\n              ? response.error // use json error message\n              : (settings.error[status] !== undefined) // use server error message\n                ? settings.error[status]\n                : httpMessage\n            ;\n          },\n          request: function() {\n            return module.request || false;\n          },\n          xhr: function() {\n            return module.xhr || false;\n          },\n          settings: function() {\n            var\n              runSettings\n            ;\n            runSettings = settings.beforeSend.call(context, settings);\n            if(runSettings) {\n              if(runSettings.success !== undefined) {\n                module.debug('Legacy success callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.success);\n                runSettings.onSuccess = runSettings.success;\n              }\n              if(runSettings.failure !== undefined) {\n                module.debug('Legacy failure callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.failure);\n                runSettings.onFailure = runSettings.failure;\n              }\n              if(runSettings.complete !== undefined) {\n                module.debug('Legacy complete callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.complete);\n                runSettings.onComplete = runSettings.complete;\n              }\n            }\n            if(runSettings === undefined) {\n              module.error(error.noReturnedValue);\n            }\n            return (runSettings !== undefined)\n              ? runSettings\n              : settings\n            ;\n          },\n          urlEncodedValue: function(value) {\n            var\n              decodedValue   = window.decodeURIComponent(value),\n              encodedValue   = window.encodeURIComponent(value),\n              alreadyEncoded = (decodedValue !== value)\n            ;\n            if(alreadyEncoded) {\n              module.debug('URL value is already encoded, avoiding double encoding', value);\n              return value;\n            }\n            module.verbose('Encoding value using encodeURIComponent', value, encodedValue);\n            return encodedValue;\n          },\n          defaultData: function() {\n            var\n              data = {}\n            ;\n            if( !$.isWindow(element) ) {\n              if( module.is.input() ) {\n                data.value = $module.val();\n              }\n              else if( !module.is.form() ) {\n\n              }\n              else {\n                data.text = $module.text();\n              }\n            }\n            return data;\n          },\n          event: function() {\n            if( $.isWindow(element) || settings.on == 'now' ) {\n              module.debug('API called without element, no events attached');\n              return false;\n            }\n            else if(settings.on == 'auto') {\n              if( $module.is('input') ) {\n                return (element.oninput !== undefined)\n                  ? 'input'\n                  : (element.onpropertychange !== undefined)\n                    ? 'propertychange'\n                    : 'keyup'\n                ;\n              }\n              else if( $module.is('form') ) {\n                return 'submit';\n              }\n              else {\n                return 'click';\n              }\n            }\n            else {\n              return settings.on;\n            }\n          },\n          templatedURL: function(action) {\n            action = action || $module.data(metadata.action) || settings.action || false;\n            url    = $module.data(metadata.url) || settings.url || false;\n            if(url) {\n              module.debug('Using specified url', url);\n              return url;\n            }\n            if(action) {\n              module.debug('Looking up url for action', action, settings.api);\n              if(settings.api[action] === undefined && !module.is.mocked()) {\n                module.error(error.missingAction, settings.action, settings.api);\n                return;\n              }\n              url = settings.api[action];\n            }\n            else if( module.is.form() ) {\n              url = $module.attr('action') || $context.attr('action') || false;\n              module.debug('No url or action specified, defaulting to form action', url);\n            }\n            return url;\n          }\n        },\n\n        abort: function() {\n          var\n            xhr = module.get.xhr()\n          ;\n          if( xhr && xhr.state() !== 'resolved') {\n            module.debug('Cancelling API request');\n            xhr.abort();\n          }\n        },\n\n        // reset state\n        reset: function() {\n          module.remove.error();\n          module.remove.loading();\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                //'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.api.settings = {\n\n  name              : 'API',\n  namespace         : 'api',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  // object containing all templates endpoints\n  api               : {},\n\n  // whether to cache responses\n  cache             : true,\n\n  // whether new requests should abort previous requests\n  interruptRequests : true,\n\n  // event binding\n  on                : 'auto',\n\n  // context for applying state classes\n  stateContext      : false,\n\n  // duration for loading state\n  loadingDuration   : 0,\n\n  // whether to hide errors after a period of time\n  hideError         : 'auto',\n\n  // duration for error state\n  errorDuration     : 2000,\n\n  // whether parameters should be encoded with encodeURIComponent\n  encodeParameters  : true,\n\n  // API action to use\n  action            : false,\n\n  // templated URL to use\n  url               : false,\n\n  // base URL to apply to all endpoints\n  base              : '',\n\n  // data that will\n  urlData           : {},\n\n  // whether to add default data to url data\n  defaultData          : true,\n\n  // whether to serialize closest form\n  serializeForm        : false,\n\n  // how long to wait before request should occur\n  throttle             : 0,\n\n  // whether to throttle first request or only repeated\n  throttleFirstRequest : true,\n\n  // standard ajax settings\n  method            : 'get',\n  data              : {},\n  dataType          : 'json',\n\n  // mock response\n  mockResponse      : false,\n  mockResponseAsync : false,\n\n  // callbacks before request\n  beforeSend  : function(settings) { return settings; },\n  beforeXHR   : function(xhr) {},\n  onRequest   : function(promise, xhr) {},\n\n  // after request\n  onResponse  : false, // function(response) { },\n\n  // response was successful, if JSON passed validation\n  onSuccess   : function(response, $module) {},\n\n  // request finished without aborting\n  onComplete  : function(response, $module) {},\n\n  // failed JSON success test\n  onFailure   : function(response, $module) {},\n\n  // server error\n  onError     : function(errorMessage, $module) {},\n\n  // request aborted\n  onAbort     : function(errorMessage, $module) {},\n\n  successTest : false,\n\n  // errors\n  error : {\n    beforeSend        : 'The before send function has aborted the request',\n    error             : 'There was an error with your request',\n    exitConditions    : 'API Request Aborted. Exit conditions met',\n    JSONParse         : 'JSON could not be parsed during error handling',\n    legacyParameters  : 'You are using legacy API success callback names',\n    method            : 'The method you called is not defined',\n    missingAction     : 'API action used but no url was defined',\n    missingSerialize  : 'jquery-serialize-object is required to add form data to an existing data object',\n    missingURL        : 'No URL specified for api event',\n    noReturnedValue   : 'The beforeSend callback must return a settings object, beforeSend ignored.',\n    noStorage         : 'Caching responses locally requires session storage',\n    parseError        : 'There was an error parsing your request',\n    requiredParameter : 'Missing a required URL parameter: ',\n    statusMessage     : 'Server gave an error: ',\n    timeout           : 'Your request timed out'\n  },\n\n  regExp  : {\n    required : /\\{\\$*[A-z0-9]+\\}/g,\n    optional : /\\{\\/\\$*[A-z0-9]+\\}/g,\n  },\n\n  className: {\n    loading : 'loading',\n    error   : 'error'\n  },\n\n  selector: {\n    disabled : '.disabled',\n    form      : 'form'\n  },\n\n  metadata: {\n    action  : 'action',\n    url     : 'url'\n  }\n};\n\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - State\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.state = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    hasTouch        = ('ontouchstart' in document.documentElement),\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.state.settings, parameters)\n          : $.extend({}, $.fn.state.settings),\n\n        error           = settings.error,\n        metadata        = settings.metadata,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        states          = settings.states,\n        text            = settings.text,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n\n          // allow module to guess desired state based on element\n          if(settings.automatic) {\n            module.add.defaults();\n          }\n\n          // bind events with delegated events\n          if(settings.context && moduleSelector !== '') {\n            $(settings.context)\n              .on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)\n              .on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)\n              .on(moduleSelector, 'click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          else {\n            $module\n              .on('mouseenter' + eventNamespace, module.change.text)\n              .on('mouseleave' + eventNamespace, module.reset.text)\n              .on('click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $module = $(element);\n        },\n\n        add: {\n          defaults: function() {\n            var\n              userStates = parameters && $.isPlainObject(parameters.states)\n                ? parameters.states\n                : {}\n            ;\n            $.each(settings.defaults, function(type, typeStates) {\n              if( module.is[type] !== undefined && module.is[type]() ) {\n                module.verbose('Adding default states', type, element);\n                $.extend(settings.states, typeStates, userStates);\n              }\n            });\n          }\n        },\n\n        is: {\n\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          loading: function() {\n            return $module.hasClass(className.loading);\n          },\n          inactive: function() {\n            return !( $module.hasClass(className.active) );\n          },\n          state: function(state) {\n            if(className[state] === undefined) {\n              return false;\n            }\n            return $module.hasClass( className[state] );\n          },\n\n          enabled: function() {\n            return !( $module.is(settings.filter.active) );\n          },\n          disabled: function() {\n            return ( $module.is(settings.filter.active) );\n          },\n          textEnabled: function() {\n            return !( $module.is(settings.filter.text) );\n          },\n\n          // definitions for automatic type detection\n          button: function() {\n            return $module.is('.button:not(a, .submit)');\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          progress: function() {\n            return $module.is('.ui.progress');\n          }\n        },\n\n        allow: function(state) {\n          module.debug('Now allowing state', state);\n          states[state] = true;\n        },\n        disallow: function(state) {\n          module.debug('No longer allowing', state);\n          states[state] = false;\n        },\n\n        allows: function(state) {\n          return states[state] || false;\n        },\n\n        enable: function() {\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          $module.addClass(className.disabled);\n        },\n\n        setState: function(state) {\n          if(module.allows(state)) {\n            $module.addClass( className[state] );\n          }\n        },\n\n        removeState: function(state) {\n          if(module.allows(state)) {\n            $module.removeClass( className[state] );\n          }\n        },\n\n        toggle: {\n          state: function() {\n            var\n              apiRequest,\n              requestCancelled\n            ;\n            if( module.allows('active') && module.is.enabled() ) {\n              module.refresh();\n              if($.fn.api !== undefined) {\n                apiRequest       = $module.api('get request');\n                requestCancelled = $module.api('was cancelled');\n                if( requestCancelled ) {\n                  module.debug('API Request cancelled by beforesend');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                else if(apiRequest) {\n                  module.listenTo(apiRequest);\n                  return;\n                }\n              }\n              module.change.state();\n            }\n          }\n        },\n\n        listenTo: function(apiRequest) {\n          module.debug('API request detected, waiting for state signal', apiRequest);\n          if(apiRequest) {\n            if(text.loading) {\n              module.update.text(text.loading);\n            }\n            $.when(apiRequest)\n              .then(function() {\n                if(apiRequest.state() == 'resolved') {\n                  module.debug('API request succeeded');\n                  settings.activateTest   = function(){ return true; };\n                  settings.deactivateTest = function(){ return true; };\n                }\n                else {\n                  module.debug('API request failed');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                module.change.state();\n              })\n            ;\n          }\n        },\n\n        // checks whether active/inactive state can be given\n        change: {\n\n          state: function() {\n            module.debug('Determining state change direction');\n            // inactive to active change\n            if( module.is.inactive() ) {\n              module.activate();\n            }\n            else {\n              module.deactivate();\n            }\n            if(settings.sync) {\n              module.sync();\n            }\n            settings.onChange.call(element);\n          },\n\n          text: function() {\n            if( module.is.textEnabled() ) {\n              if(module.is.disabled() ) {\n                module.verbose('Changing text to disabled text', text.hover);\n                module.update.text(text.disabled);\n              }\n              else if( module.is.active() ) {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.deactivate) {\n                  module.verbose('Changing text to deactivating text', text.deactivate);\n                  module.update.text(text.deactivate);\n                }\n              }\n              else {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.activate){\n                  module.verbose('Changing text to activating text', text.activate);\n                  module.update.text(text.activate);\n                }\n              }\n            }\n          }\n\n        },\n\n        activate: function() {\n          if( settings.activateTest.call(element) ) {\n            module.debug('Setting state to active');\n            $module\n              .addClass(className.active)\n            ;\n            module.update.text(text.active);\n            settings.onActivate.call(element);\n          }\n        },\n\n        deactivate: function() {\n          if( settings.deactivateTest.call(element) ) {\n            module.debug('Setting state to inactive');\n            $module\n              .removeClass(className.active)\n            ;\n            module.update.text(text.inactive);\n            settings.onDeactivate.call(element);\n          }\n        },\n\n        sync: function() {\n          module.verbose('Syncing other buttons to current state');\n          if( module.is.active() ) {\n            $allModules\n              .not($module)\n                .state('activate');\n          }\n          else {\n            $allModules\n              .not($module)\n                .state('deactivate')\n            ;\n          }\n        },\n\n        get: {\n          text: function() {\n            return (settings.selector.text)\n              ? $module.find(settings.selector.text).text()\n              : $module.html()\n            ;\n          },\n          textFor: function(state) {\n            return text[state] || false;\n          }\n        },\n\n        flash: {\n          text: function(text, duration, callback) {\n            var\n              previousText = module.get.text()\n            ;\n            module.debug('Flashing text message', text, duration);\n            text     = text     || settings.text.flash;\n            duration = duration || settings.flashDuration;\n            callback = callback || function() {};\n            module.update.text(text);\n            setTimeout(function(){\n              module.update.text(previousText);\n              callback.call(element);\n            }, duration);\n          }\n        },\n\n        reset: {\n          // on mouseout sets text to previous value\n          text: function() {\n            var\n              activeText   = text.active   || $module.data(metadata.storedText),\n              inactiveText = text.inactive || $module.data(metadata.storedText)\n            ;\n            if( module.is.textEnabled() ) {\n              if( module.is.active() && activeText) {\n                module.verbose('Resetting active text', activeText);\n                module.update.text(activeText);\n              }\n              else if(inactiveText) {\n                module.verbose('Resetting inactive text', activeText);\n                module.update.text(inactiveText);\n              }\n            }\n          }\n        },\n\n        update: {\n          text: function(text) {\n            var\n              currentText = module.get.text()\n            ;\n            if(text && text !== currentText) {\n              module.debug('Updating text', text);\n              if(settings.selector.text) {\n                $module\n                  .data(metadata.storedText, text)\n                  .find(settings.selector.text)\n                    .text(text)\n                ;\n              }\n              else {\n                $module\n                  .data(metadata.storedText, text)\n                  .html(text)\n                ;\n              }\n            }\n            else {\n              module.debug('Text is already set, ignoring update', text);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.state.settings = {\n\n  // module info\n  name           : 'State',\n\n  // debug output\n  debug          : false,\n\n  // verbose debug output\n  verbose        : false,\n\n  // namespace for events\n  namespace      : 'state',\n\n  // debug data includes performance\n  performance    : true,\n\n  // callback occurs on state change\n  onActivate     : function() {},\n  onDeactivate   : function() {},\n  onChange       : function() {},\n\n  // state test functions\n  activateTest   : function() { return true; },\n  deactivateTest : function() { return true; },\n\n  // whether to automatically map default states\n  automatic      : true,\n\n  // activate / deactivate changes all elements instantiated at same time\n  sync           : false,\n\n  // default flash text duration, used for temporarily changing text of an element\n  flashDuration  : 1000,\n\n  // selector filter\n  filter     : {\n    text   : '.loading, .disabled',\n    active : '.disabled'\n  },\n\n  context    : false,\n\n  // error\n  error: {\n    beforeSend : 'The before send function has cancelled state change',\n    method     : 'The method you called is not defined.'\n  },\n\n  // metadata\n  metadata: {\n    promise    : 'promise',\n    storedText : 'stored-text'\n  },\n\n  // change class on state\n  className: {\n    active   : 'active',\n    disabled : 'disabled',\n    error    : 'error',\n    loading  : 'loading',\n    success  : 'success',\n    warning  : 'warning'\n  },\n\n  selector: {\n    // selector for text node\n    text: false\n  },\n\n  defaults : {\n    input: {\n      disabled : true,\n      loading  : true,\n      active   : true\n    },\n    button: {\n      disabled : true,\n      loading  : true,\n      active   : true,\n    },\n    progress: {\n      active   : true,\n      success  : true,\n      warning  : true,\n      error    : true\n    }\n  },\n\n  states     : {\n    active   : true,\n    disabled : true,\n    error    : true,\n    loading  : true,\n    success  : true,\n    warning  : true\n  },\n\n  text     : {\n    disabled   : false,\n    flash      : false,\n    hover      : false,\n    active     : false,\n    inactive   : false,\n    activate   : false,\n    deactivate : false\n  }\n\n};\n\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Visibility\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.visibility = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.visibility.settings, parameters)\n          : $.extend({}, $.fn.visibility.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n        metadata        = settings.metadata,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $placeholder,\n\n        selector        = $module.selector || '',\n        instance        = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        disabled        = false,\n\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', settings);\n\n          module.setup.cache();\n\n          if( module.should.trackChanges() ) {\n\n            if(settings.type == 'image') {\n              module.setup.image();\n            }\n            if(settings.type == 'fixed') {\n              module.setup.fixed();\n            }\n\n            if(settings.observeChanges) {\n              module.observeChanges();\n            }\n            module.bind.events();\n          }\n\n          module.save.position();\n          if( !module.is.visible() ) {\n            module.error(error.visible, $module);\n          }\n\n          if(settings.initialCheck) {\n            module.checkVisibility();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.debug('Storing instance', module);\n          $module\n            .data(moduleNamespace, module)\n          ;\n          instance = module;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module');\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load'   + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $context\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.verbose('DOM tree modified, updating visibility calculations');\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu');\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding visibility events to scroll and resize');\n            if(settings.refreshOnLoad) {\n              $window\n                .on('load'   + eventNamespace, module.event.load)\n              ;\n            }\n            $window\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $context\n              .off('scroll'      + eventNamespace)\n              .on('scroll'       + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          resize: function() {\n            module.debug('Window resized');\n            if(settings.refreshOnResize) {\n              requestAnimationFrame(module.refresh);\n            }\n          },\n          load: function() {\n            module.debug('Page finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          // publishes scrollchange event on one scroll\n          scroll: function() {\n            if(settings.throttle) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              }, settings.throttle);\n            }\n            else {\n              requestAnimationFrame(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              });\n            }\n          },\n          // subscribes to scrollchange\n          scrollchange: function(event, scrollPosition) {\n            module.checkVisibility(scrollPosition);\n          },\n        },\n\n        precache: function(images, callback) {\n          if (!(images instanceof Array)) {\n            images = [images];\n          }\n          var\n            imagesLength  = images.length,\n            loadedCounter = 0,\n            cache         = [],\n            cacheImage    = document.createElement('img'),\n            handleLoad    = function() {\n              loadedCounter++;\n              if (loadedCounter >= images.length) {\n                if ($.isFunction(callback)) {\n                  callback();\n                }\n              }\n            }\n          ;\n          while (imagesLength--) {\n            cacheImage         = document.createElement('img');\n            cacheImage.onload  = handleLoad;\n            cacheImage.onerror = handleLoad;\n            cacheImage.src     = images[imagesLength];\n            cache.push(cacheImage);\n          }\n        },\n\n        enableCallbacks: function() {\n          module.debug('Allowing callbacks to occur');\n          disabled = false;\n        },\n\n        disableCallbacks: function() {\n          module.debug('Disabling all callbacks temporarily');\n          disabled = true;\n        },\n\n        should: {\n          trackChanges: function() {\n            if(methodInvoked) {\n              module.debug('One time query, no need to bind events');\n              return false;\n            }\n            module.debug('Callbacks being attached');\n            return true;\n          }\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              occurred : {},\n              screen   : {},\n              element  : {},\n            };\n          },\n          image: function() {\n            var\n              src = $module.data(metadata.src)\n            ;\n            if(src) {\n              module.verbose('Lazy loading image', src);\n              settings.once           = true;\n              settings.observeChanges = false;\n\n              // show when top visible\n              settings.onOnScreen = function() {\n                module.debug('Image on screen', element);\n                module.precache(src, function() {\n                  module.set.image(src);\n                });\n              };\n            }\n          },\n          fixed: function() {\n            module.debug('Setting up fixed');\n            settings.once           = false;\n            settings.observeChanges = false;\n            settings.initialCheck   = true;\n            settings.refreshOnLoad  = true;\n            if(!parameters.transition) {\n              settings.transition = false;\n            }\n            module.create.placeholder();\n            module.debug('Added placeholder', $placeholder);\n            settings.onTopPassed = function() {\n              module.debug('Element passed, adding fixed position', $module);\n              module.show.placeholder();\n              module.set.fixed();\n              if(settings.transition) {\n                if($.fn.transition !== undefined) {\n                  $module.transition(settings.transition, settings.duration);\n                }\n              }\n            };\n            settings.onTopPassedReverse = function() {\n              module.debug('Element returned to position, removing fixed', $module);\n              module.hide.placeholder();\n              module.remove.fixed();\n            };\n          }\n        },\n\n        create: {\n          placeholder: function() {\n            module.verbose('Creating fixed position placeholder');\n            $placeholder = $module\n              .clone(false)\n              .css('display', 'none')\n              .addClass(className.placeholder)\n              .insertAfter($module)\n            ;\n          }\n        },\n\n        show: {\n          placeholder: function() {\n            module.verbose('Showing placeholder');\n            $placeholder\n              .css('display', 'block')\n              .css('visibility', 'hidden')\n            ;\n          }\n        },\n        hide: {\n          placeholder: function() {\n            module.verbose('Hiding placeholder');\n            $placeholder\n              .css('display', 'none')\n              .css('visibility', '')\n            ;\n          }\n        },\n\n        set: {\n          fixed: function() {\n            module.verbose('Setting element to fixed position');\n            $module\n              .addClass(className.fixed)\n              .css({\n                position : 'fixed',\n                top      : settings.offset + 'px',\n                left     : 'auto',\n                zIndex   : '1'\n              })\n            ;\n          },\n          image: function(src) {\n            $module\n              .attr('src', src)\n            ;\n            if(settings.transition) {\n              if( $.fn.transition !== undefined ) {\n                $module.transition(settings.transition, settings.duration);\n              }\n              else {\n                $module.fadeIn(settings.duration);\n              }\n            }\n            else {\n              $module.show();\n            }\n          }\n        },\n\n        is: {\n          onScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.onScreen;\n          },\n          offScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.offScreen;\n          },\n          visible: function() {\n            if(module.cache && module.cache.element) {\n              return !(module.cache.element.width === 0 && module.cache.element.offset.top === 0);\n            }\n            return false;\n          }\n        },\n\n        refresh: function() {\n          module.debug('Refreshing constants (width/height)');\n          if(settings.type == 'fixed') {\n            module.remove.fixed();\n            module.remove.occurred();\n          }\n          module.reset();\n          module.save.position();\n          if(settings.checkOnRefresh) {\n            module.checkVisibility();\n          }\n          settings.onRefresh.call(element);\n        },\n\n        reset: function() {\n          module.verbose('Reseting all cached values');\n          if( $.isPlainObject(module.cache) ) {\n            module.cache.screen = {};\n            module.cache.element = {};\n          }\n        },\n\n        checkVisibility: function(scroll) {\n          module.verbose('Checking visibility of element', module.cache.element);\n\n          if( !disabled && module.is.visible() ) {\n\n            // save scroll position\n            module.save.scroll(scroll);\n\n            // update calculations derived from scroll\n            module.save.calculations();\n\n            // percentage\n            module.passed();\n\n            // reverse (must be first)\n            module.passingReverse();\n            module.topVisibleReverse();\n            module.bottomVisibleReverse();\n            module.topPassedReverse();\n            module.bottomPassedReverse();\n\n            // one time\n            module.onScreen();\n            module.offScreen();\n            module.passing();\n            module.topVisible();\n            module.bottomVisible();\n            module.topPassed();\n            module.bottomPassed();\n\n            // on update callback\n            if(settings.onUpdate) {\n              settings.onUpdate.call(element, module.get.elementCalculations());\n            }\n          }\n        },\n\n        passed: function(amount, newCallback) {\n          var\n            calculations   = module.get.elementCalculations(),\n            amountInPixels\n          ;\n          // assign callback\n          if(amount && newCallback) {\n            settings.onPassed[amount] = newCallback;\n          }\n          else if(amount !== undefined) {\n            return (module.get.pixelsPassed(amount) > calculations.pixelsPassed);\n          }\n          else if(calculations.passing) {\n            $.each(settings.onPassed, function(amount, callback) {\n              if(calculations.bottomVisible || calculations.pixelsPassed > module.get.pixelsPassed(amount)) {\n                module.execute(callback, amount);\n              }\n              else if(!settings.once) {\n                module.remove.occurred(callback);\n              }\n            });\n          }\n        },\n\n        onScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOnScreen,\n            callbackName = 'onScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for onScreen', newCallback);\n            settings.onOnScreen = newCallback;\n          }\n          if(calculations.onScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOnScreen;\n          }\n        },\n\n        offScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOffScreen,\n            callbackName = 'offScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for offScreen', newCallback);\n            settings.onOffScreen = newCallback;\n          }\n          if(calculations.offScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOffScreen;\n          }\n        },\n\n        passing: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassing,\n            callbackName = 'passing'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing', newCallback);\n            settings.onPassing = newCallback;\n          }\n          if(calculations.passing) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.passing;\n          }\n        },\n\n\n        topVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisible,\n            callbackName = 'topVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible', newCallback);\n            settings.onTopVisible = newCallback;\n          }\n          if(calculations.topVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topVisible;\n          }\n        },\n\n        bottomVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisible,\n            callbackName = 'bottomVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible', newCallback);\n            settings.onBottomVisible = newCallback;\n          }\n          if(calculations.bottomVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomVisible;\n          }\n        },\n\n        topPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassed,\n            callbackName = 'topPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed', newCallback);\n            settings.onTopPassed = newCallback;\n          }\n          if(calculations.topPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topPassed;\n          }\n        },\n\n        bottomPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassed,\n            callbackName = 'bottomPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed', newCallback);\n            settings.onBottomPassed = newCallback;\n          }\n          if(calculations.bottomPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomPassed;\n          }\n        },\n\n        passingReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassingReverse,\n            callbackName = 'passingReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing reverse', newCallback);\n            settings.onPassingReverse = newCallback;\n          }\n          if(!calculations.passing) {\n            if(module.get.occurred('passing')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return !calculations.passing;\n          }\n        },\n\n\n        topVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisibleReverse,\n            callbackName = 'topVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible reverse', newCallback);\n            settings.onTopVisibleReverse = newCallback;\n          }\n          if(!calculations.topVisible) {\n            if(module.get.occurred('topVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.topVisible;\n          }\n        },\n\n        bottomVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisibleReverse,\n            callbackName = 'bottomVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible reverse', newCallback);\n            settings.onBottomVisibleReverse = newCallback;\n          }\n          if(!calculations.bottomVisible) {\n            if(module.get.occurred('bottomVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomVisible;\n          }\n        },\n\n        topPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassedReverse,\n            callbackName = 'topPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed reverse', newCallback);\n            settings.onTopPassedReverse = newCallback;\n          }\n          if(!calculations.topPassed) {\n            if(module.get.occurred('topPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.onTopPassed;\n          }\n        },\n\n        bottomPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassedReverse,\n            callbackName = 'bottomPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed reverse', newCallback);\n            settings.onBottomPassedReverse = newCallback;\n          }\n          if(!calculations.bottomPassed) {\n            if(module.get.occurred('bottomPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomPassed;\n          }\n        },\n\n        execute: function(callback, callbackName) {\n          var\n            calculations = module.get.elementCalculations(),\n            screen       = module.get.screenCalculations()\n          ;\n          callback = callback || false;\n          if(callback) {\n            if(settings.continuous) {\n              module.debug('Callback being called continuously', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n            else if(!module.get.occurred(callbackName)) {\n              module.debug('Conditions met', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n          }\n          module.save.occurred(callbackName);\n        },\n\n        remove: {\n          fixed: function() {\n            module.debug('Removing fixed position');\n            $module\n              .removeClass(className.fixed)\n              .css({\n                position : '',\n                top      : '',\n                left     : '',\n                zIndex   : ''\n              })\n            ;\n          },\n          occurred: function(callback) {\n            if(callback) {\n              var\n                occurred = module.cache.occurred\n              ;\n              if(occurred[callback] !== undefined && occurred[callback] === true) {\n                module.debug('Callback can now be called again', callback);\n                module.cache.occurred[callback] = false;\n              }\n            }\n            else {\n              module.cache.occurred = {};\n            }\n          }\n        },\n\n        save: {\n          calculations: function() {\n            module.verbose('Saving all calculations necessary to determine positioning');\n            module.save.direction();\n            module.save.screenCalculations();\n            module.save.elementCalculations();\n          },\n          occurred: function(callback) {\n            if(callback) {\n              if(module.cache.occurred[callback] === undefined || (module.cache.occurred[callback] !== true)) {\n                module.verbose('Saving callback occurred', callback);\n                module.cache.occurred[callback] = true;\n              }\n            }\n          },\n          scroll: function(scrollPosition) {\n            scrollPosition      = scrollPosition + settings.offset || $context.scrollTop() + settings.offset;\n            module.cache.scroll = scrollPosition;\n          },\n          direction: function() {\n            var\n              scroll     = module.get.scroll(),\n              lastScroll = module.get.lastScroll(),\n              direction\n            ;\n            if(scroll > lastScroll && lastScroll) {\n              direction = 'down';\n            }\n            else if(scroll < lastScroll && lastScroll) {\n              direction = 'up';\n            }\n            else {\n              direction = 'static';\n            }\n            module.cache.direction = direction;\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            var\n              element = module.cache.element,\n              screen  = module.get.screenSize()\n            ;\n            module.verbose('Saving element position');\n            // (quicker than $.extend)\n            element.fits          = (element.height < screen.height);\n            element.offset        = $module.offset();\n            element.width         = $module.outerWidth();\n            element.height        = $module.outerHeight();\n            // store\n            module.cache.element = element;\n            return element;\n          },\n          elementCalculations: function() {\n            var\n              screen     = module.get.screenCalculations(),\n              element    = module.get.elementPosition()\n            ;\n            // offset\n            if(settings.includeMargin) {\n              element.margin        = {};\n              element.margin.top    = parseInt($module.css('margin-top'), 10);\n              element.margin.bottom = parseInt($module.css('margin-bottom'), 10);\n              element.top    = element.offset.top - element.margin.top;\n              element.bottom = element.offset.top + element.height + element.margin.bottom;\n            }\n            else {\n              element.top    = element.offset.top;\n              element.bottom = element.offset.top + element.height;\n            }\n\n            // visibility\n            element.topVisible       = (screen.bottom >= element.top);\n            element.topPassed        = (screen.top >= element.top);\n            element.bottomVisible    = (screen.bottom >= element.bottom);\n            element.bottomPassed     = (screen.top >= element.bottom);\n            element.pixelsPassed     = 0;\n            element.percentagePassed = 0;\n\n            // meta calculations\n            element.onScreen  = (element.topVisible && !element.bottomPassed);\n            element.passing   = (element.topPassed && !element.bottomPassed);\n            element.offScreen = (!element.onScreen);\n\n            // passing calculations\n            if(element.passing) {\n              element.pixelsPassed     = (screen.top - element.top);\n              element.percentagePassed = (screen.top - element.top) / element.height;\n            }\n            module.cache.element = element;\n            module.verbose('Updated element calculations', element);\n            return element;\n          },\n          screenCalculations: function() {\n            var\n              scroll = module.get.scroll()\n            ;\n            module.save.direction();\n            module.cache.screen.top    = scroll;\n            module.cache.screen.bottom = scroll + module.cache.screen.height;\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            module.verbose('Saving window position');\n            module.cache.screen = {\n              height: $context.height()\n            };\n          },\n          position: function() {\n            module.save.screenSize();\n            module.save.elementPosition();\n          }\n        },\n\n        get: {\n          pixelsPassed: function(amount) {\n            var\n              element = module.get.elementCalculations()\n            ;\n            if(amount.search('%') > -1) {\n              return ( element.height * (parseInt(amount, 10) / 100) );\n            }\n            return parseInt(amount, 10);\n          },\n          occurred: function(callback) {\n            return (module.cache.occurred !== undefined)\n              ? module.cache.occurred[callback] || false\n              : false\n            ;\n          },\n          direction: function() {\n            if(module.cache.direction === undefined) {\n              module.save.direction();\n            }\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementPosition();\n            }\n            return module.cache.element;\n          },\n          elementCalculations: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementCalculations();\n            }\n            return module.cache.element;\n          },\n          screenCalculations: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenCalculations();\n            }\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenSize();\n            }\n            return module.cache.screen;\n          },\n          scroll: function() {\n            if(module.cache.scroll === undefined) {\n              module.save.scroll();\n            }\n            return module.cache.scroll;\n          },\n          lastScroll: function() {\n            if(module.cache.screen === undefined) {\n              module.debug('First scroll event, no last scroll could be found');\n              return false;\n            }\n            return module.cache.screen.top;\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        instance.save.scroll();\n        instance.save.calculations();\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.visibility.settings = {\n\n  name                   : 'Visibility',\n  namespace              : 'visibility',\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  // whether to use mutation observers to follow changes\n  observeChanges         : true,\n\n  // check position immediately on init\n  initialCheck           : true,\n\n  // whether to refresh calculations after all page images load\n  refreshOnLoad          : true,\n\n  // whether to refresh calculations after page resize event\n  refreshOnResize        : true,\n\n  // should call callbacks on refresh event (resize, etc)\n  checkOnRefresh         : true,\n\n  // callback should only occur one time\n  once                   : true,\n\n  // callback should fire continuously whe evaluates to true\n  continuous             : false,\n\n  // offset to use with scroll top\n  offset                 : 0,\n\n  // whether to include margin in elements position\n  includeMargin          : false,\n\n  // scroll context for visibility checks\n  context                : window,\n\n  // visibility check delay in ms (defaults to animationFrame)\n  throttle               : false,\n\n  // special visibility type (image, fixed)\n  type                   : false,\n\n  // image only animation settings\n  transition             : 'fade in',\n  duration               : 1000,\n\n  // array of callbacks for percentage\n  onPassed               : {},\n\n  // standard callbacks\n  onOnScreen             : false,\n  onOffScreen            : false,\n  onPassing              : false,\n  onTopVisible           : false,\n  onBottomVisible        : false,\n  onTopPassed            : false,\n  onBottomPassed         : false,\n\n  // reverse callbacks\n  onPassingReverse       : false,\n  onTopVisibleReverse    : false,\n  onBottomVisibleReverse : false,\n  onTopPassedReverse     : false,\n  onBottomPassedReverse  : false,\n\n  // utility callbacks\n  onUpdate               : false, // disabled by default for performance\n  onRefresh              : function(){},\n\n  metadata : {\n    src: 'src'\n  },\n\n  className: {\n    fixed       : 'fixed',\n    placeholder : 'placeholder'\n  },\n\n  error : {\n    method  : 'The method you called is not defined.',\n    visible : 'Element is hidden, you must call refresh after element becomes visible'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "dist/asset/style/dashboard.css",
    "content": "/*\nThese styles are only used in the WordPress dashboard.\n*/\n\nbody.wp-admin * {\n\tbox-sizing: content-box;\n}\n\nbody.wp-admin {\n\tbackground: none;\n}\n\nbody.wp-admin * .ui, body.wp-admin * .ui * {\n\tbox-sizing: border-box;\n}\n\nbody.login {\n\tbackground: #f1f1f1;\n}\n\nblockquote {\n\tbackground-color: rgba(230, 230, 250, 0.25);\n\tborder-left: 4px solid rgba(0, 0, 0, 0.15);\n\tpadding: 0.5em 10px 0.5em 2.2em;\n\tquotes: \"\\201C\"\"\\201D\"\"\\201C\"\"\\201D\";\n\tz-index: 10;\n}\n\nblockquote:before {\n\tfont-family: 'Roboto', 'Open Sans', sans-serif;\n\tcolor: rgba(0, 0, 0, 0.15);\n\tcontent: open-quote;\n\tvertical-align: middle;\n\tposition: absolute;\n\tmargin: 0.45em 0 0 -0.45em;\n\tfont-size: 64px;\n\tline-height: 0px;\n\tz-index: 5;\n}\n\nblockquote cite {\n\tdisplay: block;\n\tmargin-top: 0.8em;\n\ttext-align: right;\n}\n\nblockquote p {\n\tdisplay: inline;\n}\n\n\n.ui .button {\n\theight: auto;\n}\n\ninput {\n\tline-height: normal;\n}\n\n#wpbody-content *.menu {\n\tpadding-top: 0;\n}\n\n#wpbody-content {\n\tpadding-bottom: 182px;\n}\n\n/*** Fix blank space in wp dashboard sidebar ***/\n#wpwrap #adminmenuback{\n\tz-index:initial;\n}\n"
  },
  {
    "path": "dist/asset/style/main.css",
    "content": "/*\n | Table of Contents\n |==================\n |  - Normalize (minified)\n |  - Typography\n |  - Tags\n |  - Classes\n |  - Utility Classes\n |  - IDs\n |  - Media Queries\n*/\n\n/*** normalize.css v3.0.1 | MIT License | git.io/normalize ***/\nhtml{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}\n\n\n/* General Rule */\n*:not(#wpadminbar *) {\n\tbox-sizing: border-box;\n\tmax-width: 100%;\n\tword-wrap: break-word;\n}\n\n\n\n/*** Typography ***/\n\nbody {\n\tfont-family: 'Open Sans', sans-serif;\n\tfont-size: 16px;\n\tline-height: 1.7em;\n}\n\ncode, pre, kbd, samp, tt {\n\tfont-family: \"Droid Sans Mono\", \"Courier New\", monospace;\n\ttab-size: 4;\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\t-webkit-tab-size: 4;\n}\n\ncode, kbd, samp, tt {\n\tvertical-align: baseline;\n\tbackground-color:#eee;\n\twhite-space: pre-line;\n\tborder-radius:2px;\n\tborder:1px solid #ddd;\n\tborder-bottom-color:#bbb;\n\tborder-right-color:#ccc;\n\tpadding:1px 4px;\n\tline-height:1.35em;\n\tdisplay: inline-block;\n}\n\ncode *, kbd *, samp *, tt * {\n\twhite-space: pre-line;\n}\n\nh1, h1:not(.ui) *,\nh2, h2:not(.ui) *,\nh3, h3:not(.ui) *,\nh4, h4:not(.ui) *,\nh5, h5:not(.ui) *,\nh6, h6:not(.ui) * {\n\tfont-family: 'Roboto', 'Open Sans', sans-serif;\n\tfont-weight: 300;\n\tmargin-top: 0.4rem;\n\tmargin-bottom: 0.9rem;\n\tcolor: #333;\n\tpadding: 2px 0;\n\tline-height: normal;\n\tclear: both;\n}\n\nh1 {\n\tfont-size: 2.5rem;\n}\n\nh2 {\n\tfont-size: 2.1rem;\n}\n\nh3 {\n\tfont-size: 1.6rem;\n}\n\nh4 {\n\tfont-size: 1.4rem;\n}\n\nh5 {\n\tfont-size: 1rem;\n\tfont-weight: 400;\n}\n\nh6 {\n\tfont-size: 0.92rem;\n\tfont-weight: 700;\n}\n\nkbd {\n\tbackground-image:-moz-linear-gradient(#f1f1f1, #ddd);\n\tbackground-image:-webkit-linear-gradient(#f1f1f1, #ddd);\n\tbackground-image:linear-gradient(#f1f1f1, #ddd);\n\tbackground-repeat:repeat-x;\n}\n\nmark, ins {\n\tbackground-color: rgba(250, 250, 0, 0.45);\n\ttext-decoration: none;\n\tpadding-left: 0.2em;\n\tpadding-right: 0.2em;\n}\n\npre {\n\tbackground-color:#eee;\n\tpadding: 0.4em 1em;\n\tborder-radius:4px;\n\tborder:1px solid #ddd;\n\tborder-bottom-color:#bbb;\n\tborder-right-color:#ccc;\n\tfont-size: 14px;\n\tdisplay: block;\n\tmargin: 0 0 0 auto;\n\twhite-space: pre-wrap;\n\tline-height: 1.6em;\n}\n\npre code {\n\twhite-space: pre-wrap;\n\tbackground: none;\n\tline-height: inherit;\n\tpadding: 0;\n\tborder: none;\n\tdisplay: inline;\n}\n\na { /* Override */\n\tcolor: #006758;\n\tfont-weight: 600;\n\ttext-decoration: none;\n}\n\na:hover, a:focus, a:active { /* Override */\n\tcolor: #333333;\n}\n\na.inverted { /* Override */\n\tcolor: #FFFFFF;\n\tfont-weight: 600;\n\ttext-decoration: none;\n}\n\na.inverted:hover, a.inverted:focus, a.inverted:active { /* Override */\n\tcolor: #878787;\n}\n\n\n/*** Tags ***/\n\nhtml, body.mce-content-body {\n\t/* Fixes Post Editor */\n\theight: inherit !important;\n}\n\nblockquote {\n\tbackground-color: rgba(230, 230, 250, 0.25);\n\tborder-left: 4px solid rgba(0, 0, 0, 0.15);\n\tpadding: 0.5em 10px 0.5em 2.2em;\n\tquotes: \"\\201C\"\"\\201D\"\"\\201C\"\"\\201D\";\n\tz-index: 10;\n}\n\nblockquote:before {\n\tfont-family: 'Roboto', 'Open Sans', sans-serif;\n\tcolor: rgba(0, 0, 0, 0.15);\n\tcontent: open-quote;\n\tvertical-align: middle;\n\tposition: absolute;\n\tmargin: 0.45em 0 0 -0.45em;\n\tfont-size: 64px;\n\tline-height: 0px;\n\tz-index: 5;\n}\n\nblockquote cite {\n\tdisplay: block;\n\tmargin-top: 0.8em;\n\ttext-align: right;\n}\n\nblockquote p {\n\tdisplay: inline;\n}\n\nfigure.gallery-item {\n\tdisplay: inline-block;\n}\n\nimg {\n\theight: auto;\n\tmax-width: 100%;\n\tpadding: 0.3rem;\n}\n\n/*** Classes ***/\n\n.aligncenter {\n\tdisplay: block;\n\tmargin: 0 auto;\n}\n\n.alignleft {\n\tfloat:left;\n}\n\n.alignright {\n\tfloat:right;\n}\n\n.bypostauthor {\n\t/* I think this has to do with a comment's author??? */\n}\n\n.entry, .wp-widget {\n\toverflow: hidden;\n}\n\n.entry-media {\n\tposition: relative !important;\n\tdisplay: block;\n\twidth:100%;\n\tpadding: 0.5em 1em !important;\n\tmargin: 0 0 0 -1em !important;\n\tborder: none;\n\tbox-sizing: content-box !important;\n\tz-index: 1;\n}\n\n.entry-media::before {\n\tcontent: \"\";\n\tbackground-image: url(../image/subtle-patterns/diagonal-noise.png);\n\tbackground-position: top center;\n\topacity: 0.45;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tposition: absolute;\n\tz-index: 5;\n}\n\n.entry-media > img {\n\tz-index: 10;\n\tdisplay: block;\n\tmargin: 0 auto;\n\theight: auto;\n\twidth: auto;\n\tposition: relative;\n\tmax-height: 400px;\n\tmax-width: 100%;\n}\n\n.entry-title {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.entry-summery,\n.entry-content,\n.entry-summery p,\n.entry-content p,\n.widget * {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tword-wrap: break-word;\n}\n\n.gallery-caption {\n\t/* [todo] style gallery captions */\n}\n\n.pad, td#prev, td#next {\n\tborder-left: none;\n\tborder-right: none;\n}\n\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n.sticky {\n\t/* [todo] make sticky posts stick-out */\n}\n\n.tagcloud {\n\ttext-align: center;\n}\n\n.ui * {\n\tfont-family: 'Open Sans', sans-serif;\n}\n\n.wp-caption{\n\tmax-width: 100%;\n\twidth: auto !important;\n\ttext-align: center;\n}\n\n.wp-caption-text{\n\tmargin: 0 auto;\n\tpadding: 0.25em 1em 0.25em 1.8em;\n\tmax-width: 90%;\n\tfont-size: 0.9em;\n\tborder-radius: 0.3em;\n\tborder: 1px solid #ccc;\n\tbackground: #fff;\n}\n\n\n\n/*** Utility Classes ***/\n\n.centered:not(ui):not(ui *) {\n\ttext-align: center;\n}\n\n.empty:not(ui):not(ui *) {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n.empty.size-5:not(ui):not(ui *) { height: 5px; }\n.empty.size-10:not(ui):not(ui *) { height: 10px; }\n.empty.size-15:not(ui):not(ui *) { height: 15px; }\n.empty.size-20:not(ui):not(ui *) { height: 20px; }\n.empty.size-25:not(ui):not(ui *) { height: 25px; }\n.empty.size-30:not(ui):not(ui *) { height: 30px; }\n.empty.size-35:not(ui):not(ui *) { height: 35px; }\n.empty.size-40:not(ui):not(ui *) { height: 40px; }\n.empty.size-45:not(ui):not(ui *) { height: 45px; }\n.empty.size-50:not(ui):not(ui *) { height: 50px; }\n.empty.size-60:not(ui):not(ui *) { height: 60px; }\n.empty.size-70:not(ui):not(ui *) { height: 70px; }\n.empty.size-80:not(ui):not(ui *) { height: 80px; }\n.empty.size-90:not(ui):not(ui *) { height: 90px; }\n.empty.size-100:not(ui):not(ui *) { height: 100px; }\n\n.hidden:not(ui):not(ui *) {\n\tdisplay: none;\n}\n\n\n\n/*** ID's ***/\n\n#calendar_wrap {\n\ttext-align: center;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n#main-content-grid {\n\tbackground-color: #ffffff;\n}\n\n#main-header-grid {\n\tpadding-top: 1.5rem;\n}\n\n#main-footer-grid {\n\tbackground-position: bottom center;\n}\n\n#suiwp-usage-tracker {\n\tdisplay: block;\n\tz-index: -100;\n\tposition: relative;\n\tmargin: -1px 0 0 0;\n\tpadding: 0;\n\theight: 1px;\n\twidth: 1px;\n}\n\n#wp-calendar {\n\tdisplay: inline-block;\n\tfont-size: 1.05em;\n}\n\n#wp-calendar, .tagcloud {\n\tmargin-top: 1em;\n}\n\n\n\n/*** Media Queries ***/\n\n@media only screen and (max-width: 249px) {\n\t/* Really small screens */\n}\n\n@media only screen and (min-width: 250px) {\n\t/* Older smartphones */\n}\n\n@media only screen and (min-width: 500px) {\n\t/* HD smartphones & small tablets */\n}\n\n@media only screen and (min-width: 750px) {\n\t/* Old computer screens & most tablets */\n}\n\n@media only screen and (min-width: 1000px) {\n\t/* Standard Desktop */\n}\n\n@media only screen and (min-width: 1250px) {\n\t/* HD desktop & possibly TV's */\n}\n"
  },
  {
    "path": "dist/asset/style/normalize.css",
    "content": "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n *    without disabling user zoom.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -ms-text-size-adjust: 100%; /* 2 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; /* 1 */\n  font: inherit; /* 2 */\n  margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n"
  },
  {
    "path": "dist/asset/style/webicons.css",
    "content": "/*!\nWebicons by Adam Fairhead at Fairhead Creative http://fairheadcreative.com\nWebicons by http://fairheadcreative.com is licensed under the Creative Commons\nAttribution 4.0 International License. To view a copy of this license, visit\nhttp://creativecommons.org/licenses/by/4.0/.\n*/\n.webicon {\n  display: inline-block;\n  background-size: 100%;\n  width: 30px;\n  height: 30px;\n  text-indent: -999em;\n  text-align: left;\n  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n  -moz-border-radius: 5px;\n  -webkit-border-radius: 5px;\n  border-radius: 5px;\n  margin-bottom: 5px; }\n\n.webicon:hover {\n  margin: -1px 0 1px;\n  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18); }\n\n.webicon.mini {\n  width: 15px;\n  height: 15px;\n  -moz-border-radius: 2px;\n  -webkit-border-radius: 2px;\n  border-radius: 2px; }\n\n.webicon.tiny {\n  width: 20px;\n  height: 20px;\n  -moz-border-radius: 3px;\n  -webkit-border-radius: 3px;\n  border-radius: 3px; }\n\n.webicon.small {\n  width: 25px;\n  height: 25px;\n  -moz-border-radius: 4px;\n  -webkit-border-radius: 4px;\n  border-radius: 4px; }\n\n.webicon.large {\n  width: 35px;\n  height: 35px;\n  -moz-border-radius: 6px;\n  -webkit-border-radius: 6px;\n  border-radius: 6px; }\n\n.webicon.big {\n  width: 40px;\n  height: 40px;\n  -moz-border-radius: 7px;\n  -webkit-border-radius: 7px;\n  border-radius: 7px; }\n\n.webicon.huge {\n  width: 45px;\n  height: 45px;\n  -moz-border-radius: 8px;\n  -webkit-border-radius: 8px;\n  border-radius: 8px; }\n\n.webicon.massive {\n  width: 48px;\n  height: 48px;\n  -moz-border-radius: 9px;\n  -webkit-border-radius: 9px;\n  border-radius: 9px; }\n\n/* restore webicons accessibility for print */\n@media print {\n  * {\n    background: transparent !important;\n    color: #000 !important;\n    -moz-box-shadow: none !important;\n    -webkit-box-shadow: none !important;\n    box-shadow: none !important;\n    text-shadow: none !important; }\n  .webicon {\n    text-indent: 0;\n    width: auto !important;\n    height: auto !important;\n    -moz-border-radius: 0 !important;\n    -webkit-border-radius: 0 !important;\n    border-radius: 0 !important; } }\n\n.no-svg .webicon.f500px {\n  background: url(\"../image/webicons/webicon-f500px.png\"); }\n\n.svg .webicon.f500px {\n  background: url(\"../image/webicons/webicon-f500px.svg\"); }\n\n.no-svg .webicon.aboutme {\n  background: url(\"../image/webicons/webicon-aboutme.png\"); }\n\n.svg .webicon.aboutme {\n  background: url(\"../image/webicons/webicon-aboutme.svg\"); }\n\n.no-svg .webicon.adn {\n  background: url(\"../image/webicons/webicon-adn.png\"); }\n\n.svg .webicon.adn {\n  background: url(\"../image/webicons/webicon-adn.svg\"); }\n\n.no-svg .webicon.android {\n  background: url(\"../image/webicons/webicon-android.png\"); }\n\n.svg .webicon.android {\n  background: url(\"../image/webicons/webicon-android.svg\"); }\n\n.no-svg .webicon.apple {\n  background: url(\"../image/webicons/webicon-apple.png\"); }\n\n.svg .webicon.apple {\n  background: url(\"../image/webicons/webicon-apple.svg\"); }\n\n.no-svg .webicon.behance {\n  background: url(\"../image/webicons/webicon-behance.png\"); }\n\n.svg .webicon.behance {\n  background: url(\"../image/webicons/webicon-behance.svg\"); }\n\n.no-svg .webicon.bitbucket {\n  background: url(\"../image/webicons/webicon-bitbucket.png\"); }\n\n.svg .webicon.bitbucket {\n  background: url(\"../image/webicons/webicon-bitbucket.svg\"); }\n\n.no-svg .webicon.blogger {\n  background: url(\"../image/webicons/webicon-blogger.png\"); }\n\n.svg .webicon.blogger {\n  background: url(\"../image/webicons/webicon-blogger.svg\"); }\n\n.no-svg .webicon.branch {\n  background: url(\"../image/webicons/webicon-branch.png\"); }\n\n.svg .webicon.branch {\n  background: url(\"../image/webicons/webicon-branch.svg\"); }\n\n.no-svg .webicon.coderwall {\n  background: url(\"../image/webicons/webicon-coderwall.png\"); }\n\n.svg .webicon.coderwall {\n  background: url(\"../image/webicons/webicon-coderwall.svg\"); }\n\n.no-svg .webicon.creativecloud {\n  background: url(\"../image/webicons/webicon-creativecloud.png\"); }\n\n.svg .webicon.creativecloud {\n  background: url(\"../image/webicons/webicon-creativecloud.svg\"); }\n\n.no-svg .webicon.deviantart {\n  background: url(\"../image/webicons/webicon-deviantart.png\"); }\n\n.svg .webicon.deviantart {\n  background: url(\"../image/webicons/webicon-deviantart.svg\"); }\n\n.no-svg .webicon.dribbble {\n  background: url(\"../image/webicons/webicon-dribbble.png\"); }\n\n.svg .webicon.dribbble {\n  background: url(\"../image/webicons/webicon-dribbble.svg\"); }\n\n.no-svg .webicon.dropbox {\n  background: url(\"../image/webicons/webicon-dropbox.png\"); }\n\n.svg .webicon.dropbox {\n  background: url(\"../image/webicons/webicon-dropbox.svg\"); }\n\n.no-svg .webicon.evernote {\n  background: url(\"../image/webicons/webicon-evernote.png\"); }\n\n.svg .webicon.evernote {\n  background: url(\"../image/webicons/webicon-evernote.svg\"); }\n\n.no-svg .webicon.fairheadcreative {\n  background: url(\"../image/webicons/webicon-fairheadcreative.png\"); }\n\n.svg .webicon.fairheadcreative {\n  background: url(\"../image/webicons/webicon-fairheadcreative.svg\"); }\n\n.no-svg .webicon.facebook {\n  background: url(\"../image/webicons/webicon-facebook.png\"); }\n\n.svg .webicon.facebook {\n  background: url(\"../image/webicons/webicon-facebook.svg\"); }\n\n.no-svg .webicon.flickr {\n  background: url(\"../image/webicons/webicon-flickr.png\"); }\n\n.svg .webicon.flickr {\n  background: url(\"../image/webicons/webicon-flickr.svg\"); }\n\n.no-svg .webicon.foursquare {\n  background: url(\"../image/webicons/webicon-foursquare.png\"); }\n\n.svg .webicon.foursquare {\n  background: url(\"../image/webicons/webicon-foursquare.svg\"); }\n\n.no-svg .webicon.git {\n  background: url(\"../image/webicons/webicon-git.png\"); }\n\n.svg .webicon.git {\n  background: url(\"../image/webicons/webicon-git.svg\"); }\n\n.no-svg .webicon.github {\n  background: url(\"../image/webicons/webicon-github.png\"); }\n\n.svg .webicon.github {\n  background: url(\"../image/webicons/webicon-github.svg\"); }\n\n.no-svg .webicon.goodreads {\n  background: url(\"../image/webicons/webicon-goodreads.png\"); }\n\n.svg .webicon.goodreads {\n  background: url(\"../image/webicons/webicon-goodreads.svg\"); }\n\n.no-svg .webicon.google {\n  background: url(\"../image/webicons/webicon-google.png\"); }\n\n.svg .webicon.google {\n  background: url(\"../image/webicons/webicon-google.svg\"); }\n\n.no-svg .webicon.googleplay {\n  background: url(\"../image/webicons/webicon-googleplay.png\"); }\n\n.svg .webicon.googleplay {\n  background: url(\"../image/webicons/webicon-googleplay.svg\"); }\n\n.no-svg .webicon.googleplus {\n  background: url(\"../image/webicons/webicon-googleplus.png\"); }\n\n.svg .webicon.googleplus {\n  background: url(\"../image/webicons/webicon-googleplus.svg\"); }\n\n.no-svg .webicon.hangouts {\n  background: url(\"../image/webicons/webicon-hangouts.png\"); }\n\n.svg .webicon.hangouts {\n  background: url(\"../image/webicons/webicon-hangouts.svg\"); }\n\n.no-svg .webicon.html5 {\n  background: url(\"../image/webicons/webicon-html5.png\"); }\n\n.svg .webicon.html5 {\n  background: url(\"../image/webicons/webicon-html5.svg\"); }\n\n.no-svg .webicon.icloud {\n  background: url(\"../image/webicons/webicon-icloud.png\"); }\n\n.svg .webicon.icloud {\n  background: url(\"../image/webicons/webicon-icloud.svg\"); }\n\n.no-svg .webicon.indiegogo {\n  background: url(\"../image/webicons/webicon-indiegogo.png\"); }\n\n.svg .webicon.indiegogo {\n  background: url(\"../image/webicons/webicon-indiegogo.svg\"); }\n\n.no-svg .webicon.instagram {\n  background: url(\"../image/webicons/webicon-instagram.png\"); }\n\n.svg .webicon.instagram {\n  background: url(\"../image/webicons/webicon-instagram.svg\"); }\n\n.no-svg .webicon.instapaper {\n  background: url(\"../image/webicons/webicon-instapaper.png\"); }\n\n.svg .webicon.instapaper {\n  background: url(\"../image/webicons/webicon-instapaper.svg\"); }\n\n.no-svg .webicon.kickstarter {\n  background: url(\"../image/webicons/webicon-kickstarter.png\"); }\n\n.svg .webicon.kickstarter {\n  background: url(\"../image/webicons/webicon-kickstarter.svg\"); }\n\n.no-svg .webicon.klout {\n  background: url(\"../image/webicons/webicon-klout.png\"); }\n\n.svg .webicon.klout {\n  background: url(\"../image/webicons/webicon-klout.svg\"); }\n\n.no-svg .webicon.lastfm {\n  background: url(\"../image/webicons/webicon-lastfm.png\"); }\n\n.svg .webicon.lastfm {\n  background: url(\"../image/webicons/webicon-lastfm.svg\"); }\n\n.no-svg .webicon.linkedin {\n  background: url(\"../image/webicons/webicon-linkedin.png\"); }\n\n.svg .webicon.linkedin {\n  background: url(\"../image/webicons/webicon-linkedin.svg\"); }\n\n.no-svg .webicon.mail {\n  background: url(\"../image/webicons/webicon-mail.png\"); }\n\n.svg .webicon.mail {\n  background: url(\"../image/webicons/webicon-mail.svg\"); }\n\n.no-svg .webicon.medium {\n  background: url(\"../image/webicons/webicon-medium.png\"); }\n\n.svg .webicon.medium {\n  background: url(\"../image/webicons/webicon-medium.svg\"); }\n\n.no-svg .webicon.mixi {\n  background: url(\"../image/webicons/webicon-mixi.png\"); }\n\n.svg .webicon.mixi {\n  background: url(\"../image/webicons/webicon-mixi.svg\"); }\n\n.no-svg .webicon.msn {\n  background: url(\"../image/webicons/webicon-msn.png\"); }\n\n.svg .webicon.msn {\n  background: url(\"../image/webicons/webicon-msn.svg\"); }\n\n.no-svg .webicon.openid {\n  background: url(\"../image/webicons/webicon-openid.png\"); }\n\n.svg .webicon.openid {\n  background: url(\"../image/webicons/webicon-openid.svg\"); }\n\n.no-svg .webicon.picasa {\n  background: url(\"../image/webicons/webicon-picasa.png\"); }\n\n.svg .webicon.picasa {\n  background: url(\"../image/webicons/webicon-picasa.svg\"); }\n\n.no-svg .webicon.pinterest {\n  background: url(\"../image/webicons/webicon-pinterest.png\"); }\n\n.svg .webicon.pinterest {\n  background: url(\"../image/webicons/webicon-pinterest.svg\"); }\n\n.no-svg .webicon.pocketapp {\n  background: url(\"../image/webicons/webicon-pocketapp.png\"); }\n\n.svg .webicon.pocketapp {\n  background: url(\"../image/webicons/webicon-pocketapp.svg\"); }\n\n.no-svg .webicon.potluck {\n  background: url(\"../image/webicons/webicon-potluck.png\"); }\n\n.svg .webicon.potluck {\n  background: url(\"../image/webicons/webicon-potluck.svg\"); }\n\n.no-svg .webicon.quora {\n  background: url(\"../image/webicons/webicon-quora.png\"); }\n\n.svg .webicon.quora {\n  background: url(\"../image/webicons/webicon-quora.svg\"); }\n\n.no-svg .webicon.orkut {\n  background: url(\"../image/webicons/webicon-orkut.png\"); }\n\n.svg .webicon.orkut {\n  background: url(\"../image/webicons/webicon-orkut.svg\"); }\n\n.no-svg .webicon.mercurial {\n  background: url(\"../image/webicons/webicon-mercurial.png\"); }\n\n.svg .webicon.mercurial {\n  background: url(\"../image/webicons/webicon-mercurial.svg\"); }\n\n.no-svg .webicon.rdio {\n  background: url(\"../image/webicons/webicon-rdio.png\"); }\n\n.svg .webicon.rdio {\n  background: url(\"../image/webicons/webicon-rdio.svg\"); }\n\n.no-svg .webicon.reddit {\n  background: url(\"../image/webicons/webicon-reddit.png\"); }\n\n.svg .webicon.reddit {\n  background: url(\"../image/webicons/webicon-reddit.svg\"); }\n\n.no-svg .webicon.renren {\n  background: url(\"../image/webicons/webicon-renren.png\"); }\n\n.svg .webicon.renren {\n  background: url(\"../image/webicons/webicon-renren.svg\"); }\n\n.no-svg .webicon.rss {\n  background: url(\"../image/webicons/webicon-rss.png\"); }\n\n.svg .webicon.rss {\n  background: url(\"../image/webicons/webicon-rss.svg\"); }\n\n.no-svg .webicon.skitch {\n  background: url(\"../image/webicons/webicon-skitch.png\"); }\n\n.svg .webicon.skitch {\n  background: url(\"../image/webicons/webicon-skitch.svg\"); }\n\n.no-svg .webicon.skype {\n  background: url(\"../image/webicons/webicon-skype.png\"); }\n\n.svg .webicon.skype {\n  background: url(\"../image/webicons/webicon-skype.svg\"); }\n\n.no-svg .webicon.soundcloud {\n  background: url(\"../image/webicons/webicon-soundcloud.png\"); }\n\n.svg .webicon.soundcloud {\n  background: url(\"../image/webicons/webicon-soundcloud.svg\"); }\n\n.no-svg .webicon.spotify {\n  background: url(\"../image/webicons/webicon-spotify.png\"); }\n\n.svg .webicon.spotify {\n  background: url(\"../image/webicons/webicon-spotify.svg\"); }\n\n.no-svg .webicon.stackoverflow {\n  background: url(\"../image/webicons/webicon-stackoverflow.png\"); }\n\n.svg .webicon.stackoverflow {\n  background: url(\"../image/webicons/webicon-stackoverflow.svg\"); }\n\n.no-svg .webicon.stumbleupon {\n  background: url(\"../image/webicons/webicon-stumbleupon.png\"); }\n\n.svg .webicon.stumbleupon {\n  background: url(\"../image/webicons/webicon-stumbleupon.svg\"); }\n\n.no-svg .webicon.svtle {\n  background: url(\"../image/webicons/webicon-svtle.png\"); }\n\n.svg .webicon.svtle {\n  background: url(\"../image/webicons/webicon-svtle.svg\"); }\n\n.no-svg .webicon.svn {\n  background: url(\"../image/webicons/webicon-svn.png\"); }\n\n.svg .webicon.svn {\n  background: url(\"../image/webicons/webicon-svn.svg\"); }\n\n.no-svg .webicon.tent {\n  background: url(\"../image/webicons/webicon-tent.png\"); }\n\n.svg .webicon.tent {\n  background: url(\"../image/webicons/webicon-tent.svg\"); }\n\n.no-svg .webicon.tripadvisor {\n  background: url(\"../image/webicons/webicon-tripadvisor.png\"); }\n\n.svg .webicon.tripadvisor {\n  background: url(\"../image/webicons/webicon-tripadvisor.svg\"); }\n\n.no-svg .webicon.tumblr {\n  background: url(\"../image/webicons/webicon-tumblr.png\"); }\n\n.svg .webicon.tumblr {\n  background: url(\"../image/webicons/webicon-tumblr.svg\"); }\n\n.no-svg .webicon.twitter {\n  background: url(\"../image/webicons/webicon-twitter.png\"); }\n\n.svg .webicon.twitter {\n  background: url(\"../image/webicons/webicon-twitter.svg\"); }\n\n.no-svg .webicon.viadeo {\n  background: url(\"../image/webicons/webicon-viadeo.png\"); }\n\n.svg .webicon.viadeo {\n  background: url(\"../image/webicons/webicon-viadeo.svg\"); }\n\n.no-svg .webicon.vine {\n  background: url(\"../image/webicons/webicon-vine.png\"); }\n\n.svg .webicon.vine {\n  background: url(\"../image/webicons/webicon-vine.svg\"); }\n\n.no-svg .webicon.vimeo {\n  background: url(\"../image/webicons/webicon-vimeo.png\"); }\n\n.svg .webicon.vimeo {\n  background: url(\"../image/webicons/webicon-vimeo.svg\"); }\n\n.no-svg .webicon.weibo {\n  background: url(\"../image/webicons/webicon-weibo.png\"); }\n\n.svg .webicon.weibo {\n  background: url(\"../image/webicons/webicon-weibo.svg\"); }\n\n.no-svg .webicon.windows {\n  background: url(\"../image/webicons/webicon-windows.png\"); }\n\n.svg .webicon.windows {\n  background: url(\"../image/webicons/webicon-windows.svg\"); }\n\n.no-svg .webicon.wordpress {\n  background: url(\"../image/webicons/webicon-wordpress.png\"); }\n\n.svg .webicon.wordpress {\n  background: url(\"../image/webicons/webicon-wordpress.svg\"); }\n\n.no-svg .webicon.xing {\n  background: url(\"../image/webicons/webicon-xing.png\"); }\n\n.svg .webicon.xing {\n  background: url(\"../image/webicons/webicon-xing.svg\"); }\n\n.no-svg .webicon.yahoo {\n  background: url(\"../image/webicons/webicon-yahoo.png\"); }\n\n.svg .webicon.yahoo {\n  background: url(\"../image/webicons/webicon-yahoo.svg\"); }\n\n.no-svg .webicon.yelp {\n  background: url(\"../image/webicons/webicon-yelp.png\"); }\n\n.svg .webicon.yelp {\n  background: url(\"../image/webicons/webicon-yelp.svg\"); }\n\n.no-svg .webicon.youtube {\n  background: url(\"../image/webicons/webicon-youtube.png\"); }\n\n.svg .webicon.youtube {\n  background: url(\"../image/webicons/webicon-youtube.svg\"); }\n\n.no-svg .webicon.youversion {\n  background: url(\"../image/webicons/webicon-youversion.png\"); }\n\n.svg .webicon.youversion {\n  background: url(\"../image/webicons/webicon-youversion.svg\"); }\n\n.no-svg .webicon.zerply {\n  background: url(\"../image/webicons/webicon-zerply.png\"); }\n\n.svg .webicon.zerply {\n  background: url(\"../image/webicons/webicon-zerply.svg\"); }\n"
  },
  {
    "path": "dist/asset/style/webicons.scss",
    "content": "/*!\nWebicons by Adam Fairhead at Fairhead Creative http://fairheadcreative.com\nWebicons by http://fairheadcreative.com is licensed under the Creative Commons\nAttribution 4.0 International License. To view a copy of this license, visit\nhttp://creativecommons.org/licenses/by/4.0/.\n*/\n\n.webicon {\n\tdisplay: inline-block;\n\tbackground-size: 100%;\n\twidth: 30px;\n\theight: 30px;\n\ttext-indent: -999em;\n\ttext-align: left;\n\t-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n\t-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n\tbox-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius: 5px;\n\tborder-radius: 5px; margin-bottom: 5px;\n}\n\n.webicon:hover {\n\tmargin: -1px 0 1px;\n\t-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n\t-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n\tbox-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n}\n\n.webicon.mini {\n\twidth: 15px;\n\theight: 15px;\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n}\n\n.webicon.tiny {\n\twidth: 20px;\n\theight: 20px;\n\t-moz-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n}\n\n.webicon.small {\n\twidth: 25px;\n\theight: 25px;\n\t-moz-border-radius: 4px;\n\t-webkit-border-radius: 4px;\n\tborder-radius: 4px;\n}\n\n.webicon.large {\n\twidth: 35px;\n\theight: 35px;\n\t-moz-border-radius: 6px;\n\t-webkit-border-radius: 6px;\n\tborder-radius: 6px;\n}\n\n.webicon.big {\n\twidth: 40px;\n\theight: 40px;\n\t-moz-border-radius: 7px;\n\t-webkit-border-radius: 7px;\n\tborder-radius: 7px;\n}\n\n.webicon.huge {\n\twidth: 45px;\n\theight: 45px;\n\t-moz-border-radius: 8px;\n\t-webkit-border-radius: 8px;\n\tborder-radius: 8px;\n}\n\n.webicon.massive {\n\twidth: 48px;\n\theight: 48px;\n\t-moz-border-radius: 9px;\n\t-webkit-border-radius: 9px;\n\tborder-radius: 9px;\n}\n\n/* restore webicons accessibility for print */\n@media print {\n\t* {\n\t\tbackground: transparent !important;\n\t\tcolor: #000 !important;\n\t\t-moz-box-shadow: none !important;\n\t\t-webkit-box-shadow: none !important;\n\t\tbox-shadow: none !important;\n\t\ttext-shadow: none !important;\n\t}\n\t\n\t.webicon {\n\t\ttext-indent: 0;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\t-moz-border-radius: 0 !important;\n\t\t-webkit-border-radius: 0 !important;\n\t\tborder-radius: 0 !important;\n\t}\n}\n\n// Include or remove the icons you want to use on your site from this list.\n$webicons-icons: f500px aboutme adn android apple behance bitbucket blogger branch coderwall creativecloud deviantart dribbble dropbox evernote fairheadcreative facebook flickr foursquare git github goodreads google googleplay googleplus hangouts html5 icloud indiegogo instagram instapaper kickstarter klout lastfm linkedin mail medium mixi msn openid picasa pinterest pocketapp potluck quora orkut mercurial rdio reddit renren rss skitch skype soundcloud spotify stackoverflow stumbleupon svtle svn tent tripadvisor tumblr twitter viadeo vine vimeo weibo windows wordpress xing yahoo yelp youtube youversion zerply;\n\n// Specify the path to the webicons directory here. Include trailing slash.\n$webicons-url: \"../image/webicons/\" !default;\n\n@each $webicons-icon in $webicons-icons {\n\t.no-svg .webicon.#{$webicons-icon} {\n\t\tbackground: url(\"#{$webicons-url}webicon-#{$webicons-icon}.png\");\n\t}\n\t\n\t.svg .webicon.#{$webicons-icon} {\n\t\tbackground: url(\"#{$webicons-url}webicon-#{$webicons-icon}.svg\");\n\t}\n}\n"
  },
  {
    "path": "dist/content/404.php",
    "content": "<?php\n/**\n * In most cases it is best to give your users at least 2 options on a 404 page:\n *   - Allow them to search for what they were looking for\n *   - Give them a link to the home page\n */\n?><div class=\"ui basic segment entry\">\n\t<h2 class=\"ui large dividing header entry-title\">\n\t\tError 404\n\t\t<div class=\"sub header\">The page you requested could not be found</div>\n\t</h2>\n\t<section class=\"ui basic segment entry-content\">\n\t\t<div class=\"ui middle aligned stackable grid\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"one wide column\">\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<div class=\"six wide center aligned column\">\n\t\t\t\t\tTry to find page you were looking for: <br><br>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t/*\n\t\t\t\t\t\tThe wrapper is removed from the widget because not only is it not needed, but the bottom\n\t\t\t\t\t\tborder of the input tag is invisible on webkit browsers when a parent tag has the class\n\t\t\t\t\t\t\"widget\"\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tthe_widget('WP_Widget_Search', array(), array('before_widget' => '', 'after_widget' => ''));\n\t\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"one wide column\">\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui vertical divider\">\n\t\t\t\t\tOR\n\t\t\t\t</div>\n\t\t\t\t<div class=\"eight wide center aligned column\">\n\t\t\t\t\t<a class=\"ui large button\" href=\"<?php echo home_url('/'); ?>\">Go To Homepage</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</div>\n"
  },
  {
    "path": "dist/content/comments.php",
    "content": "<?php\n/**\n * This file is copied from the WordPress 4.4 theme-compat folder\n * \n * Semantic UI style comments will be added in the near future, but for now this\n * can give you a good idea of what to expect.\n */\n\n\nif ( post_password_required() ) { ?>\n\t<p class=\"nocomments\"><?php _e('This post is password protected. Enter the password to view comments.'); ?></p>\n<?php\n\treturn;\n}\n?>\n\n<?php if ( have_comments() ) : ?>\n\t<h3 id=\"comments\">\n\t\t<?php\n\t\t\tif ( 1 == get_comments_number() ) {\n\t\t\t\t/* translators: %s: post title */\n\t\t\t\tprintf( __( 'One response to %s' ),  '&#8220;' . get_the_title() . '&#8221;' );\n\t\t\t} else {\n\t\t\t\t/* translators: 1: number of comments, 2: post title */\n\t\t\t\tprintf( _n( '%1$s response to %2$s', '%1$s responses to %2$s', get_comments_number() ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),  '&#8220;' . get_the_title() . '&#8221;' );\n\t\t\t}\n\t\t?>\n\t</h3>\n\n\t<div class=\"navigation\">\n\t\t<div class=\"alignleft\"><?php previous_comments_link() ?></div>\n\t\t<div class=\"alignright\"><?php next_comments_link() ?></div>\n\t</div>\n\n\t<ol class=\"commentlist\">\n\t<?php wp_list_comments();?>\n\t</ol>\n\n\t<div class=\"navigation\">\n\t\t<div class=\"alignleft\"><?php previous_comments_link() ?></div>\n\t\t<div class=\"alignright\"><?php next_comments_link() ?></div>\n\t</div>\n <?php else : // this is displayed if there are no comments so far ?>\n\n\t<?php if ( comments_open() ) : ?>\n\t\t<!-- If comments are open, but there are no comments. -->\n\n\t <?php else : // comments are closed ?>\n\t\t<!-- If comments are closed. -->\n\t\t<p class=\"nocomments\"><?php _e('Comments are closed.'); ?></p>\n\n\t<?php endif; ?>\n<?php endif; ?>\n\n<?php if ( comments_open() ) : ?>\n\n<div id=\"respond\">\n\n<h3><?php comment_form_title( __('Leave a Reply'), __('Leave a Reply to %s' ) ); ?></h3>\n\n<div id=\"cancel-comment-reply\">\n\t<small><?php cancel_comment_reply_link() ?></small>\n</div>\n\n<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>\n<p><?php printf(__('You must be <a href=\"%s\">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>\n<?php else : ?>\n\n<form action=\"<?php echo site_url(); ?>/wp-comments-post.php\" method=\"post\" id=\"commentform\">\n\n<?php if ( is_user_logged_in() ) : ?>\n\n<p><?php /* translators: %s: user profile link  */\nprintf( __( 'Logged in as %s.' ), sprintf( '<a href=\"%1$s\">%2$s</a>', get_edit_user_link(), $user_identity ) ); ?>\n<a href=\"<?php echo wp_logout_url( get_permalink() ); ?>\" title=\"<?php esc_attr_e( 'Log out of this account' ); ?>\"><?php _e( 'Log out &raquo;' ); ?></a></p>\n\n<?php else : ?>\n\n<p><input type=\"text\" name=\"author\" id=\"author\" value=\"<?php echo esc_attr($comment_author); ?>\" size=\"22\" tabindex=\"1\" <?php if ($req) echo \"aria-required='true'\"; ?> />\n<label for=\"author\"><small><?php _e('Name'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>\n\n<p><input type=\"text\" name=\"email\" id=\"email\" value=\"<?php echo esc_attr($comment_author_email); ?>\" size=\"22\" tabindex=\"2\" <?php if ($req) echo \"aria-required='true'\"; ?> />\n<label for=\"email\"><small><?php _e('Mail (will not be published)'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>\n\n<p><input type=\"text\" name=\"url\" id=\"url\" value=\"<?php echo  esc_attr($comment_author_url); ?>\" size=\"22\" tabindex=\"3\" />\n<label for=\"url\"><small><?php _e('Website'); ?></small></label></p>\n\n<?php endif; ?>\n\n<p><textarea name=\"comment\" id=\"comment\" cols=\"58\" rows=\"10\" tabindex=\"4\"></textarea></p>\n\n<p><input name=\"submit\" type=\"submit\" id=\"submit\" tabindex=\"5\" value=\"<?php esc_attr_e('Submit Comment'); ?>\" />\n<?php comment_id_fields(); ?>\n</p>\n<?php comment_form(); ?>\n\n</form>\n\n<?php endif; // If registration required and not logged in ?>\n</div>\n\n<?php endif; // if you delete this the sky will fall on your head ?>\n"
  },
  {
    "path": "dist/content/empty.php",
    "content": "<?php\n/**\n * This \"empty\" file is very important because it allows you to dynamically\n * exclude any part of the theme that is included via the template_part() or\n * theme::part() functions (given the part has not already been sent to PHP's\n * buffer). The idea is to reuse or change parts instead of just deleting them.\n */\n"
  },
  {
    "path": "dist/content/first-run.php",
    "content": "<?php\n/**\n * Sometimes a page just needs to display static content that will never change.\n * There's nothing wrong with coding in pure HTML; but if you do, just make sure\n * you still use the \".php\" file extension. Both WordPress and this theme are\n * only expecting PHP files. Which could lead to undesired behavior if you don't\n * use the correct extension.\n */\n?><h3>Does this theme look plain to you? Good!</h3>\n<i>Semantic UI for WordPress</i> is a developer theme that is meant to be\nmolded into <strong>your idea</strong>. Think of this theme as a blank canvas\nthat is ready to painted into your idea of a good theme. So go nuts, and\nchange everything to make it how <strong>you</strong> think it should be.\n\n<div class=\"empty size-60\">&nbsp;</div>\n\n<div class=\"ui stacked segment\">\n\n\t<h2 class=\"centered\">&#126; Features &#126;</h2>\n\n\t<div class=\"empty size-10\">&nbsp;</div>\n\n\t<div class=\"ui three column doubling grid\">\n\t\t<div class=\"column\">\n\t\t\t<h3 class=\"ui center aligned dividing header\">What's Included</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li>Semantic UI <small>(<a target=\"_blank\" href=\"http://semantic-ui.com/\">link</a>)</small></li>\n\t\t\t\t<li>Google Web Fonts <small>(<a target=\"_blank\" href=\"https://www.google.com/fonts\">link</a>)</small></li>\n\t\t\t\t<li>Font Awesome <small>(<a target=\"_blank\" href=\"http://fortawesome.github.io/Font-Awesome/\">link</a>)</small></li>\n\t\t\t\t<li>Subtle Patterns <small>(<a target=\"_blank\" href=\"http://subtlepatterns.com/\">link</a>)</small></li>\n\t\t\t\t<li>Webicons <small>(<a target=\"_blank\" href=\"https://github.com/adamfairhead/webicons\">link</a>)</small></li>\n\t\t\t\t<li>Highlight.js <small>(<a target=\"_blank\" href=\"https://highlightjs.org/\">link</a>)</small></li>\n\t\t\t\t<li>Mousetrap.js <small>(<a target=\"_blank\" href=\"http://craig.is/killing/mice\">link</a>)</small></li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div class=\"column\">\n\t\t\t<h3 class=\"ui center aligned dividing header\">WordPress Integrations</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li>Theme Options Page</li>\n\t\t\t\t<li>Basic Woocommerce Support</li>\n\t\t\t\t<li>Post Thumbnails &amp; Formats</li>\n\t\t\t\t<li>Dynamic Sidebars/Widget Areas</li>\n\t\t\t\t<li>Scripts &amp; Styles Enqueue</li>\n\t\t\t\t<li>WP Admin Bar Links</li>\n\t\t\t\t<li>Custom Dashboard Footer</li>\n\t\t\t\t<li>Semantic UI Search Form</li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div class=\"column\">\n\t\t\t<h3 class=\"ui center aligned dividing header\">Practices In Use</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li>Responsive Web Design <small>(HTML5/CSS3)</small></li>\n\t\t\t\t<li>Object Oriented Programming</li>\n\t\t\t\t<li>Lots Of Code Comments</li>\n\t\t\t\t<li>Pleanty Of Code Examples</li>\n\t\t\t\t<li>Structured Data Markup <small>(<a target=\"_blank\" href=\"https://support.google.com/webmasters/answer/3069489\">link</a>)</small></li>\n\t\t\t\t<li>Non-Repetitious Code</li>\n\t\t\t\t<li>Semantic File-System Structure</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n\t\n</div>\n\n<div class=\"empty size-40\">&nbsp;</div>\n\n<div class=\"ui three column stackable grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui basic secondary segment\">\n\t\t\t<div class=\"empty size-10\">&nbsp;</div>\n\t\t\t<h3 class=\"centered\">Getting started</h3>\n\t\t\t\n\t\t\tFirst, turn off this first-run page (so you can see your work), then head\n\t\t\tover to the <a target=\"_blank\" href=\"<?php echo admin_url().'themes.php?page=dev_notes'; ?>\">Developers Notes</a> page.\n\t\t\t<br><br>\n\t\t\tThe dev notes are there to help you understand how the theme works, and\n\t\t\tget you started on removing, replacing, and extending features\n\t\t\t<div class=\"empty size-20\">&nbsp;</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui basic secondary segment\">\n\t\t\t<div class=\"empty size-10\">&nbsp;</div>\n\t\t\t<h3 class=\"centered\">Want To Contribute?</h3>\n\t\t\t\n\t\t\t<b>For Semantic UI:</b><br>\n\t\t\tVisit <a target=\"_blank\" href=\"http://semantic-ui.com/project/contributing.html#/contributing\">this page</a>\n\t\t\tto learn how to contribute to Semantic UI\n\t\t\t<br><br>\n\t\t\t<b>For This Theme:</b><br>\n\t\t\tTo make suggestions or submit code, see <a target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress#contributing-to-this-wordpress-theme\">this page</a>.\n\t\t\t<div class=\"empty size-20\">&nbsp;</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui basic secondary segment\">\n\t\t\t<div class=\"empty size-10\">&nbsp;</div>\n\t\t\t<h3 class=\"centered\">Need Help?</h3>\n\t\t\t\n\t\t\tIf your having trouble, found a bug, or are otherwise in need of some\n\t\t\thelp, please let me know by creating an <a target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues\">issue on Github</a>.\n\t\t\t<br><br>\n\t\t\tPlease try to be as detailed as you can, and if possible, please post examples\n\t\t\tof your problem.\n\t\t\t<div class=\"empty size-20\">&nbsp;</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=\"empty size-40\">&nbsp;</div>\n"
  },
  {
    "path": "dist/content/footer-none.php",
    "content": "<?php\n/**\n * The footer without any visible content.\n */\n?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<!-- Modals -->\n\t<?php template_part($theme->content_sub_path.'/modals'); ?>\n\t<!-- /Modals -->\n\t\n\t<?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "dist/content/footer.php",
    "content": "<?php\n/**\n * The default footer.\n */\n?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<footer class=\"ui page stackable grid\" id=\"main-footer-grid\">\n\t\t\t\t<?php\n\t\t\t\t$footer_sidebar = 'footer-widget-area-footer';\n\t\t\t\tif (is_active_sidebar($footer_sidebar)) {\n\t\t\t\t\t?>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"sixteen wide column\">\n\t\t\t\t\t\t\t<div class=\"ui three column doubling grid\">\n\t\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t\tdynamic_sidebar($footer_sidebar);\n\t\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<?php\n\t\t\t\t}\n\t\t\t\tif (has_nav_menu($menu_loc = 'footer-menu')) {\n\t\t\t\t\t?>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"sixteen wide column\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\twp_nav_menu(array(\n\t\t\t\t\t\t\t\t'theme_location'  => $menu_loc,\n\t\t\t\t\t\t\t\t'menu_class'      => 'ui menu',\n\t\t\t\t\t\t\t\t'items_wrap'      => '<nav id=\"%1$s\" class=\"%2$s\">%3$s</nav>',\n\t\t\t\t\t\t\t\t'depth'           => 2, // currently there is a bug that prevents a depth > 2 from displaying correctly\n\t\t\t\t\t\t\t\t'walker'          => new \\semantic\\walker\\nav_menu\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<?php\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"eight wide column\">\n\t\t\t\t\t\t<div class=\"ui center aligned basic segment\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tif ($theme->get_option('powered_by')) {\n\t\t\t\t\t\t\t\t?>Proudly Powered By <a class=\"inverted\" href=\"http://wordpress.org/\">WordPress</a> &amp; <a class=\"inverted\" href=\"http://semantic-ui.com/\">Semantic UI</a>.<?php\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"eight wide column\">\n\t\t\t\t\t\t<div class=\"ui center aligned basic segment\">\n\t\t\t\t\t\t\t&copy; Copyright\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t$copyright_holder     = $theme->get_option('copyright_holder');\n\t\t\t\t\t\t\t$copyright_holder_url = $theme->get_option('copyright_holder_url');\n\t\t\t\t\t\t\t$copyright_year       = $theme->get_option('copyright_year');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif ($copyright_holder) {\n\t\t\t\t\t\t\t\tif ($copyright_holder_url) {\n\t\t\t\t\t\t\t\t\tprintf('<a class=\"inverted\" href=\"%1$s\">%2$s</a> ', $copyright_holder_url, $copyright_holder);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\techo $copyright_holder.' ';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ((int) $copyright_year) {\n\t\t\t\t\t\t\t\t\tsettype($copyright_year, 'integer');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$copyright_year = (int) date('Y');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t\t<a href=\"https://github.com/ProjectCleverWeb\" >Nicholas Jordon</a>\n\t\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t\t$copyright_year = 2014;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ($copyright_year == (int) date('Y')) {\n\t\t\t\t\t\t\t\techo $copyright_year;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\techo $copyright_year.' - '.date('Y');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ($theme->get_option('copyright_extra')) {\n\t\t\t\t\t\t\t\techo ' - All Rights Reserved';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t</div>\n\t</div>\n\t\n\t<!-- Modals -->\n\t<?php template_part($theme->content_sub_path.'/modals'); ?>\n\t<!-- /Modals -->\n\t\n\t\n\t<?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "dist/content/head.php",
    "content": "<?php\n/**\n * The default content of <head> in the document\n */\n\n?><meta charset=\"<?php bloginfo( 'charset' ); ?>\">\n\n<title><?php wp_title('|'); ?></title>\n\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n<?php\nif ($theme->get_option('meta_keywords_enabled') && !empty($theme->get_option('meta_keywords'))) {\n\t?>\n\t<meta name=\"keywords\" content=\"<?php esc_attr_e($theme->get_option('meta_keywords')); ?>\">\n\t<?php\n}\nif ($theme->get_option('meta_favicon_enabled') && !empty($theme->get_option('meta_favicon'))) {\n\t?>\n\t<link rel=\"shortcut icon\" href=\"<?php esc_attr_e($theme->get_option('meta_favicon')); ?>\">\n\t<?php\n}\nif ($theme->get_option('meta_x_ua_compatible_enabled') && !empty($theme->get_option('meta_x_ua_compatible'))) {\n\t?>\n\t<meta http-equiv=\"X-UA-Compatible\" content=\"<?php esc_attr_e($theme->get_option('meta_x_ua_compatible')); ?>\">\n\t<?php\n}\nif ($theme->get_option('mobile_meta') && !empty($theme->get_option('mobile_size'))) {\n\t?>\n\t<!-- Mobile Meta -->\n\t<meta name=\"HandheldFriendly\" content=\"true\">\n\t<meta name=\"MobileOptimized\" content=\"<?php esc_attr_e($theme->get_option('mobile_size')); ?>\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n\t<!-- /Mobile Meta -->\n\t<?php\n}\n?>\n<link rel=\"pingback\" href=\"<?php bloginfo('pingback_url'); ?>\">\n<?php\nwp_head();\n\n$background_position = get_theme_mod('background_position_x', get_theme_support('custom-background', 'default-position-x'));\nif (!in_array($background_position, array('center', 'right', 'left'))) {\n\t$background_position = 'left';\n}\n\n$background_repeat = get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) );\nif (!in_array($background_repeat, array('no-repeat', 'repeat-x', 'repeat-y', 'repeat'))) {\n\t$background_repeat = 'repeat';\n}\n\n$background_attachment = get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) );\nif (!in_array($background_attachment, array( 'fixed', 'scroll'))) {\n\t$background_attachment = 'scroll';\n}\n\nprintf(\n\t'<style type=\"text/css\">#main-header-grid, #main-footer-grid { background-image:%1$s; background-position:%2$s; background-color:%3$s; background-repeat:%4$s; background-attachment:%5$s }</style>',\n\t'url(\"'.get_background_image().'\")',\n\t\"top $background_position\",\n\t'#'.get_background_color(),\n\t$background_repeat,\n\t$background_attachment\n);\n"
  },
  {
    "path": "dist/content/header-none.php",
    "content": "<?php\n/**\n * The theme header without the visible header.\n */\n\n?><!DOCTYPE html>\n<html <?php language_attributes(); ?>>\n<head>\n<?php template_part($theme->content_sub_path.'/head'); ?>\n</head>\n<body <?php body_class('public-page'); ?>>\n\t<div id=\"page-wrapper\">\n\t\t<div id=\"page-container\">\n\t\t\t<div class=\"ui middle aligned page stackable grid\" id=\"main-content-grid\">\n\t\t\t\t<div class=\"sixteen wide column\"><?php\n"
  },
  {
    "path": "dist/content/header.php",
    "content": "<?php\n/**\n * The default theme header.\n */\n\n$num_to_eng = array(\n\t0  => 'zero',\n\t1  => 'one',\n\t2  => 'two',\n\t3  => 'three',\n\t4  => 'four',\n\t5  => 'five',\n\t6  => 'six',\n\t7  => 'seven',\n\t8  => 'eight',\n\t9  => 'nine',\n\t10 => 'ten',\n\t11 => 'eleven',\n\t12 => 'twelve',\n\t13 => 'thirteen',\n\t14 => 'fourteen',\n\t15 => 'fifteen',\n\t16 => 'sixteen',\n);\n\n$logo_width = $num_to_eng[(int) $theme->get_option('logo_size')];\n$menu_width = $num_to_eng[(16 - (int) $theme->get_option('logo_size'))];\n\n\n?><!DOCTYPE html>\n<html <?php language_attributes(); ?>>\n<head>\n<?php template_part($theme->content_sub_path.'/head'); ?>\n</head>\n<body <?php body_class('public-page'); ?>>\n\t<div id=\"page-wrapper\">\n\t\t<div id=\"page-container\">\n\t\t\t<header class=\"ui middle aligned stackable page grid\" id=\"main-header-grid\">\n\t\t\t\t<?php\n\t\t\t\tif ($logo_width != 'zero') {\n\t\t\t\t\t?>\n\t\t\t\t<div class=\"<?php echo $logo_width; ?> wide center aligned column\">\n\t\t\t\t\t<?php\n\t\t\t\t\tif ($theme->get_option('logo_url')) {\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<a href=\"<?php echo esc_url(home_url('/')); ?>\" rel=\"home\">\n\t\t\t\t\t\t\t<img src=\"<?php echo $theme->get_option('logo_url'); ?>\" alt=\"company logo\">\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t}\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<?php\n\t\t\t\t} // logo width\n\t\t\t\t\n\t\t\t\tif ($menu_width != 'zero') {\n\t\t\t\t\t?>\n\t\t\t\t<div class=\"<?php echo $menu_width; ?> wide column\">\n\t\t\t\t\t<?php\n\t\t\t\t\tif ($theme->get_option('header_text') || $theme->get_option('header_subtext')) {\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<h1 class=\"ui huge inverted center aligned header\">\n\t\t\t\t\t\t\t<?php echo $theme->get_option('header_text'); ?>\n\t\t\t\t\t\t\t<div class=\"sub header\">\n\t\t\t\t\t\t\t\t<?php echo $theme->get_option('header_subtext'); ?>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t}\n\t\t\t\t\tif (has_nav_menu($menu_loc = 'main-menu')) {\n\t\t\t\t\t\twp_nav_menu(array(\n\t\t\t\t\t\t\t'theme_location'  => $menu_loc,\n\t\t\t\t\t\t\t'menu_class'      => 'ui menu',\n\t\t\t\t\t\t\t'items_wrap'      => '<nav id=\"%1$s\" class=\"%2$s\">%3$s</nav>',\n\t\t\t\t\t\t\t'depth'           => 2, // currently there is a bug that prevents a depth > 2 from displaying correctly\n\t\t\t\t\t\t\t'walker'          => new \\semantic\\walker\\nav_menu\n\t\t\t\t\t\t));\n\t\t\t\t\t}\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t<?php\n\t\t\t} // menu width\n\t\t\t?>\n\t\t\t</header>\n\t\t\t<div class=\"ui page stackable grid\" id=\"main-content-grid\">\n\t\t\t\t<div class=\"sixteen wide column\"><?php\n"
  },
  {
    "path": "dist/content/login-form.php",
    "content": "<?php\n/**\n * This is a simplified example of how to create a login page for WordPress.\n */\n?><div class=\"ui center aligned container\">\n\t<img src=\"<?php echo site_url('/wp-admin/images/wordpress-logo.svg'); ?>\" class=\"image\">\n</div>\n<form class=\"ui form\" action=\"<?php echo esc_url(wp_login_url()); ?>\" method=\"post\">\n\t<?php\n\tif (!empty($_REQUEST['redirect'])) {\n\t\tprintf('<input type=\"hidden\" name=\"redirect_to\" value=\"%s\" />', esc_url($_REQUEST['redirect']));\n\t}\n\t?>\n\t<div class=\"ui raised top attached segment\">\n\t\t<div class=\"field\">\n\t\t\t<div class=\"ui left icon input\">\n\t\t\t\t<i class=\"user icon\"></i>\n\t\t\t\t<input type=\"text\" name=\"log\" placeholder=\"Username\">\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"field\">\n\t\t\t<div class=\"ui left icon input\">\n\t\t\t\t<i class=\"lock icon\"></i>\n\t\t\t\t<input type=\"password\" name=\"pwd\" placeholder=\"Password\">\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"field\">\n\t\t\t<div class=\"ui checkbox\">\n\t\t\t\t<input name=\"rememberme\" type=\"checkbox\" tabindex=\"0\" class=\"hidden\" value=\"forever\">\n\t\t\t\t<label>Remember Me</label>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"ui two bottom attached buttons\">\n\t\t<a href=\"<?php echo esc_url(home_url('/')); ?>\" class=\"ui black button\">Cancel</a>\n\t\t<button type=\"submit\" name=\"wp-submit\" class=\"ui blue submit button\">Login</button>\n\t</div>\n</form>\n<div class=\"ui horizontal bulleted link list basic center aligned segment\">\n\t<?php\n\t\tif (get_option('users_can_register')) {\n\t\t\tprintf('<a class=\"item\" href=\"%s\">%s</a>', esc_url(wp_registration_url()), 'Register');\n\t\t}\n\t?>\n\t<a class=\"item\" href=\"<?php echo esc_url(wp_lostpassword_url()); ?>\">\n\t\tLost your password?\n\t</a>\n</div>\n"
  },
  {
    "path": "dist/content/loop.php",
    "content": "<?php\n/**\n * This is the standard WordPress loop and its relative content.\n * \n * This page handles the following parts of articles and pages:\n *   - Title\n *   - Tags\n *   - Post Thumbnails\n *   - Content (both the summary and full)\n *   - Author data\n *   - Pagination\n *   - Including the comments section\n */\n\nif (have_posts()) {\n\twhile (have_posts()) {\n\t\tthe_post();\n\t\t?>\n\t\t<article itemscope itemtype=\"http://schema.org/Article\" id=\"post-<?php the_ID(); ?>\" <?php post_class('ui basic segment entry'); ?>>\n\t\t\t<h2 itemprop=\"name\" class=\"ui large dividing header entry-title\">\n\t\t\t\t<?php\n\t\t\t\tif (is_singular()) {\n\t\t\t\t\tthe_title();\n\t\t\t\t} else {\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<a rel=\"bookmark\" href=\"%1$s\">%2$s</a>',\n\t\t\t\t\t\tget_the_permalink(),\n\t\t\t\t\t\tget_the_title()\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$categories = get_the_category();\n\t\t\t\tif(!empty($categories)){\n\t\t\t\t\t$cat_i     = 0;\n\t\t\t\t\t$cat_array = array();\n\t\t\t\t\tforeach($categories as $category) {\n\t\t\t\t\t\tif ($cat_i < 3) {\n\t\t\t\t\t\t\t$cat_array[] = sprintf(\n\t\t\t\t\t\t\t\t'<a href=\"%1$s\" title=\"%2$s\">%3$s</a>',\n\t\t\t\t\t\t\t\tget_category_link($category->term_id),\n\t\t\t\t\t\t\t\tesc_attr(sprintf(__('View all posts in %s', $theme::TEXT_DOMAIN), $category->name)),\n\t\t\t\t\t\t\t\t$category->cat_name\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$cat_i++;\n\t\t\t\t\t}\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<div class=\"sub header\">Filed Under: %1$s</div>',\n\t\t\t\t\t\timplode(', ', $cat_array)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t</h2>\n\t\t\t<?php\n\t\t\tif (is_singular()) {\n\t\t\t\tif (has_post_thumbnail($post->ID)) {\n\t\t\t\t\t?>\n\t\t\t\t\t<div class=\"ui basic center aligned segment entry-media\">\n\t\t\t\t\t\t<?php the_post_thumbnail(); ?>\n\t\t\t\t\t</div>\n\t\t\t\t\t<?php\n\t\t\t\t}\n\t\t\t\t?><section itemprop=\"articleBody\" class=\"ui basic segment entry-content\"><?php\n\t\t\t\tthe_content();\n\t\t\t\t\n\t\t\t\twp_link_pages( array(\n\t\t\t\t\t'before' => '<div class=\"page-links\">' . __( 'Pages:', $theme::TEXT_DOMAIN),\n\t\t\t\t\t'after'  => '</div>',\n\t\t\t\t));\n\t\t\t\t\n\t\t\t\t?></section><?php\n\t\t\t} else {\n\t\t\t\tif (has_post_thumbnail($post->ID)) {\n\t\t\t\t\t$image = wp_get_attachment_image_src(get_post_thumbnail_id((integer) $post->ID), 'single-post-thumbnail');\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<div class=\"entry-media\"><img itemprop=\"image\" src=\"%1$s\" alt=\"%2$s\"></div>',\n\t\t\t\t\t\t$image[0],\n\t\t\t\t\t\tthe_title_attribute(array('echo' => FALSE))\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t?><section itemprop=\"articleSection\" class=\"ui basic segment entry-summery\"><?php\n\t\t\t\tthe_excerpt();\n\t\t\t\t?></section><?php\n\t\t\t}\n\t\t\t?>\n\t\t\t<div class=\"ui basic segment\">\n\t\t\t\t<?php\n\t\t\t\tif (is_singular()) {\n\t\t\t\t\tedit_post_link( '<span class=\"ui tiny black right floated button\">'.__( 'Edit This', $theme::TEXT_DOMAIN).'</span>');\n\t\t\t\t} else {\n\t\t\t\t\t?><a itemprop=\"url\" href=\"<?php the_permalink(); ?>\" class=\"ui tiny black right floated button\" rel=\"bookmark\">View Post</a><?php\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t\t<span class=\"ui circular labels tags-links\">\n\t\t\t\t\t<?php\n\t\t\t\t\t$post_tags = get_the_tags();\n\t\t\t\t\tif ($post_tags) {\n\t\t\t\t\t\t$tag_i   = 0;\n\t\t\t\t\t\t$tag_str = '';\n\t\t\t\t\t\tforeach ((array) $post_tags as $tag) {\n\t\t\t\t\t\t\tif ($tag_i < 5) {\n\t\t\t\t\t\t\t\t$tag_str .= sprintf(\n\t\t\t\t\t\t\t\t\t'<a class=\"ui label\" id=\"tag-%2$s\" href=\"%3$s\">%1$s</a> ',\n\t\t\t\t\t\t\t\t\t$tag->name,\n\t\t\t\t\t\t\t\t\t$tag->term_id,\n\t\t\t\t\t\t\t\t\tget_tag_link($tag->term_id)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t$tag_i++;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\techo substr($tag_str, 0, -2);\n\t\t\t\t\t}\n\t\t\t\t\t?>\n\t\t\t\t</span>\n\t\t\t\t<div>\n\t\t\t\t\tArticle created by\n\t\t\t\t\t<span class=\"author vcard\" itemprop=\"author\" itemscope itemtype=\"http://schema.org/Person\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t$author     = get_the_author();\n\t\t\t\t\t\t$author_url = get_the_author_meta('gplus');\n\t\t\t\t\t\tif (!$author_url) {\n\t\t\t\t\t\t\t$author_url = get_the_author_meta('user_url');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ($author_url) {\n\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t'<a href=\"%2$s\" class=\"fn author-with-link\" itemprop=\"name\" title=\"%3$s\" rel=\"nofollow author external\">%1$s</a>',\n\t\t\t\t\t\t\t\t$author,\n\t\t\t\t\t\t\t\tesc_url($author_url),\n\t\t\t\t\t\t\t\tesc_attr(sprintf(__('Visit %s&#8217;s website', $theme::TEXT_DOMAIN), $author))\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t'<span class=\"fn author-no-link\" itemprop=\"name\">%1$s</span>',\n\t\t\t\t\t\t\t\t$author\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t?>\n\t\t\t\t\t</span>\n\t\t\t\t\ton\n\t\t\t\t\t<time class=\"updated\" datetime=\"<?php the_time('m-d-Y H:i'); ?>\" itemprop=\"datePublished\" content=\"<?php the_time('c'); ?>\">\n\t\t\t\t\t\t<?php the_date(); ?>\n\t\t\t\t\t</time>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</article>\n\t\t<?php\n\t\t\n\t\tif (is_singular()) {\n\t\t\tif ( comments_open() || 0 != get_comments_number()) :\n\t\t\t\tcomments_template('/'.$theme->content_sub_path.'/comments.php');\n\t\t\tendif;\n\t\t}\n\t\t\n\t}\n\t?>\n\t\n\t<?php\n\tglobal $wp_query;\n\t$pagination = paginate_links(array(\n\t\t'base'      => str_replace(9999999, '%#%', esc_url(get_pagenum_link(9999999))),\n\t\t'format'    => '?paged=%#%',\n\t\t'prev_text' => '<i class=\"left arrow icon\"></i> Previous',\n\t\t'next_text' => 'Next <i class=\"right arrow icon\"></i>',\n\t\t'end_size'  => 2,\n\t\t'current'   => max(1, get_query_var('paged')),\n\t\t'total'     => $wp_query->max_num_pages,\n\t\t'type'      => 'array'\n\t));\n\t\n\tif (!empty($pagination) && is_array($pagination)) {\n\t\tforeach ($pagination as &$link) {\n\t\t\t$link = str_ireplace('page-numbers current', 'item active', $link);\n\t\t\t$link = str_ireplace('page-numbers dots', 'item active', $link);\n\t\t\t$link = str_ireplace('page-numbers', 'item', $link);\n\t\t}\n\t\t\n\t\tprintf(\n\t\t\t'<div class=\"ui basic center aligned segment\"><div class=\"ui borderless pagination menu\">%1$s</div></div>',\n\t\t\timplode(' ', $pagination)\n\t\t);\n\t}\n}\n"
  },
  {
    "path": "dist/content/modals.php",
    "content": "<?php\n/**\n * Put any modals that should be available across the entire site here\n */\n"
  },
  {
    "path": "dist/content/theme-options/about.php",
    "content": "<div class=\"ui three column doubling grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Theme Options Page</h3>\n\t\t\t<p>Theme options in Semantic UI for WordPress are stored similarly to the traditional way to store options, with one exception; All of the options are actually stored in a JSON<sup>&Dagger;</sup> string as 1 database value (rather than each as a seperate database row). Storing information like this is ideal because it means you can store multi-layer arrays as-is in the database.</p>\n\t\t\t<p><sup>&Dagger;</sup> Since there are few cases where the extra features of <code>serialize()</code> are needed, and the JSON encode/decode functions <a target=\"_blank\" href=\"http://stackoverflow.com/questions/804045/preferred-method-to-store-php-arrays-json-encode-vs-serialize\">are about twice as fast</a>; a JSON string is the default storage method.</p>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Theme Developer</h3>\n\t\t\t<p>I'm someone who believes the best things in life are free, and that code (no matter how well done) is no exception.</p>\n\t\t\t<p>Everything I develop is meant to be shared and used by other people; when I code, I try and be mindful of what others would think. This means I always do my best to keep my code easy to read and understand.</p>\n\t\t\t<div class=\"ui basic center aligned segment\">\n\t\t\t\t<a target=\"_blank\" class=\"webicon large github\" href=\"https://github.com/ProjectCleverWeb\">Github</a>\n\t\t\t\t<a target=\"_blank\" class=\"webicon large coderwall\" href=\"https://coderwall.com/projectcleverweb\">Coderwall</a>\n\t\t\t\t<a target=\"_blank\" class=\"webicon large stackoverflow\" href=\"http://stackoverflow.com/users/3511423/nick-j\">Stack Overflow</a>\n\t\t\t\t<a target=\"_blank\" class=\"webicon large wordpress\" href=\"http://profiles.wordpress.org/njordon\">Wordpress</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Semantic UI</h3>\n\t\t\t<blockquote>\n\t\t\t\tSemantic empowers designers and developers by creating a shared vocabulary for UI. <cite>&ndash; Semantic UI Team</cite>\n\t\t\t</blockquote>\n\t\t\t<p>Semantic UI is a HTML/CSS framework developed by <a target=\"_blank\" href=\"https://github.com/jlukic\">Jack Lukic</a>. You can find out more about Semantic UI at the <a target=\"_blank\" href=\"http://semantic-ui.com/\">project's website</a>, or by visiting the <a target=\"_blank\" href=\"https://github.com/Semantic-Org/Semantic-UI\">Github repo</a>.</p>\n\t\t</div>\n\t</div>\n</div>\n"
  },
  {
    "path": "dist/content/theme-options/general.php",
    "content": "<?php\n/**\n * Here we are using Semantic UI forms\n * \n * @see http://semantic-ui.com/collections/form.html\n */\n?><div class=\"ui three column doubling grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Header</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Header Text</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"My Site Name\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('header_text'),\n\t\t\t\t\t\t$theme->get_option('header_text')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Header Sub-Text</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"My Slogan\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('header_subtext'),\n\t\t\t\t\t\t$theme->get_option('header_subtext')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Logo URL</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"http://example.com/logo.png\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('logo_url'),\n\t\t\t\t\t\t$theme->get_option('logo_url')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<label>Logo Size</label>\n\t\t\t\t<div class=\"ui stackable grid\">\n\t\t\t\t\t<div class=\"doubling two column row\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t$logo_sizes = range(0,16);\n\t\t\t\t\t\t\n\t\t\t\t\t\tforeach ($logo_sizes as $value) {\n\t\t\t\t\t\t\t$checked = '';\n\t\t\t\t\t\t\tif ($theme->get_option('logo_size') == (string) $value) {\n\t\t\t\t\t\t\t\t$checked = 'checked';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t<div class=\"column\">\n\t\t\t\t\t\t\t\t<div class=\"ui radio checkbox\">\n\t\t\t\t\t\t\t\t\t<input id=\"size-<?php echo $value; ?>\" value=\"<?php echo $value; ?>\" type=\"radio\" name=\"<?php echo $theme->option_form_name('logo_size'); ?>\" <?php echo $checked; ?>>\n\t\t\t\t\t\t\t\t\t<label for=\"size-<?php echo $value; ?>\">\n\t\t\t\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t\t\t\tif ($value == 0) {\n\t\t\t\t\t\t\t\t\t\t\techo 'No Logo';\n\t\t\t\t\t\t\t\t\t\t} elseif ($value == 16) {\n\t\t\t\t\t\t\t\t\t\t\techo 'Full Width';\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\techo $value.'/16';\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t}\n\t\t\t\t\t\t?>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Footer</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Copyright Holder</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"Person or Company Name\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('copyright_holder'),\n\t\t\t\t\t\t$theme->get_option('copyright_holder')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Copyright Holder URL</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"http://example.com/\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('copyright_holder_url'),\n\t\t\t\t\t\t$theme->get_option('copyright_holder_url')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('copyright_extra'),\n\t\t\t\t\t\t\t($theme->get_option('copyright_extra') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Show \"All Rights Reserved\" <small>(see <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/All_rights_reserved\">this</a>)</small></label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<h4 class=\"ui center aligned header\">\n\t\t\t\t\tCopyright Start Year\n\t\t\t\t\t<div class=\"sub header\">The year that your copyright started. If set to \"This Year\" then the year will update as the years go by. If a standard year is selected, then a range of years will be used in the copyright.</div>\n\t\t\t\t</h4>\n\t\t\t\t<div class=\"ui center aligned basic segment\">\n\t\t\t\t\t<div class=\"ui selection dropdown\">\n\t\t\t\t\t\t<input type=\"hidden\" name=\"<?php echo $theme->option_form_name('copyright_year'); ?>\" value=\"<?php echo $theme->get_option('copyright_year'); ?>\">\n\t\t\t\t\t\t<div class=\"default text\">This Year</div>\n\t\t\t\t\t\t<i class=\"dropdown icon\"></i>\n\t\t\t\t\t\t<div class=\"menu\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t$selected = '';\n\t\t\t\t\t\t\tif ((int) $theme->get_option('copyright_year') == 0) {\n\t\t\t\t\t\t\t\t$selected=' active';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprintf('<div class=\"item%2$s\" data-value=\"%1$s\">This Year</div>'.PHP_EOL, 0, $selected);\n\t\t\t\t\t\t\tforeach (range((int) date(\"Y\"), 1900) as $year) {\n\t\t\t\t\t\t\t\t$selected = '';\n\t\t\t\t\t\t\t\tif ((int) $theme->get_option('copyright_year') == $year) {\n\t\t\t\t\t\t\t\t\t$selected=' active';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tprintf('<div class=\"item%2$s\" data-value=\"%1$s\">%1$s</div>'.PHP_EOL, $year, $selected);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Misc.</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('first_run'),\n\t\t\t\t\t\t\t($theme->get_option('first_run') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Show First-Run</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('powered_by'),\n\t\t\t\t\t\t\t($theme->get_option('powered_by') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Show \"Powered By\" Message</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui top attached secondary inverted segment\">\n\t\t\t\t\t\n\t\t\t\t\t<h4 class=\"ui center aligned header\">WordPress Theme Editor</h4>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui bottom attached stacked segment\">\n\t\t\t\t\t<strong>WARNING:</strong> Editing a theme via WordPress's file editor is <strong>very dangerious!</strong>\n\t\t\t\t\t<br><br>\n\t\t\t\t\tModifying a theme's files without knowing the proper programming languages can often lead to your site going down.\n\t\t\t\t\tIf you <i>must</i> edit this theme's files, it is highly recommended that you use an IDE.\n\t\t\t\t\t<br><br>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t\t$theme->option_form_name('theme_editor'),\n\t\t\t\t\t\t\t\t($theme->get_option('theme_editor') ? 'checked' : '')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t<label>Allow Theme Editor</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"
  },
  {
    "path": "dist/content/theme-options/meta-tags.php",
    "content": "<div class=\"ui three column doubling grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Mobile Meta</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('mobile_meta'),\n\t\t\t\t\t\t\t($theme->get_option('mobile_meta') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable Mobile Meta</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Recommended Mobile Screen Width (without the \"px\")</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"450\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('mobile_size'),\n\t\t\t\t\t\t$theme->get_option('mobile_size')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Favicon</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('meta_favicon_enabled'),\n\t\t\t\t\t\t\t($theme->get_option('meta_favicon_enabled') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable Favicon</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>URL to favicon (png, jpg, or ico)</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"/favicon.png\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('meta_favicon'),\n\t\t\t\t\t\t$theme->get_option('meta_favicon')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">X-UA-Compatible</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('meta_x_ua_compatible_enabled'),\n\t\t\t\t\t\t\t($theme->get_option('meta_x_ua_compatible_enabled') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable X-UA-Compatible</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Configure:</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"IE=edge,chrome=1\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('meta_x_ua_compatible'),\n\t\t\t\t\t\t$theme->get_option('meta_x_ua_compatible')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Keywords</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('meta_keywords_enabled'),\n\t\t\t\t\t\t\t($theme->get_option('meta_keywords_enabled') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable Keywords</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Comma-delimited list of keywords</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"html5, ui, library, framework, javascript\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('meta_keywords'),\n\t\t\t\t\t\t$theme->get_option('meta_keywords')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"
  },
  {
    "path": "dist/content/theme-options/page.php",
    "content": "<?php\n/**\n * Theme Options Page Tabbing\n * ==========================\n * Creating tabs here is pretty straight forward:\n *   1. Create a tab menu link with an appropriate data-tab attribute\n *   2. Create a tab section with the matching data-tab attribute\n * \n * That's it.\n */\n?><div id=\"theme-options-tabs\">\n\t\n\t<!-- Tab Menu -->\n\t<div class=\"ui top attached tabular menu\">\n\t\t<a class=\"item active\" data-tab=\"first\"><i class=\"wrench icon\"></i> General</a>\n\t\t<a class=\"item\" data-tab=\"second\"><i class=\"setting icon\"></i> Meta Tags</a>\n\t\t<a class=\"item\" data-tab=\"third\"><i class=\"book icon\"></i> About</a>\n\t</div>\n\t<!-- /Tab Menu -->\n\t\n\t<form class=\"ui bottom attached segment\" method=\"POST\" action=\"<?php echo $theme->options_uri(); ?>\">\n\t\t<?php\n\t\t// This makes sure that the changes will be accepted\n\t\t$theme->options_update_data();\n\t\t?>\n\t\t\n\t\t<!-- Tab Sections -->\n\t\t<section class=\"ui tab active\" data-tab=\"first\">\n\t\t\t<?php template_part($theme->content_sub_path.'/theme-options/general'); ?>\n\t\t</section>\n\t\t<section class=\"ui tab\" data-tab=\"second\">\n\t\t\t<?php template_part($theme->content_sub_path.'/theme-options/meta-tags'); ?>\n\t\t</section>\n\t\t<section class=\"ui tab\" data-tab=\"third\">\n\t\t\t<?php template_part($theme->content_sub_path.'/theme-options/about'); ?>\n\t\t</section>\n\t\t<!-- /Tab Sections -->\n\t\t\n\t\t<br>\n\t\t\n\t\t<button type=\"submit\" class=\"ui positive submit button\">Save All Options</button>\n\t\t<a class=\"ui button\" href=\"<?php echo $theme->options_uri(); ?>\">Cancel</a>\n\t</form>\n</div>\n"
  },
  {
    "path": "dist/content/woocommerce.php",
    "content": "<?php\n/**\n * This is meant to replace the loop on a page. Because of how Woocommerce\n * generates content, you should avoid showing this content on pages with more\n * than one sidebar, or pages with limited space.\n */\n\nif (function_exists('woocommerce_content')) {\n\twoocommerce_content();\n} else {\n\techo 'Woocommerce content could not be found! Do you have the plugin installed?';\n}\n"
  },
  {
    "path": "dist/functions.php",
    "content": "<?php\n/**\n * Functions File\n * ==============\n * This is basically WordPress' version of a theme bootstrap file. Keep in mind\n * that this file will be called whenever WordPress is called, and this is the\n * active theme.\n */\n\n/**\n * PSR-0 autoloader with child theme support\n * \n * Loads files from `includes/class`\n * \n * @codeCoverageIgnore\n */\nspl_autoload_register(function ($class) {\n\t$include_path = '/include/class';\n\t$search_path  = str_replace('\\\\', DIRECTORY_SEPARATOR, '\\\\'.$class).'.php';\n\t$file_alt     = realpath(get_template_directory().$include_path.$search_path);\n\t$file         = realpath(get_stylesheet_directory().$include_path.$search_path);\n\tif($file_alt && is_file($file_alt)) {\n\t\trequire_once $file_alt;\n\t} elseif($file && $file != $file_alt && is_file($file)) {\n\t\trequire_once $file;\n\t}\n});\n\n/*** Run Inits ***/\nnew \\semantic\\theme();\n\n// Let the debugger know that we finished the functions.php file\nglobal $debug;\n$debug->runtime_checkpoint('[Theme] Finished Functions File');\n"
  },
  {
    "path": "dist/include/class/semantic/abstract_base.php",
    "content": "<?php\n/**\n * Base Class\n * ==========\n * This class allows you to add any common functionality to all the other\n * classes. In this case we are just adding some debugging info.\n */\n\nnamespace semantic;\n\n/**\n * Base Class\n * \n * This class allows you to add any common functionality to all the other\n * classes. In this case we are just adding some debugging info.\n */\nabstract class abstract_base {\n\t\n\t/**\n\t * Just logs that the current class was initialized\n\t */\n\tpublic function __construct() {\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint(sprintf('[Theme] Class \"%1$s\" Initialized', get_class($this)));\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/debug.php",
    "content": "<?php\n/**\n * Debug Class\n */\n\nnamespace semantic;\n\n/**\n * This class carries out all the debug functionality\n */\nclass debug extends abstract_base {\n\t\n\t/**\n\t * Current logged checkpoints\n\t * @var array\n\t */\n\tpublic $runtime_checkpoints;\n\t\n\t/**\n\t * Sets debugging as either enabled or disabled\n\t * @var boolean\n\t */\n\tpublic $active;\n\t\n\t/**\n\t * Instance of the shutdown class\n\t * @var shutdown\n\t */\n\tpublic $shutdown;\n\t\n\t/**\n\t * Configures this class as well as the shutdown class and the $debug global\n\t */\n\tpublic function __construct() {\n\t\t// Setup globals and query vars\n\t\tglobal $debug;\n\t\t$debug = $this;\n\t\tset_query_var('debug',  $this);\n\t\t\n\t\t// Setup the shutdown class\n\t\t$this->shutdown = new shutdown;\n\t\t\n\t\t$this->runtime_checkpoints = array();\n\t\t$this->active = FALSE;\n\t\tif (is_user_logged_in() && current_user_can('manage_options')) {\n\t\t\t$this->active = TRUE;\n\t\t}\n\t\tif (!empty($_SERVER['REQUEST_TIME_FLOAT'])) {\n\t\t\t$this->runtime_checkpoints[] = array(\n\t\t\t\t'name' => '[PHP] Sent Request To Server',\n\t\t\t\t'time' => $_SERVER['REQUEST_TIME_FLOAT']\n\t\t\t);\n\t\t}\n\t\tif (defined('PHP_START_TIME')) {\n\t\t\t$this->runtime_checkpoints[] = array(\n\t\t\t\t'name' => '[PHP] Started Server-Side Execution',\n\t\t\t\t'time' => PHP_START_TIME\n\t\t\t);\n\t\t}\n\t\t\n\t\t// Shutdown Actions\n\t\t$this->shutdown->register('debug_output', array($this, '_runtime_on_shutdown'));\n\t\t$this->shutdown->register('usage_tracker', array($this, 'usage_tracker'));\n\t\t\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * This is a simple way for me to track how many people are using my\n\t * development theme. This has no positive or negative effect on SEO.\n\t * \n\t * Please only remove this if it causes your application problems.\n\t * \n\t * @return void\n\t */\n\tpublic function usage_tracker() {\n\t\tif (php_sapi_name() != 'cli' && (is_front_page() || is_home())) {\n\t\t\techo '<img id=\"suiwp-usage-tracker\" src=\"http://i.imgur.com/OZlAOER.png\" alt=\"SUIWP s9kjorYIe54NaD6VIK3TF6C792gIKjY0\">';\n\t\t}\n\t}\n\t\n\t/**\n\t * Checkpoint logger\n\t * \n\t * @param  string $message The message to report back to the logger\n\t * @return void\n\t */\n\tpublic function runtime_checkpoint($message = '') {\n\t\t$this->runtime_checkpoints[] = array(\n\t\t\t'name' => (string) $message,\n\t\t\t'time' => microtime(TRUE)\n\t\t);\n\t}\n\t\n\t/**\n\t * Prints the current log as html (Semantic UI modal)\n\t * \n\t * @return void\n\t */\n\tpublic function runtime_print_html_log() {\n\t\t$checkpoints   = $this->runtime_checkpoints;\n\t\t$first         = array_shift($checkpoints);\n\t\t$previous_time = $first['time'];\n\t\t?>\n\t\t<div class=\"ui basic modal\" id=\"semantic-debug-log\">\n\t\t\t<i class=\"close icon\"></i>\n\t\t\t<h1 class=\"ui huge icon header\">\n\t\t\t\t<i class=\"bug icon\"></i>\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\tDebug Log\n\t\t\t\t\t<div class=\"sub header\">Please Use This Log When Reporting Issues</div>\n\t\t\t\t</div>\n\t\t\t</h1>\n\t\t\t<div class=\"content\">\n\t\t\t\t<div class=\"description\">\n\t\t\t\t\t<table class=\"ui very compact selectable celled table\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>Message</th>\n\t\t\t\t\t\t\t\t<th>Time</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tprintf('<tr><td>%1$s</td><td>%2$s</td></tr>'.PHP_EOL , htmlentities($first['name']), $first['time']);\n\t\t\t\t\t\t\tforeach ($checkpoints as $checkpoint) {\n\t\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t\t'<tr><td>%1$s</td><td>%2$s/+%3$s</td></tr>'.PHP_EOL,\n\t\t\t\t\t\t\t\t\thtmlentities($checkpoint['name']),\n\t\t\t\t\t\t\t\t\tround(($checkpoint['time'] - $first['time']) * 1000, 2).'ms',\n\t\t\t\t\t\t\t\t\tround(($checkpoint['time'] - $previous_time) * 1000, 2).'ms'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t$previous_time = $checkpoint['time'];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprintf('<tr><td>[PHP] Memory Peak</td><td>%1$s MiB</td></tr>', round(memory_get_peak_usage()/1024/1024, 3));\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"actions\">\n\t\t\t\t<div class=\"ui red basic inverted cancel button\">\n\t\t\t\t\t<i class=\"remove icon\"></i>\n\t\t\t\t\tClose\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<?php\n\t}\n\t\n\t/**\n\t * Runs all the shutdown functionality for this class\n\t * \n\t * @return void\n\t */\n\tpublic function _runtime_on_shutdown() {\n\t\tglobal $wp_styles, $wp_scripts;\n\t\tif (!empty($wp_styles->queue)) {\n\t\t\tforeach ($wp_styles->queue as $style) {\n\t\t\t\tif (wp_style_is($style, 'done')) {\n\t\t\t\t\t$this->runtime_checkpoint('[Theme] Style \"'.$style.'\" Was Printed');\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tif (!empty($wp_scripts->queue)) {\n\t\t\tforeach ($wp_scripts->queue as $script) {\n\t\t\t\tif (wp_style_is($script, 'done')) {\n\t\t\t\t\t$this->runtime_checkpoint('[Theme] Script \"'.$script.'\" Was Printed');\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\t$this->runtime_checkpoint('[PHP] Stopped Server-Side Execution');\n\t\tif ($this->active) {\n\t\t\tif (php_sapi_name() != 'cli') {\n\t\t\t\t$this->runtime_print_html_log();\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/integrations.php",
    "content": "<?php\n/**\n * WordPress integrations class\n */\n\nnamespace semantic;\n\n/**\n * WordPress integrations class\n * \n * This class class holds all the functions that integrate directly with WordPress\n */\nclass integrations extends abstract_base {\n\t\n\t/**\n\t * Instance of the theme class\n\t * @var theme\n\t */\n\tpublic $theme;\n\t\n\t/**\n\t * For whatever reason, we need to make sure it grabs the \"right\" theme global\n\t */\n\tpublic function __construct() {\n\t\t$this->theme = $GLOBALS['theme'];\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * Registers various WordPress features\n\t * \n\t * @return void\n\t */\n\tpublic function init() {\n\t\t// Set the max content width (used by wordpress)\n\t\tglobal $content_width;\n\t\t$theme         = $this->theme;\n\t\t$content_width = 1200;\n\t\t\n\t\t// Tell WordPress what this theme supports\n\t\tadd_theme_support('automatic-feed-links');\n\t\tadd_theme_support('post-thumbnails');\n\t\tadd_theme_support('woocommerce');\n\t\tadd_theme_support('html5', array(\n\t\t\t'caption',\n\t\t\t'comment-form',\n\t\t\t'comment-list',\n\t\t\t'gallery',\n\t\t\t'search-form'\n\t\t));\n\t\tadd_theme_support('post-formats', array(\n\t\t\t'aside',\n\t\t\t'image',\n\t\t\t'link',\n\t\t\t'quote',\n\t\t\t'video'\n\t\t));\n\t\tadd_theme_support('custom-background', array(\n\t\t\t'default-color'          => '35bdb2',\n\t\t\t'default-repeat'         => 'repeat',\n\t\t\t'default-position-x'     => 'center',\n\t\t\t'default-attachment'     => 'scroll',\n\t\t));\n\t\t\n\t\t// TIP: Use wp_nav_menu(array('theme_location' => 'menu-name')) to fetch these\n\t\tregister_nav_menus(array(\n\t\t\t'main-menu'   => __('Main Menu', $theme::TEXT_DOMAIN),\n\t\t\t'footer-menu' => __('Footer Menu', $theme::TEXT_DOMAIN)\n\t\t));\n\t\t\n\t\t// The WP file editor is an abomination. May God help you if you or anyone\n\t\t// in your company actually uses this.\n\t\tif (in_array($GLOBALS['pagenow'], array('theme-editor.php'))) {\n\t\t\tif ($theme->get_option('theme_editor') == FALSE) {\n\t\t\t\twp_die('<p>'.__(sprintf(\n\t\t\t\t\t'In order to edit this theme, you must first re-enable the theme editor via the <a href=\"%s\">Theme Options</a> page',\n\t\t\t\t\t$theme->options_uri()\n\t\t\t\t), $theme::TEXT_DOMAIN).'</p>');\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Remove WP's emoji\n\t\tremove_action( 'wp_head', 'print_emoji_detection_script', 7 );\n\t\tremove_action( 'admin_print_scripts', 'print_emoji_detection_script' );\n\t\tremove_action( 'wp_print_styles', 'print_emoji_styles' );\n\t\tremove_action( 'admin_print_styles', 'print_emoji_styles' );\n\t}\n\t\n\t/**\n\t * Registers the theme widget areas.\n\t * \n\t * @return void\n\t */\n\tpublic function widgets_init() {\n\t\t$theme = $this->theme;\n\t\tregister_sidebar(array(\n\t\t\t'name'          => __('Right Sidebar Widget Area', $theme::TEXT_DOMAIN),\n\t\t\t'id'            => 'sidebar-widget-area-right',\n\t\t\t'description'   => 'These widgets are only visible when the siderbar is on the right side of the page',\n\t\t\t'before_widget' => '<aside id=\"%1$s\" class=\"wp-widget sidebar-right-widget %2$s ui basic segment\">',\n\t\t\t'after_widget'  => '</aside>',\n\t\t\t'before_title'  => '<h4 class=\"ui dividing header widget-title\">',\n\t\t\t'after_title'   => '</h4>'\n\t\t));\n\t\tregister_sidebar(array(\n\t\t\t'name'          => __('Left Sidebar Widget Area', $theme::TEXT_DOMAIN),\n\t\t\t'id'            => 'sidebar-widget-area-left',\n\t\t\t'description'   => 'These widgets are only visible when the siderbar is on the left side of the page',\n\t\t\t'before_widget' => '<aside id=\"%1$s\" class=\"wp-widget sidebar-left-widget %2$s ui basic segment\">',\n\t\t\t'after_widget'  => '</aside>',\n\t\t\t'before_title'  => '<h4 class=\"ui dividing header widget-title\">',\n\t\t\t'after_title'   => '</h4>'\n\t\t));\n\t\tregister_sidebar(array(\n\t\t\t'name'          => __('Footer Widget Area', $theme::TEXT_DOMAIN),\n\t\t\t'id'            => 'footer-widget-area-footer',\n\t\t\t'description'   => 'These widgets are visible in the footer',\n\t\t\t'before_widget' => '<div class=\"column\"><aside id=\"%1$s\" class=\"wp-widget sidebar-right-widget %2$s ui basic segment\">',\n\t\t\t'after_widget'  => '</aside></div>',\n\t\t\t'before_title'  => '<h4 class=\"ui dividing header widget-title\">',\n\t\t\t'after_title'   => '</h4>'\n\t\t));\n\t}\n\t\n\t/**\n\t * Registers all the theme styles/scripts\n\t * \n\t * @return void\n\t */\n\tpublic function register_enqueue() {\n\t\t// Styles\n\t\twp_register_style('normalize', $this->theme->style_uri.'/normalize.min.css', array(), '3.0.3');\n\t\twp_register_style('semantic', $this->theme->asset_uri.'/semantic-ui/semantic.min.css', array(), '2.1.3');\n\t\twp_register_style('font-awesome', $this->theme->style_uri.'/font-awesome.min.css', array(), '4.1.0');\n\t\twp_register_style('webicons', $this->theme->style_uri.'/webicons.min.css', array(), NULL);\n\t\twp_register_style('highlightjs', $this->theme->style_uri.'/highlight.js/github.min.css', array(), '8.0');\n\t\twp_register_style('main', $this->theme->style_uri.'/main.css', array(), NULL);\n\t\twp_register_style('dashboard', $this->theme->style_uri.'/dashboard.css', array(), NULL);\n\t\twp_register_style('base-concat', $this->theme->style_uri.'/base.concat.min.css', array(), NULL);\n\t\t// Scripts\n\t\twp_register_script('webfonts', '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js', array(), '2.1.3');\n\t\tif (!(is_admin() || in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php')))) {\n\t\t\t// Use a custom version of jQuery\n\t\t\twp_deregister_script('jquery');\n\t\t\twp_register_script('jquery', $this->theme->script_uri.'/jquery-2.1.1.min.js', array(), '2.1.1');\n\t\t}\n\t\twp_register_script('semantic', $this->theme->asset_uri.'/semantic-ui/semantic.min.js', array(), '2.1.3');\n\t\twp_register_script('highlight', $this->theme->script_uri.'/highlight.pack.min.js', array('jquery'), '8.0');\n\t\twp_register_script('mousetrap', $this->theme->script_uri.'/mousetrap.min.js', array('jquery'), '1.4.6');\n\t\twp_register_script('main', $this->theme->script_uri.'/main.js', array(), NULL);\n\t\twp_register_script('theme-options', $this->theme->script_uri.'/theme-options.js', array(), NULL);\n\t\twp_register_script('base-concat', $this->theme->script_uri.'/base.concat.min.js', array(), NULL);\n\t}\n\t\n\t/**\n\t * Enqueues the theme styles/scripts\n\t * \n\t * @return void\n\t */\n\tpublic function enqueue() {\n\t\t// Styles\n\t\t// wp_enqueue_style('normalize');\n\t\t// wp_enqueue_style('font-awesome');\n\t\t// wp_enqueue_style('webicons');\n\t\t// wp_enqueue_style('highlightjs');\n\t\twp_enqueue_style('base-concat'); // has: normalize, font-awesome, webicons, highlightjs, semantic\n\t\twp_enqueue_style('semantic');\n\t\twp_enqueue_style('main');\n\t\t// Scripts\n\t\twp_enqueue_script('webfonts');\n\t\t// wp_enqueue_script('jquery');\n\t\t// wp_enqueue_script('highlight');\n\t\t// wp_enqueue_script('mousetrap');\n\t\twp_enqueue_script('base-concat'); // has: jquery, semantic, highlight, mousetrap\n\t\twp_enqueue_script('semantic');\n\t\twp_enqueue_script('main');\n\t\tif (is_singular()) {\n\t\t\twp_enqueue_script('comment-reply');\n\t\t}\n\t}\n\t\n\t/**\n\t * Registers the options page with WordPress, and enqueues style/scripts for\n\t * the options page in the dashboard. Only visible to users who can edit theme\n\t * options.\n\t * \n\t * @return void\n\t */\n\tpublic function options() {\n\t\t$theme = $this->theme;\n\t\twp_enqueue_style('normalize');\n\t\twp_enqueue_style('semantic');\n\t\twp_enqueue_style('font-awesome');\n\t\twp_enqueue_style('dashboard');\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\tif (isset($_GET['page']) && $_GET['page'] == $theme::identifier.'_options') {\n\t\t\t\t// Styles\n\t\t\t\twp_enqueue_style('webicons');\n\t\t\t\twp_enqueue_style('highlight');\n\t\t\t\t// Scripts\n\t\t\t\twp_enqueue_script('webfonts');\n\t\t\t\twp_enqueue_script('semantic');\n\t\t\t\twp_enqueue_script('highlight');\n\t\t\t\twp_enqueue_script('mousetrap');\n\t\t\t\t// There are a few good reasons that you should replace your main.js with\n\t\t\t\t// the theme-options.js; such as, jQuery is already included in the\n\t\t\t\t// dashboard and it runs in safe mode.\n\t\t\t\twp_enqueue_script('theme-options');\n\t\t\t}\n\t\t}\n\t\tif (function_exists('add_theme_page')) {\n\t\t\tadd_theme_page(\n\t\t\t\t'Theme Options',\n\t\t\t\t'Theme Options',\n\t\t\t\t'edit_theme_options',\n\t\t\t\t$theme::identifier.'_options',\n\t\t\t\tarray($this, 'options_page')\n\t\t\t);\n\t\t}\n\t}\n\t\n\t/**\n\t * Displays the options page content when called\n\t * \n\t * @return void\n\t */\n\tpublic function options_page() {\n\t\ttemplate_part($this->theme->template_sub_path.'/theme-options');\n\t}\n\t\n\t/**\n\t * This adds a \"Theme Options\" link to the WordPress admin bar under the menu\n\t * with the site name. Is only visible to users who can edit theme options.\n\t * \n\t * @param  object $wp_admin_bar The wp_admin_bar object as supplied by WordPress\n\t * @return void\n\t */\n\tpublic function admin_bar_links($wp_admin_bar) {\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\t$wp_admin_bar->add_node(array(\n\t\t\t\t'id'     => 'theme-options',\n\t\t\t\t'parent' => 'site-name',\n\t\t\t\t'title'  => 'Theme Options',\n\t\t\t\t'href'   => $this->theme->options_uri()\n\t\t\t));\n\t\t}\n\t}\n\t\n\t/**\n\t * Improve the existing wp_title()\n\t *\n\t * @param  string $title Default HTML page title for current view.\n\t * @param  string $sep   [optional] The separator to use.\n\t * @return string        The resulting title.\n\t */\n\tpublic function wp_title($title, $sep = '') {\n\t\tglobal $page, $paged;\n\t\tsettype($title, 'string');\n\t\tsettype($sep, 'string');\n\t\t$title    = trim(trim(trim($title), $sep));\n\t\t$real_sep = trim($sep);\n\t\t$sep      = ' '.$real_sep.' ';\n\t\t$t_arr    = array();\n\t\t\n\t\tif (!empty($title)) {\n\t\t\t$t_arr[] = $title;\n\t\t}\n\t\t\n\t\tif (empty($real_sep)) {\n\t\t\t$sep = ' ';\n\t\t}\n\t\t\n\t\tif (is_feed()) {\n\t\t\treturn $title;\n\t\t}\n\t\t\n\t\t// Add the blog name\n\t\t$t_arr[] = get_bloginfo('name', 'display');\n\t\t\n\t\t// Add a page number if necessary:\n\t\tif (($paged >= 2 || $page >= 2) && !is_404()) {\n\t\t\t$t_arr[] = sprintf('Page %1$s', max($paged, $page));\n\t\t}\n\t\t\n\t\treturn implode($sep, $t_arr);\n\t}\n\t\n\t/**\n\t * Adds a field to the user profile page so they can add their Google Plus URL\n\t * and be correctly marked as an author in posts they create\n\t * \n\t * @param  array    $profile_fields The contact fields array as provided by wordpress\n\t * @return string[]                 The resulting array after the field has been added.\n\t */\n\tpublic function google_author($profile_fields) {\n\t\t$profile_fields['gplus'] = 'Google+ URL (for authorship)';\n\t\treturn $profile_fields;\n\t}\n\t\n\t/**\n\t * Adds the theme's stylesheets to the post/page editor. This allows the visual\n\t * editor to more accurately represent what will be shown on the page.\n\t * \n\t * @return void\n\t */\n\tpublic function editor_styles() {\n\t\tadd_editor_style($this->theme->style_sub_path.'/semantic.min.css');\n\t\tadd_editor_style($this->theme->style_sub_path.'/font-awesome.min.css');\n\t\tadd_editor_style($this->theme->style_sub_path.'/webicons.min.css');\n\t\tadd_editor_style($this->theme->style_sub_path.'/main.css');\n\t}\n\t\n\t/**\n\t * Adds the class \"active\" to the current menu item\n\t * \n\t * @param  array $classes The array of classes as given by WordPress\n\t * @return array          The modified array of classes\n\t */\n\tpublic function current_nav($classes) {\n\t\tif(in_array('current-menu-item', $classes)) {\n\t\t\t$classes[] = 'active';\n\t\t}\n\t\treturn $classes;\n\t}\n\t\n\t/**\n\t * Replaces the default WordPress search form with one that uses Semantic UI.\n\t * \n\t * @return string The resulting form\n\t */\n\tpublic function search_form() {\n\t\t// Avoid extra whitespace when a return goes to WordPress\n\t\t$query = get_search_query();\n\t\treturn sprintf(\n\t\t\t'<form role=\"search\" method=\"GET\" action=\"%1$s\">'.\n\t\t\t\t'<div class=\"ui small fluid action input\">'.\n\t\t\t\t\t'<input type=\"text\" name=\"s\" placeholder=\"%3$s\">'.\n\t\t\t\t\t'<div type=\"submit\" class=\"ui small button\">%2$s</div>'.\n\t\t\t\t'</div>'.\n\t\t\t'</form>',\n\t\t\thome_url('/'),\n\t\t\t'Search',\n\t\t\t(empty($query) ? 'Search...' : $query)\n\t\t);\n\t}\n\t\n\t/**\n\t * Replaces the default WordPress footer with one that has a paypal donation\n\t * link.\n\t * \n\t * @return void\n\t */\n\tpublic function dashboard_footer() {\n\t\t?>\n\t\t<div class=\"ui center aligned two column grid inverted segment\">\n\t\t\t<div class=\"column\">\n\t\t\t\t<h2 class=\"ui inverted header\">\n\t\t\t\t\tThank You!\n\t\t\t\t\t<div class=\"sub header\">If you found this WordPress theme useful, please consider donating:</div>\n\t\t\t\t</h2>\n\t\t\t\t\n\t\t\t\t<p>\n\t\t\t\t\t<?php\n\t\t\t\t\t$fmt = '<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=%2$s\">%1$s</a>'.PHP_EOL;\n\t\t\t\t\t\n\t\t\t\t\tprintf($fmt, 'Donate $5', '2WLFNB3UMSELN');\n\t\t\t\t\tprintf($fmt, 'Donate $10', 'J42MM3FSZTPPQ');\n\t\t\t\t\tprintf($fmt, 'Custom Donation', 'DPSN8V5VVMHTA');\n\t\t\t\t\t?>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"column\">\n\t\t\t\t<h2 class=\"ui inverted header\">\n\t\t\t\t\tHaving Issues?\n\t\t\t\t\t<div class=\"sub header\">If you have any problems or discover any bugs let us know!</div>\n\t\t\t\t</h2>\n\t\t\t\t<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues\">Issue Tracker</a>\n\t\t\t\t<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"http://semantic-ui.com/\">Semantic UI Docs</a>\n\t\t\t\t<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"http://jsfiddle.net/efp8z6Ln/\">Test Code</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<?php\n\t}\n\t\n\t/**\n\t * Replaces the output of the_post_thumbnail()\n\t * \n\t * @param  string  $html          The orginal HTML (ignored)\n\t * @param  string  $post_id       The Post ID as provided by WordPress\n\t * @param  integer $post_image_id The Attachment ID as provided by WordPress\n\t * @return string                 The replacement HTML\n\t */\n\tpublic function post_thumbnail($html, $post_id, $post_image_id) {\n\t\t$image = wp_get_attachment_image_src(get_post_thumbnail_id((string) $post_id), 'single-post-thumbnail');\n\t\t$alt   = get_post_meta($post_image_id, '_wp_attachment_image_alt');\n\t\t\n\t\tif (!isset($alt[0])) {\n\t\t\t$alt = array('');\n\t\t}\n\t\t\n\t\treturn sprintf(\n\t\t\t'<img itemprop=\"image\" src=\"%1$s\" alt=\"%2$s\">',\n\t\t\t$image[0],\n\t\t\ttrim(strip_tags($alt[0]))\n\t\t);\n\t}\n\t\n\t/**\n\t * Sets theme::$post_type\n\t * \n\t * @param  string $template The input string (ignored)\n\t * @return string           The input string (ignored)\n\t */\n\tpublic function set_post_type($template) {\n\t\tglobal $debug, $theme;\n\t\t$theme->post_type = get_post_format();\n\t\tif (empty($theme->post_type)) {\n\t\t\t$theme->post_type = get_post_type();\n\t\t}\n\t\t$debug->runtime_checkpoint('[Theme] theme::$post_type set to \"'.$theme->post_type.'\"');\n\t\treturn $template;\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/shutdown.php",
    "content": "<?php\n/**\n * Shutdown Class\n */\n\nnamespace semantic;\n\n/**\n * Shutdown Class\n * \n * This class helps handle what happens when PHP exits. This is very useful for\n * doing last second tasks.\n */\nclass shutdown extends abstract_base {\n\t\n\t/**\n\t * The current list of jobs to run on shutdown\n\t * @var array\n\t */\n\tprivate $jobs;\n\t\n\t/**\n\t * Configure this class and the function to run on PHP shutdown\n\t * \n\t * @return void\n\t */\n\tpublic function __construct() {\n\t\t$this->jobs = array();\n\t\tregister_shutdown_function(array($this, '_run_shutdown'));\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * Register a shutdown action with a callback function and optional arguments.\n\t * \n\t * NOTE: The callback must already be callable by the time it is registered!\n\t * \n\t * @param  string $id         The id to register under\n\t * @param  callable $callback The callback to run when PHP exits\n\t * @param  array  $args       Associative array of arguments to send on shutdown\n\t * @return boolean            TRUE when registration is successful, FALSE otherwise\n\t */\n\tpublic function register($id, $callback, $args = array()) {\n\t\tglobal $debug;\n\t\t$status = FALSE;\n\t\tif (!isset($this->jobs[$id])) {\n\t\t\tif (is_callable($callback)) {\n\t\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Registered \"%s\"', $id));\n\t\t\t\t$this->jobs[$id] = array(\n\t\t\t\t\t'callback' => $callback,\n\t\t\t\t\t'args'     => $args\n\t\t\t\t);\n\t\t\t\t$status = TRUE;\n\t\t\t}\n\t\t} else {\n\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Registration failed for \"%s\"', $id));\n\t\t}\n\t\treturn $status;\n\t}\n\t\n\t/**\n\t * Remove a job from the job queue\n\t * \n\t * @param  string $id The id to remove\n\t * @return void\n\t */\n\tpublic function unregister($id) {\n\t\tglobal $debug;\n\t\tif (isset($this->jobs[$id])) {\n\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Unregistered \"%s\"', $id));\n\t\t\tunset($this->jobs[$id]);\n\t\t}\n\t}\n\t\n\t/**\n\t * Check if a job is registered\n\t * \n\t * @param  string $id The id to check\n\t * @return boolean    TRUE if job exists, FALSE otherwise\n\t */\n\tpublic function exists($id) {\n\t\treturn isset($this->jobs[$id]);\n\t}\n\t\n\t/**\n\t * Loops through and runs each job. Resets job queue after it finishes.\n\t */\n\tpublic function _run_shutdown() {\n\t\tglobal $debug;\n\t\tforeach ($this->jobs as $id => $job) {\n\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Running \"%s\"...', $id));\n\t\t\tcall_user_func_array($job['callback'], $job['args']);\n\t\t}\n\t\t$this->jobs = array();\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/theme.php",
    "content": "<?php\n/**\n * This file both declares and initiates the theme class. The init is called at\n * the bottom of this file.\n */\n\nnamespace semantic;\n\n/**\n * Theme Class\n * \n * This class handles various parts of the theme, including common variables,\n * fetching/updating options, and how some parts of the page are generated.\n */\nclass theme extends abstract_base {\n\tconst IDENTIFIER  = 'semantic';\n\tconst TEXT_DOMAIN = 'semantic';\n\t\n\t/**\n\t * @deprecated\n\t */\n\tconst identifier  = 'semantic';\n\t\n\t/**\n\t * @deprecated\n\t */\n\tconst text_domain = 'semantic';\n\t\n\t/**\n\t * The current theme settings\n\t * @var array\n\t */\n\tpublic $options;\n\t\n\t/**\n\t * The current templates configured by $this->use_part()\n\t * @var array\n\t */\n\tpublic $template_queue;\n\t\n\t/**\n\t * The templates used by $this->part()\n\t * @var array\n\t */\n\tpublic $used_templates;\n\t\n\t/**\n\t * The list of variables to be extracted when a part is included\n\t * @var array\n\t */\n\tpublic $inc_var_list;\n\t\n\t/**\n\t * Alias to get_template_directory()\n\t * @var string\n\t */\n\tpublic $path;\n\t\n\t/**\n\t * Alias to get_template_directory_uri()\n\t * @var string\n\t */\n\tpublic $uri;\n\t\n\t/**\n\t * Path to the asset directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $asset_sub_path;\n\t\n\t/**\n\t * Path to the font directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $font_sub_path;\n\t\n\t/**\n\t * Path to the image directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $image_sub_path;\n\t\n\t/**\n\t * Path to the script directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $script_sub_path;\n\t\n\t/**\n\t * Path to the style directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $style_sub_path;\n\t\n\t/**\n\t * Path to the content directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $content_sub_path;\n\t\n\t/**\n\t * Path to the include directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $include_sub_path;\n\t\n\t/**\n\t * Path to the template directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $template_sub_path;\n\t\n\t/**\n\t * Absolute path to the asset directory\n\t * @var string\n\t */\n\tpublic $asset_path;\n\t\n\t/**\n\t * Absolute path to the font directory\n\t * @var string\n\t */\n\tpublic $font_path;\n\t\n\t/**\n\t * Absolute path to the image directory\n\t * @var string\n\t */\n\tpublic $image_path;\n\t\n\t/**\n\t * Absolute path to the script directory\n\t * @var string\n\t */\n\tpublic $script_path;\n\t\n\t/**\n\t * Absolute path to the style directory\n\t * @var string\n\t */\n\tpublic $style_path;\n\t\n\t/**\n\t * Absolute path to the content directory\n\t * @var string\n\t */\n\tpublic $content_path;\n\t\n\t/**\n\t * Absolute path to the include directory\n\t * @var string\n\t */\n\tpublic $include_path;\n\t\n\t/**\n\t * Absolute path to the template directory\n\t * @var string\n\t */\n\tpublic $template_path;\n\t\n\t/**\n\t * Full URL/URI to the asset directory\n\t * @var [type]\n\t */\n\tpublic $asset_uri;\n\t\n\t/**\n\t * Full URL/URI to the font directory\n\t * @var [type]\n\t */\n\tpublic $font_uri;\n\t\n\t/**\n\t * Full URL/URI to the image directory\n\t * @var [type]\n\t */\n\tpublic $image_uri;\n\t\n\t/**\n\t * Full URL/URI to the script directory\n\t * @var [type]\n\t */\n\tpublic $script_uri;\n\t\n\t/**\n\t * Full URL/URI to the style directory\n\t * @var [type]\n\t */\n\tpublic $style_uri;\n\t\n\t/**\n\t * Full URL/URI to the content directory\n\t * @var [type]\n\t */\n\tpublic $content_uri;\n\t\n\t/**\n\t * Full URL/URI to the include directory\n\t * @var [type]\n\t */\n\tpublic $include_uri;\n\t\n\t/**\n\t * Full URL/URI to the template directory\n\t * @var [type]\n\t */\n\tpublic $template_uri;\n\t\n\t/**\n\t * Sets class vars and calls various setup functions\n\t */\n\tpublic function __construct() {\n\t\t// Setup debug before everything else\n\t\tnew debug();\n\t\t\n\t\t// Setup globals and query vars\n\t\tglobal $theme;\n\t\t$theme = $this;\n\t\tset_query_var('theme', $this);\n\t\t\n\t\t// Base path/uri\n\t\t$this->path = realpath(get_template_directory());\n\t\t$this->uri  = get_template_directory_uri();\n\t\t\n\t\t// Build Path Variables\n\t\t$this->generate_paths(array(\n\t\t\t// var_name => path\n\t\t\t'asset'     => 'asset',\n\t\t\t'font'      => 'asset/font',\n\t\t\t'image'     => 'asset/image',\n\t\t\t'script'    => 'asset/script',\n\t\t\t'style'     => 'asset/style',\n\t\t\t'content'   => 'content',\n\t\t\t'include'   => 'include',\n\t\t\t'template'  => 'template'\n\t\t));\n\t\t\n\t\t// Theme Options\n\t\t$this->options        = $this->fetch_options();\n\t\t$this->template_queue = array();\n\t\t$this->used_templates = array(); // This is only populated if debug is active\n\t\t$this->inc_var_list   = array();\n\t\t\n\t\t// Check POST for options update (nonce & user are verified)\n\t\t$this->update_options_via_post();\n\t\t\n\t\t/*** Functions (1 per file) ***/\n\t\t$this->get_functions();\n\t\t\n\t\t/*** Initialize all the WordPress integrations ***/\n\t\t$this->do_integrations();\n\t\t\n\t\t/*** Handle First Run ***/\n\t\tif ($this->get_option('first_run')) {\n\t\t\t// This is the first run, greet them\n\t\t\ttemplate_use_part($theme->template_sub_path.'/default', $theme->template_sub_path.'/first-run');\n\t\t}\n\t\t\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * Set all the path variables based on (array) $sub_paths\n\t * \n\t * @param  array $sub_paths [description]\n\t * @return void\n\t */\n\tprivate function generate_paths($sub_paths) {\n\t\t// Sub-Paths\n\t\tforeach ($sub_paths as $var_name => $path) {\n\t\t\t$path       = str_replace('\\\\', '/', $path);\n\t\t\t$var        = $var_name.'_sub_path';\n\t\t\t$this->$var = $path;\n\t\t}\n\t\t// Absolute Paths\n\t\tforeach ($sub_paths as $var_name => $path) {\n\t\t\t$path       = str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path);\n\t\t\t$var        = $var_name.'_path';\n\t\t\t$this->$var = realpath($this->path.DIRECTORY_SEPARATOR.$path);\n\t\t}\n\t\t// URI Paths\n\t\tforeach ($sub_paths as $var_name => $path) {\n\t\t\t$path       = str_replace('\\\\', '/', $path);\n\t\t\t$var        = $var_name.'_uri';\n\t\t\t$this->$var = $this->uri.'/'.$path;\n\t\t}\n\t}\n\t\n\t/**\n\t * Do WordPress theme integrations\n\t * \n\t * @return void\n\t */\n\tpublic function do_integrations() {\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Begin WordPress Integrations');\n\t\t$integrations = new integrations;\n\t\t// Alphebetical based on the callback (doesn't effect the order they are called)\n\t\tadd_action('admin_bar_menu',        array($integrations, 'admin_bar_links'), 999);\n\t\tadd_action('nav_menu_css_class',    array($integrations, 'current_nav'), 10, 1);\n\t\tadd_action('admin_footer_text',     array($integrations, 'dashboard_footer'));\n\t\tadd_action('init',                  array($integrations, 'editor_styles'), 11);\n\t\tadd_action('wp_enqueue_scripts',    array($integrations, 'enqueue'));\n\t\tadd_action('user_contactmethods',   array($integrations, 'google_author'));\n\t\tadd_action('after_setup_theme',     array($integrations, 'init'));\n\t\tadd_action('admin_menu',            array($integrations, 'options'));\n\t\tadd_action('login_enqueue_scripts', array($integrations, 'options'));\n\t\tadd_action('post_thumbnail_html',   array($integrations, 'post_thumbnail'), 10, 3);\n\t\tadd_action('init',                  array($integrations, 'register_enqueue'), 10);\n\t\tadd_action('get_search_form',       array($integrations, 'search_form'));\n\t\tadd_action('widgets_init',          array($integrations, 'widgets_init'));\n\t\tadd_action('wp_title',              array($integrations, 'wp_title'), 10, 2);\n\t\tadd_action('template_include',      array($integrations, 'set_post_type'));\n\t\tif ($debug->active) {\n\t\t\t$debug->runtime_checkpoint('[Theme] Adding Debug WordPress Integrations');\n\t\t\ttemplate_part($this->include_sub_path.'/debug_hooks');\n\t\t}\n\t\t$debug->runtime_checkpoint('[Theme] Finished WordPress Integrations');\n\t}\n\t\n\t/**\n\t * Get all theme functions\n\t * \n\t * @return void\n\t */\n\tpublic function get_functions() {\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Begin Including Function Files');\n\t\t$func_dir     = realpath($this->include_path.'/function');\n\t\t$func_alt_dir = realpath(get_stylesheet_directory().'/'.$this->include_sub_path.'/function');\n\t\tif ($func_alt_dir && is_dir($func_alt_dir)) {\n\t\t\tforeach (scandir($func_alt_dir) as $function_file) {\n\t\t\t\t// ignore non-php files, check if the file exists, and that there isn't a function with the same name\n\t\t\t\tif (\n\t\t\t\t\tsubstr($function_file, -4) == '.php'\n\t\t\t\t\t&& is_file($func_alt_dir.DIRECTORY_SEPARATOR.$function_file)\n\t\t\t\t\t&& !function_exists(substr($function_file, 0, -4))\n\t\t\t\t) {\n\t\t\t\t\t$this->req_once($func_alt_dir.DIRECTORY_SEPARATOR.$function_file, TRUE);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ($func_dir != $func_alt_dir) {\n\t\t\tforeach (scandir($func_dir) as $function_file) {\n\t\t\t\t// ignore non-php files, check if the file exists, and that there isn't a function with the same name\n\t\t\t\tif (substr($function_file, -4) == '.php'\n\t\t\t\t\t&& is_file($func_dir.DIRECTORY_SEPARATOR.$function_file)\n\t\t\t\t\t&& !function_exists(substr($function_file, -4))\n\t\t\t\t) {\n\t\t\t\t\t$this->req_once($func_dir.DIRECTORY_SEPARATOR.$function_file, TRUE);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$debug->runtime_checkpoint('[Theme] Finished Including Function Files');\n\t}\n\t\n\t/**\n\t * Imports the options from WordPress\n\t * \n\t * @return mixed\n\t */\n\tprivate function fetch_options() {\n\t\t$existing = get_option($this::identifier.'_options');\n\t\tif ($existing) {\n\t\t\t$options = json_decode($existing);\n\t\t} else {\n\t\t\t// Reset and add them to the database\n\t\t\t$options = $this->default_options();\n\t\t\t$this->update_options($options);\n\t\t}\n\t\treturn (array) $options;\n\t}\n\t\n\t/**\n\t * Simply returns an array of \"default\" options for the theme\n\t * \n\t * @return array The default theme options\n\t */\n\tprivate function default_options() {\n\t\treturn array(\n\t\t\t'meta_x_ua_compatible_enabled' => TRUE,\n\t\t\t'meta_x_ua_compatible'         => 'IE=edge,chrome=1',\n\t\t\t'first_run'                    => TRUE,\n\t\t\t'header_text'                  => 'Semantic UI for WordPress: Developer Edition',\n\t\t\t'header_subtext'               => 'The Semantic UI starter/developer theme for WordPress.',\n\t\t\t'mobile_meta'                  => TRUE,\n\t\t\t'meta_favicon_enabled'         => TRUE,\n\t\t\t'meta_favicon'                 => $this->uri.'/logo.png',\n\t\t\t'mobile_size'                  => '450',\n\t\t\t'logo_size'                    => 3,\n\t\t\t'logo_url'                     => $this->uri.'/logo.png'\n\t\t);\n\t}\n\t\n\t/**\n\t * Fetches the given option for the theme, returns FALSE when the option\n\t * doesn't exist.\n\t * \n\t * @param  string $name The option name\n\t * @return mixed        The value of the options or FALSE on failure.\n\t */\n\tpublic function get_option($name) {\n\t\t$options = &$this->options;\n\t\tif (isset($options[$name])) {\n\t\t\treturn $options[$name];\n\t\t}\n\t\treturn FALSE;\n\t}\n\t\n\t/**\n\t * Checks if the current user can edit the theme and updates the options\n\t * stored in the database if they can.\n\t * \n\t * @param  array $options The options to store in the database as a JSON array\n\t * @return void\n\t */\n\tpublic function update_options($options) {\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\t$json = json_encode((array) $options);\n\t\t\tupdate_option($this::identifier.'_options', $json);\n\t\t}\n\t}\n\t\n\t/**\n\t * This function is called when there is POST data in the designated offset.\n\t * The new options replace the old if the nonce can be verified.\n\t * \n\t * @return void\n\t */\n\tprivate function update_options_via_post() {\n\t\t$post_id = $this::identifier.'_options';\n\t\t$user_id = get_current_user_id();\n\t\tif (\n\t\t\tisset($_POST[$post_id.'_verify'])\n\t\t\t&&\n\t\t\twp_verify_nonce($_POST[$post_id.'_verify'], $this::identifier.'_options_'.$user_id)\n\t\t\t&&\n\t\t\tcurrent_user_can('edit_theme_options')\n\t\t\t&&\n\t\t\tisset($_POST[$post_id])\n\t\t\t&&\n\t\t\tis_array($_POST[$post_id])\n\t\t) {\n\t\t\t$this->update_options($_POST[$post_id]);\n\t\t\t\n\t\t\t// Now redirect to clear POST and show changes\n\t\t\theader('Location: '.$this->options_uri());\n\t\t}\n\t}\n\t\n\t/**\n\t * Prints the input name for a value on the options page (form)\n\t * \n\t * @param  string $name The name to use\n\t * @return string\n\t */\n\tpublic function option_form_name($name) {\n\t\treturn sprintf(\n\t\t\t'%1$s[%2$s]',\n\t\t\t$this::identifier.'_options',\n\t\t\t$name\n\t\t);\n\t}\n\t\n\t/**\n\t * Returns the URI of the theme options page in the WordPress Dashboard\n\t * @return string The URI of the theme options page\n\t */\n\tpublic function options_uri() {\n\t\treturn admin_url().'themes.php?page='.$this::identifier.'_options';\n\t}\n\t\n\t/**\n\t * This ensures that the data sent via POST is actually valid by printing a\n\t * special hidden form data entry.\n\t * \n\t * @return void\n\t */\n\tpublic function options_update_data() {\n\t\t$user_id = get_current_user_id();\n\t\tif ($user_id) {\n\t\t\tprintf(\n\t\t\t\t'<input type=\"hidden\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t$this::identifier.'_options_verify',\n\t\t\t\twp_create_nonce($this::identifier.'_options_'.$user_id)\n\t\t\t);\n\t\t}\n\t}\n\t\n\t/**\n\t * Works like `include $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function inc($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Include: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn include $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Works like `include_once $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function inc_once($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Include Once: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn include_once $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Works like `require $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function req($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Require: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn require $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Works like `require_once $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function req_once($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Require Once: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn require_once $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Simple function to temporarily hold a path string. Empties the storage when\n\t * called without a path to store\n\t * \n\t * @param  string $path Path to store\n\t * @return string       The stored path or an empty string\n\t */\n\tprivate function _inc_path($path = '') {\n\t\tstatic $spath;\n\t\tif (!empty($path)) {\n\t\t\t$spath = $path;\n\t\t\t$tpath = $path;\n\t\t} else {\n\t\t\t$tpath = $spath;\n\t\t\t$spath = '';\n\t\t}\n\t\treturn $tpath;\n\t}\n\t\n\t/**\n\t * Includes a theme part into the current page. Uses an id to identify which\n\t * part of the theme is currently trying to be included. This allows the\n\t * template file to determine what parts of the page are replaced when the page\n\t * is generated. (via $this->use_part())\n\t * \n\t * @param  string  $id       The identifier to check for replacements\n\t * @param  string  $path     The path to use if their is no replacement\n\t * @param  boolean $is_abs   (optional) If the $path is an absolute path, set this to TRUE\n\t * @param  boolean $once     (optional) Set to TRUE to use include_once instead of include\n\t * @param  array   $var_list (optional) The array of variables you want extracted\n\t * @return mixed             (optional) The return value of the file - usually NULL\n\t */\n\tpublic function part($id, $path, $is_abs = FALSE, $once = FALSE, $var_list = array()) {\n\t\tif (isset($this->template_queue[$id])) {\n\t\t\textract($this->template_queue[$id]);\n\t\t\tunset($this->template_queue[$id]);\n\t\t}\n\t\tglobal $debug;\n\t\tif ($debug->active) {\n\t\t\t$this->used_templates[] = array(\n\t\t\t\t'id'       => $id,\n\t\t\t\t'path'     => $path,\n\t\t\t\t'is_abs'   => $is_abs,\n\t\t\t\t'var_list' => array_keys($var_list)\n\t\t\t);\n\t\t}\n\t\tif ($once) {\n\t\t\treturn $this->inc_once($path, $is_abs, $var_list);\n\t\t}\n\t\treturn $this->inc($path, $is_abs, $var_list);\n\t}\n\t\n\t/**\n\t * Allows the template file to override what parts are used throughout the\n\t * page. This method also checks if the theme part has already been replaced.\n\t * If it has already been replaced, then the input is ignored and this method\n\t * returns FALSE. To override this functionallity set the variable manually\n\t * via $this->template_queue[$id].\n\t * \n\t * @param  string  $id       The identifier to check for replacments\n\t * @param  string  $path     The path to use if their is no replacment\n\t * @param  boolean $is_abs   (optional) If the $path is an absolute path, set this to TRUE\n\t * @param  boolean $once     (optional) Set to TRUE to use include_once instead of include\n\t * @param  array   $var_list (optional) The array of variables you want extraced\n\t * @return boolean           Returns TRUE if the part was successfully added to the queue, FALSE otherwise\n\t */\n\tpublic function use_part($id, $path, $is_abs = FALSE, $once = FALSE, $var_list = array()) {\n\t\tglobal $debug;\n\t\tif (isset($this->template_queue[$id])) {\n\t\t\t$debug->runtime_checkpoint('[Theme] Action: theme::use_part() failed to set \"'.$id.'\" to \"'.$path.'\"');\n\t\t\treturn FALSE;\n\t\t} else {\n\t\t\t$debug->runtime_checkpoint('[Theme] Action: theme::use_part() set \"'.$id.'\" to \"'.$path.'\"');\n\t\t\t$this->template_queue[$id] = array(\n\t\t\t\t'path'     => $path,\n\t\t\t\t'once'     => $once,\n\t\t\t\t'is_abs'   => $is_abs,\n\t\t\t\t'var_list' => $var_list\n\t\t\t);\n\t\t\treturn TRUE;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/walker/abstract_base.php",
    "content": "<?php\n/**\n * The customer walker base class\n */\n\nnamespace semantic\\walker;\n\n/**\n * The customer walker base class\n */\nabstract class abstract_base extends \\Walker {\n\t\n\t/**\n\t * Array of option to pass to the walker\n\t * @var array\n\t */\n\tpublic $semantic_options;\n\t\n\t/**\n\t * Simple setup for walker classes.\n\t * \n\t * @param array $options Custom options to pass to the walker as $this->semantic_options\n\t */\n\tpublic function __construct($options = array()) {\n\t\t$this->semantic_options = $options;\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint(sprintf('[Theme] Class \"%1$s\" Initialized', get_class($this)));\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/walker/abstract_nav_menu.php",
    "content": "<?php\n/**\n * This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\n * extends `semantic\\walker\\abstract_base` instead of `Walker`\n */\n\nnamespace semantic\\walker;\n\n/**\n * This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\n * extends `semantic\\walker\\abstract_base` instead of `Walker`\n */\nabstract class abstract_nav_menu extends abstract_base {\n\t/**\n\t * What the class handles.\n\t *\n\t * @see Walker::$tree_type\n\t * @since 3.0.0\n\t * @var string\n\t */\n\tpublic $tree_type = array( 'post_type', 'taxonomy', 'custom' );\n\n\t/**\n\t * Database fields to use.\n\t *\n\t * @see Walker::$db_fields\n\t * @since 3.0.0\n\t * @var array\n\t */\n\tpublic $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );\n\n\t/**\n\t * Starts the list before the elements are added.\n\t *\n\t * @see Walker::start_lvl()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function start_lvl( &$output, $depth = 0, $args = array() ) {\n\t\t$indent = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"\\n$indent<ul class=\\\"sub-menu\\\">\\n\";\n\t}\n\n\t/**\n\t * Ends the list of after the elements are added.\n\t *\n\t * @see Walker::end_lvl()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_lvl( &$output, $depth = 0, $args = array() ) {\n\t\t$indent = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"$indent</ul>\\n\";\n\t}\n\n\t/**\n\t * Start the element output.\n\t *\n\t * @see Walker::start_el()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Menu item data object.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t * @param int    $id     Current item ID.\n\t */\n\tpublic function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {\n\t\t$indent = ( $depth ) ? str_repeat( \"\\t\", $depth ) : '';\n\n\t\t$classes = empty( $item->classes ) ? array() : (array) $item->classes;\n\t\t$classes[] = 'menu-item-' . $item->ID;\n\n\t\t/**\n\t\t * Filter the CSS class(es) applied to a menu item's list item element.\n\t\t *\n\t\t * @since 3.0.0\n\t\t * @since 4.1.0 The `$depth` parameter was added.\n\t\t *\n\t\t * @param array  $classes The CSS classes that are applied to the menu item's `<li>` element.\n\t\t * @param object $item    The current menu item.\n\t\t * @param array  $args    An array of {@see wp_nav_menu()} arguments.\n\t\t * @param int    $depth   Depth of menu item. Used for padding.\n\t\t */\n\t\t$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );\n\t\t$class_names = $class_names ? ' class=\"' . esc_attr( $class_names ) . '\"' : '';\n\n\t\t/**\n\t\t * Filter the ID applied to a menu item's list item element.\n\t\t *\n\t\t * @since 3.0.1\n\t\t * @since 4.1.0 The `$depth` parameter was added.\n\t\t *\n\t\t * @param string $menu_id The ID that is applied to the menu item's `<li>` element.\n\t\t * @param object $item    The current menu item.\n\t\t * @param array  $args    An array of {@see wp_nav_menu()} arguments.\n\t\t * @param int    $depth   Depth of menu item. Used for padding.\n\t\t */\n\t\t$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth );\n\t\t$id = $id ? ' id=\"' . esc_attr( $id ) . '\"' : '';\n\n\t\t$output .= $indent . '<li' . $id . $class_names .'>';\n\n\t\t$atts = array();\n\t\t$atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';\n\t\t$atts['target'] = ! empty( $item->target )     ? $item->target     : '';\n\t\t$atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';\n\t\t$atts['href']   = ! empty( $item->url )        ? $item->url        : '';\n\n\t\t/**\n\t\t * Filter the HTML attributes applied to a menu item's anchor element.\n\t\t *\n\t\t * @since 3.6.0\n\t\t * @since 4.1.0 The `$depth` parameter was added.\n\t\t *\n\t\t * @param array $atts {\n\t\t *     The HTML attributes applied to the menu item's `<a>` element, empty strings are ignored.\n\t\t *\n\t\t *     @type string $title  Title attribute.\n\t\t *     @type string $target Target attribute.\n\t\t *     @type string $rel    The rel attribute.\n\t\t *     @type string $href   The href attribute.\n\t\t * }\n\t\t * @param object $item  The current menu item.\n\t\t * @param array  $args  An array of {@see wp_nav_menu()} arguments.\n\t\t * @param int    $depth Depth of menu item. Used for padding.\n\t\t */\n\t\t$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );\n\n\t\t$attributes = '';\n\t\tforeach ( $atts as $attr => $value ) {\n\t\t\tif ( ! empty( $value ) ) {\n\t\t\t\t$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );\n\t\t\t\t$attributes .= ' ' . $attr . '=\"' . $value . '\"';\n\t\t\t}\n\t\t}\n\n\t\t$item_output = $args->before;\n\t\t$item_output .= '<a'. $attributes .'>';\n\t\t/** This filter is documented in wp-includes/post-template.php */\n\t\t$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;\n\t\t$item_output .= '</a>';\n\t\t$item_output .= $args->after;\n\n\t\t/**\n\t\t * Filter a menu item's starting output.\n\t\t *\n\t\t * The menu item's starting output only includes `$args->before`, the opening `<a>`,\n\t\t * the menu item's title, the closing `</a>`, and `$args->after`. Currently, there is\n\t\t * no filter for modifying the opening and closing `<li>` for a menu item.\n\t\t *\n\t\t * @since 3.0.0\n\t\t *\n\t\t * @param string $item_output The menu item's starting HTML output.\n\t\t * @param object $item        Menu item data object.\n\t\t * @param int    $depth       Depth of menu item. Used for padding.\n\t\t * @param array  $args        An array of {@see wp_nav_menu()} arguments.\n\t\t */\n\t\t$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );\n\t}\n\n\t/**\n\t * Ends the element output, if needed.\n\t *\n\t * @see Walker::end_el()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Page data object. Not used.\n\t * @param int    $depth  Depth of page. Not Used.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_el( &$output, $item, $depth = 0, $args = array() ) {\n\t\t$output .= \"</li>\\n\";\n\t}\n}\n"
  },
  {
    "path": "dist/include/class/semantic/walker/nav_menu.php",
    "content": "<?php\n/**\n * Custom nav menu walker class\n */\n\nnamespace semantic\\walker;\n\n/**\n * Custom nav menu walker class\n */\nclass nav_menu extends abstract_nav_menu {\n\t\n\t/**\n\t * Starts the list before the elements are added.\n\t *\n\t * @see \\Walker::start_lvl()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function start_lvl(&$output, $depth = 0, $args = array()) {\n\t\t$indent  = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"\\n$indent<i class=\\\"dropdown icon\\\"></i><span class=\\\"menu\\\">\\n\";\n\t}\n\t\n\t/**\n\t * Ends the list of after the elements are added.\n\t *\n\t * @see \\Walker::end_lvl()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_lvl(&$output, $depth = 0, $args = array()) {\n\t\t$indent  = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"$indent</span>\\n\";\n\t}\n\t\n\t/**\n\t * Start the element output.\n\t *\n\t * @see \\Walker::start_el()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Menu item data object.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t * @param int    $id     Current item ID.\n\t */\n\tpublic function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {\n\t\t$indent = ($depth) ? str_repeat(\"\\t\", $depth) : '';\n\t\t\n\t\t$classes   = empty($item->classes) ? array() : (array) $item->classes;\n\t\tif (in_array('menu-item-has-children', $classes)) {\n\t\t\t$classes[] = 'ui dropdown';\n\t\t}\n\t\t$classes[] = 'item';\n\t\t$classes[] = 'menu-item-' . $item->ID;\n\t\t\n\t\t$class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item, $args, $depth));\n\t\t$class_names = $class_names ? ' class=\"' . esc_attr($class_names) . '\"' : '';\n\t\t\n\t\t$id = apply_filters('nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth);\n\t\t$id = $id ? ' id=\"' . esc_attr($id) . '\"' : '';\n\t\t\n\t\t$output .= $indent . '<span' . $id . $class_names .'>';\n\t\t\n\t\t$atts           = array();\n\t\t$atts['title']  = !empty($item->attr_title) ? $item->attr_title : '';\n\t\t$atts['target'] = !empty($item->target)     ? $item->target     : '';\n\t\t$atts['rel']    = !empty($item->xfn)        ? $item->xfn        : '';\n\t\t$atts['href']   = !empty($item->url)        ? $item->url        : '';\n\t\t\n\t\t$atts = apply_filters('nav_menu_link_attributes', $atts, $item, $args, $depth);\n\t\t\n\t\t$attributes = '';\n\t\tforeach ($atts as $attr => $value) {\n\t\t\tif (! empty($value)) {\n\t\t\t\t$value = ('href' === $attr) ? esc_url($value) : esc_attr($value);\n\t\t\t\t$attributes .= ' ' . $attr . '=\"' . $value . '\"';\n\t\t\t}\n\t\t}\n\t\t\n\t\t$item_output = $args->before;\n\t\t$item_output .= '<a'. $attributes .'>';\n\t\t/** This filter is documented in wp-includes/post-template.php */\n\t\t$item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after;\n\t\t$item_output .= '</a>';\n\t\t$item_output .= $args->after;\n\t\t\n\t\t$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);\n\t}\n\t\n\t/**\n\t * Ends the element output, if needed.\n\t *\n\t * @see \\Walker::end_el()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Page data object. Not used.\n\t * @param int    $depth  Depth of page. Not Used.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_el(&$output, $item, $depth = 0, $args = array()) {\n\t\t// $output .= '</a>';\n\t\t// $output .= $args->after;\n\t\t$output .= \"</span>\\n\";\n\t}\n}\n"
  },
  {
    "path": "dist/include/debug_hooks.php",
    "content": "<?php\n/**\n * Add debug information to WordPress includes\n */\nadd_filter('template_include', function($template) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Using Template \"'.$template.'\"');\n\treturn $template;\n}, 99);\nadd_action('wp_head', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called wp_head()');\n}, 0, 0);\nadd_action('wp_footer', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called wp_footer()');\n}, 0, 0);\nadd_action('get_header', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called get_header()');\n}, 0, 0);\nadd_action('get_footer', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called get_footer()');\n}, 0, 0);\nadd_filter('index_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: index_template');\n\treturn $content;\n});\nadd_filter('404_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: 404_template');\n\treturn $content;\n});\nadd_filter('archive_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: archive_template');\n\treturn $content;\n});\nadd_filter('author_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: author_template');\n\treturn $content;\n});\nadd_filter('category_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: category_template');\n\treturn $content;\n});\nadd_filter('tag_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: tag_template');\n\treturn $content;\n});\nadd_filter('taxonomy_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: taxonomy_template');\n\treturn $content;\n});\nadd_filter('date_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: date_template');\n\treturn $content;\n});\nadd_filter('home_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: home_template');\n\treturn $content;\n});\nadd_filter('front_page_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: front_page_template');\n\treturn $content;\n});\nadd_filter('page_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: page_template');\n\treturn $content;\n});\nadd_filter('paged_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: paged_template');\n\treturn $content;\n});\nadd_filter('search_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: search_template');\n\treturn $content;\n});\nadd_filter('single_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: single_template');\n\treturn $content;\n});\nadd_filter('attachment_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: attachment_template');\n\treturn $content;\n});\n"
  },
  {
    "path": "dist/include/function/README.txt",
    "content": "If you add a PHP file to this directory, it is magically included via the\ntheme's bootstrap file.\n\nPLEASE ONLY ADD PHP FILES WITH 1 FUNCTION CONTAINED WITHIN THEM, AND NAME THEM\nAFTER THEIR CONTAINED FUNCTION.\n\nDo not add any additional logic to the file, and ensure that each file has only\n1 function within it. If you would like to group functions, please prefix BOTH\nthe file name and the function name.\n\n================================================================================\n\nUsing the file-system to organize functions is a lot simpler than trying to\nsearch a single \"functions\" file, which can easily reach 5000+ lines. This way,\nwe would only have to search through function names, and if we are using a file\nexplorer we can even sort them by different criteria.\n"
  },
  {
    "path": "dist/include/function/template_part.php",
    "content": "<?php\n/**\n * template_part() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_template_part()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n * \n * @see https://codex.wordpress.org/Function_Reference/get_template_part\n * @param string      $slug The slug name for the generic template.\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction template_part($slug, $name = NULL) {\n\tglobal $debug;\n\t$action = str_replace('\\\\', '/', 'get_template_part_'.$slug);\n\t$debug->runtime_checkpoint('[Theme] Action: '.$action);\n\t\n\tdo_action($action, $slug, $name);\n\t\n\t$templates = array();\n\t$name      = (string) $name;\n\tif ('' !== $name) {\n\t\t$templates[] = $slug.'-'.$name.'.php';\n\t}\n\t$templates[] = $slug.'.php';\n\t\n\t$located = template_part__locate($templates);\n\tif ($located) {\n\t\treturn template_part__load($located, FALSE, $action);\n\t}\n\t$debug->runtime_checkpoint('[Theme] Failed Action: '.$action);\n\treturn NULL;\n}\n"
  },
  {
    "path": "dist/include/function/template_part__load.php",
    "content": "<?php\n/**\n * template_part__load() function\n */\n\n/**\n * A drop-in replacement for WordPress' load_template()\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n * \n * @see https://codex.wordpress.org/Function_Reference/load_template\n * @param string  $template_file Path to template file.\n * @param bool    $require_once  Whether to require_once or require. Default true.\n * @param  string $identifier    The slug/action identifier to load\n * @return mixed                 The returned value of the loaded file\n */\nfunction template_part__load($template_file, $require_once = TRUE, $identifier = '') {\n\tglobal $theme, $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;\n\t\n\t$query_vars = array();\n\tif (is_array($wp_query->query_vars)) {\n\t\t$query_vars = $wp_query->query_vars;\n\t}\n\t$vars = array(\n\t\t'posts'         => $posts,\n\t\t'post'          => $post,\n\t\t'wp_did_header' => $wp_did_header,\n\t\t'wp_query'      => $wp_query,\n\t\t'wp_rewrite'    => $wp_rewrite,\n\t\t'wpdb'          => $wpdb,\n\t\t'wp_version'    => $wp_version,\n\t\t'wp'            => $wp,\n\t\t'id'            => $id,\n\t\t'comment'       => $comment,\n\t\t'user_ID'       => $user_ID\n\t) + $query_vars;\n\t\n\tif (!empty($identifier)) {\n\t\treturn $theme->part($identifier, $template_file, TRUE, $require_once, $vars);\n\t} elseif ($require_once) {\n\t\treturn $theme->req_once($template_file, TRUE, $vars);\n\t} else {\n\t\treturn $theme->req($template_file, TRUE, $vars);\n\t}\n}\n"
  },
  {
    "path": "dist/include/function/template_part__locate.php",
    "content": "<?php\n/**\n * template_part__locate() function\n */\n\n/**\n * A drop-in replacement for WordPress' locate_template()\n * \n * NOTE: This is almost entirely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Uses is_file() instead of file_exists()\n *   - Better Debugging\n * \n * @see https://codex.wordpress.org/Function_Reference/locate_template\n * @param  string|array $template_names Template file(s) to search for, in order.\n * @param  bool         $load If true the template file will be loaded if it is found.\n * @param  bool         $require_once Whether to require_once or require. Default true. Has no effect if $load is false.\n * @return string The   template filename if one is located.\n */\nfunction template_part__locate($template_names, $load = FALSE, $require_once = TRUE) {\n\t$located = '';\n\tforeach ((array) $template_names as $template_name) {\n\t\tif (!$template_name) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (is_file(get_stylesheet_directory().'/'.$template_name)) {\n\t\t\t$located = get_stylesheet_directory().'/'.$template_name;\n\t\t\tbreak;\n\t\t} elseif (is_file(get_template_directory().'/'.$template_name)) {\n\t\t\t$located = get_template_directory().'/'.$template_name;\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tif ($load && '' != $located) {\n\t\ttemplate_part__load($located, $require_once);\n\t}\n\t\n\treturn $located;\n}\n"
  },
  {
    "path": "dist/include/function/template_use_part.php",
    "content": "<?php\n/**\n * template_use_part() function\n */\n\n/**\n * This allows you to replace anything that hasn't been fetched by template_part()\n * yet, and you know the $slug to.\n * \n * @see https://codex.wordpress.org/Function_Reference/get_template_part\n * @param string|null $slug        The slug name to replace for the generic template.\n * @param string      $replacement The slug name of the replacement for the generic template.\n * @param string      $name        The name of the specialized template.\n * @return mixed                   TRUE if the part was successfully added, FALSE otherwise\n */\nfunction template_use_part($slug, $replacement, $name = NULL) {\n\tglobal $theme;\n\t$action = str_replace('\\\\','/','get_template_part_'.$slug);\n\t\n\t$templates = array();\n\t$name      = (string) $name;\n\tif (!empty($name)) {\n\t\t$templates[] = $replacement.'-'.$name.'.php';\n\t}\n\t$templates[] = $replacement.'.php';\n\t\n\t$located = template_part__locate($templates);\n\tif (!empty($located)) {\n\t\treturn $theme->use_part($action, $located, TRUE);\n\t}\n\treturn FALSE;\n}\n"
  },
  {
    "path": "dist/include/function/theme__section.php",
    "content": "<?php\n/**\n * theme__section() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_header(), get_footer(), & get_sidebar()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_footer\n * @param string      $section The name of the section to load\n * @param string|null $name    The name of the specialized template.\n * @return mixed               The returned value of the file on success, NULL otherwise\n */\nfunction theme__section($section, $name = NULL) {\n\tglobal $debug, $theme;\n\t$action = 'get_'.$section;\n\t$debug->runtime_checkpoint('[Theme] Action: '.$action);\n\t\n\tdo_action($action, $name);\n\t\n\t$locations = array();\n\t$name      = (string) $name;\n\tif (!empty($name)) {\n\t\t$locations[] = sprintf('%1$s-%2$s', $theme->content_sub_path, $section, $name);\n\t\t$locations[] = sprintf('%1$s/%2$s-%3$s', $theme->content_sub_path, $section, $name);\n\t}\n\t$locations[] = $section;\n\t$locations[] = $theme->content_sub_path.'/'.$section;\n\t\n\tforeach ($locations as $loc) {\n\t\tif (template_part__locate($loc.'.php')) {\n\t\t\treturn template_part($loc, $name);\n\t\t}\n\t}\n\t$debug->runtime_checkpoint('[Theme] Failed Action: '.$action);\n\treturn NULL;\n}\n"
  },
  {
    "path": "dist/include/function/theme_footer.php",
    "content": "<?php\n/**\n * theme_footer() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_footer()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_footer\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction theme_footer($name = NULL) {\n\ttheme__section('footer', $name);\n}\n"
  },
  {
    "path": "dist/include/function/theme_header.php",
    "content": "<?php\n/**\n * theme_header() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_header()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_header\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction theme_header($name = NULL) {\n\ttheme__section('header', $name);\n}\n"
  },
  {
    "path": "dist/include/function/theme_sidebar.php",
    "content": "<?php\n/**\n * theme_sidebar() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_sidebar()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_sidebar\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction theme_sidebar($name = NULL) {\n\ttheme__section('sidebar', $name);\n}\n"
  },
  {
    "path": "dist/index.php",
    "content": "<?php\n/**\n * Chooses the template to display\n * \n * On used when the page doesn't have its \"page template\" option set.\n */\n\nif (is_404()) {\n\t// There was an error with the request, display the 404 page.\n\ttemplate_use_part($theme->template_sub_path.'/default', $theme->template_sub_path.'/default-page');\n\ttemplate_use_part($theme->content_sub_path.'/loop', $theme->content_sub_path.'/404');\n} elseif (is_front_page() || is_home()) {\n\t// This the home page, which is typically designed differently from the rest of the site\n\ttemplate_use_part($theme->template_sub_path.'/default', $theme->template_sub_path.'/home');\n}\ntemplate_part($theme->template_sub_path.'/default', $theme->post_type);\n"
  },
  {
    "path": "dist/style.css",
    "content": "/*\nTheme Name: Semanitic UI: Developer Edition\nVersion: 1.0.0\nTheme URI: https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\nDescription: A starter/developer theme designed with <a href=\\\"http://semantic-ui.com\\\">Semantic UI</a> by <a href=\\\"https://github.com/jlukic\\\">Jack Lukic</a>. This theme also includes some techniques for creating fast, responsive, and easy-to-maintain themes for WordPress. <a href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\">View the source on Github</a>\nAuthor: Nicholas Jordon\nAuthor URI: https://github.com/ProjectCleverWeb\nLicense: MIT\nLicense URI: http://opensource.org/licenses/MIT\nText Domain: semantic\nTags: responsive-layout, microformats, rtl-language-support, dark, light, gray, one-column, two-columns, three-columns, left-sidebar, right-sidebar, editor-style, featured-images, flexible-header, sticky-post, theme-options, threaded-comments\n\n\n\nIf you are looking for the main stylesheet for the site check: asset/style/main.css\n*/\n"
  },
  {
    "path": "dist/template/default-page.php",
    "content": "<?php\n/**\n * The default page template\n * \n * Shows pages as the default template without any sidebars.\n */\n\ntemplate_part($theme->template_sub_path.'/default', 'sidebar-none');\n"
  },
  {
    "path": "dist/template/default-sidebar-both.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: Both\n*/\n\ntheme_header();\n?>\n<div class=\"ui stackable grid\">\n\t<div class=\"four wide column\">\n\t\t<?php\n\t\t$left_sidebar = 'sidebar-widget-area-left';\n\t\tif (is_active_sidebar($left_sidebar)) {\n\t\t\tdynamic_sidebar($left_sidebar);\n\t\t} else {\n\t\t\techo 'The left sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n\t<main class=\"eight wide column\">\n\t\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n\t</main>\n\t<div class=\"four wide column\">\n\t\t<?php\n\t\t$right_sidebar = 'sidebar-widget-area-right';\n\t\tif (is_active_sidebar($right_sidebar)) {\n\t\t\tdynamic_sidebar($right_sidebar);\n\t\t} else {\n\t\t\techo 'The right sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n</div>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "dist/template/default-sidebar-left.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: Left\n*/\n\ntheme_header();\n?>\n<div class=\"ui stackable grid\">\n\t<div class=\"five wide column\">\n\t\t<?php\n\t\t$left_sidebar = 'sidebar-widget-area-left';\n\t\tif (is_active_sidebar($left_sidebar)) {\n\t\t\tdynamic_sidebar($left_sidebar);\n\t\t} else {\n\t\t\techo 'The left sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n\t<main class=\"eleven wide column\">\n\t\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n\t</main>\n</div>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "dist/template/default-sidebar-none.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: None\n*/\n\ntheme_header();\n?>\n<main>\n\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n</main>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "dist/template/default-sidebar-right.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: Right\n*/\n\n// This just an alias to the default\ntemplate_part($theme->template_sub_path.'/default');\n"
  },
  {
    "path": "dist/template/default.php",
    "content": "<?php\n/**\n * The default theme template\n * \n * Shows pages as the default template without any sidebars.\n */\n\n\ntheme_header();\n?>\n<div class=\"ui stackable grid\">\n\t<main class=\"eleven wide column\">\n\t\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n\t</main>\n\t<div class=\"five wide column\">\n\t\t<?php\n\t\t$right_sidebar = 'sidebar-widget-area-right';\n\t\tif (is_active_sidebar($right_sidebar)) {\n\t\t\tdynamic_sidebar($right_sidebar);\n\t\t} else {\n\t\t\techo 'The right sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n</div>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "dist/template/first-run.php",
    "content": "<?php\n/*\nTemplate Name: First-Run\n*/\n\ntemplate_use_part($theme->content_sub_path.'/modals', $theme->content_sub_path.'/empty');\n\ntheme_header('none');\n?>\n<main>\n\t<div class=\"empty size-10\">&nbsp;</div>\n\t<img src=\"<?php echo esc_url($theme->uri.'/logo.png'); ?>\" class=\"ui centered image\">\n\t<h1 class=\"ui center aligned dividing header\">\n\t\tWelcome to Semantic UI for WordPress!\n\t\t<?php\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\t?>\n\t\t\t<div class=\"sub header\">This is the first-run page, you can disable it from the <a href=\"<?php echo $theme->options_uri(); ?>\">Theme Options</a> page.</div>\n\t\t\t<?php\n\t\t} else {\n\t\t\t?>\n\t\t\t<div class=\"sub header\">This is the first-run page, <strong>once you login</strong>, you can disable it from the Theme Options page.</div>\n\t\t\t<?php\n\t\t}\n\t\t?>\n\t</h1>\n\t<div class=\"ui basic segment\">\n\t\t<?php template_part($theme->content_sub_path.'/first-run'); ?>\n\t</div>\n</main>\n<?php\ntheme_footer('none');\n"
  },
  {
    "path": "dist/template/home.php",
    "content": "<?php\n/*\nTemplate Name: Home With Posts\n*/\n\n// This just an alias to the default\ntemplate_part($theme->template_sub_path.'/default');\n"
  },
  {
    "path": "dist/template/login.php",
    "content": "<?php\n/**\n * Template Name: Login Page\n */\n\nif (is_user_logged_in()) {\n\t$loc = home_url();\n\tif (!empty($_REQUEST['redirect'])) {\n\t\t$loc = $_REQUEST['redirect'];\n\t}\n\twp_redirect($loc);\n\texit;\n}\n\ntheme_header('none');\n?>\n<div class=\"ui middle aligned center aligned stackable grid\" id=\"login-container\">\n\t<main class=\"five wide column\">\n\t\t<?php\n\t\ttemplate_part($theme->content_sub_path.'/login-form', $theme->post_type);\n\t\t?>\n\t</main>\n</div>\n<style type=\"text/css\">\n\thtml {\n\t\theight: 100% !important;\n\t}\n\thtml, body, #page-wrapper, #page-container, #main-content-grid {\n\t\theight: 100%;\n\t\tbackground: #EFEFEF;\n\t}\n\t#login-container {\n\t\theight: 100%;\n\t}\n</style>\n<?php\ntheme_footer('none');\n"
  },
  {
    "path": "dist/template/theme-options.php",
    "content": "<?php\n/**\n * This template loads in the WordPress Dashboard, but produces an error any\n * time it is loaded by someone without the permissions to \"Edit Theme Options\"\n */\n\nif (current_user_can('edit_theme_options')) {\n\t?>\n\t<div id=\"theme-options-page\" class=\"ui basic segment\" style=\"max-width:99%;\">\n\t\t<h1 class=\"ui huge header\">\n\t\t\tTheme Options\n\t\t\t<div class=\"sub header\">\n\t\t\t\tView the <a target=\"_blank\" href=\"<?php echo $theme->uri ?>/asset/docs/\">Code Docs</a>\n\t\t\t\t| Open the <a target=\"_blank\" href=\"<?php echo $theme->uri ?>/readme.pdf\">README</a>\n\t\t\t\t| Source on <a target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\">Github</a></div>\n\t\t</h1>\n\t\t\n\t\t<?php template_part($theme->content_sub_path.'/theme-options/page'); ?>\n\t</div>\n\t<?php\n} else {\n\techo 'You do not have permission to edit theme options.';\n}\n"
  },
  {
    "path": "dist/woocommerce.php",
    "content": "<?php\n/**\n * Woocommerce Specific Page.\n * \n * This page is only used by Woocommerce when it is installed as a plugin. This\n * page is otherwise pointless. This page just replaces the standard loop with\n * the woocommerce content.\n */\n\ntemplate_use_part($theme->content_sub_path.'/loop', $theme->content_sub_path.'/woocommerce');\ntemplate_part($theme->template_sub_path.'/default');\n"
  },
  {
    "path": "docs/classes/semantic.abstract_base.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\abstract_base\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>abstract_base</h1>\n                <small style=\"display: block; text-align: right\">\n                                                        </small>\n                <p class=\"short_description\">Base Class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                                                                                                                                                                            </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                        </div>\n            </div>\n            <a id=\"\\semantic\\abstract_base\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.abstract_base.html\">abstract_base</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.debug.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\debug\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method__runtime_on_shutdown\" title=\"_runtime_on_shutdown :: Runs all the shutdown functionality for this class\">\n            <span class=\"description\">Runs all the shutdown functionality for this class</span><pre>_runtime_on_shutdown</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_runtime_checkpoint\" title=\"runtime_checkpoint :: Checkpoint logger\">\n            <span class=\"description\">Checkpoint logger</span><pre>runtime_checkpoint</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_runtime_print_html_log\" title=\"runtime_print_html_log :: Prints the current log as html (Semantic UI modal)\">\n            <span class=\"description\">Prints the current log as html (Semantic UI modal)</span><pre>runtime_print_html_log</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_usage_tracker\" title=\"usage_tracker :: This is a simple way for me to track how many people are using my\ndevelopment theme. This has no positive or negative effect on SEO.\">\n            <span class=\"description\">This is a simple way for me to track how many people are using my\ndevelopment theme. This has no positive or negative effect on SEO.</span><pre>usage_tracker</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>debug</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">This class carries out all the debug functionality</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method__runtime_on_shutdown\"></a>\n                        <div class=\"element clickable method public  method__runtime_on_shutdown\" data-toggle=\"collapse\" data-target=\".method__runtime_on_shutdown .collapse\">\n                            <h2>Runs all the shutdown functionality for this class</h2>\n                            <pre>_runtime_on_shutdown() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_runtime_checkpoint\"></a>\n                        <div class=\"element clickable method public  method_runtime_checkpoint\" data-toggle=\"collapse\" data-target=\".method_runtime_checkpoint .collapse\">\n                            <h2>Checkpoint logger</h2>\n                            <pre>runtime_checkpoint(string $message = &#039;&#039;) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$message</h4>\n                                                <code>string</code><p><p>The message to report back to the logger</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_runtime_print_html_log\"></a>\n                        <div class=\"element clickable method public  method_runtime_print_html_log\" data-toggle=\"collapse\" data-target=\".method_runtime_print_html_log .collapse\">\n                            <h2>Prints the current log as html (Semantic UI modal)</h2>\n                            <pre>runtime_print_html_log() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_usage_tracker\"></a>\n                        <div class=\"element clickable method public  method_usage_tracker\" data-toggle=\"collapse\" data-target=\".method_usage_tracker .collapse\">\n                            <h2>This is a simple way for me to track how many people are using my\ndevelopment theme. This has no positive or negative effect on SEO.</h2>\n                            <pre>usage_tracker() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>Please only remove this if it causes your application problems.</p></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_runtime_checkpoints\"> </a>\n                            <div class=\"element clickable property  public property_runtime_checkpoints\" data-toggle=\"collapse\" data-target=\".property_runtime_checkpoints .collapse\">\n                                <h2>Current logged checkpoints</h2>\n                                <pre>runtime_checkpoints : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_active\"> </a>\n                            <div class=\"element clickable property  public property_active\" data-toggle=\"collapse\" data-target=\".property_active .collapse\">\n                                <h2>Sets debugging as either enabled or disabled</h2>\n                                <pre>active : boolean</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>boolean</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_shutdown\"> </a>\n                            <div class=\"element clickable property  public property_shutdown\" data-toggle=\"collapse\" data-target=\".property_shutdown .collapse\">\n                                <h2>Instance of the shutdown class</h2>\n                                <pre>shutdown : \\semantic\\shutdown</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code><a href=\"../classes/semantic.shutdown.html\">\\semantic\\shutdown</a></code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\debug\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.debug.html\">debug</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.integrations.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\integrations\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_admin_bar_links\" title=\"admin_bar_links :: This adds a &quot;Theme Options&quot; link to the WordPress admin bar under the menu\nwith the site name. Is only visible to users who can edit theme options.\">\n            <span class=\"description\">This adds a &quot;Theme Options&quot; link to the WordPress admin bar under the menu\nwith the site name. Is only visible to users who can edit theme options.</span><pre>admin_bar_links</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_current_nav\" title=\"current_nav :: Adds the class &quot;active&quot; to the current menu item\">\n            <span class=\"description\">Adds the class &quot;active&quot; to the current menu item</span><pre>current_nav</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_dashboard_footer\" title=\"dashboard_footer :: Replaces the default WordPress footer with one that has a paypal donation\nlink.\">\n            <span class=\"description\">Replaces the default WordPress footer with one that has a paypal donation\nlink.</span><pre>dashboard_footer</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_editor_styles\" title=\"editor_styles :: Adds the theme&#039;s stylesheets to the post/page editor. This allows the visual\neditor to more accurately represent what will be shown on the page.\">\n            <span class=\"description\">Adds the theme&#039;s stylesheets to the post/page editor. This allows the visual\neditor to more accurately represent what will be shown on the page.</span><pre>editor_styles</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_enqueue\" title=\"enqueue :: Enqueues the theme styles/scripts\">\n            <span class=\"description\">Enqueues the theme styles/scripts</span><pre>enqueue</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_google_author\" title=\"google_author :: Adds a field to the user profile page so they can add their Google Plus URL\nand be correctly marked as an author in posts they create\">\n            <span class=\"description\">Adds a field to the user profile page so they can add their Google Plus URL\nand be correctly marked as an author in posts they create</span><pre>google_author</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_init\" title=\"init :: Registers various WordPress features\">\n            <span class=\"description\">Registers various WordPress features</span><pre>init</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options\" title=\"options :: Registers the options page with WordPress, and enqueues style/scripts for\nthe options page in the dashboard. Only visible to users who can edit theme\noptions.\">\n            <span class=\"description\">Registers the options page with WordPress, and enqueues style/scripts for\nthe options page in the dashboard. Only visible to users who can edit theme\noptions.</span><pre>options</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options_page\" title=\"options_page :: Displays the options page content when called\">\n            <span class=\"description\">Displays the options page content when called</span><pre>options_page</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_post_thumbnail\" title=\"post_thumbnail :: Replaces the output of the_post_thumbnail()\">\n            <span class=\"description\">Replaces the output of the_post_thumbnail()</span><pre>post_thumbnail</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_register_enqueue\" title=\"register_enqueue :: Registers all the theme styles/scripts\">\n            <span class=\"description\">Registers all the theme styles/scripts</span><pre>register_enqueue</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_search_form\" title=\"search_form :: Replaces the default WordPress search form with one that uses Semantic UI.\">\n            <span class=\"description\">Replaces the default WordPress search form with one that uses Semantic UI.</span><pre>search_form</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_set_post_type\" title=\"set_post_type :: Sets theme::$post_type\">\n            <span class=\"description\">Sets theme::$post_type</span><pre>set_post_type</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_widgets_init\" title=\"widgets_init :: Registers the theme widget areas.\">\n            <span class=\"description\">Registers the theme widget areas.</span><pre>widgets_init</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_wp_title\" title=\"wp_title :: Improve the existing wp_title()\">\n            <span class=\"description\">Improve the existing wp_title()</span><pre>wp_title</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>integrations</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">WordPress integrations class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class class holds all the functions that integrate directly with WordPress</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_admin_bar_links\"></a>\n                        <div class=\"element clickable method public  method_admin_bar_links\" data-toggle=\"collapse\" data-target=\".method_admin_bar_links .collapse\">\n                            <h2>This adds a &quot;Theme Options&quot; link to the WordPress admin bar under the menu\nwith the site name. Is only visible to users who can edit theme options.</h2>\n                            <pre>admin_bar_links(object $wp_admin_bar) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$wp_admin_bar</h4>\n                                                <code>object</code><p><p>The wp_admin_bar object as supplied by WordPress</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_current_nav\"></a>\n                        <div class=\"element clickable method public  method_current_nav\" data-toggle=\"collapse\" data-target=\".method_current_nav .collapse\">\n                            <h2>Adds the class &quot;active&quot; to the current menu item</h2>\n                            <pre>current_nav(array $classes) : array</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$classes</h4>\n                                                <code>array</code><p><p>The array of classes as given by WordPress</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>array</code><p><p>The modified array of classes</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_dashboard_footer\"></a>\n                        <div class=\"element clickable method public  method_dashboard_footer\" data-toggle=\"collapse\" data-target=\".method_dashboard_footer .collapse\">\n                            <h2>Replaces the default WordPress footer with one that has a paypal donation\nlink.</h2>\n                            <pre>dashboard_footer() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_editor_styles\"></a>\n                        <div class=\"element clickable method public  method_editor_styles\" data-toggle=\"collapse\" data-target=\".method_editor_styles .collapse\">\n                            <h2>Adds the theme&#039;s stylesheets to the post/page editor. This allows the visual\neditor to more accurately represent what will be shown on the page.</h2>\n                            <pre>editor_styles() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_enqueue\"></a>\n                        <div class=\"element clickable method public  method_enqueue\" data-toggle=\"collapse\" data-target=\".method_enqueue .collapse\">\n                            <h2>Enqueues the theme styles/scripts</h2>\n                            <pre>enqueue() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_google_author\"></a>\n                        <div class=\"element clickable method public  method_google_author\" data-toggle=\"collapse\" data-target=\".method_google_author .collapse\">\n                            <h2>Adds a field to the user profile page so they can add their Google Plus URL\nand be correctly marked as an author in posts they create</h2>\n                            <pre>google_author(array $profile_fields) : array</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$profile_fields</h4>\n                                                <code>array</code><p><p>The contact fields array as provided by wordpress</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>array</code><p><p>The resulting array after the field has been added.</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_init\"></a>\n                        <div class=\"element clickable method public  method_init\" data-toggle=\"collapse\" data-target=\".method_init .collapse\">\n                            <h2>Registers various WordPress features</h2>\n                            <pre>init() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options\"></a>\n                        <div class=\"element clickable method public  method_options\" data-toggle=\"collapse\" data-target=\".method_options .collapse\">\n                            <h2>Registers the options page with WordPress, and enqueues style/scripts for\nthe options page in the dashboard. Only visible to users who can edit theme\noptions.</h2>\n                            <pre>options() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options_page\"></a>\n                        <div class=\"element clickable method public  method_options_page\" data-toggle=\"collapse\" data-target=\".method_options_page .collapse\">\n                            <h2>Displays the options page content when called</h2>\n                            <pre>options_page() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_post_thumbnail\"></a>\n                        <div class=\"element clickable method public  method_post_thumbnail\" data-toggle=\"collapse\" data-target=\".method_post_thumbnail .collapse\">\n                            <h2>Replaces the output of the_post_thumbnail()</h2>\n                            <pre>post_thumbnail(string $html, integer $post_id, integer $post_image_id) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$html</h4>\n                                                <code>string</code><p><p>The orginal HTML (ignored)</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$post_id</h4>\n                                                <code>integer</code><p><p>The Post ID as provided by WordPress</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$post_image_id</h4>\n                                                <code>integer</code><p><p>The Attachment ID as provided by WordPress</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The replacement HTML</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_register_enqueue\"></a>\n                        <div class=\"element clickable method public  method_register_enqueue\" data-toggle=\"collapse\" data-target=\".method_register_enqueue .collapse\">\n                            <h2>Registers all the theme styles/scripts</h2>\n                            <pre>register_enqueue() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_search_form\"></a>\n                        <div class=\"element clickable method public  method_search_form\" data-toggle=\"collapse\" data-target=\".method_search_form .collapse\">\n                            <h2>Replaces the default WordPress search form with one that uses Semantic UI.</h2>\n                            <pre>search_form() : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The resulting form</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_set_post_type\"></a>\n                        <div class=\"element clickable method public  method_set_post_type\" data-toggle=\"collapse\" data-target=\".method_set_post_type .collapse\">\n                            <h2>Sets theme::$post_type</h2>\n                            <pre>set_post_type(integer $template) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$template</h4>\n                                                <code>integer</code><p><p>The input string (ignored)</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The input string (ignored)</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_widgets_init\"></a>\n                        <div class=\"element clickable method public  method_widgets_init\" data-toggle=\"collapse\" data-target=\".method_widgets_init .collapse\">\n                            <h2>Registers the theme widget areas.</h2>\n                            <pre>widgets_init() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_wp_title\"></a>\n                        <div class=\"element clickable method public  method_wp_title\" data-toggle=\"collapse\" data-target=\".method_wp_title .collapse\">\n                            <h2>Improve the existing wp_title()</h2>\n                            <pre>wp_title(string $title, string $sep = &#039;&#039;) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$title</h4>\n                                                <code>string</code><p><p>Default HTML page title for current view.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$sep</h4>\n                                                <code>string</code><p><p>[optional] The separator to use.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The resulting title.</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_theme\"> </a>\n                            <div class=\"element clickable property  public property_theme\" data-toggle=\"collapse\" data-target=\".property_theme .collapse\">\n                                <h2>Instance of the theme class</h2>\n                                <pre>theme : \\semantic\\theme</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code><a href=\"../classes/semantic.theme.html\">\\semantic\\theme</a></code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\integrations\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.integrations.html\">integrations</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.shutdown.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\shutdown\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method__run_shutdown\" title=\"_run_shutdown :: Loops through and runs each job. Resets job queue after it finishes.\">\n            <span class=\"description\">Loops through and runs each job. Resets job queue after it finishes.</span><pre>_run_shutdown</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_exists\" title=\"exists :: Check if a job is registered\">\n            <span class=\"description\">Check if a job is registered</span><pre>exists</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_register\" title=\"register :: Register a shutdown action with a callback function and optional arguments.\">\n            <span class=\"description\">Register a shutdown action with a callback function and optional arguments.</span><pre>register</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_unregister\" title=\"unregister :: Remove a job from the job queue\">\n            <span class=\"description\">Remove a job from the job queue</span><pre>unregister</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>shutdown</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">Shutdown Class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method__run_shutdown\"></a>\n                        <div class=\"element clickable method public  method__run_shutdown\" data-toggle=\"collapse\" data-target=\".method__run_shutdown .collapse\">\n                            <h2>Loops through and runs each job. Resets job queue after it finishes.</h2>\n                            <pre>_run_shutdown() </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_exists\"></a>\n                        <div class=\"element clickable method public  method_exists\" data-toggle=\"collapse\" data-target=\".method_exists .collapse\">\n                            <h2>Check if a job is registered</h2>\n                            <pre>exists(string $id) : boolean</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The id to check</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>boolean</code><p><p>TRUE if job exists, FALSE otherwise</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_register\"></a>\n                        <div class=\"element clickable method public  method_register\" data-toggle=\"collapse\" data-target=\".method_register .collapse\">\n                            <h2>Register a shutdown action with a callback function and optional arguments.</h2>\n                            <pre>register(string $id, callable $callback, array $args = array()) : boolean</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: The callback must already be callable by the time it is registered!</p></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The id to register under</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$callback</h4>\n                                                <code>callable</code><p><p>The callback to run when PHP exits</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>Associative array of arguments to send on shutdown</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>boolean</code><p><p>TRUE when registration is successful, FALSE otherwise</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_unregister\"></a>\n                        <div class=\"element clickable method public  method_unregister\" data-toggle=\"collapse\" data-target=\".method_unregister .collapse\">\n                            <h2>Remove a job from the job queue</h2>\n                            <pre>unregister(string $id) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The id to remove</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_jobs\"> </a>\n                            <div class=\"element clickable property  private property_jobs\" data-toggle=\"collapse\" data-target=\".property_jobs .collapse\">\n                                <h2>The current list of jobs to run on shutdown</h2>\n                                <pre>jobs : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\shutdown\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.shutdown.html\">shutdown</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.theme.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\theme\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Just logs that the current class was initialized\">\n            <span class=\"description\">Just logs that the current class was initialized</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                                                                                                                                        <li class=\"method public\">\n        <a href=\"#method_do_integrations\" title=\"do_integrations :: Do WordPress theme integrations\">\n            <span class=\"description\">Do WordPress theme integrations</span><pre>do_integrations</pre>\n        </a>\n    </li>\n\n                                                                                                                                                                                                                        <li class=\"method public\">\n        <a href=\"#method_get_functions\" title=\"get_functions :: Get all theme functions\">\n            <span class=\"description\">Get all theme functions</span><pre>get_functions</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_get_option\" title=\"get_option :: Fetches the given option for the theme, returns FALSE when the option\ndoesn&#039;t exist.\">\n            <span class=\"description\">Fetches the given option for the theme, returns FALSE when the option\ndoesn&#039;t exist.</span><pre>get_option</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_inc\" title=\"inc :: Works like `include $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `include $theme_dir.&#039;/&#039;.$path`</span><pre>inc</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_inc_once\" title=\"inc_once :: Works like `include_once $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `include_once $theme_dir.&#039;/&#039;.$path`</span><pre>inc_once</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_option_form_name\" title=\"option_form_name :: Prints the input name for a value on the options page (form)\">\n            <span class=\"description\">Prints the input name for a value on the options page (form)</span><pre>option_form_name</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options_update_data\" title=\"options_update_data :: This ensures that the data sent via POST is actually valid by printing a\nspecial hidden form data entry.\">\n            <span class=\"description\">This ensures that the data sent via POST is actually valid by printing a\nspecial hidden form data entry.</span><pre>options_update_data</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_options_uri\" title=\"options_uri :: Returns the URI of the theme options page in the WordPress Dashboard\">\n            <span class=\"description\">Returns the URI of the theme options page in the WordPress Dashboard</span><pre>options_uri</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_part\" title=\"part :: Includes a theme part into the current page. Uses an id to identify which\npart of the theme is currently trying to be included. This allows the\ntemplate file to determine what parts of the page are replaced when the page\nis generated. (via $this-&gt;use_part())\">\n            <span class=\"description\">Includes a theme part into the current page. Uses an id to identify which\npart of the theme is currently trying to be included. This allows the\ntemplate file to determine what parts of the page are replaced when the page\nis generated. (via $this-&gt;use_part())</span><pre>part</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_req\" title=\"req :: Works like `require $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `require $theme_dir.&#039;/&#039;.$path`</span><pre>req</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_req_once\" title=\"req_once :: Works like `require_once $theme_dir.&#039;/&#039;.$path`\">\n            <span class=\"description\">Works like `require_once $theme_dir.&#039;/&#039;.$path`</span><pre>req_once</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_update_options\" title=\"update_options :: Checks if the current user can edit the theme and updates the options\nstored in the database if they can.\">\n            <span class=\"description\">Checks if the current user can edit the theme and updates the options\nstored in the database if they can.</span><pre>update_options</pre>\n        </a>\n    </li>\n\n                                                                                                                                                                <li class=\"method public\">\n        <a href=\"#method_use_part\" title=\"use_part :: Allows the template file to override what parts are used throughout the\npage. This method also checks if the theme part has already been replaced.\">\n            <span class=\"description\">Allows the template file to override what parts are used throughout the\npage. This method also checks if the theme part has already been replaced.</span><pre>use_part</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                <li class=\"method private\">\n                            <a href=\"#method__inc_path\" title=\"_inc_path :: Simple function to temporarily hold a path string. Empties the storage when\ncalled without a path to store\">\n                                <span class=\"description\">Simple function to temporarily hold a path string. Empties the storage when\ncalled without a path to store</span><pre>_inc_path</pre>\n                            </a>\n                        </li>\n                                                                                <li class=\"method private\">\n                            <a href=\"#method_default_options\" title=\"default_options :: Simply returns an array of &quot;default&quot; options for the theme\">\n                                <span class=\"description\">Simply returns an array of &quot;default&quot; options for the theme</span><pre>default_options</pre>\n                            </a>\n                        </li>\n                                                                                                                    <li class=\"method private\">\n                            <a href=\"#method_fetch_options\" title=\"fetch_options :: Imports the options from WordPress\">\n                                <span class=\"description\">Imports the options from WordPress</span><pre>fetch_options</pre>\n                            </a>\n                        </li>\n                                                                                <li class=\"method private\">\n                            <a href=\"#method_generate_paths\" title=\"generate_paths :: Set all the path variables based on (array) $sub_paths\">\n                                <span class=\"description\">Set all the path variables based on (array) $sub_paths</span><pre>generate_paths</pre>\n                            </a>\n                        </li>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <li class=\"method private\">\n                            <a href=\"#method_update_options_via_post\" title=\"update_options_via_post :: This function is called when there is POST data in the designated offset.\">\n                                <span class=\"description\">This function is called when there is POST data in the designated offset.</span><pre>update_options_via_post</pre>\n                            </a>\n                        </li>\n                                                                                    </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                                <li class=\"constant \">\n                    <a href=\"#constant_identifier\" title=\"identifier :: \">\n                        <span class=\"description\"></span><pre>identifier</pre>\n                    </a>\n                </li>\n                                <li class=\"constant \">\n                    <a href=\"#constant_text_domain\" title=\"text_domain :: \">\n                        <span class=\"description\"></span><pre>text_domain</pre>\n                    </a>\n                </li>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>theme</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.abstract_base.html\">\\semantic\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">Theme Class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        <p>This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</p>\n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Just logs that the current class was initialized</h2>\n                            <pre>__construct() </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method__inc_path\"></a>\n                        <div class=\"element clickable method private  method__inc_path\" data-toggle=\"collapse\" data-target=\".method__inc_path .collapse\">\n                            <h2>Simple function to temporarily hold a path string. Empties the storage when\ncalled without a path to store</h2>\n                            <pre>_inc_path(string $path = &#039;&#039;) : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>string</code><p><p>Path to store</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The stored path or an empty string</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_default_options\"></a>\n                        <div class=\"element clickable method private  method_default_options\" data-toggle=\"collapse\" data-target=\".method_default_options .collapse\">\n                            <h2>Simply returns an array of &quot;default&quot; options for the theme</h2>\n                            <pre>default_options() : array</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>array</code><p><p>The options</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_do_integrations\"></a>\n                        <div class=\"element clickable method public  method_do_integrations\" data-toggle=\"collapse\" data-target=\".method_do_integrations .collapse\">\n                            <h2>Do WordPress theme integrations</h2>\n                            <pre>do_integrations() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_fetch_options\"></a>\n                        <div class=\"element clickable method private  method_fetch_options\" data-toggle=\"collapse\" data-target=\".method_fetch_options .collapse\">\n                            <h2>Imports the options from WordPress</h2>\n                            <pre>fetch_options() : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_generate_paths\"></a>\n                        <div class=\"element clickable method private  method_generate_paths\" data-toggle=\"collapse\" data-target=\".method_generate_paths .collapse\">\n                            <h2>Set all the path variables based on (array) $sub_paths</h2>\n                            <pre>generate_paths(array $sub_paths) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$sub_paths</h4>\n                                                <code>array</code><p><p>[description]</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_get_functions\"></a>\n                        <div class=\"element clickable method public  method_get_functions\" data-toggle=\"collapse\" data-target=\".method_get_functions .collapse\">\n                            <h2>Get all theme functions</h2>\n                            <pre>get_functions() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_get_option\"></a>\n                        <div class=\"element clickable method public  method_get_option\" data-toggle=\"collapse\" data-target=\".method_get_option .collapse\">\n                            <h2>Fetches the given option for the theme, returns FALSE when the option\ndoesn&#039;t exist.</h2>\n                            <pre>get_option(string $name) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The option name</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The value of the options or FALSE on failure.</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_inc\"></a>\n                        <div class=\"element clickable method public  method_inc\" data-toggle=\"collapse\" data-target=\".method_inc .collapse\">\n                            <h2>Works like `include $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>inc(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_inc_once\"></a>\n                        <div class=\"element clickable method public  method_inc_once\" data-toggle=\"collapse\" data-target=\".method_inc_once .collapse\">\n                            <h2>Works like `include_once $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>inc_once(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_option_form_name\"></a>\n                        <div class=\"element clickable method public  method_option_form_name\" data-toggle=\"collapse\" data-target=\".method_option_form_name .collapse\">\n                            <h2>Prints the input name for a value on the options page (form)</h2>\n                            <pre>option_form_name(string $name) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name to use</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options_update_data\"></a>\n                        <div class=\"element clickable method public  method_options_update_data\" data-toggle=\"collapse\" data-target=\".method_options_update_data .collapse\">\n                            <h2>This ensures that the data sent via POST is actually valid by printing a\nspecial hidden form data entry.</h2>\n                            <pre>options_update_data() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_options_uri\"></a>\n                        <div class=\"element clickable method public  method_options_uri\" data-toggle=\"collapse\" data-target=\".method_options_uri .collapse\">\n                            <h2>Returns the URI of the theme options page in the WordPress Dashboard</h2>\n                            <pre>options_uri() : string</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The URI of the theme options page</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_part\"></a>\n                        <div class=\"element clickable method public  method_part\" data-toggle=\"collapse\" data-target=\".method_part .collapse\">\n                            <h2>Includes a theme part into the current page. Uses an id to identify which\npart of the theme is currently trying to be included. This allows the\ntemplate file to determine what parts of the page are replaced when the page\nis generated. (via $this-&gt;use_part())</h2>\n                            <pre>part(string $id, string $path, boolean $is_abs = FALSE, boolean $once = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The identifier to check for replacments</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>string</code><p><p>The path to use if their is no replacment</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>(optional) If the $path is an absolute path, set this to TRUE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$once</h4>\n                                                <code>boolean</code><p><p>(optional) Set to TRUE to use include_once instead of include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>(optional) The array of variables you want extraced</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>(optional) The return value of the file - usually NULL</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_req\"></a>\n                        <div class=\"element clickable method public  method_req\" data-toggle=\"collapse\" data-target=\".method_req .collapse\">\n                            <h2>Works like `require $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>req(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_req_once\"></a>\n                        <div class=\"element clickable method public  method_req_once\" data-toggle=\"collapse\" data-target=\".method_req_once .collapse\">\n                            <h2>Works like `require_once $theme_dir.&#039;/&#039;.$path`</h2>\n                            <pre>req_once(String $path, boolean $is_abs = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>String</code><p><p>The path to the file you want to include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>Is this an absolute path? Defaults to FALSE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>List of variables to extract()</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>Value of the file included</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_update_options\"></a>\n                        <div class=\"element clickable method public  method_update_options\" data-toggle=\"collapse\" data-target=\".method_update_options .collapse\">\n                            <h2>Checks if the current user can edit the theme and updates the options\nstored in the database if they can.</h2>\n                            <pre>update_options(array $options) : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>The options to store in the database as a JSON array</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_update_options_via_post\"></a>\n                        <div class=\"element clickable method private  method_update_options_via_post\" data-toggle=\"collapse\" data-target=\".method_update_options_via_post .collapse\">\n                            <h2>This function is called when there is POST data in the designated offset.</h2>\n                            <pre>update_options_via_post() : void</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>The new options replace the old if the nonce can be verified.</p></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                    \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_use_part\"></a>\n                        <div class=\"element clickable method public  method_use_part\" data-toggle=\"collapse\" data-target=\".method_use_part .collapse\">\n                            <h2>Allows the template file to override what parts are used throughout the\npage. This method also checks if the theme part has already been replaced.</h2>\n                            <pre>use_part(string $id, string $path, boolean $is_abs = FALSE, boolean $once = FALSE, array $var_list = array()) : mixed</pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>If it has already been replaced, then the input is ignored and this method\nreturns FALSE. To override this functionallity set the variable manually\nvia $this-&gt;template_queue[$id].</p></div>\n\n                                    <table class=\"table\">\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>string</code><p><p>The identifier to check for replacments</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$path</h4>\n                                                <code>string</code><p><p>The path to use if their is no replacment</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$is_abs</h4>\n                                                <code>boolean</code><p><p>(optional) If the $path is an absolute path, set this to TRUE</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$once</h4>\n                                                <code>boolean</code><p><p>(optional) Set to TRUE to use include_once instead of include</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$var_list</h4>\n                                                <code>array</code><p><p>(optional) The array of variables you want extraced</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>(optional) The return value of the file - usually NULL</p></p>\n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                                            <h3><i class=\"icon-custom icon-constant\"></i> Constants</h3>\n                                                    <a id=\"constant_identifier\"> </a>\n                            <div class=\"element clickable constant  constant_identifier\" data-toggle=\"collapse\" data-target=\".constant_identifier .collapse\">\n                                <h2>identifier</h2>\n                                <pre>identifier</pre>\n                                <div class=\"labels\">\n                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        \n                                                    </th>\n                                                    <td>\n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n                                    </div>\n                                </div>\n                            </div>\n                                                    <a id=\"constant_text_domain\"> </a>\n                            <div class=\"element clickable constant  constant_text_domain\" data-toggle=\"collapse\" data-target=\".constant_text_domain .collapse\">\n                                <h2>text_domain</h2>\n                                <pre>text_domain</pre>\n                                <div class=\"labels\">\n                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        \n                                                    </th>\n                                                    <td>\n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n                                    </div>\n                                </div>\n                            </div>\n                                            \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_options\"> </a>\n                            <div class=\"element clickable property  public property_options\" data-toggle=\"collapse\" data-target=\".property_options .collapse\">\n                                <h2>The current theme settings</h2>\n                                <pre>options : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_queue\"> </a>\n                            <div class=\"element clickable property  public property_template_queue\" data-toggle=\"collapse\" data-target=\".property_template_queue .collapse\">\n                                <h2>The current templates configured by $this-&gt;use_part()</h2>\n                                <pre>template_queue : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_used_templates\"> </a>\n                            <div class=\"element clickable property  public property_used_templates\" data-toggle=\"collapse\" data-target=\".property_used_templates .collapse\">\n                                <h2>The templates used by $this-&gt;part()</h2>\n                                <pre>used_templates : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_inc_var_list\"> </a>\n                            <div class=\"element clickable property  public property_inc_var_list\" data-toggle=\"collapse\" data-target=\".property_inc_var_list .collapse\">\n                                <h2>The list of variables to be extracted when a part is included</h2>\n                                <pre>inc_var_list : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_path\"> </a>\n                            <div class=\"element clickable property  public property_path\" data-toggle=\"collapse\" data-target=\".property_path .collapse\">\n                                <h2>Alias to get_template_directory()</h2>\n                                <pre>path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_uri\"> </a>\n                            <div class=\"element clickable property  public property_uri\" data-toggle=\"collapse\" data-target=\".property_uri .collapse\">\n                                <h2>Alias to get_template_directory_uri()</h2>\n                                <pre>uri : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_asset_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_asset_sub_path\" data-toggle=\"collapse\" data-target=\".property_asset_sub_path .collapse\">\n                                <h2>Path to the asset directory, relative to $this-&gt;path</h2>\n                                <pre>asset_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_font_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_font_sub_path\" data-toggle=\"collapse\" data-target=\".property_font_sub_path .collapse\">\n                                <h2>Path to the font directory, relative to $this-&gt;path</h2>\n                                <pre>font_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_image_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_image_sub_path\" data-toggle=\"collapse\" data-target=\".property_image_sub_path .collapse\">\n                                <h2>Path to the image directory, relative to $this-&gt;path</h2>\n                                <pre>image_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_script_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_script_sub_path\" data-toggle=\"collapse\" data-target=\".property_script_sub_path .collapse\">\n                                <h2>Path to the script directory, relative to $this-&gt;path</h2>\n                                <pre>script_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_style_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_style_sub_path\" data-toggle=\"collapse\" data-target=\".property_style_sub_path .collapse\">\n                                <h2>Path to the style directory, relative to $this-&gt;path</h2>\n                                <pre>style_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_content_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_content_sub_path\" data-toggle=\"collapse\" data-target=\".property_content_sub_path .collapse\">\n                                <h2>Path to the content directory, relative to $this-&gt;path</h2>\n                                <pre>content_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_include_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_include_sub_path\" data-toggle=\"collapse\" data-target=\".property_include_sub_path .collapse\">\n                                <h2>Path to the include directory, relative to $this-&gt;path</h2>\n                                <pre>include_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_sub_path\"> </a>\n                            <div class=\"element clickable property  public property_template_sub_path\" data-toggle=\"collapse\" data-target=\".property_template_sub_path .collapse\">\n                                <h2>Path to the template directory, relative to $this-&gt;path</h2>\n                                <pre>template_sub_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_asset_path\"> </a>\n                            <div class=\"element clickable property  public property_asset_path\" data-toggle=\"collapse\" data-target=\".property_asset_path .collapse\">\n                                <h2>Absolute path to the asset directory</h2>\n                                <pre>asset_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_font_path\"> </a>\n                            <div class=\"element clickable property  public property_font_path\" data-toggle=\"collapse\" data-target=\".property_font_path .collapse\">\n                                <h2>Absolute path to the font directory</h2>\n                                <pre>font_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_image_path\"> </a>\n                            <div class=\"element clickable property  public property_image_path\" data-toggle=\"collapse\" data-target=\".property_image_path .collapse\">\n                                <h2>Absolute path to the image directory</h2>\n                                <pre>image_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_script_path\"> </a>\n                            <div class=\"element clickable property  public property_script_path\" data-toggle=\"collapse\" data-target=\".property_script_path .collapse\">\n                                <h2>Absolute path to the script directory</h2>\n                                <pre>script_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_style_path\"> </a>\n                            <div class=\"element clickable property  public property_style_path\" data-toggle=\"collapse\" data-target=\".property_style_path .collapse\">\n                                <h2>Absolute path to the style directory</h2>\n                                <pre>style_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_content_path\"> </a>\n                            <div class=\"element clickable property  public property_content_path\" data-toggle=\"collapse\" data-target=\".property_content_path .collapse\">\n                                <h2>Absolute path to the content directory</h2>\n                                <pre>content_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_include_path\"> </a>\n                            <div class=\"element clickable property  public property_include_path\" data-toggle=\"collapse\" data-target=\".property_include_path .collapse\">\n                                <h2>Absolute path to the include directory</h2>\n                                <pre>include_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_path\"> </a>\n                            <div class=\"element clickable property  public property_template_path\" data-toggle=\"collapse\" data-target=\".property_template_path .collapse\">\n                                <h2>Absolute path to the template directory</h2>\n                                <pre>template_path : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_asset_uri\"> </a>\n                            <div class=\"element clickable property  public property_asset_uri\" data-toggle=\"collapse\" data-target=\".property_asset_uri .collapse\">\n                                <h2>Full URL/URI to the asset directory</h2>\n                                <pre>asset_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_font_uri\"> </a>\n                            <div class=\"element clickable property  public property_font_uri\" data-toggle=\"collapse\" data-target=\".property_font_uri .collapse\">\n                                <h2>Full URL/URI to the font directory</h2>\n                                <pre>font_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_image_uri\"> </a>\n                            <div class=\"element clickable property  public property_image_uri\" data-toggle=\"collapse\" data-target=\".property_image_uri .collapse\">\n                                <h2>Full URL/URI to the image directory</h2>\n                                <pre>image_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_script_uri\"> </a>\n                            <div class=\"element clickable property  public property_script_uri\" data-toggle=\"collapse\" data-target=\".property_script_uri .collapse\">\n                                <h2>Full URL/URI to the script directory</h2>\n                                <pre>script_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_style_uri\"> </a>\n                            <div class=\"element clickable property  public property_style_uri\" data-toggle=\"collapse\" data-target=\".property_style_uri .collapse\">\n                                <h2>Full URL/URI to the style directory</h2>\n                                <pre>style_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_content_uri\"> </a>\n                            <div class=\"element clickable property  public property_content_uri\" data-toggle=\"collapse\" data-target=\".property_content_uri .collapse\">\n                                <h2>Full URL/URI to the content directory</h2>\n                                <pre>content_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_include_uri\"> </a>\n                            <div class=\"element clickable property  public property_include_uri\" data-toggle=\"collapse\" data-target=\".property_include_uri .collapse\">\n                                <h2>Full URL/URI to the include directory</h2>\n                                <pre>include_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_template_uri\"> </a>\n                            <div class=\"element clickable property  public property_template_uri\" data-toggle=\"collapse\" data-target=\".property_template_uri .collapse\">\n                                <h2>Full URL/URI to the template directory</h2>\n                                <pre>template_uri : \\semantic\\[type]</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>\\semantic\\[type]</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\theme\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.theme.html\">theme</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.walker.abstract_base.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\walker\\abstract_base\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public\">\n        <a href=\"#method___construct\" title=\"__construct :: Simple setup for walker classes.\">\n            <span class=\"description\">Simple setup for walker classes.</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>abstract_base</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends \\Walker\n                                                        </small>\n                <p class=\"short_description\">The customer walker base class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        \n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Simple setup for walker classes.</h2>\n                            <pre>__construct(array $options = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>Custom options to pass to the walker as $this-&gt;semantic_options</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_semantic_options\"> </a>\n                            <div class=\"element clickable property  public property_semantic_options\" data-toggle=\"collapse\" data-target=\".property_semantic_options .collapse\">\n                                <h2>Array of option to pass to the walker</h2>\n                                <pre>semantic_options : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\walker\\abstract_base\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.walker.abstract_base.html\">abstract_base</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.walker.abstract_nav_menu.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\walker\\abstract_nav_menu\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Simple setup for walker classes.\">\n            <span class=\"description\">Simple setup for walker classes.</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_end_el\" title=\"end_el :: Ends the element output, if needed.\">\n            <span class=\"description\">Ends the element output, if needed.</span><pre>end_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_end_lvl\" title=\"end_lvl :: Ends the list of after the elements are added.\">\n            <span class=\"description\">Ends the list of after the elements are added.</span><pre>end_lvl</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_start_el\" title=\"start_el :: Start the element output.\">\n            <span class=\"description\">Start the element output.</span><pre>start_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public\">\n        <a href=\"#method_start_lvl\" title=\"start_lvl :: Starts the list before the elements are added.\">\n            <span class=\"description\">Starts the list before the elements are added.</span><pre>start_lvl</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>abstract_nav_menu</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.walker.abstract_base.html\">\\semantic\\walker\\abstract_base</a>\n                                                        </small>\n                <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        \n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                                                                                                                                                                            </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Simple setup for walker classes.</h2>\n                            <pre>__construct(array $options = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>Custom options to pass to the walker as $this-&gt;semantic_options</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_el\"></a>\n                        <div class=\"element clickable method public  method_end_el\" data-toggle=\"collapse\" data-target=\".method_end_el .collapse\">\n                            <h2>Ends the element output, if needed.</h2>\n                            <pre>end_el(string &$output, object $item, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Page data object. Not used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of page. Not Used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_lvl\"></a>\n                        <div class=\"element clickable method public  method_end_lvl\" data-toggle=\"collapse\" data-target=\".method_end_lvl .collapse\">\n                            <h2>Ends the list of after the elements are added.</h2>\n                            <pre>end_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_el\"></a>\n                        <div class=\"element clickable method public  method_start_el\" data-toggle=\"collapse\" data-target=\".method_start_el .collapse\">\n                            <h2>Start the element output.</h2>\n                            <pre>start_el(string &$output, object $item, integer $depth, array $args = array(), integer $id) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Menu item data object.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>integer</code><p><p>Current item ID.</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_lvl\"></a>\n                        <div class=\"element clickable method public  method_start_lvl\" data-toggle=\"collapse\" data-target=\".method_start_lvl .collapse\">\n                            <h2>Starts the list before the elements are added.</h2>\n                            <pre>start_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_tree_type\"> </a>\n                            <div class=\"element clickable property  public property_tree_type\" data-toggle=\"collapse\" data-target=\".property_tree_type .collapse\">\n                                <h2>What the class handles.</h2>\n                                <pre>tree_type : string</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_db_fields\"> </a>\n                            <div class=\"element clickable property  public property_db_fields\" data-toggle=\"collapse\" data-target=\".property_db_fields .collapse\">\n                                <h2>Database fields to use.</h2>\n                                <pre>db_fields : array</pre>\n                                <div class=\"labels\">\n                                                                                                        </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_semantic_options\"> </a>\n                            <div class=\"element clickable property  public property_semantic_options inherited\" data-toggle=\"collapse\" data-target=\".property_semantic_options .collapse\">\n                                <h2>Array of option to pass to the walker</h2>\n                                <pre>semantic_options : array</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\walker\\abstract_nav_menu\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.walker.abstract_nav_menu.html\">abstract_nav_menu</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/classes/semantic.walker.nav_menu.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>    Semantic UI for WordPress: Developer Edition &raquo; \\semantic\\walker\\nav_menu\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <style>\n        .deprecated h2 {\n            text-decoration: line-through;\n        }\n    </style>\n    <div class=\"row\">\n        <div class=\"span4\">\n                    <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n        <button class=\"btn details\" title=\"Show descriptions and method names\"><i class=\"icon-list\"></i></button>\n        <button class=\"btn simple\" title=\"Show only method names\"><i class=\"icon-align-justify\"></i></button>\n    </div>\n    <div class=\"btn-group visibility\" data-toggle=\"buttons-checkbox\">\n        <button class=\"btn public active\" title=\"Show public elements\">Public</button>\n        <button class=\"btn protected\" title=\"Show protected elements\">Protected</button>\n        <button class=\"btn private\" title=\"Show private elements\">Private</button>\n        <button class=\"btn inherited active\" title=\"Show inherited elements\">Inherited</button>\n    </div>\n\n        <ul class=\"side-nav nav nav-list\">\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-method\"></i> Methods\n            <ul>\n                                                                                                    <li class=\"method public inherited\">\n        <a href=\"#method___construct\" title=\"__construct :: Simple setup for walker classes.\">\n            <span class=\"description\">Simple setup for walker classes.</span><pre>__construct</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_end_el\" title=\"end_el :: Ends the element output, if needed.\">\n            <span class=\"description\">Ends the element output, if needed.</span><pre>end_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_end_lvl\" title=\"end_lvl :: Ends the list of after the elements are added.\">\n            <span class=\"description\">Ends the list of after the elements are added.</span><pre>end_lvl</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_start_el\" title=\"start_el :: Start the element output.\">\n            <span class=\"description\">Start the element output.</span><pre>start_el</pre>\n        </a>\n    </li>\n\n                                                                                                        <li class=\"method public inherited\">\n        <a href=\"#method_start_lvl\" title=\"start_lvl :: Starts the list before the elements are added.\">\n            <span class=\"description\">Starts the list before the elements are added.</span><pre>start_lvl</pre>\n        </a>\n    </li>\n\n                                                </ul>\n        </li>\n        <li class=\"nav-header protected\">» Protected\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header private\">» Private\n            <ul>\n                                                                                                                                                                                                                                </ul>\n        </li>\n        <li class=\"nav-header\">\n            <i class=\"icon-custom icon-constant\"></i> Constants\n            <ul>\n                            </ul>\n        </li>\n    </ul>\n\n\n        </div>\n\n        <div class=\"span8\">\n            <div class=\"element class\">\n                <h1>nav_menu</h1>\n                <small style=\"display: block; text-align: right\">\n                                            Extends <a href=\"../classes/semantic.walker.abstract_nav_menu.html\">\\semantic\\walker\\abstract_nav_menu</a>\n                                                        </small>\n                <p class=\"short_description\">Custom nav menu walker class</p>\n                <div class=\"details\">\n                    <div class=\"long_description\">\n                        \n                    </div>\n                    <table class=\"table table-bordered\">\n                                                                                    <tr>\n                                    <th>\n                                        package\n                                                                            </th>\n                                    <td>\n                                                                                    \n                                                                                <p>Default</p>\n                                    </td>\n                                </tr>\n                                                                                                                                                                                </table>\n\n                    <h3><i class=\"icon-custom icon-method\"></i> Methods</h3>\n                                                                <a id=\"method___construct\"></a>\n                        <div class=\"element clickable method public  method___construct inherited\" data-toggle=\"collapse\" data-target=\".method___construct .collapse\">\n                            <h2>Simple setup for walker classes.</h2>\n                            <pre>__construct(array $options = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$options</h4>\n                                                <code>array</code><p><p>Custom options to pass to the walker as $this-&gt;semantic_options</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_el\"></a>\n                        <div class=\"element clickable method public  method_end_el inherited\" data-toggle=\"collapse\" data-target=\".method_end_el .collapse\">\n                            <h2>Ends the element output, if needed.</h2>\n                            <pre>end_el(string &$output, object $item, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Page data object. Not used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of page. Not Used.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_end_lvl\"></a>\n                        <div class=\"element clickable method public  method_end_lvl inherited\" data-toggle=\"collapse\" data-target=\".method_end_lvl .collapse\">\n                            <h2>Ends the list of after the elements are added.</h2>\n                            <pre>end_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::end_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_el\"></a>\n                        <div class=\"element clickable method public  method_start_el inherited\" data-toggle=\"collapse\" data-target=\".method_start_el .collapse\">\n                            <h2>Start the element output.</h2>\n                            <pre>start_el(string &$output, object $item, integer $depth, array $args = array(), integer $id) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_el()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$item</h4>\n                                                <code>object</code><p><p>Menu item data object.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$id</h4>\n                                                <code>integer</code><p><p>Current item ID.</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                                            <a id=\"method_start_lvl\"></a>\n                        <div class=\"element clickable method public  method_start_lvl inherited\" data-toggle=\"collapse\" data-target=\".method_start_lvl .collapse\">\n                            <h2>Starts the list before the elements are added.</h2>\n                            <pre>start_lvl(string &$output, integer $depth, array $args = array()) </pre>\n                            <div class=\"labels\">\n                                <span class=\"label\">inherited</span>                                                                                                                                                            </div>\n\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            \\semantic\\walker\\Walker::start_lvl()\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    since\n                                                </th>\n                                                <td>\n                                                                                                                                                                        3.0.0\n                                                                                                                                                                        \n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    \n                                                </th>\n                                                <td>\n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$output</h4>\n                                                <code>string</code><p><p>Passed by reference. Used to append additional content.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$depth</h4>\n                                                <code>integer</code><p><p>Depth of menu item. Used for padding.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$args</h4>\n                                                <code>array</code><p><p>An array of arguments. @see wp_nav_menu()</p></p>\n                                            </div>\n                                                                            \n                                                                    </div>\n                            </div>\n\n                        </div>\n                    \n                    \n                                                                <h3><i class=\"icon-custom icon-property\"></i> Properties</h3>\n                                                    <a id=\"property_tree_type\"> </a>\n                            <div class=\"element clickable property  public property_tree_type inherited\" data-toggle=\"collapse\" data-target=\".property_tree_type .collapse\">\n                                <h2>What the class handles.</h2>\n                                <pre>tree_type : string</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>string</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_db_fields\"> </a>\n                            <div class=\"element clickable property  public property_db_fields inherited\" data-toggle=\"collapse\" data-target=\".property_db_fields .collapse\">\n                                <h2>Database fields to use.</h2>\n                                <pre>db_fields : array</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        see\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        since\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                    <a id=\"property_semantic_options\"> </a>\n                            <div class=\"element clickable property  public property_semantic_options inherited\" data-toggle=\"collapse\" data-target=\".property_semantic_options .collapse\">\n                                <h2>Array of option to pass to the walker</h2>\n                                <pre>semantic_options : array</pre>\n                                <div class=\"labels\">\n                                    <span class=\"label\">inherited</span>                                                                    </div>\n                                <div class=\"row collapse\">\n                                    <div class=\"detail-description\">\n                                        <div class=\"long_description\"></div>\n\n                                        <table class=\"table\">\n                                                                                            <tr>\n                                                    <th>\n                                                        var\n                                                    </th>\n                                                    <td>\n                                                                                                                    \n                                                                                                            </td>\n                                                </tr>\n                                                                                    </table>\n\n                                                                                    <h3>Type(s)</h3>\n                                            <code>array</code>\n                                                                            </div>\n                                </div>\n                            </div>\n                                                            </div>\n            </div>\n            <a id=\"\\semantic\\walker\\nav_menu\"></a>\n            <ul class=\"breadcrumb\">\n                <li><a href=\"../index.html\"><i class=\"icon-custom icon-class\"></i></a></li>\n                    \n    \n    <li><span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a></li>\n\n                <li class=\"active\"><span class=\"divider\">\\</span><a href=\"../classes/semantic.walker.nav_menu.html\">nav_menu</a></li>\n            </ul>\n        </div>\n    </div>\n\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/css/bootstrap-responsive.css",
    "content": "/*!\n * Bootstrap Responsive v2.0.0\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\n.hidden {\n  display: none;\n  visibility: hidden;\n}\n@media (max-width: 480px) {\n  .nav-collapse {\n    -webkit-transform: translate3d(0, 0, 0);\n  }\n  .page-header h1 small {\n    display: block;\n    line-height: 18px;\n  }\n  input[class*=\"span\"],\n  select[class*=\"span\"],\n  textarea[class*=\"span\"],\n  .uneditable-input {\n    display: block;\n    width: 100%;\n    height: 28px;\n    /* Make inputs at least the height of their button counterpart */\n  \n    /* Makes inputs behave like true block-level elements */\n  \n    -webkit-box-sizing: border-box;\n    /* Older Webkit */\n  \n    -moz-box-sizing: border-box;\n    /* Older FF */\n  \n    -ms-box-sizing: border-box;\n    /* IE8 */\n  \n    box-sizing: border-box;\n    /* CSS3 spec*/\n  \n  }\n  .input-prepend input[class*=\"span\"], .input-append input[class*=\"span\"] {\n    width: auto;\n  }\n  input[type=\"checkbox\"], input[type=\"radio\"] {\n    border: 1px solid #ccc;\n  }\n  .form-horizontal .control-group > label {\n    float: none;\n    width: auto;\n    padding-top: 0;\n    text-align: left;\n  }\n  .form-horizontal .controls {\n    margin-left: 0;\n  }\n  .form-horizontal .control-list {\n    padding-top: 0;\n  }\n  .form-horizontal .form-actions {\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n  .modal {\n    position: absolute;\n    top: 10px;\n    left: 10px;\n    right: 10px;\n    width: auto;\n    margin: 0;\n  }\n  .modal.fade.in {\n    top: auto;\n  }\n  .modal-header .close {\n    padding: 10px;\n    margin: -10px;\n  }\n  .carousel-caption {\n    position: static;\n  }\n}\n@media (max-width: 768px) {\n  .container {\n    width: auto;\n    padding: 0 20px;\n  }\n  .row-fluid {\n    width: 100%;\n  }\n  .row {\n    margin-left: 0;\n  }\n  .row > [class*=\"span\"], .row-fluid > [class*=\"span\"] {\n    float: none;\n    display: block;\n    width: auto;\n    margin: 0;\n  }\n}\n@media (min-width: 768px) and (max-width: 980px) {\n  .row {\n    margin-left: -20px;\n    *zoom: 1;\n  }\n  .row:before, .row:after {\n    display: table;\n    content: \"\";\n  }\n  .row:after {\n    clear: both;\n  }\n  [class*=\"span\"] {\n    float: left;\n    margin-left: 20px;\n  }\n  .span1 {\n    width: 42px;\n  }\n  .span2 {\n    width: 104px;\n  }\n  .span3 {\n    width: 166px;\n  }\n  .span4 {\n    width: 228px;\n  }\n  .span5 {\n    width: 290px;\n  }\n  .span6 {\n    width: 352px;\n  }\n  .span7 {\n    width: 414px;\n  }\n  .span8 {\n    width: 476px;\n  }\n  .span9 {\n    width: 538px;\n  }\n  .span10 {\n    width: 600px;\n  }\n  .span11 {\n    width: 662px;\n  }\n  .span12, .container {\n    width: 724px;\n  }\n  .offset1 {\n    margin-left: 82px;\n  }\n  .offset2 {\n    margin-left: 144px;\n  }\n  .offset3 {\n    margin-left: 206px;\n  }\n  .offset4 {\n    margin-left: 268px;\n  }\n  .offset5 {\n    margin-left: 330px;\n  }\n  .offset6 {\n    margin-left: 392px;\n  }\n  .offset7 {\n    margin-left: 454px;\n  }\n  .offset8 {\n    margin-left: 516px;\n  }\n  .offset9 {\n    margin-left: 578px;\n  }\n  .offset10 {\n    margin-left: 640px;\n  }\n  .offset11 {\n    margin-left: 702px;\n  }\n  .row-fluid {\n    width: 100%;\n    *zoom: 1;\n  }\n  .row-fluid:before, .row-fluid:after {\n    display: table;\n    content: \"\";\n  }\n  .row-fluid:after {\n    clear: both;\n  }\n  .row-fluid > [class*=\"span\"] {\n    float: left;\n    margin-left: 2.762430939%;\n  }\n  .row-fluid > [class*=\"span\"]:first-child {\n    margin-left: 0;\n  }\n  .row-fluid .span1 {\n    width: 5.801104972%;\n  }\n  .row-fluid .span2 {\n    width: 14.364640883%;\n  }\n  .row-fluid .span3 {\n    width: 22.928176794%;\n  }\n  .row-fluid .span4 {\n    width: 31.491712705%;\n  }\n  .row-fluid .span5 {\n    width: 40.055248616%;\n  }\n  .row-fluid .span6 {\n    width: 48.618784527%;\n  }\n  .row-fluid .span7 {\n    width: 57.182320438000005%;\n  }\n  .row-fluid .span8 {\n    width: 65.74585634900001%;\n  }\n  .row-fluid .span9 {\n    width: 74.30939226%;\n  }\n  .row-fluid .span10 {\n    width: 82.87292817100001%;\n  }\n  .row-fluid .span11 {\n    width: 91.436464082%;\n  }\n  .row-fluid .span12 {\n    width: 99.999999993%;\n  }\n  input.span1, textarea.span1, .uneditable-input.span1 {\n    width: 32px;\n  }\n  input.span2, textarea.span2, .uneditable-input.span2 {\n    width: 94px;\n  }\n  input.span3, textarea.span3, .uneditable-input.span3 {\n    width: 156px;\n  }\n  input.span4, textarea.span4, .uneditable-input.span4 {\n    width: 218px;\n  }\n  input.span5, textarea.span5, .uneditable-input.span5 {\n    width: 280px;\n  }\n  input.span6, textarea.span6, .uneditable-input.span6 {\n    width: 342px;\n  }\n  input.span7, textarea.span7, .uneditable-input.span7 {\n    width: 404px;\n  }\n  input.span8, textarea.span8, .uneditable-input.span8 {\n    width: 466px;\n  }\n  input.span9, textarea.span9, .uneditable-input.span9 {\n    width: 528px;\n  }\n  input.span10, textarea.span10, .uneditable-input.span10 {\n    width: 590px;\n  }\n  input.span11, textarea.span11, .uneditable-input.span11 {\n    width: 652px;\n  }\n  input.span12, textarea.span12, .uneditable-input.span12 {\n    width: 714px;\n  }\n}\n@media (max-width: 980px) {\n  body {\n    padding-top: 0;\n  }\n  .navbar-fixed-top {\n    position: static;\n    margin-bottom: 18px;\n  }\n  .navbar-fixed-top .navbar-inner {\n    padding: 5px;\n  }\n  .navbar .container {\n    width: auto;\n    padding: 0;\n  }\n  .navbar .brand {\n    padding-left: 10px;\n    padding-right: 10px;\n    margin: 0 0 0 -5px;\n  }\n  .navbar .nav-collapse {\n    clear: left;\n  }\n  .navbar .nav {\n    float: none;\n    margin: 0 0 9px;\n  }\n  .navbar .nav > li {\n    float: none;\n  }\n  .navbar .nav > li > a {\n    margin-bottom: 2px;\n  }\n  .navbar .nav > .divider-vertical {\n    display: none;\n  }\n  .navbar .nav > li > a, .navbar .dropdown-menu a {\n    padding: 6px 15px;\n    font-weight: bold;\n    color: #999999;\n    -webkit-border-radius: 3px;\n    -moz-border-radius: 3px;\n    border-radius: 3px;\n  }\n  .navbar .dropdown-menu li + li a {\n    margin-bottom: 2px;\n  }\n  .navbar .nav > li > a:hover, .navbar .dropdown-menu a:hover {\n    background-color: #222222;\n  }\n  .navbar .dropdown-menu {\n    position: static;\n    top: auto;\n    left: auto;\n    float: none;\n    display: block;\n    max-width: none;\n    margin: 0 15px;\n    padding: 0;\n    background-color: transparent;\n    border: none;\n    -webkit-border-radius: 0;\n    -moz-border-radius: 0;\n    border-radius: 0;\n    -webkit-box-shadow: none;\n    -moz-box-shadow: none;\n    box-shadow: none;\n  }\n  .navbar .dropdown-menu:before, .navbar .dropdown-menu:after {\n    display: none;\n  }\n  .navbar .dropdown-menu .divider {\n    display: none;\n  }\n  .navbar-form, .navbar-search {\n    float: none;\n    padding: 9px 15px;\n    margin: 9px 0;\n    border-top: 1px solid #222222;\n    border-bottom: 1px solid #222222;\n    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n  }\n  .navbar .nav.pull-right {\n    float: none;\n    margin-left: 0;\n  }\n  .navbar-static .navbar-inner {\n    padding-left: 10px;\n    padding-right: 10px;\n  }\n  .btn-navbar {\n    display: block;\n  }\n  .nav-collapse {\n    overflow: hidden;\n    height: 0;\n  }\n}\n@media (min-width: 980px) {\n  .nav-collapse.collapse {\n    height: auto !important;\n  }\n}\n@media (min-width: 1200px) {\n  .row {\n    margin-left: -30px;\n    *zoom: 1;\n  }\n  .row:before, .row:after {\n    display: table;\n    content: \"\";\n  }\n  .row:after {\n    clear: both;\n  }\n  [class*=\"span\"] {\n    float: left;\n    margin-left: 30px;\n  }\n  .span1 {\n    width: 70px;\n  }\n  .span2 {\n    width: 170px;\n  }\n  .span3 {\n    width: 270px;\n  }\n  .span4 {\n    width: 370px;\n  }\n  .span5 {\n    width: 470px;\n  }\n  .span6 {\n    width: 570px;\n  }\n  .span7 {\n    width: 670px;\n  }\n  .span8 {\n    width: 770px;\n  }\n  .span9 {\n    width: 870px;\n  }\n  .span10 {\n    width: 970px;\n  }\n  .span11 {\n    width: 1070px;\n  }\n  .span12, .container {\n    width: 1170px;\n  }\n  .offset1 {\n    margin-left: 130px;\n  }\n  .offset2 {\n    margin-left: 230px;\n  }\n  .offset3 {\n    margin-left: 330px;\n  }\n  .offset4 {\n    margin-left: 430px;\n  }\n  .offset5 {\n    margin-left: 530px;\n  }\n  .offset6 {\n    margin-left: 630px;\n  }\n  .offset7 {\n    margin-left: 730px;\n  }\n  .offset8 {\n    margin-left: 830px;\n  }\n  .offset9 {\n    margin-left: 930px;\n  }\n  .offset10 {\n    margin-left: 1030px;\n  }\n  .offset11 {\n    margin-left: 1130px;\n  }\n  .row-fluid {\n    width: 100%;\n    *zoom: 1;\n  }\n  .row-fluid:before, .row-fluid:after {\n    display: table;\n    content: \"\";\n  }\n  .row-fluid:after {\n    clear: both;\n  }\n  .row-fluid > [class*=\"span\"] {\n    float: left;\n    margin-left: 2.564102564%;\n  }\n  .row-fluid > [class*=\"span\"]:first-child {\n    margin-left: 0;\n  }\n  .row-fluid .span1 {\n    width: 5.982905983%;\n  }\n  .row-fluid .span2 {\n    width: 14.529914530000001%;\n  }\n  .row-fluid .span3 {\n    width: 23.076923077%;\n  }\n  .row-fluid .span4 {\n    width: 31.623931624%;\n  }\n  .row-fluid .span5 {\n    width: 40.170940171000005%;\n  }\n  .row-fluid .span6 {\n    width: 48.717948718%;\n  }\n  .row-fluid .span7 {\n    width: 57.264957265%;\n  }\n  .row-fluid .span8 {\n    width: 65.81196581200001%;\n  }\n  .row-fluid .span9 {\n    width: 74.358974359%;\n  }\n  .row-fluid .span10 {\n    width: 82.905982906%;\n  }\n  .row-fluid .span11 {\n    width: 91.45299145300001%;\n  }\n  .row-fluid .span12 {\n    width: 100%;\n  }\n  input.span1, textarea.span1, .uneditable-input.span1 {\n    width: 60px;\n  }\n  input.span2, textarea.span2, .uneditable-input.span2 {\n    width: 160px;\n  }\n  input.span3, textarea.span3, .uneditable-input.span3 {\n    width: 260px;\n  }\n  input.span4, textarea.span4, .uneditable-input.span4 {\n    width: 360px;\n  }\n  input.span5, textarea.span5, .uneditable-input.span5 {\n    width: 460px;\n  }\n  input.span6, textarea.span6, .uneditable-input.span6 {\n    width: 560px;\n  }\n  input.span7, textarea.span7, .uneditable-input.span7 {\n    width: 660px;\n  }\n  input.span8, textarea.span8, .uneditable-input.span8 {\n    width: 760px;\n  }\n  input.span9, textarea.span9, .uneditable-input.span9 {\n    width: 860px;\n  }\n  input.span10, textarea.span10, .uneditable-input.span10 {\n    width: 960px;\n  }\n  input.span11, textarea.span11, .uneditable-input.span11 {\n    width: 1060px;\n  }\n  input.span12, textarea.span12, .uneditable-input.span12 {\n    width: 1160px;\n  }\n  .thumbnails {\n    margin-left: -30px;\n  }\n  .thumbnails > li {\n    margin-left: 30px;\n  }\n}\n"
  },
  {
    "path": "docs/css/bootstrap.css",
    "content": "/*!\n * Bootstrap v2.0.0\n *\n * Copyright 2012 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Designed and built with all the love in the world @twitter by @mdo and @fat.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nnav,\nsection {\n  display: block;\n}\naudio, canvas, video {\n  display: inline-block;\n  *display: inline;\n  *zoom: 1;\n}\naudio:not([controls]) {\n  display: none;\n}\nhtml {\n  font-size: 100%;\n  -webkit-text-size-adjust: 100%;\n  -ms-text-size-adjust: 100%;\n}\na:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\na:hover, a:active {\n  outline: 0;\n}\nsub, sup {\n  position: relative;\n  font-size: 75%;\n  line-height: 0;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\nimg {\n  max-width: 100%;\n  height: auto;\n  border: 0;\n  -ms-interpolation-mode: bicubic;\n}\nbutton,\ninput,\nselect,\ntextarea {\n  margin: 0;\n  font-size: 100%;\n  vertical-align: middle;\n}\nbutton, input {\n  *overflow: visible;\n  line-height: normal;\n}\nbutton::-moz-focus-inner, input::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\nbutton,\ninput[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  cursor: pointer;\n  -webkit-appearance: button;\n}\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  -webkit-box-sizing: content-box;\n  -moz-box-sizing: content-box;\n  box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-decoration, input[type=\"search\"]::-webkit-search-cancel-button {\n  -webkit-appearance: none;\n}\ntextarea {\n  overflow: auto;\n  vertical-align: top;\n}\nbody {\n  margin: 0;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 18px;\n  color: #333333;\n  background-color: #ffffff;\n}\na {\n  color: #0088cc;\n  text-decoration: none;\n}\na:hover {\n  color: #005580;\n  text-decoration: underline;\n}\n.row {\n  margin-left: -20px;\n  *zoom: 1;\n}\n.row:before, .row:after {\n  display: table;\n  content: \"\";\n}\n.row:after {\n  clear: both;\n}\n[class*=\"span\"] {\n  float: left;\n  margin-left: 20px;\n}\n.span1 {\n  width: 60px;\n}\n.span2 {\n  width: 140px;\n}\n.span3 {\n  width: 220px;\n}\n.span4 {\n  width: 300px;\n}\n.span5 {\n  width: 380px;\n}\n.span6 {\n  width: 460px;\n}\n.span7 {\n  width: 540px;\n}\n.span8 {\n  width: 620px;\n}\n.span9 {\n  width: 700px;\n}\n.span10 {\n  width: 780px;\n}\n.span11 {\n  width: 860px;\n}\n.span12, .container {\n  width: 940px;\n}\n.offset1 {\n  margin-left: 100px;\n}\n.offset2 {\n  margin-left: 180px;\n}\n.offset3 {\n  margin-left: 260px;\n}\n.offset4 {\n  margin-left: 340px;\n}\n.offset5 {\n  margin-left: 420px;\n}\n.offset6 {\n  margin-left: 500px;\n}\n.offset7 {\n  margin-left: 580px;\n}\n.offset8 {\n  margin-left: 660px;\n}\n.offset9 {\n  margin-left: 740px;\n}\n.offset10 {\n  margin-left: 820px;\n}\n.offset11 {\n  margin-left: 900px;\n}\n.row-fluid {\n  width: 100%;\n  *zoom: 1;\n}\n.row-fluid:before, .row-fluid:after {\n  display: table;\n  content: \"\";\n}\n.row-fluid:after {\n  clear: both;\n}\n.row-fluid > [class*=\"span\"] {\n  float: left;\n  margin-left: 2.127659574%;\n}\n.row-fluid > [class*=\"span\"]:first-child {\n  margin-left: 0;\n}\n.row-fluid .span1 {\n  width: 6.382978723%;\n}\n.row-fluid .span2 {\n  width: 14.89361702%;\n}\n.row-fluid .span3 {\n  width: 23.404255317%;\n}\n.row-fluid .span4 {\n  width: 31.914893614%;\n}\n.row-fluid .span5 {\n  width: 40.425531911%;\n}\n.row-fluid .span6 {\n  width: 48.93617020799999%;\n}\n.row-fluid .span7 {\n  width: 57.446808505%;\n}\n.row-fluid .span8 {\n  width: 65.95744680199999%;\n}\n.row-fluid .span9 {\n  width: 74.468085099%;\n}\n.row-fluid .span10 {\n  width: 82.97872339599999%;\n}\n.row-fluid .span11 {\n  width: 91.489361693%;\n}\n.row-fluid .span12 {\n  width: 99.99999998999999%;\n}\n.container {\n  width: 940px;\n  margin-left: auto;\n  margin-right: auto;\n  *zoom: 1;\n}\n.container:before, .container:after {\n  display: table;\n  content: \"\";\n}\n.container:after {\n  clear: both;\n}\n.container-fluid {\n  padding-left: 20px;\n  padding-right: 20px;\n  *zoom: 1;\n}\n.container-fluid:before, .container-fluid:after {\n  display: table;\n  content: \"\";\n}\n.container-fluid:after {\n  clear: both;\n}\np {\n  margin: 0 0 9px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  line-height: 18px;\n}\np small {\n  font-size: 11px;\n  color: #999999;\n}\n.lead {\n  margin-bottom: 18px;\n  font-size: 20px;\n  font-weight: 200;\n  line-height: 27px;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n  margin: 0;\n  font-weight: bold;\n  color: #333333;\n  text-rendering: optimizelegibility;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small {\n  font-weight: normal;\n  color: #999999;\n}\nh1 {\n  font-size: 30px;\n  line-height: 36px;\n}\nh1 small {\n  font-size: 18px;\n}\nh2 {\n  font-size: 24px;\n  line-height: 36px;\n}\nh2 small {\n  font-size: 18px;\n}\nh3 {\n  line-height: 27px;\n  font-size: 18px;\n}\nh3 small {\n  font-size: 14px;\n}\nh4, h5, h6 {\n  line-height: 18px;\n}\nh4 {\n  font-size: 14px;\n}\nh4 small {\n  font-size: 12px;\n}\nh5 {\n  font-size: 12px;\n}\nh6 {\n  font-size: 11px;\n  color: #999999;\n  text-transform: uppercase;\n}\n.page-header {\n  padding-bottom: 17px;\n  margin: 18px 0;\n  border-bottom: 1px solid #eeeeee;\n}\n.page-header h1 {\n  line-height: 1;\n}\nul, ol {\n  padding: 0;\n  margin: 0 0 9px 25px;\n}\nul ul,\nul ol,\nol ol,\nol ul {\n  margin-bottom: 0;\n}\nul {\n  list-style: disc;\n}\nol {\n  list-style: decimal;\n}\nli {\n  line-height: 18px;\n}\nul.unstyled {\n  margin-left: 0;\n  list-style: none;\n}\ndl {\n  margin-bottom: 18px;\n}\ndt, dd {\n  line-height: 18px;\n}\ndt {\n  font-weight: bold;\n}\ndd {\n  margin-left: 9px;\n}\nhr {\n  margin: 18px 0;\n  border: 0;\n  border-top: 1px solid #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n}\nstrong {\n  font-weight: bold;\n}\nem {\n  font-style: italic;\n}\n.muted {\n  color: #999999;\n}\nabbr {\n  font-size: 90%;\n  text-transform: uppercase;\n  border-bottom: 1px dotted #ddd;\n  cursor: help;\n}\nblockquote {\n  padding: 0 0 0 15px;\n  margin: 0 0 18px;\n  border-left: 5px solid #eeeeee;\n}\nblockquote p {\n  margin-bottom: 0;\n  font-size: 16px;\n  font-weight: 300;\n  line-height: 22.5px;\n}\nblockquote small {\n  display: block;\n  line-height: 18px;\n  color: #999999;\n}\nblockquote small:before {\n  content: '\\2014 \\00A0';\n}\nblockquote.pull-right {\n  float: right;\n  padding-left: 0;\n  padding-right: 15px;\n  border-left: 0;\n  border-right: 5px solid #eeeeee;\n}\nblockquote.pull-right p, blockquote.pull-right small {\n  text-align: right;\n}\nq:before,\nq:after,\nblockquote:before,\nblockquote:after {\n  content: \"\";\n}\naddress {\n  display: block;\n  margin-bottom: 18px;\n  line-height: 18px;\n  font-style: normal;\n}\nsmall {\n  font-size: 100%;\n}\ncite {\n  font-style: normal;\n}\ncode, pre {\n  padding: 0 3px 2px;\n  font-family: Menlo, Monaco, \"Courier New\", monospace;\n  font-size: 12px;\n  color: #333333;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\ncode {\n  padding: 3px 4px;\n  color: #d14;\n  background-color: #f7f7f9;\n  border: 1px solid #e1e1e8;\n}\npre {\n  display: block;\n  padding: 8.5px;\n  margin: 0 0 9px;\n  font-size: 12px;\n  line-height: 18px;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  border: 1px solid rgba(0, 0, 0, 0.15);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  white-space: pre;\n  white-space: pre-wrap;\n  word-break: break-all;\n}\npre.prettyprint {\n  margin-bottom: 18px;\n}\npre code {\n  padding: 0;\n  background-color: transparent;\n}\nform {\n  margin: 0 0 18px;\n}\nfieldset {\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\nlegend {\n  display: block;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 27px;\n  font-size: 19.5px;\n  line-height: 36px;\n  color: #333333;\n  border: 0;\n  border-bottom: 1px solid #eee;\n}\nlabel,\ninput,\nbutton,\nselect,\ntextarea {\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 18px;\n}\nlabel {\n  display: block;\n  margin-bottom: 5px;\n  color: #333333;\n}\ninput,\ntextarea,\nselect,\n.uneditable-input {\n  display: inline-block;\n  width: 210px;\n  height: 18px;\n  padding: 4px;\n  margin-bottom: 9px;\n  font-size: 13px;\n  line-height: 18px;\n  color: #555555;\n  border: 1px solid #ccc;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\n.uneditable-textarea {\n  width: auto;\n  height: auto;\n}\nlabel input, label textarea, label select {\n  display: block;\n}\ninput[type=\"image\"], input[type=\"checkbox\"], input[type=\"radio\"] {\n  width: auto;\n  height: auto;\n  padding: 0;\n  margin: 3px 0;\n  *margin-top: 0;\n  /* IE7 */\n\n  line-height: normal;\n  border: 0;\n  cursor: pointer;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\ninput[type=\"file\"] {\n  padding: initial;\n  line-height: initial;\n  border: initial;\n  background-color: #ffffff;\n  background-color: initial;\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n}\ninput[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"] {\n  width: auto;\n  height: auto;\n}\nselect, input[type=\"file\"] {\n  height: 28px;\n  /* In IE7, the height of the select element cannot be changed by height, only font-size */\n\n  *margin-top: 4px;\n  /* For IE7, add top margin to align select with labels */\n\n  line-height: 28px;\n}\nselect {\n  width: 220px;\n  background-color: #ffffff;\n}\nselect[multiple], select[size] {\n  height: auto;\n}\ninput[type=\"image\"] {\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n}\ntextarea {\n  height: auto;\n}\ninput[type=\"hidden\"] {\n  display: none;\n}\n.radio, .checkbox {\n  padding-left: 18px;\n}\n.radio input[type=\"radio\"], .checkbox input[type=\"checkbox\"] {\n  float: left;\n  margin-left: -18px;\n}\n.controls > .radio:first-child, .controls > .checkbox:first-child {\n  padding-top: 5px;\n}\n.radio.inline, .checkbox.inline {\n  display: inline-block;\n  margin-bottom: 0;\n  vertical-align: middle;\n}\n.radio.inline + .radio.inline, .checkbox.inline + .checkbox.inline {\n  margin-left: 10px;\n}\n.controls > .radio.inline:first-child, .controls > .checkbox.inline:first-child {\n  padding-top: 0;\n}\ninput, textarea {\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;\n  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;\n  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;\n  -o-transition: border linear 0.2s, box-shadow linear 0.2s;\n  transition: border linear 0.2s, box-shadow linear 0.2s;\n}\ninput:focus, textarea:focus {\n  border-color: rgba(82, 168, 236, 0.8);\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);\n  outline: 0;\n  outline: thin dotted \\9;\n  /* IE6-8 */\n\n}\ninput[type=\"file\"]:focus, input[type=\"checkbox\"]:focus, select:focus {\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.input-mini {\n  width: 60px;\n}\n.input-small {\n  width: 90px;\n}\n.input-medium {\n  width: 150px;\n}\n.input-large {\n  width: 210px;\n}\n.input-xlarge {\n  width: 270px;\n}\n.input-xxlarge {\n  width: 530px;\n}\ninput[class*=\"span\"],\nselect[class*=\"span\"],\ntextarea[class*=\"span\"],\n.uneditable-input {\n  float: none;\n  margin-left: 0;\n}\ninput.span1, textarea.span1, .uneditable-input.span1 {\n  width: 50px;\n}\ninput.span2, textarea.span2, .uneditable-input.span2 {\n  width: 130px;\n}\ninput.span3, textarea.span3, .uneditable-input.span3 {\n  width: 210px;\n}\ninput.span4, textarea.span4, .uneditable-input.span4 {\n  width: 290px;\n}\ninput.span5, textarea.span5, .uneditable-input.span5 {\n  width: 370px;\n}\ninput.span6, textarea.span6, .uneditable-input.span6 {\n  width: 450px;\n}\ninput.span7, textarea.span7, .uneditable-input.span7 {\n  width: 530px;\n}\ninput.span8, textarea.span8, .uneditable-input.span8 {\n  width: 610px;\n}\ninput.span9, textarea.span9, .uneditable-input.span9 {\n  width: 690px;\n}\ninput.span10, textarea.span10, .uneditable-input.span10 {\n  width: 770px;\n}\ninput.span11, textarea.span11, .uneditable-input.span11 {\n  width: 850px;\n}\ninput.span12, textarea.span12, .uneditable-input.span12 {\n  width: 930px;\n}\ninput[disabled],\nselect[disabled],\ntextarea[disabled],\ninput[readonly],\nselect[readonly],\ntextarea[readonly] {\n  background-color: #f5f5f5;\n  border-color: #ddd;\n  cursor: not-allowed;\n}\n.control-group.warning > label, .control-group.warning .help-block, .control-group.warning .help-inline {\n  color: #c09853;\n}\n.control-group.warning input, .control-group.warning select, .control-group.warning textarea {\n  color: #c09853;\n  border-color: #c09853;\n}\n.control-group.warning input:focus, .control-group.warning select:focus, .control-group.warning textarea:focus {\n  border-color: #a47e3c;\n  -webkit-box-shadow: 0 0 6px #dbc59e;\n  -moz-box-shadow: 0 0 6px #dbc59e;\n  box-shadow: 0 0 6px #dbc59e;\n}\n.control-group.warning .input-prepend .add-on, .control-group.warning .input-append .add-on {\n  color: #c09853;\n  background-color: #fcf8e3;\n  border-color: #c09853;\n}\n.control-group.error > label, .control-group.error .help-block, .control-group.error .help-inline {\n  color: #b94a48;\n}\n.control-group.error input, .control-group.error select, .control-group.error textarea {\n  color: #b94a48;\n  border-color: #b94a48;\n}\n.control-group.error input:focus, .control-group.error select:focus, .control-group.error textarea:focus {\n  border-color: #953b39;\n  -webkit-box-shadow: 0 0 6px #d59392;\n  -moz-box-shadow: 0 0 6px #d59392;\n  box-shadow: 0 0 6px #d59392;\n}\n.control-group.error .input-prepend .add-on, .control-group.error .input-append .add-on {\n  color: #b94a48;\n  background-color: #f2dede;\n  border-color: #b94a48;\n}\n.control-group.success > label, .control-group.success .help-block, .control-group.success .help-inline {\n  color: #468847;\n}\n.control-group.success input, .control-group.success select, .control-group.success textarea {\n  color: #468847;\n  border-color: #468847;\n}\n.control-group.success input:focus, .control-group.success select:focus, .control-group.success textarea:focus {\n  border-color: #356635;\n  -webkit-box-shadow: 0 0 6px #7aba7b;\n  -moz-box-shadow: 0 0 6px #7aba7b;\n  box-shadow: 0 0 6px #7aba7b;\n}\n.control-group.success .input-prepend .add-on, .control-group.success .input-append .add-on {\n  color: #468847;\n  background-color: #dff0d8;\n  border-color: #468847;\n}\ninput:focus:required:invalid, textarea:focus:required:invalid, select:focus:required:invalid {\n  color: #b94a48;\n  border-color: #ee5f5b;\n}\ninput:focus:required:invalid:focus, textarea:focus:required:invalid:focus, select:focus:required:invalid:focus {\n  border-color: #e9322d;\n  -webkit-box-shadow: 0 0 6px #f8b9b7;\n  -moz-box-shadow: 0 0 6px #f8b9b7;\n  box-shadow: 0 0 6px #f8b9b7;\n}\n.form-actions {\n  padding: 17px 20px 18px;\n  margin-top: 18px;\n  margin-bottom: 18px;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n}\n.uneditable-input {\n  display: block;\n  background-color: #ffffff;\n  border-color: #eee;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);\n  cursor: not-allowed;\n}\n:-moz-placeholder {\n  color: #999999;\n}\n::-webkit-input-placeholder {\n  color: #999999;\n}\n.help-block {\n  margin-top: 5px;\n  margin-bottom: 0;\n  color: #999999;\n}\n.help-inline {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n  margin-bottom: 9px;\n  vertical-align: middle;\n  padding-left: 5px;\n}\n.input-prepend, .input-append {\n  margin-bottom: 5px;\n  *zoom: 1;\n}\n.input-prepend:before,\n.input-append:before,\n.input-prepend:after,\n.input-append:after {\n  display: table;\n  content: \"\";\n}\n.input-prepend:after, .input-append:after {\n  clear: both;\n}\n.input-prepend input,\n.input-append input,\n.input-prepend .uneditable-input,\n.input-append .uneditable-input {\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.input-prepend input:focus,\n.input-append input:focus,\n.input-prepend .uneditable-input:focus,\n.input-append .uneditable-input:focus {\n  position: relative;\n  z-index: 2;\n}\n.input-prepend .uneditable-input, .input-append .uneditable-input {\n  border-left-color: #ccc;\n}\n.input-prepend .add-on, .input-append .add-on {\n  float: left;\n  display: block;\n  width: auto;\n  min-width: 16px;\n  height: 18px;\n  margin-right: -1px;\n  padding: 4px 5px;\n  font-weight: normal;\n  line-height: 18px;\n  color: #999999;\n  text-align: center;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #f5f5f5;\n  border: 1px solid #ccc;\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.input-prepend .active, .input-append .active {\n  background-color: #a9dba9;\n  border-color: #46a546;\n}\n.input-prepend .add-on {\n  *margin-top: 1px;\n  /* IE6-7 */\n\n}\n.input-append input, .input-append .uneditable-input {\n  float: left;\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.input-append .uneditable-input {\n  border-right-color: #ccc;\n}\n.input-append .add-on {\n  margin-right: 0;\n  margin-left: -1px;\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.input-append input:first-child {\n  *margin-left: -160px;\n}\n.input-append input:first-child + .add-on {\n  *margin-left: -21px;\n}\n.search-query {\n  padding-left: 14px;\n  padding-right: 14px;\n  margin-bottom: 0;\n  -webkit-border-radius: 14px;\n  -moz-border-radius: 14px;\n  border-radius: 14px;\n}\n.form-search input,\n.form-inline input,\n.form-horizontal input,\n.form-search textarea,\n.form-inline textarea,\n.form-horizontal textarea,\n.form-search select,\n.form-inline select,\n.form-horizontal select,\n.form-search .help-inline,\n.form-inline .help-inline,\n.form-horizontal .help-inline,\n.form-search .uneditable-input,\n.form-inline .uneditable-input,\n.form-horizontal .uneditable-input {\n  display: inline-block;\n  margin-bottom: 0;\n}\n.form-search label,\n.form-inline label,\n.form-search .input-append,\n.form-inline .input-append,\n.form-search .input-prepend,\n.form-inline .input-prepend {\n  display: inline-block;\n}\n.form-search .input-append .add-on,\n.form-inline .input-prepend .add-on,\n.form-search .input-append .add-on,\n.form-inline .input-prepend .add-on {\n  vertical-align: middle;\n}\n.control-group {\n  margin-bottom: 9px;\n}\n.form-horizontal legend + .control-group {\n  margin-top: 18px;\n  -webkit-margin-top-collapse: separate;\n}\n.form-horizontal .control-group {\n  margin-bottom: 18px;\n  *zoom: 1;\n}\n.form-horizontal .control-group:before, .form-horizontal .control-group:after {\n  display: table;\n  content: \"\";\n}\n.form-horizontal .control-group:after {\n  clear: both;\n}\n.form-horizontal .control-group > label {\n  float: left;\n  width: 140px;\n  padding-top: 5px;\n  text-align: right;\n}\n.form-horizontal .controls {\n  margin-left: 160px;\n}\n.form-horizontal .form-actions {\n  padding-left: 160px;\n}\ntable {\n  max-width: 100%;\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n.table {\n  width: 100%;\n  margin-bottom: 18px;\n}\n.table th, .table td {\n  padding: 8px;\n  line-height: 18px;\n  text-align: left;\n  border-top: 1px solid #ddd;\n}\n.table th {\n  font-weight: bold;\n  vertical-align: bottom;\n}\n.table td {\n  vertical-align: top;\n}\n.table thead:first-child tr th, .table thead:first-child tr td {\n  border-top: 0;\n}\n.table tbody + tbody {\n  border-top: 2px solid #ddd;\n}\n.table-condensed th, .table-condensed td {\n  padding: 4px 5px;\n}\n.table-bordered {\n  border: 1px solid #ddd;\n  border-collapse: separate;\n  *border-collapse: collapsed;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.table-bordered th + th,\n.table-bordered td + td,\n.table-bordered th + td,\n.table-bordered td + th {\n  border-left: 1px solid #ddd;\n}\n.table-bordered thead:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child th, .table-bordered tbody:first-child tr:first-child td {\n  border-top: 0;\n}\n.table-bordered thead:first-child tr:first-child th:first-child, .table-bordered tbody:first-child tr:first-child td:first-child {\n  -webkit-border-radius: 4px 0 0 0;\n  -moz-border-radius: 4px 0 0 0;\n  border-radius: 4px 0 0 0;\n}\n.table-bordered thead:first-child tr:first-child th:last-child, .table-bordered tbody:first-child tr:first-child td:last-child {\n  -webkit-border-radius: 0 4px 0 0;\n  -moz-border-radius: 0 4px 0 0;\n  border-radius: 0 4px 0 0;\n}\n.table-bordered thead:last-child tr:last-child th:first-child, .table-bordered tbody:last-child tr:last-child td:first-child {\n  -webkit-border-radius: 0 0 0 4px;\n  -moz-border-radius: 0 0 0 4px;\n  border-radius: 0 0 0 4px;\n}\n.table-bordered thead:last-child tr:last-child th:last-child, .table-bordered tbody:last-child tr:last-child td:last-child {\n  -webkit-border-radius: 0 0 4px 0;\n  -moz-border-radius: 0 0 4px 0;\n  border-radius: 0 0 4px 0;\n}\n.table-striped tbody tr:nth-child(odd) td, .table-striped tbody tr:nth-child(odd) th {\n  background-color: #f9f9f9;\n}\ntable .span1 {\n  float: none;\n  width: 44px;\n  margin-left: 0;\n}\ntable .span2 {\n  float: none;\n  width: 124px;\n  margin-left: 0;\n}\ntable .span3 {\n  float: none;\n  width: 204px;\n  margin-left: 0;\n}\ntable .span4 {\n  float: none;\n  width: 284px;\n  margin-left: 0;\n}\ntable .span5 {\n  float: none;\n  width: 364px;\n  margin-left: 0;\n}\ntable .span6 {\n  float: none;\n  width: 444px;\n  margin-left: 0;\n}\ntable .span7 {\n  float: none;\n  width: 524px;\n  margin-left: 0;\n}\ntable .span8 {\n  float: none;\n  width: 604px;\n  margin-left: 0;\n}\ntable .span9 {\n  float: none;\n  width: 684px;\n  margin-left: 0;\n}\ntable .span10 {\n  float: none;\n  width: 764px;\n  margin-left: 0;\n}\ntable .span11 {\n  float: none;\n  width: 844px;\n  margin-left: 0;\n}\ntable .span12 {\n  float: none;\n  width: 924px;\n  margin-left: 0;\n}\n[class^=\"icon-\"] {\n  display: inline-block;\n  width: 14px;\n  height: 14px;\n  vertical-align: text-top;\n  background-image: url(../img/glyphicons-halflings.png);\n  background-position: 14px 14px;\n  background-repeat: no-repeat;\n  *margin-right: .3em;\n}\n[class^=\"icon-\"]:last-child {\n  *margin-left: 0;\n}\n.icon-white {\n  background-image: url(../img/glyphicons-halflings-white.png);\n}\n.icon-glass {\n  background-position: 0      0;\n}\n.icon-music {\n  background-position: -24px 0;\n}\n.icon-search {\n  background-position: -48px 0;\n}\n.icon-envelope {\n  background-position: -72px 0;\n}\n.icon-heart {\n  background-position: -96px 0;\n}\n.icon-star {\n  background-position: -120px 0;\n}\n.icon-star-empty {\n  background-position: -144px 0;\n}\n.icon-user {\n  background-position: -168px 0;\n}\n.icon-film {\n  background-position: -192px 0;\n}\n.icon-th-large {\n  background-position: -216px 0;\n}\n.icon-th {\n  background-position: -240px 0;\n}\n.icon-th-list {\n  background-position: -264px 0;\n}\n.icon-ok {\n  background-position: -288px 0;\n}\n.icon-remove {\n  background-position: -312px 0;\n}\n.icon-zoom-in {\n  background-position: -336px 0;\n}\n.icon-zoom-out {\n  background-position: -360px 0;\n}\n.icon-off {\n  background-position: -384px 0;\n}\n.icon-signal {\n  background-position: -408px 0;\n}\n.icon-cog {\n  background-position: -432px 0;\n}\n.icon-trash {\n  background-position: -456px 0;\n}\n.icon-home {\n  background-position: 0 -24px;\n}\n.icon-file {\n  background-position: -24px -24px;\n}\n.icon-time {\n  background-position: -48px -24px;\n}\n.icon-road {\n  background-position: -72px -24px;\n}\n.icon-download-alt {\n  background-position: -96px -24px;\n}\n.icon-download {\n  background-position: -120px -24px;\n}\n.icon-upload {\n  background-position: -144px -24px;\n}\n.icon-inbox {\n  background-position: -168px -24px;\n}\n.icon-play-circle {\n  background-position: -192px -24px;\n}\n.icon-repeat {\n  background-position: -216px -24px;\n}\n.icon-refresh {\n  background-position: -240px -24px;\n}\n.icon-list-alt {\n  background-position: -264px -24px;\n}\n.icon-lock {\n  background-position: -287px -24px;\n}\n.icon-flag {\n  background-position: -312px -24px;\n}\n.icon-headphones {\n  background-position: -336px -24px;\n}\n.icon-volume-off {\n  background-position: -360px -24px;\n}\n.icon-volume-down {\n  background-position: -384px -24px;\n}\n.icon-volume-up {\n  background-position: -408px -24px;\n}\n.icon-qrcode {\n  background-position: -432px -24px;\n}\n.icon-barcode {\n  background-position: -456px -24px;\n}\n.icon-tag {\n  background-position: 0 -48px;\n}\n.icon-tags {\n  background-position: -25px -48px;\n}\n.icon-book {\n  background-position: -48px -48px;\n}\n.icon-bookmark {\n  background-position: -72px -48px;\n}\n.icon-print {\n  background-position: -96px -48px;\n}\n.icon-camera {\n  background-position: -120px -48px;\n}\n.icon-font {\n  background-position: -144px -48px;\n}\n.icon-bold {\n  background-position: -167px -48px;\n}\n.icon-italic {\n  background-position: -192px -48px;\n}\n.icon-text-height {\n  background-position: -216px -48px;\n}\n.icon-text-width {\n  background-position: -240px -48px;\n}\n.icon-align-left {\n  background-position: -264px -48px;\n}\n.icon-align-center {\n  background-position: -288px -48px;\n}\n.icon-align-right {\n  background-position: -312px -48px;\n}\n.icon-align-justify {\n  background-position: -336px -48px;\n}\n.icon-list {\n  background-position: -360px -48px;\n}\n.icon-indent-left {\n  background-position: -384px -48px;\n}\n.icon-indent-right {\n  background-position: -408px -48px;\n}\n.icon-facetime-video {\n  background-position: -432px -48px;\n}\n.icon-picture {\n  background-position: -456px -48px;\n}\n.icon-pencil {\n  background-position: 0 -72px;\n}\n.icon-map-marker {\n  background-position: -24px -72px;\n}\n.icon-adjust {\n  background-position: -48px -72px;\n}\n.icon-tint {\n  background-position: -72px -72px;\n}\n.icon-edit {\n  background-position: -96px -72px;\n}\n.icon-share {\n  background-position: -120px -72px;\n}\n.icon-check {\n  background-position: -144px -72px;\n}\n.icon-move {\n  background-position: -168px -72px;\n}\n.icon-step-backward {\n  background-position: -192px -72px;\n}\n.icon-fast-backward {\n  background-position: -216px -72px;\n}\n.icon-backward {\n  background-position: -240px -72px;\n}\n.icon-play {\n  background-position: -264px -72px;\n}\n.icon-pause {\n  background-position: -288px -72px;\n}\n.icon-stop {\n  background-position: -312px -72px;\n}\n.icon-forward {\n  background-position: -336px -72px;\n}\n.icon-fast-forward {\n  background-position: -360px -72px;\n}\n.icon-step-forward {\n  background-position: -384px -72px;\n}\n.icon-eject {\n  background-position: -408px -72px;\n}\n.icon-chevron-left {\n  background-position: -432px -72px;\n}\n.icon-chevron-right {\n  background-position: -456px -72px;\n}\n.icon-plus-sign {\n  background-position: 0 -96px;\n}\n.icon-minus-sign {\n  background-position: -24px -96px;\n}\n.icon-remove-sign {\n  background-position: -48px -96px;\n}\n.icon-ok-sign {\n  background-position: -72px -96px;\n}\n.icon-question-sign {\n  background-position: -96px -96px;\n}\n.icon-info-sign {\n  background-position: -120px -96px;\n}\n.icon-screenshot {\n  background-position: -144px -96px;\n}\n.icon-remove-circle {\n  background-position: -168px -96px;\n}\n.icon-ok-circle {\n  background-position: -192px -96px;\n}\n.icon-ban-circle {\n  background-position: -216px -96px;\n}\n.icon-arrow-left {\n  background-position: -240px -96px;\n}\n.icon-arrow-right {\n  background-position: -264px -96px;\n}\n.icon-arrow-up {\n  background-position: -289px -96px;\n}\n.icon-arrow-down {\n  background-position: -312px -96px;\n}\n.icon-share-alt {\n  background-position: -336px -96px;\n}\n.icon-resize-full {\n  background-position: -360px -96px;\n}\n.icon-resize-small {\n  background-position: -384px -96px;\n}\n.icon-plus {\n  background-position: -408px -96px;\n}\n.icon-minus {\n  background-position: -433px -96px;\n}\n.icon-asterisk {\n  background-position: -456px -96px;\n}\n.icon-exclamation-sign {\n  background-position: 0 -120px;\n}\n.icon-gift {\n  background-position: -24px -120px;\n}\n.icon-leaf {\n  background-position: -48px -120px;\n}\n.icon-fire {\n  background-position: -72px -120px;\n}\n.icon-eye-open {\n  background-position: -96px -120px;\n}\n.icon-eye-close {\n  background-position: -120px -120px;\n}\n.icon-warning-sign {\n  background-position: -144px -120px;\n}\n.icon-plane {\n  background-position: -168px -120px;\n}\n.icon-calendar {\n  background-position: -192px -120px;\n}\n.icon-random {\n  background-position: -216px -120px;\n}\n.icon-comment {\n  background-position: -240px -120px;\n}\n.icon-magnet {\n  background-position: -264px -120px;\n}\n.icon-chevron-up {\n  background-position: -288px -120px;\n}\n.icon-chevron-down {\n  background-position: -313px -119px;\n}\n.icon-retweet {\n  background-position: -336px -120px;\n}\n.icon-shopping-cart {\n  background-position: -360px -120px;\n}\n.icon-folder-close {\n  background-position: -384px -120px;\n}\n.icon-folder-open {\n  background-position: -408px -120px;\n}\n.icon-resize-vertical {\n  background-position: -432px -119px;\n}\n.icon-resize-horizontal {\n  background-position: -456px -118px;\n}\n.dropdown {\n  position: relative;\n}\n.dropdown-toggle {\n  *margin-bottom: -3px;\n}\n.dropdown-toggle:active, .open .dropdown-toggle {\n  outline: 0;\n}\n.caret {\n  display: inline-block;\n  width: 0;\n  height: 0;\n  text-indent: -99999px;\n  *text-indent: 0;\n  vertical-align: top;\n  border-left: 4px solid transparent;\n  border-right: 4px solid transparent;\n  border-top: 4px solid #000000;\n  opacity: 0.3;\n  filter: alpha(opacity=30);\n  content: \"\\2193\";\n}\n.dropdown .caret {\n  margin-top: 8px;\n  margin-left: 2px;\n}\n.dropdown:hover .caret, .open.dropdown .caret {\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.dropdown-menu {\n  position: absolute;\n  top: 100%;\n  left: 0;\n  z-index: 1000;\n  float: left;\n  display: none;\n  min-width: 160px;\n  max-width: 220px;\n  _width: 160px;\n  padding: 4px 0;\n  margin: 0;\n  list-style: none;\n  background-color: #ffffff;\n  border-color: #ccc;\n  border-color: rgba(0, 0, 0, 0.2);\n  border-style: solid;\n  border-width: 1px;\n  -webkit-border-radius: 0 0 5px 5px;\n  -moz-border-radius: 0 0 5px 5px;\n  border-radius: 0 0 5px 5px;\n  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding;\n  background-clip: padding-box;\n  *border-right-width: 2px;\n  *border-bottom-width: 2px;\n}\n.dropdown-menu.bottom-up {\n  top: auto;\n  bottom: 100%;\n  margin-bottom: 2px;\n}\n.dropdown-menu .divider {\n  height: 1px;\n  margin: 5px 1px;\n  overflow: hidden;\n  background-color: #e5e5e5;\n  border-bottom: 1px solid #ffffff;\n  *width: 100%;\n  *margin: -5px 0 5px;\n}\n.dropdown-menu a {\n  display: block;\n  padding: 3px 15px;\n  clear: both;\n  font-weight: normal;\n  line-height: 18px;\n  color: #555555;\n  white-space: nowrap;\n}\n.dropdown-menu li > a:hover, .dropdown-menu .active > a, .dropdown-menu .active > a:hover {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #0088cc;\n}\n.dropdown.open {\n  *z-index: 1000;\n}\n.dropdown.open .dropdown-toggle {\n  color: #ffffff;\n  background: #ccc;\n  background: rgba(0, 0, 0, 0.3);\n}\n.dropdown.open .dropdown-menu {\n  display: block;\n}\n.typeahead {\n  margin-top: 2px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.well {\n  min-height: 20px;\n  padding: 19px;\n  margin-bottom: 20px;\n  background-color: #f5f5f5;\n  border: 1px solid #eee;\n  border: 1px solid rgba(0, 0, 0, 0.05);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n  border-color: #ddd;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.fade {\n  -webkit-transition: opacity 0.15s linear;\n  -moz-transition: opacity 0.15s linear;\n  -ms-transition: opacity 0.15s linear;\n  -o-transition: opacity 0.15s linear;\n  transition: opacity 0.15s linear;\n  opacity: 0;\n}\n.fade.in {\n  opacity: 1;\n}\n.collapse {\n  -webkit-transition: height 0.35s ease;\n  -moz-transition: height 0.35s ease;\n  -ms-transition: height 0.35s ease;\n  -o-transition: height 0.35s ease;\n  transition: height 0.35s ease;\n  position: relative;\n  overflow: hidden;\n  height: 0;\n}\n.collapse.in {\n  height: auto;\n}\n.close {\n  float: right;\n  font-size: 20px;\n  font-weight: bold;\n  line-height: 18px;\n  color: #000000;\n  text-shadow: 0 1px 0 #ffffff;\n  opacity: 0.2;\n  filter: alpha(opacity=20);\n}\n.close:hover {\n  color: #000000;\n  text-decoration: none;\n  opacity: 0.4;\n  filter: alpha(opacity=40);\n  cursor: pointer;\n}\n.btn {\n  display: inline-block;\n  padding: 4px 10px 4px;\n  font-size: 13px;\n  line-height: 18px;\n  color: #333333;\n  text-align: center;\n  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);\n  background-color: #fafafa;\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), color-stop(25%, #ffffff), to(#e6e6e6));\n  background-image: -webkit-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-image: -moz-linear-gradient(top, #ffffff, #ffffff 25%, #e6e6e6);\n  background-image: -ms-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-image: -o-linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-image: linear-gradient(#ffffff, #ffffff 25%, #e6e6e6);\n  background-repeat: no-repeat;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);\n  border: 1px solid #ccc;\n  border-bottom-color: #bbb;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  cursor: pointer;\n  *margin-left: .3em;\n}\n.btn:first-child {\n  *margin-left: 0;\n}\n.btn:hover {\n  color: #333333;\n  text-decoration: none;\n  background-color: #e6e6e6;\n  background-position: 0 -15px;\n  -webkit-transition: background-position 0.1s linear;\n  -moz-transition: background-position 0.1s linear;\n  -ms-transition: background-position 0.1s linear;\n  -o-transition: background-position 0.1s linear;\n  transition: background-position 0.1s linear;\n}\n.btn:focus {\n  outline: thin dotted;\n  outline: 5px auto -webkit-focus-ring-color;\n  outline-offset: -2px;\n}\n.btn.active, .btn:active {\n  background-image: none;\n  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  background-color: #e6e6e6;\n  background-color: #d9d9d9 \\9;\n  color: rgba(0, 0, 0, 0.5);\n  outline: 0;\n}\n.btn.disabled, .btn[disabled] {\n  cursor: default;\n  background-image: none;\n  background-color: #e6e6e6;\n  opacity: 0.65;\n  filter: alpha(opacity=65);\n  -webkit-box-shadow: none;\n  -moz-box-shadow: none;\n  box-shadow: none;\n}\n.btn-large {\n  padding: 9px 14px;\n  font-size: 15px;\n  line-height: normal;\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n}\n.btn-large .icon {\n  margin-top: 1px;\n}\n.btn-small {\n  padding: 5px 9px;\n  font-size: 11px;\n  line-height: 16px;\n}\n.btn-small .icon {\n  margin-top: -1px;\n}\n.btn-primary,\n.btn-primary:hover,\n.btn-warning,\n.btn-warning:hover,\n.btn-danger,\n.btn-danger:hover,\n.btn-success,\n.btn-success:hover,\n.btn-info,\n.btn-info:hover {\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  color: #ffffff;\n}\n.btn-primary.active,\n.btn-warning.active,\n.btn-danger.active,\n.btn-success.active,\n.btn-info.active {\n  color: rgba(255, 255, 255, 0.75);\n}\n.btn-primary {\n  background-color: #006dcc;\n  background-image: -moz-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -ms-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));\n  background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);\n  background-image: -o-linear-gradient(top, #0088cc, #0044cc);\n  background-image: linear-gradient(top, #0088cc, #0044cc);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);\n  border-color: #0044cc #0044cc #002a80;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-primary:hover,\n.btn-primary:active,\n.btn-primary.active,\n.btn-primary.disabled,\n.btn-primary[disabled] {\n  background-color: #0044cc;\n}\n.btn-primary:active, .btn-primary.active {\n  background-color: #003399 \\9;\n}\n.btn-warning {\n  background-color: #faa732;\n  background-image: -moz-linear-gradient(top, #fbb450, #f89406);\n  background-image: -ms-linear-gradient(top, #fbb450, #f89406);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));\n  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);\n  background-image: -o-linear-gradient(top, #fbb450, #f89406);\n  background-image: linear-gradient(top, #fbb450, #f89406);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);\n  border-color: #f89406 #f89406 #ad6704;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-warning:hover,\n.btn-warning:active,\n.btn-warning.active,\n.btn-warning.disabled,\n.btn-warning[disabled] {\n  background-color: #f89406;\n}\n.btn-warning:active, .btn-warning.active {\n  background-color: #c67605 \\9;\n}\n.btn-danger {\n  background-color: #da4f49;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);\n  background-image: linear-gradient(top, #ee5f5b, #bd362f);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);\n  border-color: #bd362f #bd362f #802420;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-danger:hover,\n.btn-danger:active,\n.btn-danger.active,\n.btn-danger.disabled,\n.btn-danger[disabled] {\n  background-color: #bd362f;\n}\n.btn-danger:active, .btn-danger.active {\n  background-color: #942a25 \\9;\n}\n.btn-success {\n  background-color: #5bb75b;\n  background-image: -moz-linear-gradient(top, #62c462, #51a351);\n  background-image: -ms-linear-gradient(top, #62c462, #51a351);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));\n  background-image: -webkit-linear-gradient(top, #62c462, #51a351);\n  background-image: -o-linear-gradient(top, #62c462, #51a351);\n  background-image: linear-gradient(top, #62c462, #51a351);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);\n  border-color: #51a351 #51a351 #387038;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-success:hover,\n.btn-success:active,\n.btn-success.active,\n.btn-success.disabled,\n.btn-success[disabled] {\n  background-color: #51a351;\n}\n.btn-success:active, .btn-success.active {\n  background-color: #408140 \\9;\n}\n.btn-info {\n  background-color: #49afcd;\n  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);\n  background-image: linear-gradient(top, #5bc0de, #2f96b4);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);\n  border-color: #2f96b4 #2f96b4 #1f6377;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.btn-info:hover,\n.btn-info:active,\n.btn-info.active,\n.btn-info.disabled,\n.btn-info[disabled] {\n  background-color: #2f96b4;\n}\n.btn-info:active, .btn-info.active {\n  background-color: #24748c \\9;\n}\nbutton.btn, input[type=\"submit\"].btn {\n  *padding-top: 2px;\n  *padding-bottom: 2px;\n}\nbutton.btn::-moz-focus-inner, input[type=\"submit\"].btn::-moz-focus-inner {\n  padding: 0;\n  border: 0;\n}\nbutton.btn.large, input[type=\"submit\"].btn.large {\n  *padding-top: 7px;\n  *padding-bottom: 7px;\n}\nbutton.btn.small, input[type=\"submit\"].btn.small {\n  *padding-top: 3px;\n  *padding-bottom: 3px;\n}\n.btn-group {\n  position: relative;\n  *zoom: 1;\n  *margin-left: .3em;\n}\n.btn-group:before, .btn-group:after {\n  display: table;\n  content: \"\";\n}\n.btn-group:after {\n  clear: both;\n}\n.btn-group:first-child {\n  *margin-left: 0;\n}\n.btn-group + .btn-group {\n  margin-left: 5px;\n}\n.btn-toolbar {\n  margin-top: 9px;\n  margin-bottom: 9px;\n}\n.btn-toolbar .btn-group {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n}\n.btn-group .btn {\n  position: relative;\n  float: left;\n  margin-left: -1px;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.btn-group .btn:first-child {\n  margin-left: 0;\n  -webkit-border-top-left-radius: 4px;\n  -moz-border-radius-topleft: 4px;\n  border-top-left-radius: 4px;\n  -webkit-border-bottom-left-radius: 4px;\n  -moz-border-radius-bottomleft: 4px;\n  border-bottom-left-radius: 4px;\n}\n.btn-group .btn:last-child, .btn-group .dropdown-toggle {\n  -webkit-border-top-right-radius: 4px;\n  -moz-border-radius-topright: 4px;\n  border-top-right-radius: 4px;\n  -webkit-border-bottom-right-radius: 4px;\n  -moz-border-radius-bottomright: 4px;\n  border-bottom-right-radius: 4px;\n}\n.btn-group .btn.large:first-child {\n  margin-left: 0;\n  -webkit-border-top-left-radius: 6px;\n  -moz-border-radius-topleft: 6px;\n  border-top-left-radius: 6px;\n  -webkit-border-bottom-left-radius: 6px;\n  -moz-border-radius-bottomleft: 6px;\n  border-bottom-left-radius: 6px;\n}\n.btn-group .btn.large:last-child, .btn-group .large.dropdown-toggle {\n  -webkit-border-top-right-radius: 6px;\n  -moz-border-radius-topright: 6px;\n  border-top-right-radius: 6px;\n  -webkit-border-bottom-right-radius: 6px;\n  -moz-border-radius-bottomright: 6px;\n  border-bottom-right-radius: 6px;\n}\n.btn-group .btn:hover,\n.btn-group .btn:focus,\n.btn-group .btn:active,\n.btn-group .btn.active {\n  z-index: 2;\n}\n.btn-group .dropdown-toggle:active, .btn-group.open .dropdown-toggle {\n  outline: 0;\n}\n.btn-group .dropdown-toggle {\n  padding-left: 8px;\n  padding-right: 8px;\n  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);\n  *padding-top: 5px;\n  *padding-bottom: 5px;\n}\n.btn-group.open {\n  *z-index: 1000;\n}\n.btn-group.open .dropdown-menu {\n  display: block;\n  margin-top: 1px;\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n}\n.btn-group.open .dropdown-toggle {\n  background-image: none;\n  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.btn .caret {\n  margin-top: 7px;\n  margin-left: 0;\n}\n.btn:hover .caret, .open.btn-group .caret {\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.btn-primary .caret,\n.btn-danger .caret,\n.btn-info .caret,\n.btn-success .caret {\n  border-top-color: #ffffff;\n  opacity: 0.75;\n  filter: alpha(opacity=75);\n}\n.btn-small .caret {\n  margin-top: 4px;\n}\n.alert {\n  padding: 8px 35px 8px 14px;\n  margin-bottom: 18px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n  background-color: #fcf8e3;\n  border: 1px solid #fbeed5;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.alert, .alert-heading {\n  color: #c09853;\n}\n.alert .close {\n  position: relative;\n  top: -2px;\n  right: -21px;\n  line-height: 18px;\n}\n.alert-success {\n  background-color: #dff0d8;\n  border-color: #d6e9c6;\n}\n.alert-success, .alert-success .alert-heading {\n  color: #468847;\n}\n.alert-danger, .alert-error {\n  background-color: #f2dede;\n  border-color: #eed3d7;\n}\n.alert-danger,\n.alert-error,\n.alert-danger .alert-heading,\n.alert-error .alert-heading {\n  color: #b94a48;\n}\n.alert-info {\n  background-color: #d9edf7;\n  border-color: #bce8f1;\n}\n.alert-info, .alert-info .alert-heading {\n  color: #3a87ad;\n}\n.alert-block {\n  padding-top: 14px;\n  padding-bottom: 14px;\n}\n.alert-block > p, .alert-block > ul {\n  margin-bottom: 0;\n}\n.alert-block p + p {\n  margin-top: 5px;\n}\n.nav {\n  margin-left: 0;\n  margin-bottom: 18px;\n  list-style: none;\n}\n.nav > li > a {\n  display: block;\n}\n.nav > li > a:hover {\n  text-decoration: none;\n  background-color: #eeeeee;\n}\n.nav-list {\n  padding-left: 14px;\n  padding-right: 14px;\n  margin-bottom: 0;\n}\n.nav-list > li > a, .nav-list .nav-header {\n  display: block;\n  padding: 3px 15px;\n  margin-left: -15px;\n  margin-right: -15px;\n  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);\n}\n.nav-list .nav-header {\n  font-size: 11px;\n  font-weight: bold;\n  line-height: 18px;\n  color: #999999;\n  text-transform: uppercase;\n}\n\n.nav-list .nav-header * {\n    text-transform:none;\n}\n\n.nav-list > li + .nav-header {\n  margin-top: 9px;\n}\n.nav-list .active > a, .nav-list .active > a:hover {\n  color: #ffffff;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n  background-color: #0088cc;\n}\n.nav-list [class^=\"icon-\"] {\n  margin-right: 2px;\n}\n.nav-tabs, .nav-pills {\n  *zoom: 1;\n}\n.nav-tabs:before,\n.nav-pills:before,\n.nav-tabs:after,\n.nav-pills:after {\n  display: table;\n  content: \"\";\n}\n.nav-tabs:after, .nav-pills:after {\n  clear: both;\n}\n.nav-tabs > li, .nav-pills > li {\n  float: left;\n}\n.nav-tabs > li > a, .nav-pills > li > a {\n  padding-right: 12px;\n  padding-left: 12px;\n  margin-right: 2px;\n  line-height: 14px;\n}\n.nav-tabs {\n  border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n  margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n  padding-top: 9px;\n  padding-bottom: 9px;\n  border: 1px solid transparent;\n  -webkit-border-radius: 4px 4px 0 0;\n  -moz-border-radius: 4px 4px 0 0;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > .active > a, .nav-tabs > .active > a:hover {\n  color: #555555;\n  background-color: #ffffff;\n  border: 1px solid #ddd;\n  border-bottom-color: transparent;\n  cursor: default;\n}\n.nav-pills > li > a {\n  padding-top: 8px;\n  padding-bottom: 8px;\n  margin-top: 2px;\n  margin-bottom: 2px;\n  -webkit-border-radius: 5px;\n  -moz-border-radius: 5px;\n  border-radius: 5px;\n}\n.nav-pills .active > a, .nav-pills .active > a:hover {\n  color: #ffffff;\n  background-color: #0088cc;\n}\n.nav-stacked > li {\n  float: none;\n}\n.nav-stacked > li > a {\n  margin-right: 0;\n}\n.nav-tabs.nav-stacked {\n  border-bottom: 0;\n}\n.nav-tabs.nav-stacked > li > a {\n  border: 1px solid #ddd;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.nav-tabs.nav-stacked > li:first-child > a {\n  -webkit-border-radius: 4px 4px 0 0;\n  -moz-border-radius: 4px 4px 0 0;\n  border-radius: 4px 4px 0 0;\n}\n.nav-tabs.nav-stacked > li:last-child > a {\n  -webkit-border-radius: 0 0 4px 4px;\n  -moz-border-radius: 0 0 4px 4px;\n  border-radius: 0 0 4px 4px;\n}\n.nav-tabs.nav-stacked > li > a:hover {\n  border-color: #ddd;\n  z-index: 2;\n}\n.nav-pills.nav-stacked > li > a {\n  margin-bottom: 3px;\n}\n.nav-pills.nav-stacked > li:last-child > a {\n  margin-bottom: 1px;\n}\n.nav-tabs .dropdown-menu, .nav-pills .dropdown-menu {\n  margin-top: 1px;\n  border-width: 1px;\n}\n.nav-pills .dropdown-menu {\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.nav-tabs .dropdown-toggle .caret, .nav-pills .dropdown-toggle .caret {\n  border-top-color: #0088cc;\n  margin-top: 6px;\n}\n.nav-tabs .dropdown-toggle:hover .caret, .nav-pills .dropdown-toggle:hover .caret {\n  border-top-color: #005580;\n}\n.nav-tabs .active .dropdown-toggle .caret, .nav-pills .active .dropdown-toggle .caret {\n  border-top-color: #333333;\n}\n.nav > .dropdown.active > a:hover {\n  color: #000000;\n  cursor: pointer;\n}\n.nav-tabs .open .dropdown-toggle, .nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover {\n  color: #ffffff;\n  background-color: #999999;\n  border-color: #999999;\n}\n.nav .open .caret, .nav .open.active .caret, .nav .open a:hover .caret {\n  border-top-color: #ffffff;\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.tabs-stacked .open > a:hover {\n  border-color: #999999;\n}\n.tabbable {\n  *zoom: 1;\n}\n.tabbable:before, .tabbable:after {\n  display: table;\n  content: \"\";\n}\n.tabbable:after {\n  clear: both;\n}\n.tabs-below .nav-tabs, .tabs-right .nav-tabs, .tabs-left .nav-tabs {\n  border-bottom: 0;\n}\n.tab-content > .tab-pane, .pill-content > .pill-pane {\n  display: none;\n}\n.tab-content > .active, .pill-content > .active {\n  display: block;\n}\n.tabs-below .nav-tabs {\n  border-top: 1px solid #ddd;\n}\n.tabs-below .nav-tabs > li {\n  margin-top: -1px;\n  margin-bottom: 0;\n}\n.tabs-below .nav-tabs > li > a {\n  -webkit-border-radius: 0 0 4px 4px;\n  -moz-border-radius: 0 0 4px 4px;\n  border-radius: 0 0 4px 4px;\n}\n.tabs-below .nav-tabs > li > a:hover {\n  border-bottom-color: transparent;\n  border-top-color: #ddd;\n}\n.tabs-below .nav-tabs .active > a, .tabs-below .nav-tabs .active > a:hover {\n  border-color: transparent #ddd #ddd #ddd;\n}\n.tabs-left .nav-tabs > li, .tabs-right .nav-tabs > li {\n  float: none;\n}\n.tabs-left .nav-tabs > li > a, .tabs-right .nav-tabs > li > a {\n  min-width: 74px;\n  margin-right: 0;\n  margin-bottom: 3px;\n}\n.tabs-left .nav-tabs {\n  float: left;\n  margin-right: 19px;\n  border-right: 1px solid #ddd;\n}\n.tabs-left .nav-tabs > li > a {\n  margin-right: -1px;\n  -webkit-border-radius: 4px 0 0 4px;\n  -moz-border-radius: 4px 0 0 4px;\n  border-radius: 4px 0 0 4px;\n}\n.tabs-left .nav-tabs > li > a:hover {\n  border-color: #eeeeee #dddddd #eeeeee #eeeeee;\n}\n.tabs-left .nav-tabs .active > a, .tabs-left .nav-tabs .active > a:hover {\n  border-color: #ddd transparent #ddd #ddd;\n  *border-right-color: #ffffff;\n}\n.tabs-right .nav-tabs {\n  float: right;\n  margin-left: 19px;\n  border-left: 1px solid #ddd;\n}\n.tabs-right .nav-tabs > li > a {\n  margin-left: -1px;\n  -webkit-border-radius: 0 4px 4px 0;\n  -moz-border-radius: 0 4px 4px 0;\n  border-radius: 0 4px 4px 0;\n}\n.tabs-right .nav-tabs > li > a:hover {\n  border-color: #eeeeee #eeeeee #eeeeee #dddddd;\n}\n.tabs-right .nav-tabs .active > a, .tabs-right .nav-tabs .active > a:hover {\n  border-color: #ddd #ddd #ddd transparent;\n  *border-left-color: #ffffff;\n}\n.navbar {\n  overflow: visible;\n  margin-bottom: 18px;\n}\n.navbar-inner {\n  padding-left: 20px;\n  padding-right: 20px;\n  background-color: #2c2c2c;\n  background-image: -moz-linear-gradient(top, #333333, #222222);\n  background-image: -ms-linear-gradient(top, #333333, #222222);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\n  background-image: -webkit-linear-gradient(top, #333333, #222222);\n  background-image: -o-linear-gradient(top, #333333, #222222);\n  background-image: linear-gradient(top, #333333, #222222);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);\n}\n.btn-navbar {\n  display: none;\n  float: right;\n  padding: 7px 10px;\n  margin-left: 5px;\n  margin-right: 5px;\n  background-color: #2c2c2c;\n  background-image: -moz-linear-gradient(top, #333333, #222222);\n  background-image: -ms-linear-gradient(top, #333333, #222222);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));\n  background-image: -webkit-linear-gradient(top, #333333, #222222);\n  background-image: -o-linear-gradient(top, #333333, #222222);\n  background-image: linear-gradient(top, #333333, #222222);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);\n  border-color: #222222 #222222 #000000;\n  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);\n  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);\n}\n.btn-navbar:hover,\n.btn-navbar:active,\n.btn-navbar.active,\n.btn-navbar.disabled,\n.btn-navbar[disabled] {\n  background-color: #222222;\n}\n.btn-navbar:active, .btn-navbar.active {\n  background-color: #080808 \\9;\n}\n.btn-navbar .icon-bar {\n  display: block;\n  width: 18px;\n  height: 2px;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 1px;\n  -moz-border-radius: 1px;\n  border-radius: 1px;\n  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);\n}\n.btn-navbar .icon-bar + .icon-bar {\n  margin-top: 3px;\n}\n.nav-collapse.collapse {\n  height: auto;\n}\n.navbar .brand:hover {\n  text-decoration: none;\n}\n.navbar .brand {\n  float: left;\n  display: block;\n  padding: 8px 20px 12px;\n  margin-left: -20px;\n  font-size: 20px;\n  font-weight: 200;\n  line-height: 1;\n  color: #ffffff;\n}\n.navbar .navbar-text {\n  margin-bottom: 0;\n  line-height: 40px;\n  color: #999999;\n}\n.navbar .navbar-text a:hover {\n  color: #ffffff;\n  background-color: transparent;\n}\n.navbar .btn, .navbar .btn-group {\n  margin-top: 5px;\n}\n.navbar .btn-group .btn {\n  margin-top: 0;\n}\n.navbar-form {\n  margin-bottom: 0;\n  *zoom: 1;\n}\n.navbar-form:before, .navbar-form:after {\n  display: table;\n  content: \"\";\n}\n.navbar-form:after {\n  clear: both;\n}\n.navbar-form input, .navbar-form select {\n  display: inline-block;\n  margin-top: 5px;\n  margin-bottom: 0;\n}\n.navbar-form .radio, .navbar-form .checkbox {\n  margin-top: 5px;\n}\n.navbar-form input[type=\"image\"], .navbar-form input[type=\"checkbox\"], .navbar-form input[type=\"radio\"] {\n  margin-top: 3px;\n}\n.navbar-search {\n  position: relative;\n  float: left;\n  margin-top: 6px;\n  margin-bottom: 0;\n}\n.navbar-search .search-query {\n  padding: 4px 9px;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  font-size: 13px;\n  font-weight: normal;\n  line-height: 1;\n  color: #ffffff;\n  color: rgba(255, 255, 255, 0.75);\n  background: #666;\n  background: rgba(255, 255, 255, 0.3);\n  border: 1px solid #111;\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);\n  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);\n  -webkit-transition: none;\n  -moz-transition: none;\n  -ms-transition: none;\n  -o-transition: none;\n  transition: none;\n}\n.navbar-search .search-query :-moz-placeholder {\n  color: #eeeeee;\n}\n.navbar-search .search-query::-webkit-input-placeholder {\n  color: #eeeeee;\n}\n.navbar-search .search-query:hover {\n  color: #ffffff;\n  background-color: #999999;\n  background-color: rgba(255, 255, 255, 0.5);\n}\n.navbar-search .search-query:focus, .navbar-search .search-query.focused {\n  padding: 5px 10px;\n  color: #333333;\n  text-shadow: 0 1px 0 #ffffff;\n  background-color: #ffffff;\n  border: 0;\n  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);\n  outline: 0;\n}\n.navbar-fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n.navbar-fixed-top .navbar-inner {\n  padding-left: 0;\n  padding-right: 0;\n  -webkit-border-radius: 0;\n  -moz-border-radius: 0;\n  border-radius: 0;\n}\n.navbar .nav {\n  position: relative;\n  left: 0;\n  display: block;\n  float: left;\n  margin: 0 10px 0 0;\n}\n.navbar .nav.pull-right {\n  float: right;\n}\n.navbar .nav > li {\n  display: block;\n  float: left;\n}\n.navbar .nav > li > a {\n  float: none;\n  padding: 10px 10px 11px;\n  line-height: 19px;\n  color: #999999;\n  text-decoration: none;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar .nav > li > a:hover {\n  background-color: transparent;\n  color: #ffffff;\n  text-decoration: none;\n}\n.navbar .nav .active > a, .navbar .nav .active > a:hover {\n  color: #ffffff;\n  text-decoration: none;\n  background-color: #222222;\n  background-color: rgba(0, 0, 0, 0.5);\n}\n.navbar .divider-vertical {\n  height: 40px;\n  width: 1px;\n  margin: 0 9px;\n  overflow: hidden;\n  background-color: #222222;\n  border-right: 1px solid #333333;\n}\n.navbar .nav.pull-right {\n  margin-left: 10px;\n  margin-right: 0;\n}\n.navbar .dropdown-menu {\n  margin-top: 1px;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.navbar .dropdown-menu:before {\n  content: '';\n  display: inline-block;\n  border-left: 7px solid transparent;\n  border-right: 7px solid transparent;\n  border-bottom: 7px solid #ccc;\n  border-bottom-color: rgba(0, 0, 0, 0.2);\n  position: absolute;\n  top: -7px;\n  left: 9px;\n}\n.navbar .dropdown-menu:after {\n  content: '';\n  display: inline-block;\n  border-left: 6px solid transparent;\n  border-right: 6px solid transparent;\n  border-bottom: 6px solid #ffffff;\n  position: absolute;\n  top: -6px;\n  left: 10px;\n}\n.navbar .nav .dropdown-toggle .caret, .navbar .nav .open.dropdown .caret {\n  border-top-color: #ffffff;\n}\n.navbar .nav .active .caret {\n  opacity: 1;\n  filter: alpha(opacity=100);\n}\n.navbar .nav .open > .dropdown-toggle, .navbar .nav .active > .dropdown-toggle, .navbar .nav .open.active > .dropdown-toggle {\n  background-color: transparent;\n}\n.navbar .nav .active > .dropdown-toggle:hover {\n  color: #ffffff;\n}\n.navbar .nav.pull-right .dropdown-menu {\n  left: auto;\n  right: 0;\n}\n.navbar .nav.pull-right .dropdown-menu:before {\n  left: auto;\n  right: 12px;\n}\n.navbar .nav.pull-right .dropdown-menu:after {\n  left: auto;\n  right: 13px;\n}\n.breadcrumb {\n  padding: 7px 14px;\n  margin: 0 0 18px;\n  background-color: #fbfbfb;\n  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));\n  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);\n  background-image: linear-gradient(top, #ffffff, #f5f5f5);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);\n  border: 1px solid #ddd;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n  -webkit-box-shadow: inset 0 1px 0 #ffffff;\n  -moz-box-shadow: inset 0 1px 0 #ffffff;\n  box-shadow: inset 0 1px 0 #ffffff;\n}\n.breadcrumb li {\n  display: inline;\n  text-shadow: 0 1px 0 #ffffff;\n}\n.breadcrumb .divider {\n  padding: 0 5px;\n  color: #999999;\n}\n.breadcrumb .active a {\n  color: #333333;\n}\n.pagination {\n  height: 36px;\n  margin: 18px 0;\n}\n.pagination ul {\n  display: inline-block;\n  *display: inline;\n  /* IE7 inline-block hack */\n\n  *zoom: 1;\n  margin-left: 0;\n  margin-bottom: 0;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.pagination li {\n  display: inline;\n}\n.pagination a {\n  float: left;\n  padding: 0 14px;\n  line-height: 34px;\n  text-decoration: none;\n  border: 1px solid #ddd;\n  border-left-width: 0;\n}\n.pagination a:hover, .pagination .active a {\n  background-color: #f5f5f5;\n}\n.pagination .active a {\n  color: #999999;\n  cursor: default;\n}\n.pagination .disabled a, .pagination .disabled a:hover {\n  color: #999999;\n  background-color: transparent;\n  cursor: default;\n}\n.pagination li:first-child a {\n  border-left-width: 1px;\n  -webkit-border-radius: 3px 0 0 3px;\n  -moz-border-radius: 3px 0 0 3px;\n  border-radius: 3px 0 0 3px;\n}\n.pagination li:last-child a {\n  -webkit-border-radius: 0 3px 3px 0;\n  -moz-border-radius: 0 3px 3px 0;\n  border-radius: 0 3px 3px 0;\n}\n.pagination-centered {\n  text-align: center;\n}\n.pagination-right {\n  text-align: right;\n}\n.pager {\n  margin-left: 0;\n  margin-bottom: 18px;\n  list-style: none;\n  text-align: center;\n  *zoom: 1;\n}\n.pager:before, .pager:after {\n  display: table;\n  content: \"\";\n}\n.pager:after {\n  clear: both;\n}\n.pager li {\n  display: inline;\n}\n.pager a {\n  display: inline-block;\n  padding: 5px 14px;\n  background-color: #fff;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 15px;\n  -moz-border-radius: 15px;\n  border-radius: 15px;\n}\n.pager a:hover {\n  text-decoration: none;\n  background-color: #f5f5f5;\n}\n.pager .next a {\n  float: right;\n}\n.pager .previous a {\n  float: left;\n}\n.modal-open .dropdown-menu {\n  z-index: 2050;\n}\n.modal-open .dropdown.open {\n  *z-index: 2050;\n}\n.modal-open .popover {\n  z-index: 2060;\n}\n.modal-open .tooltip {\n  z-index: 2070;\n}\n.modal-backdrop {\n  position: fixed;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1040;\n  background-color: #000000;\n}\n.modal-backdrop.fade {\n  opacity: 0;\n}\n.modal-backdrop, .modal-backdrop.fade.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n.modal {\n  position: fixed;\n  top: 50%;\n  left: 50%;\n  z-index: 1050;\n  max-height: 500px;\n  overflow: auto;\n  width: 560px;\n  margin: -250px 0 0 -280px;\n  background-color: #ffffff;\n  border: 1px solid #999;\n  border: 1px solid rgba(0, 0, 0, 0.3);\n  *border: 1px solid #999;\n  /* IE6-7 */\n\n  -webkit-border-radius: 6px;\n  -moz-border-radius: 6px;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding-box;\n  background-clip: padding-box;\n}\n.modal.fade {\n  -webkit-transition: opacity .3s linear, top .3s ease-out;\n  -moz-transition: opacity .3s linear, top .3s ease-out;\n  -ms-transition: opacity .3s linear, top .3s ease-out;\n  -o-transition: opacity .3s linear, top .3s ease-out;\n  transition: opacity .3s linear, top .3s ease-out;\n  top: -25%;\n}\n.modal.fade.in {\n  top: 50%;\n}\n.modal-header {\n  padding: 9px 15px;\n  border-bottom: 1px solid #eee;\n}\n.modal-header .close {\n  margin-top: 2px;\n}\n.modal-body {\n  padding: 15px;\n}\n.modal-footer {\n  padding: 14px 15px 15px;\n  margin-bottom: 0;\n  background-color: #f5f5f5;\n  border-top: 1px solid #ddd;\n  -webkit-border-radius: 0 0 6px 6px;\n  -moz-border-radius: 0 0 6px 6px;\n  border-radius: 0 0 6px 6px;\n  -webkit-box-shadow: inset 0 1px 0 #ffffff;\n  -moz-box-shadow: inset 0 1px 0 #ffffff;\n  box-shadow: inset 0 1px 0 #ffffff;\n  *zoom: 1;\n}\n.modal-footer:before, .modal-footer:after {\n  display: table;\n  content: \"\";\n}\n.modal-footer:after {\n  clear: both;\n}\n.modal-footer .btn {\n  float: right;\n  margin-left: 5px;\n  margin-bottom: 0;\n}\n.tooltip {\n  position: absolute;\n  z-index: 1020;\n  display: block;\n  visibility: visible;\n  padding: 5px;\n  font-size: 11px;\n  opacity: 0;\n  filter: alpha(opacity=0);\n}\n.tooltip.in {\n  opacity: 0.8;\n  filter: alpha(opacity=80);\n}\n.tooltip.top {\n  margin-top: -2px;\n}\n.tooltip.right {\n  margin-left: 2px;\n}\n.tooltip.bottom {\n  margin-top: 2px;\n}\n.tooltip.left {\n  margin-left: -2px;\n}\n.tooltip.top .tooltip-arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-top: 5px solid #000000;\n}\n.tooltip.left .tooltip-arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-left: 5px solid #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-bottom: 5px solid #000000;\n}\n.tooltip.right .tooltip-arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-right: 5px solid #000000;\n}\n.tooltip-inner {\n  max-width: 200px;\n  padding: 3px 8px;\n  color: #ffffff;\n  text-align: center;\n  text-decoration: none;\n  background-color: #000000;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.tooltip-arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n}\n.popover {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 1010;\n  display: none;\n  padding: 5px;\n}\n.popover.top {\n  margin-top: -5px;\n}\n.popover.right {\n  margin-left: 5px;\n}\n.popover.bottom {\n  margin-top: 5px;\n}\n.popover.left {\n  margin-left: -5px;\n}\n.popover.top .arrow {\n  bottom: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-top: 5px solid #000000;\n}\n.popover.right .arrow {\n  top: 50%;\n  left: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-right: 5px solid #000000;\n}\n.popover.bottom .arrow {\n  top: 0;\n  left: 50%;\n  margin-left: -5px;\n  border-left: 5px solid transparent;\n  border-right: 5px solid transparent;\n  border-bottom: 5px solid #000000;\n}\n.popover.left .arrow {\n  top: 50%;\n  right: 0;\n  margin-top: -5px;\n  border-top: 5px solid transparent;\n  border-bottom: 5px solid transparent;\n  border-left: 5px solid #000000;\n}\n.popover .arrow {\n  position: absolute;\n  width: 0;\n  height: 0;\n}\n.popover-inner {\n  padding: 3px;\n  width: 280px;\n  overflow: hidden;\n  background: #000000;\n  background: rgba(0, 0, 0, 0.8);\n  -webkit-border-radius: 6px;\n  -moz-border-radius: 6px;\n  border-radius: 6px;\n  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);\n}\n.popover-title {\n  padding: 9px 15px;\n  line-height: 1;\n  background-color: #f5f5f5;\n  border-bottom: 1px solid #eee;\n  -webkit-border-radius: 3px 3px 0 0;\n  -moz-border-radius: 3px 3px 0 0;\n  border-radius: 3px 3px 0 0;\n}\n.popover-content {\n  padding: 14px;\n  background-color: #ffffff;\n  -webkit-border-radius: 0 0 3px 3px;\n  -moz-border-radius: 0 0 3px 3px;\n  border-radius: 0 0 3px 3px;\n  -webkit-background-clip: padding-box;\n  -moz-background-clip: padding-box;\n  background-clip: padding-box;\n}\n.popover-content p, .popover-content ul, .popover-content ol {\n  margin-bottom: 0;\n}\n.thumbnails {\n  margin-left: -20px;\n  list-style: none;\n  *zoom: 1;\n}\n.thumbnails:before, .thumbnails:after {\n  display: table;\n  content: \"\";\n}\n.thumbnails:after {\n  clear: both;\n}\n.thumbnails > li {\n  float: left;\n  margin: 0 0 18px 20px;\n}\n.thumbnail {\n  display: block;\n  padding: 4px;\n  line-height: 1;\n  border: 1px solid #ddd;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\n  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\n  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);\n}\na.thumbnail:hover {\n  border-color: #0088cc;\n  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);\n}\n.thumbnail > img {\n  display: block;\n  max-width: 100%;\n  margin-left: auto;\n  margin-right: auto;\n}\n.thumbnail .caption {\n  padding: 9px;\n}\n.label {\n  padding: 1px 3px 2px;\n  font-size: 9.75px;\n  font-weight: bold;\n  color: #ffffff;\n  text-transform: uppercase;\n  background-color: #999999;\n  -webkit-border-radius: 3px;\n  -moz-border-radius: 3px;\n  border-radius: 3px;\n}\n.label-important {\n  background-color: #b94a48;\n}\n.label-warning {\n  background-color: #f89406;\n}\n.label-success {\n  background-color: #468847;\n}\n.label-info {\n  background-color: #3a87ad;\n}\n@-webkit-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n@-moz-keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n@keyframes progress-bar-stripes {\n  from {\n    background-position: 0 0;\n  }\n  to {\n    background-position: 40px 0;\n  }\n}\n.progress {\n  overflow: hidden;\n  height: 18px;\n  margin-bottom: 18px;\n  background-color: #f7f7f7;\n  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));\n  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);\n  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.progress .bar {\n  width: 0%;\n  height: 18px;\n  color: #ffffff;\n  font-size: 12px;\n  text-align: center;\n  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n  background-color: #0e90d2;\n  background-image: -moz-linear-gradient(top, #149bdf, #0480be);\n  background-image: -ms-linear-gradient(top, #149bdf, #0480be);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));\n  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);\n  background-image: -o-linear-gradient(top, #149bdf, #0480be);\n  background-image: linear-gradient(top, #149bdf, #0480be);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);\n  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n  -webkit-box-sizing: border-box;\n  -moz-box-sizing: border-box;\n  box-sizing: border-box;\n  -webkit-transition: width 0.6s ease;\n  -moz-transition: width 0.6s ease;\n  -ms-transition: width 0.6s ease;\n  -o-transition: width 0.6s ease;\n  transition: width 0.6s ease;\n}\n.progress-striped .bar {\n  background-color: #62c462;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  -webkit-background-size: 40px 40px;\n  -moz-background-size: 40px 40px;\n  -o-background-size: 40px 40px;\n  background-size: 40px 40px;\n}\n.progress.active .bar {\n  -webkit-animation: progress-bar-stripes 2s linear infinite;\n  -moz-animation: progress-bar-stripes 2s linear infinite;\n  animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-danger .bar {\n  background-color: #dd514c;\n  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));\n  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);\n  background-image: linear-gradient(top, #ee5f5b, #c43c35);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);\n}\n.progress-danger.progress-striped .bar {\n  background-color: #ee5f5b;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-success .bar {\n  background-color: #5eb95e;\n  background-image: -moz-linear-gradient(top, #62c462, #57a957);\n  background-image: -ms-linear-gradient(top, #62c462, #57a957);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));\n  background-image: -webkit-linear-gradient(top, #62c462, #57a957);\n  background-image: -o-linear-gradient(top, #62c462, #57a957);\n  background-image: linear-gradient(top, #62c462, #57a957);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);\n}\n.progress-success.progress-striped .bar {\n  background-color: #62c462;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-info .bar {\n  background-color: #4bb1cf;\n  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));\n  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);\n  background-image: linear-gradient(top, #5bc0de, #339bb9);\n  background-repeat: repeat-x;\n  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);\n}\n.progress-info.progress-striped .bar {\n  background-color: #5bc0de;\n  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));\n  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.accordion {\n  margin-bottom: 18px;\n}\n.accordion-group {\n  margin-bottom: 2px;\n  border: 1px solid #e5e5e5;\n  -webkit-border-radius: 4px;\n  -moz-border-radius: 4px;\n  border-radius: 4px;\n}\n.accordion-heading {\n  border-bottom: 0;\n}\n.accordion-heading .accordion-toggle {\n  display: block;\n  padding: 8px 15px;\n}\n.accordion-inner {\n  padding: 9px 15px;\n  border-top: 1px solid #e5e5e5;\n}\n.carousel {\n  position: relative;\n  margin-bottom: 18px;\n  line-height: 1;\n}\n.carousel-inner {\n  overflow: hidden;\n  width: 100%;\n  position: relative;\n}\n.carousel .item {\n  display: none;\n  position: relative;\n  -webkit-transition: 0.6s ease-in-out left;\n  -moz-transition: 0.6s ease-in-out left;\n  -ms-transition: 0.6s ease-in-out left;\n  -o-transition: 0.6s ease-in-out left;\n  transition: 0.6s ease-in-out left;\n}\n.carousel .item > img {\n  display: block;\n  line-height: 1;\n}\n.carousel .active, .carousel .next, .carousel .prev {\n  display: block;\n}\n.carousel .active {\n  left: 0;\n}\n.carousel .next, .carousel .prev {\n  position: absolute;\n  top: 0;\n  width: 100%;\n}\n.carousel .next {\n  left: 100%;\n}\n.carousel .prev {\n  left: -100%;\n}\n.carousel .next.left, .carousel .prev.right {\n  left: 0;\n}\n.carousel .active.left {\n  left: -100%;\n}\n.carousel .active.right {\n  left: 100%;\n}\n.carousel-control {\n  position: absolute;\n  top: 40%;\n  left: 15px;\n  width: 40px;\n  height: 40px;\n  margin-top: -20px;\n  font-size: 60px;\n  font-weight: 100;\n  line-height: 30px;\n  color: #ffffff;\n  text-align: center;\n  background: #222222;\n  border: 3px solid #ffffff;\n  -webkit-border-radius: 23px;\n  -moz-border-radius: 23px;\n  border-radius: 23px;\n  opacity: 0.5;\n  filter: alpha(opacity=50);\n}\n.carousel-control.right {\n  left: auto;\n  right: 15px;\n}\n.carousel-control:hover {\n  color: #ffffff;\n  text-decoration: none;\n  opacity: 0.9;\n  filter: alpha(opacity=90);\n}\n.carousel-caption {\n  position: absolute;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  padding: 10px 15px 5px;\n  background: #333333;\n  background: rgba(0, 0, 0, 0.75);\n}\n.carousel-caption h4, .carousel-caption p {\n  color: #ffffff;\n}\n.hero-unit {\n  padding: 60px;\n  margin-bottom: 30px;\n  background-color: #f5f5f5;\n  -webkit-border-radius: 6px;\n  -moz-border-radius: 6px;\n  border-radius: 6px;\n}\n.hero-unit h1 {\n  margin-bottom: 0;\n  font-size: 60px;\n  line-height: 1;\n  letter-spacing: -1px;\n}\n.hero-unit p {\n  font-size: 18px;\n  font-weight: 200;\n  line-height: 27px;\n}\n.pull-right {\n  float: right;\n}\n.pull-left {\n  float: left;\n}\n.hide {\n  display: none;\n}\n.show {\n  display: block;\n}\n.invisible {\n  visibility: hidden;\n}\n"
  },
  {
    "path": "docs/css/jquery.iviewer.css",
    "content": ".iviewer_common {\n    position:absolute;\n    bottom:10px;\n    border: 1px  solid #000;\n    height: 28px;\n    z-index: 5000;\n}\n\n.iviewer_cursor {\n    cursor: url(../img/iviewer/hand.cur) 6 8, pointer;\n}\n\n.iviewer_drag_cursor {\n    cursor: url(../img/iviewer/grab.cur) 6 8, pointer;\n}\n\n.iviewer_button {\n    width: 28px;\n    cursor: pointer;\n    background-position: center center;\n    background-repeat: no-repeat;\n}\n\n.iviewer_zoom_in {\n    left: 20px;\n    background: url(../img/iviewer/iviewer.zoom_in.png);\n}\n\n.iviewer_zoom_out {\n    left: 55px;\n    background: url(../img/iviewer/iviewer.zoom_out.png);\n}\n\n.iviewer_zoom_zero {\n    left: 90px;\n    background: url(../img/iviewer/iviewer.zoom_zero.png);\n}\n\n.iviewer_zoom_fit {\n    left: 125px;\n    background: url(../img/iviewer/iviewer.zoom_fit.png);\n}\n\n.iviewer_zoom_status {\n    left: 160px;\n    font: 1em/28px Sans;\n    color: #000;\n    background-color: #fff;\n    text-align: center;\n    width: 60px;\n}\n\n.iviewer_rotate_left {\n    left: 227px;\n    background: #fff url(../img/iviewer/iviewer.rotate_left.png) center center no-repeat;\n}\n\n.iviewer_rotate_right {\n    left: 262px;\n    background: #fff url(../img/iviewer/iviewer.rotate_right.png) center center no-repeat;\n}\n\n.viewer\n{\n    width:      100%;\n    height:     500px;\n    position:   relative;\n    background: transparent url('../img/loader.gif') no-repeat center center;\n}\n\n.viewer img\n{\n    max-width: none;\n}\n\n.wrapper\n{\n    overflow: hidden;\n}\n\n.iviewer_common\n{\n    border: 0;\n    bottom: auto;\n    top: 10px;\n}\n\n.iviewer_zoom_status\n{\n    border: 1px solid black;\n}\n"
  },
  {
    "path": "docs/css/prettify.css",
    "content": ".pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}"
  },
  {
    "path": "docs/css/template.css",
    "content": "@import url(bootstrap.min.css);\n@import url(bootstrap-responsive.css);\n@import url(prettify.css);\n@import url(jquery.iviewer.css);\n@import url(https://fonts.googleapis.com/css?family=Forum);\n\nbody\n{\n    padding-top: 60px; /* 60px to make the container go all the way to the bottom of the topbar */\n    background:  #f9f9f9;\n    color:       #444;\n}\n\na\n{\n    color: #55A72F;\n}\n\ntd p:last-of-type {\n    margin: 0;\n}\n\nli.l0, li.l1, li.l2, li.l3, li.l5, li.l6, li.l7, li.l8\n{\n    list-style-type: decimal;\n}\n\na.brand, h2, .hero-unit h1\n{\n    font-family: 'Forum', \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n}\n\n.element .span4\n{\n    width: 275px;\n}\n\n.namespace-contents hr, .package-contents hr\n{\n    border-top: 3px dotted silver;\n}\n\n.namespace-indent, .package-indent\n{\n    padding-left: 10px; border-left: 1px dashed #f0f0f0;\n}\n\n.element h3 i, .namespace-contents h3 i, .package-contents h3 i\n{\n    margin-top: 2px;\n    margin-right: 5px;\n}\n\n.element h3, .namespace-contents h3, .package-contents h3\n{\n    margin-top: 25px;\n    margin-bottom: 20px;\n    border-bottom: 1px solid silver;\n}\n\n.element h3:first-of-type, .namespace-contents h3:first-of-type,\n.package-contents h3:first-of-type\n{\n    margin-top: 30px;\n}\n\n.element h2\n{\n    font-family: inherit;\n    font-size: 1.2em;\n    color: black;\n}\n\n.element .type\n{\n    font-weight: bold;\n}\n\n#search-query\n{\n    height: auto;\n}\n\n.hero-unit, div.element, .well\n{\n    border: 1px solid #e0e0e0;\n    background: white;\n}\n\n.dropdown-menu a{\n    overflow: hidden;\n    text-overflow: ellipsis;\n}\nh2\n{\n    border-bottom:  1px dashed #55A72F;\n    margin-bottom:  10px;\n    padding-bottom: 0;\n    padding-left:   5px;\n    color:          #e9e9e9;\n    font-weight:    normal;\n    margin-top:     40px;\n}\n\nh2:first-of-type\n{\n    margin-top: 0;\n}\n\n.hero-unit\n{\n    background: #75a70d; /* Old browsers */\n    background: -moz-radial-gradient(center, ellipse cover, #bfd255 0%, #8eb92a 72%, #72aa00 96%, #9ecb2d 100%); /* FF3.6+ */\n    background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#bfd255), color-stop(72%,#8eb92a), color-stop(96%,#72aa00), color-stop(100%,#9ecb2d)); /* Chrome,Safari4+ */\n    background: -webkit-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Chrome10+,Safari5.1+ */\n    background: -o-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* Opera 12+ */\n    background: -ms-radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* IE10+ */\n    background: radial-gradient(center, ellipse cover, #bfd255 0%,#8eb92a 72%,#72aa00 96%,#9ecb2d 100%); /* W3C */\n    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#bfd255', endColorstr='#9ecb2d',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */\n\n    padding: 40px 0 15px 0;\n    box-shadow: inset 0 0 10px gray;\n}\n\n.hero-unit h1\n{\n    font-weight: normal;\n    text-align:  center;\n    color:       white;\n    text-shadow: black 0 0 15px;\n}\n\n.hero-unit h2\n{\n    border:     none;\n    color:      white;\n    background: rgba(48, 48, 48, 0.5);\n    padding:    0;\n    margin:     0;\n    margin-top: 15px;\n    text-align: center;\n}\n\n.namespace-contents h2, .package-contents h2\n{\n    padding-left: 44px;\n    background: transparent url('../img/icons/icon-th-big.png') no-repeat 3px center;\n}\n\n.package-contents h2\n{\n    background-image: url('../img/icons/icon-folder-open-big.png');\n}\n\n.namespace-contents .element h2, .package-contents .element h2\n{\n    padding-left: 0;\n    background: none;\n}\n\ndiv.element\n{\n    border-left:    10px solid #55A72F;\n    border-radius:  5px;\n    padding:        7px 7px 2px 7px;\n    margin-bottom:  15px;\n    margin-left:    0;\n}\n\ndiv.element.protected\n{\n    border-left-color: orange;\n}\n\ndiv.element.private\n{\n    border-left-color: red;\n}\n\ndiv.element.class, div.element.interface, div.element.trait\n{\n    border-left-color: #e0e0e0;\n}\n\ndiv.element.class.abstract h1, div.element.interface.abstract h1\n{\n    font-style: italic;\n}\n\ndiv.element h1\n{\n    font-size:     1.2em;\n    line-height:   1.5em;\n    margin-bottom: 10px;\n    padding-left:  22px;\n    background:    transparent no-repeat left 2px;\n    word-wrap:     break-word;\n}\n\ndiv.element h1 a\n{\n    color: transparent;\n    margin-left: 10px;\n}\n\ndiv.element h1:hover a\n{\n    color: silver;\n}\n\ndiv.element h1 a:hover\n{\n    color: navy;\n}\n\ndiv.element a.more:hover\n{\n    background: #f0f0f0;\n    color:      #444;\n    text-decoration: none;\n}\n\ndiv.element a.more\n{\n    font-weight: bold;\n    text-align: center;\n    color:      gray;\n    border-top: 1px dashed silver;\n    display:    block;\n    margin-top: 5px;\n    padding:    5px 0;\n    border-bottom-left-radius: 5px;\n    border-bottom-right-radius: 5px;\n}\n\ndiv.element p\n{\n    font-size:     0.9em;\n}\n\ndiv.element .table\n{\n    font-size: 0.9em;\n}\n\ndiv.element .table th\n{\n    text-transform: capitalize;\n}\n\ndiv.detail-description\n{\n    padding-left: 30px;\n}\n\ndiv.detail-description table th {\n    vertical-align: top;\n}\n\nbody.invert\n{\n    background: white;\n}\n\nbody.invert div.element\n{\n    background: #f9f9f9;\n}\n\nul.side-nav\n{\n    clear: both;\n}\n\nul.side-nav li\n{\n    word-wrap: break-word;\n    padding-left: 10px;\n    text-indent: -10px;\n}\n\nul.side-nav li a\n{\n    background:     transparent no-repeat 5px 3px;\n    padding-bottom: 10px;\n    font-style:     italic;\n}\n\nul.side-nav li pre\n{\n    font-size:        0.8em;\n    margin:           5px 15px 0 15px;\n    padding:          2px 5px;\n    background-color: #f8f8f8;\n    color:            gray;\n    font-style:       normal;\n    word-wrap:        break-word;\n    text-indent:      0;\n}\n\nul.side-nav li.view-simple span.description\n{\n    display: none;\n}\n\nul.side-nav li.view-simple pre\n{\n    font-size:        inherit;\n    margin:           inherit;\n    padding:          inherit;\n    background-color: inherit;\n    border:           none;\n    color:            inherit;\n    font-family:      inherit;\n    font-style:       inherit;\n    padding-bottom:   0;\n    padding-left:     5px;\n}\n\nul.side-nav li.view-simple a\n{\n    padding-bottom: 0;\n}\n\ni.icon-custom\n{\n    width: 16px;\n    height: 16px;\n    background-position: 0;\n}\n\n.table.markers\n{\n    background: white;\n}\n\n/* JS only functionality; disable by default */\n.btn-group.visibility, .btn-group.view, .btn-group.type-filter\n{\n    display: none;\n}\n\n.visibility button\n{\n    height: 24px;\n}\n\ndiv.element.constant h1,\ni.icon-constant  { background-image: url('../img/icons/constant.png'); }\n\ndiv.element.function h1,\ni.icon-function  { background-image: url('../img/icons/function.png'); }\n\ndiv.element.method h1,\ni.icon-method    { background-image: url('../img/icons/method.png'); }\n\ndiv.element.class h1,\ni.icon-class     { background-image: url('../img/icons/class.png'); }\n\ndiv.element.interface h1,\ni.icon-interface { background-image: url('../img/icons/interface.png'); }\n\ndiv.element.trait h1,\ni.icon-trait { background-image: url('../img/icons/trait.png'); }\n\ndiv.element.property h1,\ni.icon-property  { background-image: url('../img/icons/property.png'); }\n\nspan.empty-namespace\n{\n    color: silver;\n}\n\nfooter\n{\n    text-align: right;\n    font-size: 0.8em;\n    opacity: 0.5;\n}\n\n#mapHolder\n{\n    border:   4px solid #555;\n    padding:  0 !important;\n    overflow: hidden\n}\n\ndiv.element div.subelement\n{\n    margin-left:    10px;\n    padding-bottom: 5px;\n    clear: both;\n}\n\npre code\n{\n    border: none;\n}\n\ndiv.element div.subelement  > code\n{\n    font-size:    0.8em;\n    float:        left;\n    margin-right: 10px;\n    padding:      0 5px;\n    line-height:  16px;\n}\n\ndiv.element div.subelement  > p\n{\n    margin-left: 20px;\n    margin-right: 50px;\n}\n\ndiv.element div.subelement h4\n{\n    color: #666;\n    margin-bottom: 5px;\n}\n\ndiv.element div.subelement.response\n{\n    padding-bottom: 15px;\n    margin-right: 50px;\n}\n\ndiv.labels\n{\n    text-align: right;\n}\n\n.nav-list .nav-header\n{\n    font-size: 13px;\n}\n\n.nav-list .nav-header .side-nav-header\n{\n    font-weight: bold;\n    line-height: 18px;\n    color: #999999;\n    text-transform: uppercase;\n}\n\n.detail-description code {\n    white-space: pre;\n    display:     inline-block;\n    padding:     10px;\n}\n\n.go_to_top\n{\n    float:                      right;\n    margin-right:               20px;\n    background:                 #2C2C2C;\n    color:                      #999;\n    padding:                    3px 10px;\n    border-bottom-right-radius: 5px;\n    border-bottom-left-radius:  5px;\n    text-shadow:                0 -1px 0 rgba(0, 0, 0, 0.25);\n    line-height:                19px;\n}\n\n.visibility .btn {\n    text-transform: uppercase;\n    font-size: 0.7em;\n    font-weight: bold;\n}\n\n.iviewer_common\n{\n    z-index: 100;\n}\n\n@media (min-width: 980px)\n{\n    a[name]\n    {\n        margin-top: -50px;\n        position:   absolute;\n    }\n}\n\n@media (min-width: 1200px)\n{\n    .method .span4\n    {\n        width: 345px;\n    }\n}\n\n/* redefined because twitter bootstrap assumes that bootstrap-responsive.css */\n@media (max-width: 980px)\n{\n    body\n    {\n        padding-top: 0;\n    }\n\n    .go_to_top\n    {\n        display: none;\n    }\n\n    .btn-group.visibility\n    {\n        font-size: 0.80em;\n        margin-bottom: 7px;\n        display: inline-block;\n        float: right;\n    }\n}\n\n@media (max-width: 768px)\n{\n    .hero-unit h1 {\n        font-size: 30px;\n    }\n    .hero-unit h2 {\n        font-size: 19px;\n    }\n\n}\n@media (min-width: 768px) and (max-width: 980px)\n{\n    .method .span4\n    {\n        width: 203px;\n    }\n}\n"
  },
  {
    "path": "docs/deprecated.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; Deprecated elements\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <div class=\"row\">\n\n        <div class=\"span4\">\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">Navigation</li>\n                            </ul>\n        </div>\n\n        <div class=\"span8\">\n            <ul class=\"breadcrumb\">\n                <li><a href=\"?\"><i class=\"icon-stop\"></i></a><span class=\"divider\">\\</span></li>\n                <li>Deprecated elements</li>\n            </ul>\n\n            <div id=\"marker-accordion\">\n                                    <div class=\"alert alert-info\">No deprecated elements have been found in this project.</div>\n                            </div>\n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/errors.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; Compilation errors\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n        <div class=\"row\">\n        <div class=\"span4\">\n\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">Filter type</li>\n                <li>\n                    <div class=\"btn-group type-filter\" data-toggle=\"buttons-checkbox\">\n                        <button class=\"btn critical\">Critical</button>\n                        <button class=\"btn error\">Error</button>\n                        <button class=\"btn notice\">Notice</button>\n                    </div>\n                </li>\n                <li class=\"nav-header\">Navigation</li>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </div>\n\n        <div class=\"span8\">\n            <ul class=\"breadcrumb\">\n                <li><a href=\"?\"><i class=\"icon-remove-sign\"></i></a><span class=\"divider\">\\</span></li>\n                <li>Compilation Errors</li>\n            </ul>\n\n                            <div class=\"alert alert-info\">No errors have been found in this project.</div>\n            \n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                            <div class=\"package-contents\">\n                                    </div>\n                    </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/graph_class.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>Semantic UI for WordPress: Developer Edition</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <div class=\"row\">\n        <div class=\"span12\">\n            <div class=\"well wrapper\">\n                <div id=\"viewer\" class=\"viewer\"></div>\n            </div>\n        </div>\n    </div>\n\n    <script src=\"js/jquery.iviewer.min.js\" type=\"text/javascript\"></script>\n    <script type=\"text/javascript\">\n        $(window).resize(function(){\n            $(\"#viewer\").height($(window).height() - 260);\n        });\n\n        $(document).ready(function() {\n            $(\"#viewer\").iviewer({src: 'classes.svg', zoom_animation: false});\n            $('#viewer img').bind('dragstart', function(event){\n                event.preventDefault();\n            });\n        });\n    </script>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>Semantic UI for WordPress: Developer Edition</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n            <div class=\"hero-unit\">\n        <h1>Semantic UI for WordPress: Developer Edition</h1>\n        <h2>Documentation</h2>\n    </div>\n\n            <div class=\"row\">\n        <div class=\"span7\">\n                            <div class=\"well\">\n                    <ul class=\"nav nav-list\">\n                        <li class=\"nav-header\">Namespaces</li>\n                                                    <li><a href=\"namespaces/default.html\">Global (\\)</a></li>\n                                                            <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                        </ul>\n                </div>\n            \n                            <div class=\"well\">\n                    <ul class=\"nav nav-list\">\n                        <li class=\"nav-header\">Packages</li>\n                                                    <li><a href=\"packages/default.html\">Global (\\)</a></li>\n                                                            <li><a href=\"packages/Default.html\">Default</a></li>\n                                                                        </ul>\n                </div>\n            \n        </div>\n        <div class=\"span5\">\n            <div class=\"well\">\n                <ul class=\"nav nav-list\">\n                    <li class=\"nav-header\">Charts</li>\n                                            <li><a href=\"graph_class.html\"><i class=\"icon-list-alt\"></i> Class inheritance diagram</a></li>\n                                    </ul>\n            </div>\n            <div class=\"well\">\n                <ul class=\"nav nav-list\">\n                    <li class=\"nav-header\">Reports</li>\n                                            <li>\n                            <a href=\"errors.html\">\n                                <i class=\"icon-list-alt\"></i> Errors                                                                                                                                                                                                             <span class=\"label label-info\">0</span>\n\n                            </a>\n                        </li>\n                        <li>\n                            <a href=\"deprecated.html\">\n                                <i class=\"icon-list-alt\"></i> Deprecated             <span class=\"label label-info\">0</span>\n\n                            </a>\n                        </li>\n                        <li>\n                            <a href=\"markers.html\">\n                                <i class=\"icon-list-alt\"></i> Markers                                                                                                                                                                                                             <span class=\"label label-info\">0</span>\n\n                            </a>\n                        </li>\n                                    </ul>\n            </div>\n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/js/SVGPan.js",
    "content": "/**\n *  SVGPan library 1.2 - phpDocumentor1\n * ====================\n *\n * Given an unique existing element with id \"viewport\", including the\n * the library into any SVG adds the following capabilities:\n *\n *  - Mouse panning\n *  - Mouse zooming (using the wheel)\n *  - Object dargging\n *\n * Known issues:\n *\n *  - Zooming (while panning) on Safari has still some issues\n *\n * Releases:\n *\n * 1.2 - phpDocumentor1, Fri Apr 08 19:19:00 CET 2011, Mike van Riel\n *            Increased zoom speed with 20%\n *            Disabled element moving functionality\n *\n * 1.2, Sat Mar 20 08:42:50 GMT 2010, Zeng Xiaohui\n *\tFixed a bug with browser mouse handler interaction\n *\n * 1.1, Wed Feb  3 17:39:33 GMT 2010, Zeng Xiaohui\n *\tUpdated the zoom code to support the mouse wheel on Safari/Chrome\n *\n * 1.0, Andrea Leofreddi\n *\tFirst release\n *\n * This code is licensed under the following BSD license:\n *\n * Copyright 2009-2010 Andrea Leofreddi <a.leofreddi@itcharm.com>. All rights reserved.\n *\n * Redistribution and use in source and binary forms, with or without modification, are\n * permitted provided that the following conditions are met:\n *\n *    1. Redistributions of source code must retain the above copyright notice, this list of\n *       conditions and the following disclaimer.\n *\n *    2. Redistributions in binary form must reproduce the above copyright notice, this list\n *       of conditions and the following disclaimer in the documentation and/or other materials\n *       provided with the distribution.\n *\n * THIS SOFTWARE IS PROVIDED BY Andrea Leofreddi ``AS IS'' AND ANY EXPRESS OR IMPLIED\n * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND\n * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL Andrea Leofreddi OR\n * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\n * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n *\n * The views and conclusions contained in the software and documentation are those of the\n * authors and should not be interpreted as representing official policies, either expressed\n * or implied, of Andrea Leofreddi.\n */\n\nvar root = document.documentElement;\n\nvar state = 'none', stateTarget, stateOrigin, stateTf;\n\nsetupHandlers(root);\n\n/**\n * Register handlers\n */\nfunction setupHandlers(root){\n\tsetAttributes(root, {\n\t\t\"onmouseup\" : \"add(evt)\",\n\t\t\"onmousedown\" : \"handleMouseDown(evt)\",\n\t\t\"onmousemove\" : \"handleMouseMove(evt)\",\n\t\t\"onmouseup\" : \"handleMouseUp(evt)\",\n//\t\t\"onmouseout\" : \"handleMouseUp(evt)\" // Decomment this to stop the pan functionality when dragging out of the SVG element\n\t});\n\n\tif(navigator.userAgent.toLowerCase().indexOf('webkit') >= 0)\n\t\twindow.addEventListener('mousewheel', handleMouseWheel, false); // Chrome/Safari\n\telse\n\t\twindow.addEventListener('DOMMouseScroll', handleMouseWheel, false); // Others\n}\n\n/**\n * Instance an SVGPoint object with given event coordinates.\n */\nfunction getEventPoint(evt) {\n\tvar p = root.createSVGPoint();\n\n\tp.x = evt.clientX;\n\tp.y = evt.clientY;\n\n\treturn p;\n}\n\n/**\n * Sets the current transform matrix of an element.\n */\nfunction setCTM(element, matrix) {\n\tvar s = \"matrix(\" + matrix.a + \",\" + matrix.b + \",\" + matrix.c + \",\" + matrix.d + \",\" + matrix.e + \",\" + matrix.f + \")\";\n\n\telement.setAttribute(\"transform\", s);\n}\n\n/**\n * Dumps a matrix to a string (useful for debug).\n */\nfunction dumpMatrix(matrix) {\n\tvar s = \"[ \" + matrix.a + \", \" + matrix.c + \", \" + matrix.e + \"\\n  \" + matrix.b + \", \" + matrix.d + \", \" + matrix.f + \"\\n  0, 0, 1 ]\";\n\n\treturn s;\n}\n\n/**\n * Sets attributes of an element.\n */\nfunction setAttributes(element, attributes){\n\tfor (i in attributes)\n\t\telement.setAttributeNS(null, i, attributes[i]);\n}\n\n/**\n * Handle mouse move event.\n */\nfunction handleMouseWheel(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tvar delta;\n\n\tif(evt.wheelDelta)\n\t\tdelta = evt.wheelDelta / 3600; // Chrome/Safari\n\telse\n\t\tdelta = evt.detail / -90; // Mozilla\n\n\tvar z = 1 + (delta * 1.2); // Zoom factor: 0.9/1.1\n\n\tvar g = svgDoc.getElementById(\"viewport\");\n\n\tvar p = getEventPoint(evt);\n\n\tp = p.matrixTransform(g.getCTM().inverse());\n\n\t// Compute new scale matrix in current mouse position\n\tvar k = root.createSVGMatrix().translate(p.x, p.y).scale(z).translate(-p.x, -p.y);\n\n        setCTM(g, g.getCTM().multiply(k));\n\n\tstateTf = stateTf.multiply(k.inverse());\n}\n\n/**\n * Handle mouse move event.\n */\nfunction handleMouseMove(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tvar g = svgDoc.getElementById(\"viewport\");\n\n\tif(state == 'pan') {\n\t\t// Pan mode\n\t\tvar p = getEventPoint(evt).matrixTransform(stateTf);\n\n\t\tsetCTM(g, stateTf.inverse().translate(p.x - stateOrigin.x, p.y - stateOrigin.y));\n\t} else if(state == 'move') {\n\t\t// Move mode\n\t\tvar p = getEventPoint(evt).matrixTransform(g.getCTM().inverse());\n\n\t\tsetCTM(stateTarget, root.createSVGMatrix().translate(p.x - stateOrigin.x, p.y - stateOrigin.y).multiply(g.getCTM().inverse()).multiply(stateTarget.getCTM()));\n\n\t\tstateOrigin = p;\n\t}\n}\n\n/**\n * Handle click event.\n */\nfunction handleMouseDown(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tvar g = svgDoc.getElementById(\"viewport\");\n\n//\tif(evt.target.tagName == \"svg\") {\n\t\t// Pan mode\n\t\tstate = 'pan';\n\n\t\tstateTf = g.getCTM().inverse();\n\n\t\tstateOrigin = getEventPoint(evt).matrixTransform(stateTf);\n//\t} else {\n\t\t// Move mode\n//\t\tstate = 'move';\n//\n//\t\tstateTarget = evt.target;\n//\n//\t\tstateTf = g.getCTM().inverse();\n//\n//\t\tstateOrigin = getEventPoint(evt).matrixTransform(stateTf);\n//\t}\n}\n\n/**\n * Handle mouse button release event.\n */\nfunction handleMouseUp(evt) {\n\tif(evt.preventDefault)\n\t\tevt.preventDefault();\n\n\tevt.returnValue = false;\n\n\tvar svgDoc = evt.target.ownerDocument;\n\n\tif(state == 'pan' || state == 'move') {\n\t\t// Quit pan mode\n\t\tstate = '';\n\t}\n}\n\n"
  },
  {
    "path": "docs/js/bootstrap.js",
    "content": "/* ===================================================\n * bootstrap-transition.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#transitions\n * ===================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n!function( $ ) {\n\n  $(function () {\n\n    \"use strict\"\n\n    /* CSS TRANSITION SUPPORT (https://gist.github.com/373874)\n     * ======================================================= */\n\n    $.support.transition = (function () {\n      var thisBody = document.body || document.documentElement\n        , thisStyle = thisBody.style\n        , support = thisStyle.transition !== undefined || thisStyle.WebkitTransition !== undefined || thisStyle.MozTransition !== undefined || thisStyle.MsTransition !== undefined || thisStyle.OTransition !== undefined\n\n      return support && {\n        end: (function () {\n          var transitionEnd = \"TransitionEnd\"\n          if ( $.browser.webkit ) {\n          \ttransitionEnd = \"webkitTransitionEnd\"\n          } else if ( $.browser.mozilla ) {\n          \ttransitionEnd = \"transitionend\"\n          } else if ( $.browser.opera ) {\n          \ttransitionEnd = \"oTransitionEnd\"\n          }\n          return transitionEnd\n        }())\n      }\n    })()\n\n  })\n  \n}( window.jQuery )\n/* ==========================================================\n * bootstrap-alert.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#alerts\n * ==========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* ALERT CLASS DEFINITION\n  * ====================== */\n\n  var dismiss = '[data-dismiss=\"alert\"]'\n    , Alert = function ( el ) {\n        $(el).on('click', dismiss, this.close)\n      }\n\n  Alert.prototype = {\n\n    constructor: Alert\n\n  , close: function ( e ) {\n      var $this = $(this)\n        , selector = $this.attr('data-target')\n        , $parent\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      $parent = $(selector)\n      $parent.trigger('close')\n\n      e && e.preventDefault()\n\n      $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())\n\n      $parent.removeClass('in')\n\n      function removeElement() {\n        $parent.remove()\n        $parent.trigger('closed')\n      }\n\n      $.support.transition && $parent.hasClass('fade') ?\n        $parent.on($.support.transition.end, removeElement) :\n        removeElement()\n    }\n\n  }\n\n\n /* ALERT PLUGIN DEFINITION\n  * ======================= */\n\n  $.fn.alert = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('alert')\n      if (!data) $this.data('alert', (data = new Alert(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  $.fn.alert.Constructor = Alert\n\n\n /* ALERT DATA-API\n  * ============== */\n\n  $(function () {\n    $('body').on('click.alert.data-api', dismiss, Alert.prototype.close)\n  })\n\n}( window.jQuery )\n/* ============================================================\n * bootstrap-button.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#buttons\n * ============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n!function( $ ){\n\n  \"use strict\"\n\n /* BUTTON PUBLIC CLASS DEFINITION\n  * ============================== */\n\n  var Button = function ( element, options ) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.button.defaults, options)\n  }\n\n  Button.prototype = {\n\n      constructor: Button\n\n    , setState: function ( state ) {\n        var d = 'disabled'\n          , $el = this.$element\n          , data = $el.data()\n          , val = $el.is('input') ? 'val' : 'html'\n\n        state = state + 'Text'\n        data.resetText || $el.data('resetText', $el[val]())\n\n        $el[val](data[state] || this.options[state])\n\n        // push to event loop to allow forms to submit\n        setTimeout(function () {\n          state == 'loadingText' ?\n            $el.addClass(d).attr(d, d) :\n            $el.removeClass(d).removeAttr(d)\n        }, 0)\n      }\n\n    , toggle: function () {\n        var $parent = this.$element.parent('[data-toggle=\"buttons-radio\"]')\n\n        $parent && $parent\n          .find('.active')\n          .removeClass('active')\n\n        this.$element.toggleClass('active')\n      }\n\n  }\n\n\n /* BUTTON PLUGIN DEFINITION\n  * ======================== */\n\n  $.fn.button = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('button')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('button', (data = new Button(this, options)))\n      if (option == 'toggle') data.toggle()\n      else if (option) data.setState(option)\n    })\n  }\n\n  $.fn.button.defaults = {\n    loadingText: 'loading...'\n  }\n\n  $.fn.button.Constructor = Button\n\n\n /* BUTTON DATA-API\n  * =============== */\n\n  $(function () {\n    $('body').on('click.button.data-api', '[data-toggle^=button]', function ( e ) {\n      $(e.target).button('toggle')\n    })\n  })\n\n}( window.jQuery )\n/* ==========================================================\n * bootstrap-carousel.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#carousel\n * ==========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* CAROUSEL CLASS DEFINITION\n  * ========================= */\n\n  var Carousel = function (element, options) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.carousel.defaults, options)\n    this.options.slide && this.slide(this.options.slide)\n  }\n\n  Carousel.prototype = {\n\n    cycle: function () {\n      this.interval = setInterval($.proxy(this.next, this), this.options.interval)\n      return this\n    }\n\n  , to: function (pos) {\n      var $active = this.$element.find('.active')\n        , children = $active.parent().children()\n        , activePos = children.index($active)\n        , that = this\n\n      if (pos > (children.length - 1) || pos < 0) return\n\n      if (this.sliding) {\n        return this.$element.one('slid', function () {\n          that.to(pos)\n        })\n      }\n\n      if (activePos == pos) {\n        return this.pause().cycle()\n      }\n\n      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))\n    }\n\n  , pause: function () {\n      clearInterval(this.interval)\n      return this\n    }\n\n  , next: function () {\n      if (this.sliding) return\n      return this.slide('next')\n    }\n\n  , prev: function () {\n      if (this.sliding) return\n      return this.slide('prev')\n    }\n\n  , slide: function (type, next) {\n      var $active = this.$element.find('.active')\n        , $next = next || $active[type]()\n        , isCycling = this.interval\n        , direction = type == 'next' ? 'left' : 'right'\n        , fallback  = type == 'next' ? 'first' : 'last'\n        , that = this\n\n      this.sliding = true\n\n      isCycling && this.pause()\n\n      $next = $next.length ? $next : this.$element.find('.item')[fallback]()\n\n      if (!$.support.transition && this.$element.hasClass('slide')) {\n        this.$element.trigger('slide')\n        $active.removeClass('active')\n        $next.addClass('active')\n        this.sliding = false\n        this.$element.trigger('slid')\n      } else {\n        $next.addClass(type)\n        $next[0].offsetWidth // force reflow\n        $active.addClass(direction)\n        $next.addClass(direction)\n        this.$element.trigger('slide')\n        this.$element.one($.support.transition.end, function () {\n          $next.removeClass([type, direction].join(' ')).addClass('active')\n          $active.removeClass(['active', direction].join(' '))\n          that.sliding = false\n          setTimeout(function () { that.$element.trigger('slid') }, 0)\n        })\n      }\n\n      isCycling && this.cycle()\n\n      return this\n    }\n\n  }\n\n\n /* CAROUSEL PLUGIN DEFINITION\n  * ========================== */\n\n  $.fn.carousel = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('carousel')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('carousel', (data = new Carousel(this, options)))\n      if (typeof option == 'number') data.to(option)\n      else if (typeof option == 'string' || (option = options.slide)) data[option]()\n      else data.cycle()\n    })\n  }\n\n  $.fn.carousel.defaults = {\n    interval: 5000\n  }\n\n  $.fn.carousel.Constructor = Carousel\n\n\n /* CAROUSEL DATA-API\n  * ================= */\n\n  $(function () {\n    $('body').on('click.carousel.data-api', '[data-slide]', function ( e ) {\n      var $this = $(this), href\n        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n        , options = !$target.data('modal') && $.extend({}, $target.data(), $this.data())\n      $target.carousel(options)\n      e.preventDefault()\n    })\n  })\n\n}( window.jQuery )\n/* =============================================================\n * bootstrap-collapse.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#collapse\n * =============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n!function( $ ){\n\n  \"use strict\"\n\n  var Collapse = function ( element, options ) {\n  \tthis.$element = $(element)\n    this.options = $.extend({}, $.fn.collapse.defaults, options)\n\n    if (this.options[\"parent\"]) {\n      this.$parent = $(this.options[\"parent\"])\n    }\n\n    this.options.toggle && this.toggle()\n  }\n\n  Collapse.prototype = {\n\n    constructor: Collapse\n\n  , dimension: function () {\n      var hasWidth = this.$element.hasClass('width')\n      return hasWidth ? 'width' : 'height'\n    }\n\n  , show: function () {\n      var dimension = this.dimension()\n        , scroll = $.camelCase(['scroll', dimension].join('-'))\n        , actives = this.$parent && this.$parent.find('.in')\n        , hasData\n\n      if (actives && actives.length) {\n        hasData = actives.data('collapse')\n        actives.collapse('hide')\n        hasData || actives.data('collapse', null)\n      }\n\n      this.$element[dimension](0)\n      this.transition('addClass', 'show', 'shown')\n      this.$element[dimension](this.$element[0][scroll])\n\n    }\n\n  , hide: function () {\n      var dimension = this.dimension()\n      this.reset(this.$element[dimension]())\n      this.transition('removeClass', 'hide', 'hidden')\n      this.$element[dimension](0)\n    }\n\n  , reset: function ( size ) {\n      var dimension = this.dimension()\n\n      this.$element\n        .removeClass('collapse')\n        [dimension](size || 'auto')\n        [0].offsetWidth\n\n      this.$element.addClass('collapse')\n    }\n\n  , transition: function ( method, startEvent, completeEvent ) {\n      var that = this\n        , complete = function () {\n            if (startEvent == 'show') that.reset()\n            that.$element.trigger(completeEvent)\n          }\n\n      this.$element\n        .trigger(startEvent)\n        [method]('in')\n\n      $.support.transition && this.$element.hasClass('collapse') ?\n        this.$element.one($.support.transition.end, complete) :\n        complete()\n  \t}\n\n  , toggle: function () {\n      this[this.$element.hasClass('in') ? 'hide' : 'show']()\n  \t}\n\n  }\n\n  /* COLLAPSIBLE PLUGIN DEFINITION\n  * ============================== */\n\n  $.fn.collapse = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('collapse')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('collapse', (data = new Collapse(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.collapse.defaults = {\n    toggle: true\n  }\n\n  $.fn.collapse.Constructor = Collapse\n\n\n /* COLLAPSIBLE DATA-API\n  * ==================== */\n\n  $(function () {\n    $('body').on('click.collapse.data-api', '[data-toggle=collapse]', function ( e ) {\n      var $this = $(this), href\n        , target = $this.attr('data-target')\n          || e.preventDefault()\n          || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '') //strip for ie7\n        , option = $(target).data('collapse') ? 'toggle' : $this.data()\n      $(target).collapse(option)\n    })\n  })\n\n}( window.jQuery )\n/* ============================================================\n * bootstrap-dropdown.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#dropdowns\n * ============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* DROPDOWN CLASS DEFINITION\n  * ========================= */\n\n  var toggle = '[data-toggle=\"dropdown\"]'\n    , Dropdown = function ( element ) {\n        var $el = $(element).on('click.dropdown.data-api', this.toggle)\n        $('html').on('click.dropdown.data-api', function () {\n          $el.parent().removeClass('open')\n        })\n      }\n\n  Dropdown.prototype = {\n\n    constructor: Dropdown\n\n  , toggle: function ( e ) {\n      var $this = $(this)\n        , selector = $this.attr('data-target')\n        , $parent\n        , isActive\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      $parent = $(selector)\n      $parent.length || ($parent = $this.parent())\n\n      isActive = $parent.hasClass('open')\n\n      clearMenus()\n      !isActive && $parent.toggleClass('open')\n\n      return false\n    }\n\n  }\n\n  function clearMenus() {\n    $(toggle).parent().removeClass('open')\n  }\n\n\n  /* DROPDOWN PLUGIN DEFINITION\n   * ========================== */\n\n  $.fn.dropdown = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('dropdown')\n      if (!data) $this.data('dropdown', (data = new Dropdown(this)))\n      if (typeof option == 'string') data[option].call($this)\n    })\n  }\n\n  $.fn.dropdown.Constructor = Dropdown\n\n\n  /* APPLY TO STANDARD DROPDOWN ELEMENTS\n   * =================================== */\n\n  $(function () {\n    $('html').on('click.dropdown.data-api', clearMenus)\n    $('body').on('click.dropdown.data-api', toggle, Dropdown.prototype.toggle)\n  })\n\n}( window.jQuery )\n/* =========================================================\n * bootstrap-modal.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#modals\n * =========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================= */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* MODAL CLASS DEFINITION\n  * ====================== */\n\n  var Modal = function ( content, options ) {\n    this.options = $.extend({}, $.fn.modal.defaults, options)\n    this.$element = $(content)\n      .delegate('[data-dismiss=\"modal\"]', 'click.dismiss.modal', $.proxy(this.hide, this))\n  }\n\n  Modal.prototype = {\n\n      constructor: Modal\n\n    , toggle: function () {\n        return this[!this.isShown ? 'show' : 'hide']()\n      }\n\n    , show: function () {\n        var that = this\n\n        if (this.isShown) return\n\n        $('body').addClass('modal-open')\n\n        this.isShown = true\n        this.$element.trigger('show')\n\n        escape.call(this)\n        backdrop.call(this, function () {\n          var transition = $.support.transition && that.$element.hasClass('fade')\n\n          !that.$element.parent().length && that.$element.appendTo(document.body) //don't move modals dom position\n\n          that.$element\n            .show()\n\n          if (transition) {\n            that.$element[0].offsetWidth // force reflow\n          }\n\n          that.$element.addClass('in')\n\n          transition ?\n            that.$element.one($.support.transition.end, function () { that.$element.trigger('shown') }) :\n            that.$element.trigger('shown')\n\n        })\n      }\n\n    , hide: function ( e ) {\n        e && e.preventDefault()\n\n        if (!this.isShown) return\n\n        var that = this\n        this.isShown = false\n\n        $('body').removeClass('modal-open')\n\n        escape.call(this)\n\n        this.$element\n          .trigger('hide')\n          .removeClass('in')\n\n        $.support.transition && this.$element.hasClass('fade') ?\n          hideWithTransition.call(this) :\n          hideModal.call(this)\n      }\n\n  }\n\n\n /* MODAL PRIVATE METHODS\n  * ===================== */\n\n  function hideWithTransition() {\n    var that = this\n      , timeout = setTimeout(function () {\n          that.$element.off($.support.transition.end)\n          hideModal.call(that)\n        }, 500)\n\n    this.$element.one($.support.transition.end, function () {\n      clearTimeout(timeout)\n      hideModal.call(that)\n    })\n  }\n\n  function hideModal( that ) {\n    this.$element\n      .hide()\n      .trigger('hidden')\n\n    backdrop.call(this)\n  }\n\n  function backdrop( callback ) {\n    var that = this\n      , animate = this.$element.hasClass('fade') ? 'fade' : ''\n\n    if (this.isShown && this.options.backdrop) {\n      var doAnimate = $.support.transition && animate\n\n      this.$backdrop = $('<div class=\"modal-backdrop ' + animate + '\" />')\n        .appendTo(document.body)\n\n      if (this.options.backdrop != 'static') {\n        this.$backdrop.click($.proxy(this.hide, this))\n      }\n\n      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow\n\n      this.$backdrop.addClass('in')\n\n      doAnimate ?\n        this.$backdrop.one($.support.transition.end, callback) :\n        callback()\n\n    } else if (!this.isShown && this.$backdrop) {\n      this.$backdrop.removeClass('in')\n\n      $.support.transition && this.$element.hasClass('fade')?\n        this.$backdrop.one($.support.transition.end, $.proxy(removeBackdrop, this)) :\n        removeBackdrop.call(this)\n\n    } else if (callback) {\n      callback()\n    }\n  }\n\n  function removeBackdrop() {\n    this.$backdrop.remove()\n    this.$backdrop = null\n  }\n\n  function escape() {\n    var that = this\n    if (this.isShown && this.options.keyboard) {\n      $(document).on('keyup.dismiss.modal', function ( e ) {\n        e.which == 27 && that.hide()\n      })\n    } else if (!this.isShown) {\n      $(document).off('keyup.dismiss.modal')\n    }\n  }\n\n\n /* MODAL PLUGIN DEFINITION\n  * ======================= */\n\n  $.fn.modal = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('modal')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('modal', (data = new Modal(this, options)))\n      if (typeof option == 'string') data[option]()\n      else data.show()\n    })\n  }\n\n  $.fn.modal.defaults = {\n      backdrop: true\n    , keyboard: true\n  }\n\n  $.fn.modal.Constructor = Modal\n\n\n /* MODAL DATA-API\n  * ============== */\n\n  $(function () {\n    $('body').on('click.modal.data-api', '[data-toggle=\"modal\"]', function ( e ) {\n      var $this = $(this), href\n        , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n        , option = $target.data('modal') ? 'toggle' : $.extend({}, $target.data(), $this.data())\n\n      e.preventDefault()\n      $target.modal(option)\n    })\n  })\n\n}( window.jQuery )\n/* ===========================================================\n * bootstrap-tooltip.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#tooltips\n * Inspired by the original jQuery.tipsy by Jason Frame\n * ===========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ========================================================== */\n\n!function( $ ) {\n\n  \"use strict\"\n\n /* TOOLTIP PUBLIC CLASS DEFINITION\n  * =============================== */\n\n  var Tooltip = function ( element, options ) {\n    this.init('tooltip', element, options)\n  }\n\n  Tooltip.prototype = {\n\n    constructor: Tooltip\n\n  , init: function ( type, element, options ) {\n      var eventIn\n        , eventOut\n\n      this.type = type\n      this.$element = $(element)\n      this.options = this.getOptions(options)\n      this.enabled = true\n\n      if (this.options.trigger != 'manual') {\n        eventIn  = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'\n        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'\n        this.$element.on(eventIn, this.options.selector, $.proxy(this.enter, this))\n        this.$element.on(eventOut, this.options.selector, $.proxy(this.leave, this))\n      }\n\n      this.options.selector ?\n        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :\n        this.fixTitle()\n    }\n\n  , getOptions: function ( options ) {\n      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())\n\n      if (options.delay && typeof options.delay == 'number') {\n        options.delay = {\n          show: options.delay\n        , hide: options.delay\n        }\n      }\n\n      return options\n    }\n\n  , enter: function ( e ) {\n      var self = $(e.currentTarget)[this.type](this._options).data(this.type)\n\n      if (!self.options.delay || !self.options.delay.show) {\n        self.show()\n      } else {\n        self.hoverState = 'in'\n        setTimeout(function() {\n          if (self.hoverState == 'in') {\n            self.show()\n          }\n        }, self.options.delay.show)\n      }\n    }\n\n  , leave: function ( e ) {\n      var self = $(e.currentTarget)[this.type](this._options).data(this.type)\n\n      if (!self.options.delay || !self.options.delay.hide) {\n        self.hide()\n      } else {\n        self.hoverState = 'out'\n        setTimeout(function() {\n          if (self.hoverState == 'out') {\n            self.hide()\n          }\n        }, self.options.delay.hide)\n      }\n    }\n\n  , show: function () {\n      var $tip\n        , inside\n        , pos\n        , actualWidth\n        , actualHeight\n        , placement\n        , tp\n\n      if (this.hasContent() && this.enabled) {\n        $tip = this.tip()\n        this.setContent()\n\n        if (this.options.animation) {\n          $tip.addClass('fade')\n        }\n\n        placement = typeof this.options.placement == 'function' ?\n          this.options.placement.call(this, $tip[0], this.$element[0]) :\n          this.options.placement\n\n        inside = /in/.test(placement)\n\n        $tip\n          .remove()\n          .css({ top: 0, left: 0, display: 'block' })\n          .appendTo(inside ? this.$element : document.body)\n\n        pos = this.getPosition(inside)\n\n        actualWidth = $tip[0].offsetWidth\n        actualHeight = $tip[0].offsetHeight\n\n        switch (inside ? placement.split(' ')[1] : placement) {\n          case 'bottom':\n            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}\n            break\n          case 'top':\n            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}\n            break\n          case 'left':\n            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}\n            break\n          case 'right':\n            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}\n            break\n        }\n\n        $tip\n          .css(tp)\n          .addClass(placement)\n          .addClass('in')\n      }\n    }\n\n  , setContent: function () {\n      var $tip = this.tip()\n      $tip.find('.tooltip-inner').html(this.getTitle())\n      $tip.removeClass('fade in top bottom left right')\n    }\n\n  , hide: function () {\n      var that = this\n        , $tip = this.tip()\n\n      $tip.removeClass('in')\n\n      function removeWithAnimation() {\n        var timeout = setTimeout(function () {\n          $tip.off($.support.transition.end).remove()\n        }, 500)\n\n        $tip.one($.support.transition.end, function () {\n          clearTimeout(timeout)\n          $tip.remove()\n        })\n      }\n\n      $.support.transition && this.$tip.hasClass('fade') ?\n        removeWithAnimation() :\n        $tip.remove()\n    }\n\n  , fixTitle: function () {\n      var $e = this.$element\n      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {\n        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')\n      }\n    }\n\n  , hasContent: function () {\n      return this.getTitle()\n    }\n\n  , getPosition: function (inside) {\n      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {\n        width: this.$element[0].offsetWidth\n      , height: this.$element[0].offsetHeight\n      })\n    }\n\n  , getTitle: function () {\n      var title\n        , $e = this.$element\n        , o = this.options\n\n      title = $e.attr('data-original-title')\n        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)\n\n      title = title.toString().replace(/(^\\s*|\\s*$)/, \"\")\n\n      return title\n    }\n\n  , tip: function () {\n      return this.$tip = this.$tip || $(this.options.template)\n    }\n\n  , validate: function () {\n      if (!this.$element[0].parentNode) {\n        this.hide()\n        this.$element = null\n        this.options = null\n      }\n    }\n\n  , enable: function () {\n      this.enabled = true\n    }\n\n  , disable: function () {\n      this.enabled = false\n    }\n\n  , toggleEnabled: function () {\n      this.enabled = !this.enabled\n    }\n\n  , toggle: function () {\n      this[this.tip().hasClass('in') ? 'hide' : 'show']()\n    }\n\n  }\n\n\n /* TOOLTIP PLUGIN DEFINITION\n  * ========================= */\n\n  $.fn.tooltip = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('tooltip')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.tooltip.Constructor = Tooltip\n\n  $.fn.tooltip.defaults = {\n    animation: true\n  , delay: 0\n  , selector: false\n  , placement: 'top'\n  , trigger: 'hover'\n  , title: ''\n  , template: '<div class=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>'\n  }\n\n}( window.jQuery )\n/* ===========================================================\n * bootstrap-popover.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#popovers\n * ===========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * =========================================================== */\n\n\n!function( $ ) {\n\n \"use strict\"\n\n  var Popover = function ( element, options ) {\n    this.init('popover', element, options)\n  }\n\n  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js\n     ========================================== */\n\n  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {\n\n    constructor: Popover\n\n  , setContent: function () {\n      var $tip = this.tip()\n        , title = this.getTitle()\n        , content = this.getContent()\n\n      $tip.find('.popover-title')[ $.type(title) == 'object' ? 'append' : 'html' ](title)\n      $tip.find('.popover-content > *')[ $.type(content) == 'object' ? 'append' : 'html' ](content)\n\n      $tip.removeClass('fade top bottom left right in')\n    }\n\n  , hasContent: function () {\n      return this.getTitle() || this.getContent()\n    }\n\n  , getContent: function () {\n      var content\n        , $e = this.$element\n        , o = this.options\n\n      content = $e.attr('data-content')\n        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)\n\n      content = content.toString().replace(/(^\\s*|\\s*$)/, \"\")\n\n      return content\n    }\n\n  , tip: function() {\n      if (!this.$tip) {\n        this.$tip = $(this.options.template)\n      }\n      return this.$tip\n    }\n\n  })\n\n\n /* POPOVER PLUGIN DEFINITION\n  * ======================= */\n\n  $.fn.popover = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('popover')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('popover', (data = new Popover(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.popover.Constructor = Popover\n\n  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {\n    placement: 'right'\n  , content: ''\n  , template: '<div class=\"popover\"><div class=\"arrow\"></div><div class=\"popover-inner\"><h3 class=\"popover-title\"></h3><div class=\"popover-content\"><p></p></div></div></div>'\n  })\n\n}( window.jQuery )\n/* =============================================================\n * bootstrap-scrollspy.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#scrollspy\n * =============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================== */\n\n!function ( $ ) {\n\n  \"use strict\"\n\n  /* SCROLLSPY CLASS DEFINITION\n   * ========================== */\n\n  function ScrollSpy( element, options) {\n    var process = $.proxy(this.process, this)\n      , $element = $(element).is('body') ? $(window) : $(element)\n      , href\n    this.options = $.extend({}, $.fn.scrollspy.defaults, options)\n    this.$scrollElement = $element.on('scroll.scroll.data-api', process)\n    this.selector = (this.options.target\n      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\\s]+$)/, '')) //strip for ie7\n      || '') + ' .nav li > a'\n    this.$body = $('body').on('click.scroll.data-api', this.selector, process)\n    this.refresh()\n    this.process()\n  }\n\n  ScrollSpy.prototype = {\n\n      constructor: ScrollSpy\n\n    , refresh: function () {\n        this.targets = this.$body\n          .find(this.selector)\n          .map(function () {\n            var href = $(this).attr('href')\n            return /^#\\w/.test(href) && $(href).length ? href : null\n          })\n\n        this.offsets = $.map(this.targets, function (id) {\n          return $(id).position().top\n        })\n      }\n\n    , process: function () {\n        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset\n          , offsets = this.offsets\n          , targets = this.targets\n          , activeTarget = this.activeTarget\n          , i\n\n        for (i = offsets.length; i--;) {\n          activeTarget != targets[i]\n            && scrollTop >= offsets[i]\n            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])\n            && this.activate( targets[i] )\n        }\n      }\n\n    , activate: function (target) {\n        var active\n\n        this.activeTarget = target\n\n        this.$body\n          .find(this.selector).parent('.active')\n          .removeClass('active')\n\n        active = this.$body\n          .find(this.selector + '[href=\"' + target + '\"]')\n          .parent('li')\n          .addClass('active')\n\n        if ( active.parent('.dropdown-menu') )  {\n          active.closest('li.dropdown').addClass('active')\n        }\n      }\n\n  }\n\n\n /* SCROLLSPY PLUGIN DEFINITION\n  * =========================== */\n\n  $.fn.scrollspy = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('scrollspy')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.scrollspy.Constructor = ScrollSpy\n\n  $.fn.scrollspy.defaults = {\n    offset: 10\n  }\n\n\n /* SCROLLSPY DATA-API\n  * ================== */\n\n  $(function () {\n    $('[data-spy=\"scroll\"]').each(function () {\n      var $spy = $(this)\n      $spy.scrollspy($spy.data())\n    })\n  })\n\n}( window.jQuery )\n/* ========================================================\n * bootstrap-tab.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#tabs\n * ========================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ======================================================== */\n\n\n!function( $ ){\n\n  \"use strict\"\n\n /* TAB CLASS DEFINITION\n  * ==================== */\n\n  var Tab = function ( element ) {\n    this.element = $(element)\n  }\n\n  Tab.prototype = {\n\n    constructor: Tab\n\n  , show: function () {\n      var $this = this.element\n        , $ul = $this.closest('ul:not(.dropdown-menu)')\n        , selector = $this.attr('data-target')\n        , previous\n        , $target\n\n      if (!selector) {\n        selector = $this.attr('href')\n        selector = selector && selector.replace(/.*(?=#[^\\s]*$)/, '') //strip for ie7\n      }\n\n      if ( $this.parent('li').hasClass('active') ) return\n\n      previous = $ul.find('.active a').last()[0]\n\n      $this.trigger({\n        type: 'show'\n      , relatedTarget: previous\n      })\n\n      $target = $(selector)\n\n      this.activate($this.parent('li'), $ul)\n      this.activate($target, $target.parent(), function () {\n        $this.trigger({\n          type: 'shown'\n        , relatedTarget: previous\n        })\n      })\n    }\n\n  , activate: function ( element, container, callback) {\n      var $active = container.find('> .active')\n        , transition = callback\n            && $.support.transition\n            && $active.hasClass('fade')\n\n      function next() {\n        $active\n          .removeClass('active')\n          .find('> .dropdown-menu > .active')\n          .removeClass('active')\n\n        element.addClass('active')\n\n        if (transition) {\n          element[0].offsetWidth // reflow for transition\n          element.addClass('in')\n        } else {\n          element.removeClass('fade')\n        }\n\n        if ( element.parent('.dropdown-menu') ) {\n          element.closest('li.dropdown').addClass('active')\n        }\n\n        callback && callback()\n      }\n\n      transition ?\n        $active.one($.support.transition.end, next) :\n        next()\n\n      $active.removeClass('in')\n    }\n  }\n\n\n /* TAB PLUGIN DEFINITION\n  * ===================== */\n\n  $.fn.tab = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('tab')\n      if (!data) $this.data('tab', (data = new Tab(this)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.tab.Constructor = Tab\n\n\n /* TAB DATA-API\n  * ============ */\n\n  $(function () {\n    $('body').on('click.tab.data-api', '[data-toggle=\"tab\"], [data-toggle=\"pill\"]', function (e) {\n      e.preventDefault()\n      $(this).tab('show')\n    })\n  })\n\n}( window.jQuery )\n/* =============================================================\n * bootstrap-typeahead.js v2.0.0\n * http://twitter.github.com/bootstrap/javascript.html#typeahead\n * =============================================================\n * Copyright 2012 Twitter, Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n * ============================================================ */\n\n!function( $ ){\n\n  \"use strict\"\n\n  var Typeahead = function ( element, options ) {\n    this.$element = $(element)\n    this.options = $.extend({}, $.fn.typeahead.defaults, options)\n    this.matcher = this.options.matcher || this.matcher\n    this.sorter = this.options.sorter || this.sorter\n    this.highlighter = this.options.highlighter || this.highlighter\n    this.$menu = $(this.options.menu).appendTo('body')\n    this.source = this.options.source\n    this.shown = false\n    this.listen()\n  }\n\n  Typeahead.prototype = {\n\n    constructor: Typeahead\n\n  , select: function () {\n      var val = this.$menu.find('.active').attr('data-value')\n      this.$element.val(val)\n      return this.hide()\n    }\n\n  , show: function () {\n      var pos = $.extend({}, this.$element.offset(), {\n        height: this.$element[0].offsetHeight\n      })\n\n      this.$menu.css({\n        top: pos.top + pos.height\n      , left: pos.left\n      })\n\n      this.$menu.show()\n      this.shown = true\n      return this\n    }\n\n  , hide: function () {\n      this.$menu.hide()\n      this.shown = false\n      return this\n    }\n\n  , lookup: function (event) {\n      var that = this\n        , items\n        , q\n\n      this.query = this.$element.val()\n\n      if (!this.query) {\n        return this.shown ? this.hide() : this\n      }\n\n      items = $.grep(this.source, function (item) {\n        if (that.matcher(item)) return item\n      })\n\n      items = this.sorter(items)\n\n      if (!items.length) {\n        return this.shown ? this.hide() : this\n      }\n\n      return this.render(items.slice(0, this.options.items)).show()\n    }\n\n  , matcher: function (item) {\n      return ~item.toLowerCase().indexOf(this.query.toLowerCase())\n    }\n\n  , sorter: function (items) {\n      var beginswith = []\n        , caseSensitive = []\n        , caseInsensitive = []\n        , item\n\n      while (item = items.shift()) {\n        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)\n        else if (~item.indexOf(this.query)) caseSensitive.push(item)\n        else caseInsensitive.push(item)\n      }\n\n      return beginswith.concat(caseSensitive, caseInsensitive)\n    }\n\n  , highlighter: function (item) {\n      return item.replace(new RegExp('(' + this.query + ')', 'ig'), function ($1, match) {\n        return '<strong>' + match + '</strong>'\n      })\n    }\n\n  , render: function (items) {\n      var that = this\n\n      items = $(items).map(function (i, item) {\n        i = $(that.options.item).attr('data-value', item)\n        i.find('a').html(that.highlighter(item))\n        return i[0]\n      })\n\n      items.first().addClass('active')\n      this.$menu.html(items)\n      return this\n    }\n\n  , next: function (event) {\n      var active = this.$menu.find('.active').removeClass('active')\n        , next = active.next()\n\n      if (!next.length) {\n        next = $(this.$menu.find('li')[0])\n      }\n\n      next.addClass('active')\n    }\n\n  , prev: function (event) {\n      var active = this.$menu.find('.active').removeClass('active')\n        , prev = active.prev()\n\n      if (!prev.length) {\n        prev = this.$menu.find('li').last()\n      }\n\n      prev.addClass('active')\n    }\n\n  , listen: function () {\n      this.$element\n        .on('blur',     $.proxy(this.blur, this))\n        .on('keypress', $.proxy(this.keypress, this))\n        .on('keyup',    $.proxy(this.keyup, this))\n\n      if ($.browser.webkit || $.browser.msie) {\n        this.$element.on('keydown', $.proxy(this.keypress, this))\n      }\n\n      this.$menu\n        .on('click', $.proxy(this.click, this))\n        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))\n    }\n\n  , keyup: function (e) {\n      e.stopPropagation()\n      e.preventDefault()\n\n      switch(e.keyCode) {\n        case 40: // down arrow\n        case 38: // up arrow\n          break\n\n        case 9: // tab\n        case 13: // enter\n          if (!this.shown) return\n          this.select()\n          break\n\n        case 27: // escape\n          this.hide()\n          break\n\n        default:\n          this.lookup()\n      }\n\n  }\n\n  , keypress: function (e) {\n      e.stopPropagation()\n      if (!this.shown) return\n\n      switch(e.keyCode) {\n        case 9: // tab\n        case 13: // enter\n        case 27: // escape\n          e.preventDefault()\n          break\n\n        case 38: // up arrow\n          e.preventDefault()\n          this.prev()\n          break\n\n        case 40: // down arrow\n          e.preventDefault()\n          this.next()\n          break\n      }\n    }\n\n  , blur: function (e) {\n      var that = this\n      e.stopPropagation()\n      e.preventDefault()\n      setTimeout(function () { that.hide() }, 150)\n    }\n\n  , click: function (e) {\n      e.stopPropagation()\n      e.preventDefault()\n      this.select()\n    }\n\n  , mouseenter: function (e) {\n      this.$menu.find('.active').removeClass('active')\n      $(e.currentTarget).addClass('active')\n    }\n\n  }\n\n\n  /* TYPEAHEAD PLUGIN DEFINITION\n   * =========================== */\n\n  $.fn.typeahead = function ( option ) {\n    return this.each(function () {\n      var $this = $(this)\n        , data = $this.data('typeahead')\n        , options = typeof option == 'object' && option\n      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))\n      if (typeof option == 'string') data[option]()\n    })\n  }\n\n  $.fn.typeahead.defaults = {\n    source: []\n  , items: 8\n  , menu: '<ul class=\"typeahead dropdown-menu\"></ul>'\n  , item: '<li><a href=\"#\"></a></li>'\n  }\n\n  $.fn.typeahead.Constructor = Typeahead\n\n\n /* TYPEAHEAD DATA-API\n  * ================== */\n\n  $(function () {\n    $('body').on('focus.typeahead.data-api', '[data-provide=\"typeahead\"]', function (e) {\n      var $this = $(this)\n      if ($this.data('typeahead')) return\n      e.preventDefault()\n      $this.typeahead($this.data())\n    })\n  })\n\n}( window.jQuery )\n"
  },
  {
    "path": "docs/js/jqplot/MIT-LICENSE.txt",
    "content": "Title: MIT License\n\nCopyright (c) 2009-2013 Chris Leonello\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE."
  },
  {
    "path": "docs/js/jqplot/README.txt",
    "content": "Title: jqPlot Readme\n\nPure JavaScript plotting plugin for jQuery.\n\nTo learn how to use jqPlot, start with the Basic Usage Instructions below.  Then read the\nusage.txt and jqPlotOptions.txt files included with the distribution.\n\nThe jqPlot home page is at <http://www.jqplot.com/>.\n\nDownloads can be found at <http://bitbucket.org/cleonello/jqplot/downloads/>.\n\nThe mailing list is at <http://groups.google.com/group/jqplot-users>.\n\nExamples and unit tests are at <http://www.jqplot.com/tests/>.\n\nDocumentation is at <http://www.jqplot.com/docs/>.\n\nThe project page and source code are at <http://www.bitbucket.org/cleonello/jqplot/>.\n\nBugs, issues, feature requests: <http://www.bitbucket.org/cleonello/jqplot/issues/>.\n\nBasic Usage Instructions:\n\njqPlot requires jQuery (1.4+ required for certain features). jQuery 1.9.1 is included in \nthe distribution.  To use jqPlot include jQuery, the jqPlot jQuery plugin, the jqPlot css file and \noptionally the excanvas script to support IE version prior to IE 9 in your web page:\n\n> <!--[if lt IE 9]><script language=\"javascript\" type=\"text/javascript\" src=\"excanvas.js\"></script><![endif]-->\n> <script language=\"javascript\" type=\"text/javascript\" src=\"jquery-1.4.4.min.js\"></script>\n> <script language=\"javascript\" type=\"text/javascript\" src=\"jquery.jqplot.min.js\"></script>\n> <link rel=\"stylesheet\" type=\"text/css\" href=\"jquery.jqplot.css\" />\n\nFor usage instructions, see <jqPlot Usage> in usage.txt.  For available options, see\n<jqPlot Options> in jqPlotOptions.txt.\n\nBuilding from source:\n\nIf you've cloned the repository, you can build a distribution from source.\nYou need to have ant <http://ant.apache.org> installed.  You can simply \ntype \"ant\" from the jqplot directory to build the default \"all\" target.  \nThere are 6 pertinent targets: clean, dist, min, docs, compress and all.  Use:\n\n> ant -p\n\nto get a description of the various build targets. \n\nLegal Notices:\n\nCopyright (c) 2009-2013 Chris Leonello\njqPlot is currently available for use in all personal or commercial projects \nunder both the MIT and GPL version 2.0 licenses. This means that you can \nchoose the license that best suits your project and use it accordingly. \n\nAlthough not required, the author would appreciate an email letting him \nknow of any substantial use of jqPlot.  You can reach the author at: \nchris at jqplot  or see http://www.jqplot.com/info.php .\n\nIf you are feeling kind and generous, consider supporting the project by\nmaking a donation at: http://www.jqplot.com/donate.php .\n\njqPlot includes date instance methods and printf/sprintf functions by other authors:\n\nDate instance methods:\n\n    author Ken Snyder (ken d snyder at gmail dot com)\n    date 2008-09-10\n    version 2.0.2 (http://kendsnyder.com/sandbox/date/)     \n    license Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)\n\nJavaScript printf/sprintf functions.\n\n    version 2007.04.27\n    author Ash Searle\n    http://hexmen.com/blog/2007/03/printf-sprintf/\n    http://hexmen.com/js/sprintf.js\n    The author (Ash Searle) has placed this code in the public domain:\n    \"This code is unrestricted: you are free to use it however you like.\"\n"
  },
  {
    "path": "docs/js/jqplot/changes.txt",
    "content": "Title: Change Log\n\n1.0.8:\n* Issue #375: sortMergedLabels does not sort string labels\n* Issue #279: Groups > 3 Causes Alignment Issues\n* Issue #439: IE can't display a customized legend in Quirks mode\n* Issue #482: \"Undefined\" error message when plotting a chart with no data\n* Issue #116: Don't mix spaces and tabs for indentation\n* Issue #564: Metergauge renderer not resizable when replotting\n* Issue #409: MeterGaugeRenderer replot/redraw offsets center\n* Issue #523: Adding rectangles to Canvas Overlay plugin\n* Issue #756: jqplot.min files contain non-UTF-8 characters\n* Issue #223: fillToZero does not color negative values when crossover point is 0\n* Pull Request #23: Adding rectangles to Canvas Overlay plugin\n* Pull Request #28: Cross-over points of 0 will actually change colors \n* Pull Request #35: Don't highlight hidden bars or show tooltips for them \n* Pull Request #41: Add dutch(nl) and svenska(sv) translations for dates\n* Add tooltip support for Pie Charts\n* Update to latest YUI compressor\n\n1.0.7:\n* Issue #726: Bug in sprintf %p, sometimes it outputs exponential form rather than decimal\n* Issue #717: Plot's preDrawHooks not called\n* Issue #707: Browser hangs with LogAxisRenderer when value is 0\n* Issue #695: Horizontal Bar Chart Negative Series Colors Not Working\n* Issue #670: Examples IE7, IE8 and IE9 multipleBarColors.html failure and fix\n* Issue #636: X Axis Date Renderer Single Day Not plotting\n* Issue #607: Integration issue\n* Issue #571: Decimal numbers not properly formatted\n* Issue #552: jqPlot crashes when interval too small\n* Issue #536: DateAxisRenderer invalid scaling\n* Issue #534: \"decimalMark\" in the \"jqplot.sprintf.js\"\n* Issue #529: Scientific notation on label values ending in 0\n* Issue #521: invalid JS in meterGaugeRenderer.js\n* Issue #516: Including BezierCurveRenderer plugin and initializing jqplot with no options give error\n* Issue #500: DateAxisRenderer has timezone related issues\n* Issue #452: Including ALL jqPlot plugins causes an Error\n* Issue #494: No point when use LogAxisRenderer and a point has a zero value\n* Issue #430: getIsoWeek: invalid method call\n* Issue #280: jqplot Options\n* Issue #179: Spelling/grammar\n* Pull Request #18: Implement getTop in CanvasAxisTickRenderer\n* Pull Request #21: Performance issue when drawing pointlabels with zeros/null values\n* Pull Request #24: Added suggested fix in comment #8 for issue #536\n* Pull Request #29: Removed unbalanced addition of UTC offset\n* Pull Request #33: Documentation fixes (issue #179, other changes)\n* Pull Request #34: Start of updating jqPlotOptions.txt\n* Pull Request #37: Example and suggested fix for issues #552 and issue #536\n* Pull Request #39: Fixed trailing comma which caused issues with IE7\n\n1.0.6:\n* Add left sidebar navigation to examples\n* Update examples for jquery 1.9.1 and jquery ui 1.10.0\n* Add colorpicker.js to distribution\n* Fix some problems with examples when viewing with local file system\n* Add \"minified\" copyright notice for minified files, similar to jquery's notice.\n* Pull Request #25: jqplot.sprintf.js is no longer the last file in the concatenated jquery.jqplot.js\n* Pull Request #17: Fixed bug causing custom pointLabels passed with plot data to be ignored for horizontal bar graphs.\n* Pull Request #10: Build error by invalid encoding.\n* Issue #714: handle tickColor in meterGaugeRenderer\n* Issue #519: jsDate Polish Localization\n\n1.0.5:\n* Updated to jQuery 1.9\n\n1.0.0b2:\n* Major improvements in memory usage:\n** Merged in changes from Timo Besenruether to reuse canvas elements and improve \n   memory performance.\n** Fixed all identifiable DOM leaks.\n** Mergged in changes from cguillot for memory improvements in IE < 9.\n* Added vertical and dashed vertical line support for canvas overlay.\n* Fixed bug where initially hidden plots would not display.\n* Fixed bug with point labels and null data points.\n* Updated to jQuery 1.6.1.\n* Improved pie slice margin calculation and fixed slice margin and pie positioning \n  with small slices.\n* Improved bar renderer so bars always start at 0 if:\n** The axis is a linear axis (not log/date).\n** There are no other line types besides bars attached to the axis.\n** The data on the axis is all >= 0.\n** The user has not specified a pad, padMin or forceTickAt0 = true option.\n* Modified tick prefix behavious so prefix no added to all ticks, even if format \n  string is specified.\n* Fix to ensure original tick formats are applied when zooming and resetting \n  zoom.\n* Updated auto tick format string so format adjusted when zooming.\n* Modified auto tick computation to put less ticks on small plots and more\n  ticks on large plots.\n* Update bubble render to support gradients in IE 9.\n\n1.0.0b1:\n* Much improved tick generation algorithm to get precise rounded \n  tick values (Thanks Scott Prahl!).\n* Auto compute tick format string if none is provided.\n* Much better \"slicing\" of pie charts when using \"sliceMargin\" option to set\n  a gap between the slices.\n* Expanded canvasOverlay plugin to create arbitrary dashed and solid \n  horizontal and vertical lines on top of plot.\n* Added defaultColors and defaultNegativeColors options to $.jqplot.config.\n* Fixed issue #318, highlighter & bar renderer incompatability.\n* Improve highlighter tooltip positioning with negative bars.\n* Fixed #305, mispelling of jqlotDragStart and jqlotDragStop.  MUST NOW BIND\n  TO jqplotDragStart and jqplotDragStop.\n* Fixed #290, some variables left in global scope.\n* Fixed #289, OHLC line widths hard coded at 1.5. Now set by lineWidth option.\n* Fixed #296 for determining databounds on log axes.\n* Updated to jQuery 1.5.1\n* Fixed waterfall plot to ensure first and last bars always fill to zero.\n* Added lineJoin and lineCap option to series lines.\n* Bar widths now based on width of grid, not plot target for better scaling.\n* Added looseZoom option to cursor so zooming can produce well rounded ticks.\n* Added forceTickAt0 and forceTickAt100 options to ensure there will always\n  be a tick at 0 or 100 in the plot.\n* Fixed bug where cursor legend didn't honor series showLabel option.\n\n\n1.0.0a:\n\n* Series can now be moved forward or backward in stack to e.g. bring a line\n  forward when mousing over a point.\n* Can now move outside of grid area while zooming.  Can have zoom\n  constrained to grid area or allow zooming outside.\n* Fixed issue #142 with tooltip drawn on top of event canvas, hiding\n  mouse events.\n* Fixed #147 where pie slices with 0 value not rendering properly in IE.\n* Fixed #130 where stack data not sorted properly.\n* Fixed bug with null values not handled properly in category axes.\n* Fixed #156 where pie charts not rendering on QTWebKit.\n* Now using feature detection for canvas and canvas text capability\n  rather than browser version.\n* Added enahncedLegendRenderer plugin to allow multi row/column legends\n  and clickable labels to show/hide series.\n* Added fillToValue option to allow filled line plot to fill to an\n  arbitrary value.\n* Added block plot plugin.\n* Added funnel type charts.\n* Added meter gauge type charts.\n* Added plot theming support.\n* $.jqplot.config.enablePlugins now false by default.\n* Implemented highlighting on bar, pie, donut, funnel, etc. charts.\n* Fix to pointlabels plugin to align labels properly on multi series plots.\n* Added custom error handling to display error message in plot area.\n* Fixed issue where would call to draw grid border of 0 width would\n  result in a default border being drawn.\n* Added options to place legend outside of grid and shrink grid so everything\n  stays within plot div.\n* Fixed bug in color generator so now calls to get() continually cycle\n  through colors just like next().\n* Added defaultAxisStart option.\n* Added gradient fills to bubbles.\n* Added bubble charts.\n* Added showLabels option to bubble charts.\n* Pass bubble radius to event callback in bubble charts.\n* Fixed #207, typo in docs.\n* Fixed #206 where \"value\" pie slice data labels were displaying wrong\n  value.\n* Fixed #147 with 0 value slices in IE6.\n* Fixed issue #241, disabled varyBarColor option in stacked charts.\n* Added dataRenderer option to allow custom processors for JSON, AJAX\n  and anywhere else you might want to get data.\n* Fixed null value handling so plot now properly skip or join over nulls.\n* Fixed showTicks and showTickMarks option conflicts.\n* Fixed issue #185 where pointLabels plugin incompatibility could crash\n  pie, donut and other plots.\n* Fixed #23 and #143 to obey gridPadding option.\n* Fixed #233 with highlighter tooltip separator.\n* Fixed #224 where type checking failing on GWT.\n* Fixed #272 with pie highlighting not working on replot.\n* Memory performance improvements.\n* Changes to build script so everything should build when pulled from repo.\n* Fixed issue #275, IE 6/7 don't support array indexing of strings.\n* Added event listener hooks for mouseUp, mouseDown, etc. to all line plots.\n* Fixed bug with highlighter not working when null in data.\n* Updated to jQuery 1.4.4\n* Fixed bug where donut plots showed value of radians of slice instead\n  of actual data.\n* Reverted to excanvas r3 so IE8 no longer has to emulate IE7.\n* Added tooltipContentEditor option to highlighter, allowing callback\n  to manipulate tooltip content at run time (thanks Tim Bunce!).\n* Fixed bug where axes scale not resetting.\n* Fixed bug with date axes where data bounds not properly set.\n* Fixed issue where tick marks disappear if grid lines turned off.\n* Updated replot method to allow passing in axes options for more control.\n* Added experimental support for \"broken\" axes.\n* Fixed bug with pies where pies with 0 valued slices did not draw correctly.\n* Added canvasOverlay plugin to allow drawing of arbitrary shapes on a canvas\n  over the plot.\n* Added option to display arbitrary text/html (message, animated gif, etc.) if\n  plot is constructed without data.  Allow a \"data loading\" indicator to be shown.\n* Added resetAxisValues method to manually update axis ticks without\n  redrawing the plot.\n* Fix to labels on negative bars so label postiion of 'n' will be below a negative bar,\n  just as it is above a positive bar (thanks guigod!).\n* Added thousands separator character (') to sprintf formatting (thanks yuichi1004!).\n* Re-factored date parsing/formatting to use new jsDate module which does not\n  extend the Date prototype.\n\n\n0.9.7:\n\n* Added Mekko chart plot type with enhanced legend and axes support.\n* Implemented vertical waterfall charts.  Can create waterfall plot as\n  option to bar chart.  See examples folder of distribution.\n* Enhanced plot labels for waterfall style.\n* Enhanced bar plots so you can now color each bar of a series \n  independently with the \"varyBarColor\" option.\n* Re-factored series drawing so that each series and series shadow drawn\n  on its own canvas.  Allows series to be redrawn independently of each other.\n* Added additional default series colors.\n* Added useNegativeColors option to turn off negative color array and use \n  only seriesColors array to define all bar/filled line colors.\n* Fix css for cursor legend.\n* Modified shape renderer so rectangles can be stroked and filled.\n* Re-factored date methods out of dateAxisRenderer so that date formatter \n  and methods can be accesses outside of dateAxisRenderer plugin.\n* Fixed #132, now trigger series change event on plot target instead of drag canvas.\n* Fixes issue #116 where some source files had mix of tabs and spaces \n  for indentation.  Should have been all spaces.\n* Fixed issue #126, some links broken in docs section of web site.\n* Fixed issue #90, trendline plugin incompatibility with pie renderer.\n* Updated samples in examples folder of distribution to include navigation \n  links if web server is set up to process .html files with php.\n\n\n0.9.6:\n\n* New, easier to use, replot() method for placing plots in tabs, accordions,\n  resizable containers or for changing plot parameters programmatically.\n* Updated legend renderer for pie charts to draw swatches which will\n  print correctly.\n* Fixed issue #118 with patch from taum so autoscale option will\n  honor tickInterval and numberTicks options\n* Fix to plot diameter calculation for initially hidden plots.\n* Added examples for making plots in jQuery UI tabs and accordions.\n* Fixed issue #120 where pie chart with single slice not displaying\n  correctly in IE and Chrome\n\n\n0.9.5.2:\n\n* Fixed #102 where double clicking on plot that has zoom enabled, but\n  has not been zoomed resulted in error.\n* Fixed bug where candlestick coloring options not working.\n* Added option to turn individual series labels off in the legend.\n\n\n0.9.5.1:\n\n* Fixed bug where tooltip not working with OHLC and candlestick charts.\n* Added additional marker styles: plus, X and dash.\n\n\n0.9.5:\n\n* Implemented \"zoomProxy\".  zoomProxy allows zooming one plot from another \n  such as an overview plot.\n* Zooming can now be constrained to just x or y axis.\n* Enhanced cursor plugin with vertical \"dataTracking\" line.  This is a line\n  at the cursor location with a readout of data points at the line location\n  which are displayed in the chart legend.\n* Changed cursor tooltip format string.  Now one format string is used for\n  entire tooltip.\n* Added mechanisms to specify plot size when plot target is hidden or plot\n  height/width otherwise cannot be determined from markup.\n* Added $.jqplot.config object to specify jqplot wide configuration options.\n  These include enablePlugins to globally set the default plugin state on/off\n  and defaultHeight/defaultWidth to specify default plot height/width.\n* Added fillToZero option which forces filled charts to fill to zero as opposed\n  to axis minimum.  Thus negative filled bar/line values will fill upwards to\n  zero axis value.\n* Added option to disable stacking on individual lines.\n* Changed targetId property of the plot object so it now includes a \"#\" before\n  the id string.\n* Improved tick and body sizing of Open Hi Low Close and candlestick charts.\n* Removed lots of web site related files from the repository.  This means that,\n  if working from the sources, user's won't be able to build the jqplot web\n  site and the docs/tests that are hosted on that site.  The minified and\n  compressed  distribution packages will build fine.\n* Lots of examples were added to a separate examples directory to better show\n  functionality of jqPlot for local testing with the distribution.\n* Many various bug fixes and other minor enhancements.\n\n\n0.9.4:\n\n* Implemented axis labels.  Labels can be rendered in div tags or as canvas \n  elements supporting rotated text.\n* Improved rotated axis label positioning so labels will start or end at a\n  tick position.\n* Fixed bug where an empty data series would hang plot rendering.\n* completed issue #66 for misc. improvements to documentation.\n* Fixed issue #64 where the same ID's were assigned to cursor and highlighter\n  elements.\n* Added option to legend to encode special HTML characters.\n* Fixed undesirable behavior where point labels for points off the plot\n  were being rendered.\n* Added edgeTolerance option to point label renderer to control rendering of \n  labels near plot edges.\n\n\n0.9.3:\n\n* Preliminary support for axis labels.  Currently rendered into DIV tags,\n  so no rotated label support.  This feature is currently experimental.\n* Fixed bug #52, needed space in tick div tag between style and class declarations \n  or plot failed in certain application doctypes.\n* Fixed issue #54, miter style line join for chart lines causing spikes at steep \n  changes in slope.  Changed miter style to round.\n* Added examples for new autoscaling algorithm.\n* Fixed bug #57, category axis labels disappear on redraw()\n* Improved algorithm which controlled maximum number of labels that would display\n  on a category axis.\n* Fixed bug #45 where null values causing errors in plotData and gridData.\n* Fixed issue #60 where seriesColors option was not working.\n\n\n0.9.2:\n\n* Fixed bug #45 where a plot could crash if series had different numbers of points.\n* Fixed issue #50, added option to turn off sorting of series data. \n* Fixed issue #31, implemented a better axis autoscaling algorithm and added an autoscale option.\n\n0.9.1:\n\n* Fixed bug #40, when axis pad, padMax, padMin set to 0, graph would fail to render.\n* Fixed bug #41 where pie and bar charts not rendered correctly on redraw().\n* Fixed bug #11, filled stacked line plots not rendering correctly in IE.\n* Fixed bug #42 where stacked charts not rendering with string date axis ticks.\n* Fixed bug in redraw() method where axes ticks were not reset.\n* Fixed \"jqplotPreRedrawEvent\" that should have been named \"jqplotPostRedraw\" event.\n\n0.9.0:\n\n* Added Open Hi Low Close charts, Candlestick charts and Hi Low Close charts.\n* Added support for arbitrary labels on the data points.\n* Enhanced highlighter plugin to allow custom formatting control of entire tooltip.\n* Enhanced highlighter to support multiple y values in a data point.\n* Fixed bug #38 where series with a single point with a negative value would fail.\n* Improvements to examples to show what plugins to include.\n* Expanded documentation for some of the plugins.\n\n0.8.5:\n\n* Added zooming ability with double click or single click options to reset zoom.\n* Modified default tick spacing algorithm for date axes to give more space to ticks.\n* Fixed bug #2 where tickInterval wasn't working properly.\n* Added neighborThreshold option to control how close mouse must be to \n  point to trigger neighbor detection.\n* Added double click event handler on plot.\n\n0.8.0:\n\n* Support for up to 9 y axes.\n* Added option to control padding at max/min bounds of axes separately.\n* Closed issue #21, added options to control grid line color and width.\n* Closed issue #20, added options to filled line charts to stoke above \n  fill and customize fill color and transparency.\n* Improved structure of on line documentation to make usage and options \n  docs default.\n* Added much documentation on options and css styling.\n\n0.7.1:\n\n* Bug fix release\n* Fixed bug #6, missing semi-colons messing up some javascript compressors.\n* Fixed bug #13 where 2D ticks array of [values, labels] would fail to \n  renderer with DateAxisRenderer.\n* Fixes bug #16 where pie renderer overwriting options for all plot types \n  and crashing non pie plots.\n* Fixes bug #17 constrainTo dragable option mispelled as \"contstrainTo\".  \n  Fixed dragable color issue when used with trend lines.\n\n0.7.0:\n\n* Pie chart support\n* Enabled tooltipLocation option in highlighter. \n* Highlighter Tooltip will account for mark size and highlight size when \n  positioning itself. \n* Added ability to show just x, y or both axes in highlighter tooltip.\n* Added customization of separator between axes values in highlighter tooltip.\n* Modified how shadows are drawn for lines, bars and markers.  Now drawn first, \n  so they are always behind the object.\n* Adjustments to shadow parameters on lines to account for new shadow positioning.\n* Added a ColorGenerator class to robustly return next available color \n  for a plot with wrap around to first color at end.\n* Udates to docs about css file.\n* Fixed bug with String x values in series and IE error on sorting (Category Axis).\n* Added cursor changes in dragable plugin when cursor near dragable point.\n\n0.6.6b:\n\n* Added excanvas.js and excanvas.min.js to compressed distributions.\n* Added example/test html pages I had locally into repository and to \n  compressed distributions.\n\n0.6.6a:\n\n* Removed absolute positioning from dom element and put back into css file.\n* Duplicate of 0.6.6 with a suffix to unambiguously differentiate between \n  previously posted 0.6.6 release.\n\n0.6.6:\n\n* Fixed bug #5, trend line plugin failing when no trend line options specified.\n* Added absolute position css spec to axis tick dom element.\n* Enhancement to category axes, more intuitive handling of series with \n  missing data values.\n\n0.6.5:\n\n* Fixed bug #4, series of unequal data length not rendering correctly.  \n  This is a bugfix release only.\n\n0.6.4:\n\n* Fixed bug (issue #1 in tracker) where flat line data series (all x and/or y \n  values are euqal) or single value data series would crash.\n\n0.6.3:\n\n* Support for stacked line (a.k.a. area) and stacked bar (horizontal and \n  vertical) charts.\n* Refactored barRenderer to use default shape and shadow renderers.\n* Added info (contacts & support information) page to web site.\n\n0.6.2:\n\n* This is a minor upgrade to docs and build only.  No functionality has changed.\n* Ant build script generates entire site, examples, tests and distribution.\n* Improvements to documentation.\n\n0.6.1:\n\n* New sprintf implementation from Ash Searle that implements %g.\n* Fix to sprintf e/f formats.\n* Created new format specifier, %p and %P to preserve significance.\n* Modified p/P format to better display larger numbers.\n* Fixed and simplified significant digits calculation for sprintf.\n* Added option to have cursor tooltip follow the mouse or not.\n* Added options to change size of highlight.\n* Updates to handle dates like '6-May-09'.\n* Mods to improve look of web site.\n* Updates to documentation.\n* Added license and copyright statement to source files.\n\n0.6.0:\n\n* Added rotated text support.  Uses native canvas text functionality in \n  browsers that support it or draws text on canvas with Hershey font\n* metrics for non-supporting browsers.\n* Removed lots of lint in js code.\n* Moved tick css from js code into css file.\n* Fix to tick positioning css.  y axis ticks were positioned to wrong side of axis div.\n* Re-factored axis tick renderer instantiation into the axes renderers themselves.\n\n\nFor changes prior to 0.6.0 release, please see change log at http://bitbucket.org/cleonello/jqplot/changesets/\n"
  },
  {
    "path": "docs/js/jqplot/copyright.txt",
    "content": "/**\n * jqPlot\n * Pure JavaScript plotting plugin using jQuery\n *\n * Version: @VERSION\n *\n * Copyright (c) 2009-2013 Chris Leonello\n * jqPlot is currently available for use in all personal or commercial projects \n * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL \n * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can \n * choose the license that best suits your project and use it accordingly. \n *\n * Although not required, the author would appreciate an email letting him \n * know of any substantial use of jqPlot.  You can reach the author at: \n * chris at jqplot dot com or see http://www.jqplot.com/info.php .\n *\n * If you are feeling kind and generous, consider supporting the project by\n * making a donation at: http://www.jqplot.com/donate.php .\n *\n * sprintf functions contained in jqplot.sprintf.js by Ash Searle:\n *\n *     version 2007.04.27\n *     author Ash Searle\n *     http://hexmen.com/blog/2007/03/printf-sprintf/\n *     http://hexmen.com/js/sprintf.js\n *     The author (Ash Searle) has placed this code in the public domain:\n *     \"This code is unrestricted: you are free to use it however you like.\"\n *\n * included jsDate library by Chris Leonello:\n *\n * Copyright (c) 2010-2013 Chris Leonello\n *\n * jsDate is currently available for use in all personal or commercial projects \n * under both the MIT and GPL version 2.0 licenses. This means that you can \n * choose the license that best suits your project and use it accordingly.\n *\n * jsDate borrows many concepts and ideas from the Date Instance \n * Methods by Ken Snyder along with some parts of Ken's actual code.\n * \n * Ken's origianl Date Instance Methods and copyright notice:\n * \n * Ken Snyder (ken d snyder at gmail dot com)\n * 2008-09-10\n * version 2.0.2 (http://kendsnyder.com/sandbox/date/)     \n * Creative Commons Attribution License 3.0 (http://creativecommons.org/licenses/by/3.0/)\n *\n * jqplotToImage function based on Larry Siden's export-jqplot-to-png.js.\n * Larry has generously given permission to adapt his code for inclusion\n * into jqPlot.\n *\n * Larry's original code can be found here:\n *\n * https://github.com/lsiden/export-jqplot-to-png\n * \n * \n */\n"
  },
  {
    "path": "docs/js/jqplot/gpl-2.0.txt",
    "content": "Title: GPL Version 2\n\n           GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc.,\n 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n\t\t\t    Preamble\n\n  The licenses for most software are designed to take away your\nfreedom to share and change it.  By contrast, the GNU General Public\nLicense is intended to guarantee your freedom to share and change free\nsoftware--to make sure the software is free for all its users.  This\nGeneral Public License applies to most of the Free Software\nFoundation's software and to any other program whose authors commit to\nusing it.  (Some other Free Software Foundation software is covered by\nthe GNU Lesser General Public License instead.)  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthis service if you wish), that you receive source code or can get it\nif you want it, that you can change the software or use pieces of it\nin new free programs; and that you know you can do these things.\n\n  To protect your rights, we need to make restrictions that forbid\nanyone to deny you these rights or to ask you to surrender the rights.\nThese restrictions translate to certain responsibilities for you if you\ndistribute copies of the software, or if you modify it.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must give the recipients all the rights that\nyou have.  You must make sure that they, too, receive or can get the\nsource code.  And you must show them these terms so they know their\nrights.\n\n  We protect your rights with two steps: (1) copyright the software, and\n(2) offer you this license which gives you legal permission to copy,\ndistribute and/or modify the software.\n\n  Also, for each author's protection and ours, we want to make certain\nthat everyone understands that there is no warranty for this free\nsoftware.  If the software is modified by someone else and passed on, we\nwant its recipients to know that what they have is not the original, so\nthat any problems introduced by others will not reflect on the original\nauthors' reputations.\n\n  Finally, any free program is threatened constantly by software\npatents.  We wish to avoid the danger that redistributors of a free\nprogram will individually obtain patent licenses, in effect making the\nprogram proprietary.  To prevent this, we have made it clear that any\npatent must be licensed for everyone's free use or not licensed at all.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n\t\t    GNU GENERAL PUBLIC LICENSE\n   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\n\n  0. This License applies to any program or other work which contains\na notice placed by the copyright holder saying it may be distributed\nunder the terms of this General Public License.  The \"Program\", below,\nrefers to any such program or work, and a \"work based on the Program\"\nmeans either the Program or any derivative work under copyright law:\nthat is to say, a work containing the Program or a portion of it,\neither verbatim or with modifications and/or translated into another\nlanguage.  (Hereinafter, translation is included without limitation in\nthe term \"modification\".)  Each licensee is addressed as \"you\".\n\nActivities other than copying, distribution and modification are not\ncovered by this License; they are outside its scope.  The act of\nrunning the Program is not restricted, and the output from the Program\nis covered only if its contents constitute a work based on the\nProgram (independent of having been made by running the Program).\nWhether that is true depends on what the Program does.\n\n  1. You may copy and distribute verbatim copies of the Program's\nsource code as you receive it, in any medium, provided that you\nconspicuously and appropriately publish on each copy an appropriate\ncopyright notice and disclaimer of warranty; keep intact all the\nnotices that refer to this License and to the absence of any warranty;\nand give any other recipients of the Program a copy of this License\nalong with the Program.\n\nYou may charge a fee for the physical act of transferring a copy, and\nyou may at your option offer warranty protection in exchange for a fee.\n\n  2. You may modify your copy or copies of the Program or any portion\nof it, thus forming a work based on the Program, and copy and\ndistribute such modifications or work under the terms of Section 1\nabove, provided that you also meet all of these conditions:\n\n    a) You must cause the modified files to carry prominent notices\n    stating that you changed the files and the date of any change.\n\n    b) You must cause any work that you distribute or publish, that in\n    whole or in part contains or is derived from the Program or any\n    part thereof, to be licensed as a whole at no charge to all third\n    parties under the terms of this License.\n\n    c) If the modified program normally reads commands interactively\n    when run, you must cause it, when started running for such\n    interactive use in the most ordinary way, to print or display an\n    announcement including an appropriate copyright notice and a\n    notice that there is no warranty (or else, saying that you provide\n    a warranty) and that users may redistribute the program under\n    these conditions, and telling the user how to view a copy of this\n    License.  (Exception: if the Program itself is interactive but\n    does not normally print such an announcement, your work based on\n    the Program is not required to print an announcement.)\n\nThese requirements apply to the modified work as a whole.  If\nidentifiable sections of that work are not derived from the Program,\nand can be reasonably considered independent and separate works in\nthemselves, then this License, and its terms, do not apply to those\nsections when you distribute them as separate works.  But when you\ndistribute the same sections as part of a whole which is a work based\non the Program, the distribution of the whole must be on the terms of\nthis License, whose permissions for other licensees extend to the\nentire whole, and thus to each and every part regardless of who wrote it.\n\nThus, it is not the intent of this section to claim rights or contest\nyour rights to work written entirely by you; rather, the intent is to\nexercise the right to control the distribution of derivative or\ncollective works based on the Program.\n\nIn addition, mere aggregation of another work not based on the Program\nwith the Program (or with a work based on the Program) on a volume of\na storage or distribution medium does not bring the other work under\nthe scope of this License.\n\n  3. You may copy and distribute the Program (or a work based on it,\nunder Section 2) in object code or executable form under the terms of\nSections 1 and 2 above provided that you also do one of the following:\n\n    a) Accompany it with the complete corresponding machine-readable\n    source code, which must be distributed under the terms of Sections\n    1 and 2 above on a medium customarily used for software interchange; or,\n\n    b) Accompany it with a written offer, valid for at least three\n    years, to give any third party, for a charge no more than your\n    cost of physically performing source distribution, a complete\n    machine-readable copy of the corresponding source code, to be\n    distributed under the terms of Sections 1 and 2 above on a medium\n    customarily used for software interchange; or,\n\n    c) Accompany it with the information you received as to the offer\n    to distribute corresponding source code.  (This alternative is\n    allowed only for noncommercial distribution and only if you\n    received the program in object code or executable form with such\n    an offer, in accord with Subsection b above.)\n\nThe source code for a work means the preferred form of the work for\nmaking modifications to it.  For an executable work, complete source\ncode means all the source code for all modules it contains, plus any\nassociated interface definition files, plus the scripts used to\ncontrol compilation and installation of the executable.  However, as a\nspecial exception, the source code distributed need not include\nanything that is normally distributed (in either source or binary\nform) with the major components (compiler, kernel, and so on) of the\noperating system on which the executable runs, unless that component\nitself accompanies the executable.\n\nIf distribution of executable or object code is made by offering\naccess to copy from a designated place, then offering equivalent\naccess to copy the source code from the same place counts as\ndistribution of the source code, even though third parties are not\ncompelled to copy the source along with the object code.\n\n  4. You may not copy, modify, sublicense, or distribute the Program\nexcept as expressly provided under this License.  Any attempt\notherwise to copy, modify, sublicense or distribute the Program is\nvoid, and will automatically terminate your rights under this License.\nHowever, parties who have received copies, or rights, from you under\nthis License will not have their licenses terminated so long as such\nparties remain in full compliance.\n\n  5. You are not required to accept this License, since you have not\nsigned it.  However, nothing else grants you permission to modify or\ndistribute the Program or its derivative works.  These actions are\nprohibited by law if you do not accept this License.  Therefore, by\nmodifying or distributing the Program (or any work based on the\nProgram), you indicate your acceptance of this License to do so, and\nall its terms and conditions for copying, distributing or modifying\nthe Program or works based on it.\n\n  6. Each time you redistribute the Program (or any work based on the\nProgram), the recipient automatically receives a license from the\noriginal licensor to copy, distribute or modify the Program subject to\nthese terms and conditions.  You may not impose any further\nrestrictions on the recipients' exercise of the rights granted herein.\nYou are not responsible for enforcing compliance by third parties to\nthis License.\n\n  7. If, as a consequence of a court judgment or allegation of patent\ninfringement or for any other reason (not limited to patent issues),\nconditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot\ndistribute so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you\nmay not distribute the Program at all.  For example, if a patent\nlicense would not permit royalty-free redistribution of the Program by\nall those who receive copies directly or indirectly through you, then\nthe only way you could satisfy both it and this License would be to\nrefrain entirely from distribution of the Program.\n\nIf any portion of this section is held invalid or unenforceable under\nany particular circumstance, the balance of the section is intended to\napply and the section as a whole is intended to apply in other\ncircumstances.\n\nIt is not the purpose of this section to induce you to infringe any\npatents or other property right claims or to contest validity of any\nsuch claims; this section has the sole purpose of protecting the\nintegrity of the free software distribution system, which is\nimplemented by public license practices.  Many people have made\ngenerous contributions to the wide range of software distributed\nthrough that system in reliance on consistent application of that\nsystem; it is up to the author/donor to decide if he or she is willing\nto distribute software through any other system and a licensee cannot\nimpose that choice.\n\nThis section is intended to make thoroughly clear what is believed to\nbe a consequence of the rest of this License.\n\n  8. If the distribution and/or use of the Program is restricted in\ncertain countries either by patents or by copyrighted interfaces, the\noriginal copyright holder who places the Program under this License\nmay add an explicit geographical distribution limitation excluding\nthose countries, so that distribution is permitted only in or among\ncountries not thus excluded.  In such case, this License incorporates\nthe limitation as if written in the body of this License.\n\n  9. The Free Software Foundation may publish revised and/or new versions\nof the General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\nEach version is given a distinguishing version number.  If the Program\nspecifies a version number of this License which applies to it and \"any\nlater version\", you have the option of following the terms and conditions\neither of that version or of any later version published by the Free\nSoftware Foundation.  If the Program does not specify a version number of\nthis License, you may choose any version ever published by the Free Software\nFoundation.\n\n  10. If you wish to incorporate parts of the Program into other free\nprograms whose distribution conditions are different, write to the author\nto ask for permission.  For software which is copyrighted by the Free\nSoftware Foundation, write to the Free Software Foundation; we sometimes\nmake exceptions for this.  Our decision will be guided by the two goals\nof preserving the free status of all derivatives of our free software and\nof promoting the sharing and reuse of software generally.\n\n\t\t\t    NO WARRANTY\n\n  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY\nFOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN\nOTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES\nPROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED\nOR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS\nTO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE\nPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,\nREPAIR OR CORRECTION.\n\n  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR\nREDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,\nINCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING\nOUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED\nTO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY\nYOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER\nPROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE\nPOSSIBILITY OF SUCH DAMAGES."
  },
  {
    "path": "docs/js/jquery.cookie.js",
    "content": "/**\n * Cookie plugin\n *\n * Copyright (c) 2006 Klaus Hartl (stilbuero.de)\n * Dual licensed under the MIT and GPL licenses:\n * http://www.opensource.org/licenses/mit-license.php\n * http://www.gnu.org/licenses/gpl.html\n *\n */\n\n/**\n * Create a cookie with the given name and value and other optional parameters.\n *\n * @example $.cookie('the_cookie', 'the_value');\n * @desc Set the value of a cookie.\n * @example $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});\n * @desc Create a cookie with all available options.\n * @example $.cookie('the_cookie', 'the_value');\n * @desc Create a session cookie.\n * @example $.cookie('the_cookie', null);\n * @desc Delete a cookie by passing null as value.\n *\n * @param String name The name of the cookie.\n * @param String value The value of the cookie.\n * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.\n * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.\n *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.\n *                             If set to null or omitted, the cookie will be a session cookie and will not be retained\n *                             when the the browser exits.\n * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).\n * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).\n * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will\n *                        require a secure protocol (like HTTPS).\n * @type undefined\n *\n * @name $.cookie\n * @cat Plugins/Cookie\n * @author Klaus Hartl/klaus.hartl@stilbuero.de\n */\n\n/**\n * Get the value of a cookie with the given name.\n *\n * @example $.cookie('the_cookie');\n * @desc Get the value of a cookie.\n *\n * @param String name The name of the cookie.\n * @return The value of the cookie.\n * @type String\n *\n * @name $.cookie\n * @cat Plugins/Cookie\n * @author Klaus Hartl/klaus.hartl@stilbuero.de\n */\njQuery.cookie = function(name, value, options)\n{\n  if (typeof value != 'undefined')\n  { // name and value given, set cookie\n    options = options || {};\n    if (value === null)\n    {\n      value = '';\n      options.expires = -1;\n    }\n    var expires = '';\n    if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString))\n    {\n      var date;\n      if (typeof options.expires == 'number')\n      {\n        date = new Date();\n        date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));\n      }\n      else\n      {\n        date = options.expires;\n      }\n      expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE\n    }\n    var path = options.path ? '; path=' + options.path : '';\n    var domain = options.domain ? '; domain=' + options.domain : '';\n    var secure = options.secure ? '; secure' : '';\n    document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');\n  }\n  else\n  { // only name given, get cookie\n    var cookieValue = null;\n    if (document.cookie && document.cookie != '')\n    {\n      var cookies = document.cookie.split(';');\n      for (var i = 0; i < cookies.length; i++)\n      {\n        var cookie = jQuery.trim(cookies[i]);\n        // Does this cookie string begin with the name we want?\n        if (cookie.substring(0, name.length + 1) == (name + '='))\n        {\n          cookieValue = decodeURIComponent(cookie.substring(name.length + 1));\n          break;\n        }\n      }\n    }\n    return cookieValue;\n  }\n};"
  },
  {
    "path": "docs/js/jquery.iviewer.js",
    "content": "/*\n * iviewer Widget for jQuery UI\n * https://github.com/can3p/iviewer\n *\n * Copyright (c) 2009 - 2012 Dmitry Petrov\n * Dual licensed under the MIT and GPL licenses.\n *  - http://www.opensource.org/licenses/mit-license.php\n *  - http://www.gnu.org/copyleft/gpl.html\n *\n * Author: Dmitry Petrov\n * Version: 0.7\n */\n\n( function( $, undefined ) {\n\n//this code was taken from the https://github.com/furf/jquery-ui-touch-punch\nvar mouseEvents = {\n    touchstart: 'mousedown',\n    touchmove: 'mousemove',\n    touchend: 'mouseup'\n};\n\n/**\n * Convert a touch event to a mouse-like\n */\nfunction makeMouseEvent (event) {\n    var touch = event.originalEvent.changedTouches[0];\n\n    return $.extend(event, {\n        type:    mouseEvents[event.type],\n        which:   1,\n        pageX:   touch.pageX,\n        pageY:   touch.pageY,\n        screenX: touch.screenX,\n        screenY: touch.screenY,\n        clientX: touch.clientX,\n        clientY: touch.clientY,\n        isTouchEvent: true\n    });\n}\n\nvar mouseProto = $.ui.mouse.prototype,\n    _mouseInit = $.ui.mouse.prototype._mouseInit;\n\nmouseProto._mouseInit = function() {\n    var self = this;\n    self._touchActive = false;\n\n    this.element.bind( 'touchstart.' + this.widgetName, function(event) {\n        self._touchActive = true;\n        return self._mouseDown(makeMouseEvent(event));\n    })\n\n    var self = this;\n    // these delegates are required to keep context\n    this._mouseMoveDelegate = function(event) {\n        if (self._touchActive) {\n            return self._mouseMove(makeMouseEvent(event));\n        }\n    };\n    this._mouseUpDelegate = function(event) {\n        if (self._touchActive) {\n            self._touchActive = false;\n            return self._mouseUp(makeMouseEvent(event));\n        }\n    };\n\n    $(document)\n        .bind('touchmove.'+ this.widgetName, this._mouseMoveDelegate)\n        .bind('touchend.' + this.widgetName, this._mouseUpDelegate);\n\n    _mouseInit.apply(this);\n}\n\n/**\n * Simple implementation of jQuery like getters/setters\n * var val = something();\n * something(val);\n */\nvar setter = function(setter, getter) {\n    return function(val) {\n        if (arguments.length === 0) {\n            return getter.apply(this);\n        } else {\n            setter.apply(this, arguments);\n        }\n    }\n};\n\n/**\n * Internet explorer rotates image relative left top corner, so we should\n * shift image when it's rotated.\n */\nvar ieTransforms = {\n        '0': {\n            marginLeft: 0,\n            marginTop: 0,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=1, M12=0, M21=0, M22=1, SizingMethod=\"auto expand\")'\n        },\n\n        '90': {\n            marginLeft: -1,\n            marginTop: 1,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=-1, M21=1, M22=0, SizingMethod=\"auto expand\")'\n        },\n\n        '180': {\n            marginLeft: 0,\n            marginTop: 0,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=-1, M12=0, M21=0, M22=-1, SizingMethod=\"auto expand\")'\n        },\n\n        '270': {\n            marginLeft: -1,\n            marginTop: 1,\n            filter: 'progid:DXImageTransform.Microsoft.Matrix(M11=0, M12=1, M21=-1, M22=0, SizingMethod=\"auto expand\")'\n        }\n    },\n    useIeTransforms = (jQuery.browser.msie && parseInt(jQuery.browser.version, 10) <= 8);\n\n$.widget( \"ui.iviewer\", $.ui.mouse, {\n    widgetEventPrefix: \"iviewer\",\n    options : {\n        /**\n        * start zoom value for image, not used now\n        * may be equal to \"fit\" to fit image into container or scale in %\n        **/\n        zoom: \"fit\",\n        /**\n        * base value to scale image\n        **/\n        zoom_base: 100,\n        /**\n        * maximum zoom\n        **/\n        zoom_max: 800,\n        /**\n        * minimum zoom\n        **/\n        zoom_min: 25,\n        /**\n        * base of rate multiplier.\n        * zoom is calculated by formula: zoom_base * zoom_delta^rate\n        **/\n        zoom_delta: 1.4,\n        /**\n        * whether the zoom should be animated.\n        */\n        zoom_animation: true,\n        /**\n        * if true plugin doesn't add its own controls\n        **/\n        ui_disabled: false,\n        /**\n        * if false, plugin doesn't bind resize event on window and this must\n        * be handled manually\n        **/\n        update_on_resize: true,\n        /**\n        * event is triggered when zoom value is changed\n        * @param int new zoom value\n        * @return boolean if false zoom action is aborted\n        **/\n        onZoom: jQuery.noop,\n        /**\n        * event is triggered when zoom value is changed after image is set to the new dimensions\n        * @param int new zoom value\n        * @return boolean if false zoom action is aborted\n        **/\n        onAfterZoom: jQuery.noop,\n        /**\n        * event is fired on drag begin\n        * @param object coords mouse coordinates on the image\n        * @return boolean if false is returned, drag action is aborted\n        **/\n        onStartDrag: jQuery.noop,\n        /**\n        * event is fired on drag action\n        * @param object coords mouse coordinates on the image\n        **/\n        onDrag: jQuery.noop,\n        /**\n        * event is fired on drag stop\n        * @param object coords mouse coordinates on the image\n        **/\n        onStopDrag: jQuery.noop,\n        /**\n        * event is fired when mouse moves over image\n        * @param object coords mouse coordinates on the image\n        **/\n        onMouseMove: jQuery.noop,\n        /**\n        * mouse click event\n        * @param object coords mouse coordinates on the image\n        **/\n        onClick: jQuery.noop,\n        /**\n        * event is fired when image starts to load\n        */\n        onStartLoad: null,\n        /**\n        * event is fired, when image is loaded and initially positioned\n        */\n        onFinishLoad: null\n    },\n\n    _create: function() {\n        var me = this;\n\n        //drag variables\n        this.dx = 0;\n        this.dy = 0;\n\n        /* object containing actual information about image\n        *   @img_object.object - jquery img object\n        *   @img_object.orig_{width|height} - original dimensions\n        *   @img_object.display_{width|height} - actual dimensions\n        */\n        this.img_object = {};\n\n        this.zoom_object = {}; //object to show zoom status\n\n        this._angle = 0;\n\n        this.current_zoom = this.options.zoom;\n\n        if(this.options.src === null){\n            return;\n        }\n\n        this.container = this.element;\n\n        this._updateContainerInfo();\n\n        //init container\n        this.container.css(\"overflow\",\"hidden\");\n\n        if(this.options.update_on_resize == true)\n        {\n            $(window).resize(function()\n            {\n                me._updateContainerInfo();\n            });\n        }\n\n        this.img_object = new $.ui.iviewer.ImageObject(this.options.zoom_animation);\n\n        //init object\n        this.img_object.object()\n            //bind mouse events\n            .click(function(e){return me._click(e)})\n            .mousewheel(function(ev, delta)\n            {\n                //this event is there instead of containing div, because\n                //at opera it triggers many times on div\n                var zoom = (delta > 0)?1:-1;\n                me.zoom_by(zoom);\n                return false;\n            })\n            .prependTo(this.container);\n\n        this.container.bind('mousemove', function(ev) { me._handleMouseMove(ev); });\n\n        this.loadImage(this.options.src);\n\n        if(!this.options.ui_disabled)\n        {\n            this.createui();\n        }\n\n        this._mouseInit();\n    },\n\n    destroy: function() {\n        this._mouseDestroy();\n    },\n\n    _updateContainerInfo: function()\n    {\n        this.options.height = this.container.height();\n        this.options.width = this.container.width();\n    },\n\n    loadImage: function( src )\n    {\n        this.current_zoom = this.options.zoom;\n        var me = this;\n\n        this._trigger('onStartLoad', 0, src);\n\n        this.img_object.load(src, function() {\n                me.container.addClass(\"iviewer_cursor\");\n\n                if(me.options.zoom == \"fit\"){\n                    me.fit(true);\n                }\n                else {\n                    me.set_zoom(me.options.zoom, true);\n                }\n\n                if(me.options.onFinishLoad)\n                {\n                    me._trigger('onFinishLoad', 0, src);\n                }\n        });\n    },\n\n    /**\n    * fits image in the container\n    *\n    * @param {boolean} skip_animation\n    **/\n    fit: function(skip_animation)\n    {\n        var aspect_ratio = this.img_object.orig_width() / this.img_object.orig_height();\n        var window_ratio = this.options.width /  this.options.height;\n        var choose_left = (aspect_ratio > window_ratio);\n        var new_zoom = 0;\n\n        if(choose_left){\n            new_zoom = this.options.width / this.img_object.orig_width() * 100;\n        }\n        else {\n            new_zoom = this.options.height / this.img_object.orig_height() * 100;\n        }\n\n      this.set_zoom(new_zoom, skip_animation);\n    },\n\n    /**\n    * center image in container\n    **/\n    center: function()\n    {\n        this.setCoords(-Math.round((this.img_object.display_width() - this.options.width)/2),\n                -Math.round((this.img_object.display_height() - this.options.height)/2));\n    },\n\n    /**\n    *   move a point in container to the center of display area\n    *   @param x a point in container\n    *   @param y a point in container\n    **/\n    moveTo: function(x, y)\n    {\n        var dx = x-Math.round(this.options.width/2);\n        var dy = y-Math.round(this.options.height/2);\n\n        var new_x = this.img_object.x() - dx;\n        var new_y = this.img_object.y() - dy;\n\n        this.setCoords(new_x, new_y);\n    },\n\n    /**\n     * Get container offset object.\n     */\n    getContainerOffset: function() {\n        return jQuery.extend({}, this.container.offset());\n    },\n\n    /**\n    * set coordinates of upper left corner of image object\n    **/\n    setCoords: function(x,y)\n    {\n        //do nothing while image is being loaded\n        if(!this.img_object.loaded()) { return; }\n\n        var coords = this._correctCoords(x,y);\n        this.img_object.x(coords.x);\n        this.img_object.y(coords.y);\n    },\n\n    _correctCoords: function( x, y )\n    {\n        x = parseInt(x, 10);\n        y = parseInt(y, 10);\n\n        //check new coordinates to be correct (to be in rect)\n        if(y > 0){\n            y = 0;\n        }\n        if(x > 0){\n            x = 0;\n        }\n        if(y + this.img_object.display_height() < this.options.height){\n            y = this.options.height - this.img_object.display_height();\n        }\n        if(x + this.img_object.display_width() < this.options.width){\n            x = this.options.width - this.img_object.display_width();\n        }\n        if(this.img_object.display_width() <= this.options.width){\n            x = -(this.img_object.display_width() - this.options.width)/2;\n        }\n        if(this.img_object.display_height() <= this.options.height){\n            y = -(this.img_object.display_height() - this.options.height)/2;\n        }\n\n        return { x: x, y:y };\n    },\n\n\n    /**\n    * convert coordinates on the container to the coordinates on the image (in original size)\n    *\n    * @return object with fields x,y according to coordinates or false\n    * if initial coords are not inside image\n    **/\n    containerToImage : function (x,y)\n    {\n        var coords = { x : x - this.img_object.x(),\n                 y :  y - this.img_object.y()\n        };\n\n        coords = this.img_object.toOriginalCoords(coords);\n\n        return { x :  util.descaleValue(coords.x, this.current_zoom),\n                 y :  util.descaleValue(coords.y, this.current_zoom)\n        };\n    },\n\n    /**\n    * convert coordinates on the image (in original size, and zero angle) to the coordinates on the container\n    *\n    * @return object with fields x,y according to coordinates\n    **/\n    imageToContainer : function (x,y)\n    {\n        var coords = {\n                x : util.scaleValue(x, this.current_zoom),\n                y : util.scaleValue(y, this.current_zoom)\n            };\n\n        return this.img_object.toRealCoords(coords);\n    },\n\n    /**\n    * get mouse coordinates on the image\n    * @param e - object containing pageX and pageY fields, e.g. mouse event object\n    *\n    * @return object with fields x,y according to coordinates or false\n    * if initial coords are not inside image\n    **/\n    _getMouseCoords : function(e)\n    {\n        var containerOffset = this.container.offset();\n            coords = this.containerToImage(e.pageX - containerOffset.left, e.pageY - containerOffset.top);\n\n        return coords;\n    },\n\n    /**\n    * set image scale to the new_zoom\n    *\n    * @param {number} new_zoom image scale in %\n    * @param {boolean} skip_animation\n    **/\n    set_zoom: function(new_zoom, skip_animation)\n    {\n        if (this._trigger('onZoom', 0, new_zoom) == false) {\n            return;\n        }\n\n        //do nothing while image is being loaded\n        if(!this.img_object.loaded()) { return; }\n\n        if(new_zoom <  this.options.zoom_min)\n        {\n            new_zoom = this.options.zoom_min;\n        }\n        else if(new_zoom > this.options.zoom_max)\n        {\n            new_zoom = this.options.zoom_max;\n        }\n\n        /* we fake these values to make fit zoom properly work */\n        if(this.current_zoom == \"fit\")\n        {\n            var old_x = Math.round(this.options.width/2 + this.img_object.orig_width()/2);\n            var old_y = Math.round(this.options.height/2 + this.img_object.orig_height()/2);\n            this.current_zoom = 100;\n        }\n        else {\n            var old_x = -this.img_object.x() + Math.round(this.options.width/2);\n            var old_y = -this.img_object.y() + Math.round(this.options.height/2);\n        }\n\n        var new_width = util.scaleValue(this.img_object.orig_width(), new_zoom);\n        var new_height = util.scaleValue(this.img_object.orig_height(), new_zoom);\n        var new_x = util.scaleValue( util.descaleValue(old_x, this.current_zoom), new_zoom);\n        var new_y = util.scaleValue( util.descaleValue(old_y, this.current_zoom), new_zoom);\n\n        new_x = this.options.width/2 - new_x;\n        new_y = this.options.height/2 - new_y;\n\n        this.img_object.display_width(new_width);\n        this.img_object.display_height(new_height);\n\n        var coords = this._correctCoords( new_x, new_y ),\n            self = this;\n\n        this.img_object.setImageProps(new_width, new_height, coords.x, coords.y,\n                                        skip_animation, function() {\n            self._trigger('onAfterZoom', 0, new_zoom );\n        });\n        this.current_zoom = new_zoom;\n\n        this.update_status();\n    },\n\n    /**\n    * changes zoom scale by delta\n    * zoom is calculated by formula: zoom_base * zoom_delta^rate\n    * @param Integer delta number to add to the current multiplier rate number\n    **/\n    zoom_by: function(delta)\n    {\n        var closest_rate = this.find_closest_zoom_rate(this.current_zoom);\n\n        var next_rate = closest_rate + delta;\n        var next_zoom = this.options.zoom_base * Math.pow(this.options.zoom_delta, next_rate)\n        if(delta > 0 && next_zoom < this.current_zoom)\n        {\n            next_zoom *= this.options.zoom_delta;\n        }\n\n        if(delta < 0 && next_zoom > this.current_zoom)\n        {\n            next_zoom /= this.options.zoom_delta;\n        }\n\n        this.set_zoom(next_zoom);\n    },\n\n    /**\n    * Rotate image\n    * @param {num} deg Degrees amount to rotate. Positive values rotate image clockwise.\n    *     Currently 0, 90, 180, 270 and -90, -180, -270 values are supported\n    *\n    * @param {boolean} abs If the flag is true if, the deg parameter will be considered as\n    *     a absolute value and relative otherwise.\n    * @return {num|null} Method will return current image angle if called without any arguments.\n    **/\n    angle: function(deg, abs) {\n        if (arguments.length === 0) { return this.img_object.angle(); }\n\n        if (deg < -270 || deg > 270 || deg % 90 !== 0) { return; }\n        if (!abs) { deg += this.img_object.angle(); }\n        if (deg < 0) { deg += 360; }\n        if (deg >= 360) { deg -= 360; }\n\n        if (deg === this.img_object.angle()) { return; }\n\n        this.img_object.angle(deg);\n        //the rotate behavior is different in all editors. For now we  just center the\n        //image. However, it will be better to try to keep the position.\n        this.center();\n        this._trigger('angle', 0, { angle: this.img_object.angle() });\n    },\n\n    /**\n    * finds closest multiplier rate for value\n    * basing on zoom_base and zoom_delta values from settings\n    * @param Number value zoom value to examine\n    **/\n    find_closest_zoom_rate: function(value)\n    {\n        if(value == this.options.zoom_base)\n        {\n            return 0;\n        }\n\n        function div(val1,val2) { return val1 / val2 };\n        function mul(val1,val2) { return val1 * val2 };\n\n        var func = (value > this.options.zoom_base)?mul:div;\n        var sgn = (value > this.options.zoom_base)?1:-1;\n\n        var mltplr = this.options.zoom_delta;\n        var rate = 1;\n\n        while(Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate)) - value) >\n              Math.abs(func(this.options.zoom_base, Math.pow(mltplr,rate+1)) - value))\n        {\n            rate++;\n        }\n\n        return sgn * rate;\n    },\n\n    /* update scale info in the container */\n    update_status: function()\n    {\n        if(!this.options.ui_disabled)\n        {\n            var percent = Math.round(100*this.img_object.display_height()/this.img_object.orig_height());\n            if(percent)\n            {\n                this.zoom_object.html(percent + \"%\");\n            }\n        }\n    },\n\n    /**\n     * Get some information about the image.\n     *     Currently orig_(width|height), display_(width|height), angle, zoom and src params are supported.\n     *\n     *  @param {string} parameter to check\n     *  @param {boolean} withoutRotation if param is orig_width or orig_height and this flag is set to true,\n     *      method will return original image width without considering rotation.\n     *\n     */\n    info: function(param, withoutRotation) {\n        if (!param) { return; }\n\n        switch (param) {\n            case 'orig_width':\n            case 'orig_height':\n                if (withoutRotation) {\n                    return (this.img_object.angle() % 180 === 0 ? this.img_object[param]() :\n                            param === 'orig_width' ? this.img_object.orig_height() : \n                                                        this.img_object.orig_width());\n                } else {\n                    return this.img_object[param]();\n                }\n            case 'display_width':\n            case 'display_height':\n            case 'angle':\n                return this.img_object[param]();\n            case 'zoom':\n                return this.current_zoom;\n            case 'src':\n                return this.img_object.object().attr('src');\n        }\n    },\n\n    /**\n    *   callback for handling mousdown event to start dragging image\n    **/\n    _mouseStart: function( e )\n    {\n        $.ui.mouse.prototype._mouseStart.call(this, e);\n        if (this._trigger('onStartDrag', 0, this._getMouseCoords(e)) === false) {\n            return false;\n        }\n\n        /* start drag event*/\n        this.container.addClass(\"iviewer_drag_cursor\");\n\n        this.dx = e.pageX - this.img_object.x();\n        this.dy = e.pageY - this.img_object.y();\n        return true;\n    },\n\n    _mouseCapture: function( e ) {\n        return true;\n    },\n\n    /**\n     * Handle mouse move if needed. User can avoid using this callback, because\n     *    he can get the same information through public methods.\n     *  @param {jQuery.Event} e\n     */\n    _handleMouseMove: function(e) {\n        this._trigger('onMouseMove', e, this._getMouseCoords(e));\n    },\n\n    /**\n    *   callback for handling mousemove event to drag image\n    **/\n    _mouseDrag: function(e)\n    {\n        $.ui.mouse.prototype._mouseDrag.call(this, e);\n        var ltop =  e.pageY - this.dy;\n        var lleft = e.pageX - this.dx;\n\n        this.setCoords(lleft, ltop);\n        this._trigger('onDrag', e, this._getMouseCoords(e));\n        return false;\n    },\n\n    /**\n    *   callback for handling stop drag\n    **/\n    _mouseStop: function(e)\n    {\n        $.ui.mouse.prototype._mouseStop.call(this, e);\n        this.container.removeClass(\"iviewer_drag_cursor\");\n        this._trigger('onStopDrag', 0, this._getMouseCoords(e));\n    },\n\n    _click: function(e)\n    {\n        this._trigger('onClick', 0, this._getMouseCoords(e));\n    },\n\n    /**\n    *   create zoom buttons info box\n    **/\n    createui: function()\n    {\n        var me=this;\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_in iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.zoom_by(1); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_out iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.zoom_by(- 1); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_zero iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.set_zoom(100); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_zoom_fit iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.fit(this); return false;})\n                    .appendTo(this.container);\n\n        this.zoom_object = $(\"<div>\").addClass(\"iviewer_zoom_status iviewer_common\")\n                                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_rotate_left iviewer_common iviewer_button\"})\n                    .bind('mousedown touchstart',function(){me.angle(-90); return false;})\n                    .appendTo(this.container);\n\n        $(\"<div>\", { 'class': \"iviewer_rotate_right iviewer_common iviewer_button\" })\n                    .bind('mousedown touchstart',function(){me.angle(90); return false;})\n                    .appendTo(this.container);\n\n        this.update_status(); //initial status update\n    }\n\n} );\n\n/**\n * @class $.ui.iviewer.ImageObject Class represents image and provides public api without\n *     extending image prototype.\n * @constructor\n * @param {boolean} do_anim Do we want to animate image on dimension changes?\n */\n$.ui.iviewer.ImageObject = function(do_anim) {\n    this._img = $(\"<img>\")\n            //this is needed, because chromium sets them auto otherwise\n            .css({ position: \"absolute\", top :\"0px\", left: \"0px\"});\n\n    this._loaded = false;\n    this._swapDimensions = false;\n    this._do_anim = do_anim || false;\n    this.x(0, true);\n    this.y(0, true);\n    this.angle(0);\n};\n\n\n/** @lends $.ui.iviewer.ImageObject.prototype */\n(function() {\n    /**\n     * Restore initial object state.\n     *\n     * @param {number} w Image width.\n     * @param {number} h Image height.\n     */\n    this._reset = function(w, h) {\n        this._angle = 0;\n        this._swapDimensions = false;\n        this.x(0);\n        this.y(0);\n\n        this.orig_width(w);\n        this.orig_height(h);\n        this.display_width(w);\n        this.display_height(h);\n    };\n\n    /**\n     * Check if image is loaded.\n     *\n     * @return {boolean}\n     */\n    this.loaded = function() { return this._loaded; };\n\n    /**\n     * Load image.\n     *\n     * @param {string} src Image url.\n     * @param {Function=} loaded Function will be called on image load.\n     */\n    this.load = function(src, loaded) {\n        var self = this;\n\n        loaded = loaded || jQuery.noop;\n        this._loaded = false;\n\n        //If we assign new image url to the this._img IE9 fires onload event and image width and\n        //height are set to zero. So, we create another image object and load image through it.\n        var img = new Image();\n        img.onload = function() {\n            self._loaded = true;\n            self._reset(this.width, this.height);\n\n            self._img[0].src = src;\n            loaded();\n        };\n        img.src = src;\n\n        this._img\n            .removeAttr(\"src\")\n            .removeAttr(\"width\")\n            .removeAttr(\"height\")\n            .removeAttr(\"style\")\n            .css({ position: \"absolute\", top :\"0px\", left: \"0px\"})\n\n        this.angle(0);\n    };\n\n    this._dimension = function(prefix, name) {\n        var horiz = '_' + prefix + '_' + name,\n            vert = '_' + prefix + '_' + (name === 'height' ? 'width' : 'height');\n        return setter(function(val) {\n                this[this._swapDimensions ? horiz: vert] = val;\n            },\n            function() {\n                return this[this._swapDimensions ? horiz: vert];\n            });\n    };\n\n    /**\n     * Getters and setter for common image dimensions.\n     *    display_ means real image tag dimensions\n     *    orig_ means physical image dimensions.\n     *  Note, that dimensions are swapped if image is rotated. It necessary,\n     *  because as little as possible code should know about rotation.\n     */\n    this.display_width = this._dimension('display', 'width'),\n    this.display_height = this._dimension('display', 'height'),\n    this.display_diff = function() { return Math.floor( this.display_width() - this.display_height() ) };\n    this.orig_width = this._dimension('orig', 'width'),\n    this.orig_height = this._dimension('orig', 'height'),\n\n    /**\n     * Setter for  X coordinate. If image is rotated we need to additionaly shift an\n     *     image to map image coordinate to the visual position.\n     *\n     * @param {number} val Coordinate value.\n     * @param {boolean} skipCss If true, we only set the value and do not touch the dom.\n     */\n    this.x = setter(function(val, skipCss) { \n            this._x = val;\n            if (!skipCss) {\n                this._img.css(\"left\",this._x + (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\");\n            }\n        },\n        function() {\n            return this._x;\n        });\n\n    /**\n     * Setter for  Y coordinate. If image is rotated we need to additionaly shift an\n     *     image to map image coordinate to the visual position.\n     *\n     * @param {number} val Coordinate value.\n     * @param {boolean} skipCss If true, we only set the value and do not touch the dom.\n     */\n    this.y = setter(function(val, skipCss) {\n            this._y = val;\n            if (!skipCss) {\n                this._img.css(\"top\",this._y - (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\");\n            }\n        },\n       function() {\n            return this._y;\n       });\n\n    /**\n     * Perform image rotation.\n     *\n     * @param {number} deg Absolute image angle. The method will work with values 0, 90, 180, 270 degrees.\n     */\n    this.angle = setter(function(deg) {\n            var prevSwap = this._swapDimensions;\n\n            this._angle = deg;\n            this._swapDimensions = deg % 180 !== 0;\n            \n            if (prevSwap !== this._swapDimensions) {\n                var verticalMod = this._swapDimensions ? -1 : 1;\n                this.x(this.x() - verticalMod * this.display_diff() / 2, true);\n                this.y(this.y() + verticalMod * this.display_diff() / 2, true);\n            };\n\n            var cssVal = 'rotate(' + deg + 'deg)',\n                img = this._img;\n\n            jQuery.each(['', '-webkit-', '-moz-', '-o-', '-ms-'], function(i, prefix) {\n                img.css(prefix + 'transform', cssVal);\n            });\n\n            if (useIeTransforms) {\n                jQuery.each(['-ms-', ''], function(i, prefix) {\n                    img.css(prefix + 'filter', ieTransforms[deg].filter);\n                });\n\n                img.css({\n                    marginLeft: ieTransforms[deg].marginLeft * this.display_diff() / 2,\n                    marginTop: ieTransforms[deg].marginTop * this.display_diff() / 2\n                });\n            }\n        },\n       function() { return this._angle; });\n\n    /**\n     * Map point in the container coordinates to the point in image coordinates.\n     *     You will get coordinates of point on image with respect to rotation,\n     *     but will be set as if image was not rotated.\n     *     So, if image was rotated 90 degrees, it's (0,0) point will be on the\n     *     top right corner.\n     *\n     * @param {{x: number, y: number}} point Point in container coordinates.\n     * @return  {{x: number, y: number}}\n     */\n    this.toOriginalCoords = function(point) {\n        switch (this.angle()) {\n            case 0: return { x: point.x, y: point.y }\n            case 90: return { x: point.y, y: this.display_width() - point.x }\n            case 180: return { x: this.display_width() - point.x, y: this.display_height() - point.y }\n            case 270: return { x: this.display_height() - point.y, y: point.x }\n        }\n    };\n\n    /**\n     * Map point in the image coordinates to the point in container coordinates.\n     *     You will get coordinates of point on container with respect to rotation.\n     *     Note, if image was rotated 90 degrees, it's (0,0) point will be on the\n     *     top right corner.\n     *\n     * @param {{x: number, y: number}} point Point in container coordinates.\n     * @return  {{x: number, y: number}}\n     */\n    this.toRealCoords = function(point) {\n        switch (this.angle()) {\n            case 0: return { x: this.x() + point.x, y: this.y() + point.y }\n            case 90: return { x: this.x() + this.display_width() - point.y, y: this.y() + point.x}\n            case 180: return { x: this.x() + this.display_width() - point.x, y: this.y() + this.display_height() - point.y}\n            case 270: return { x: this.x() + point.y, y: this.y() + this.display_height() - point.x}\n        }\n    };\n\n    /**\n     * @return {jQuery} Return image node. this is needed to add event handlers.\n     */\n    this.object = setter(jQuery.noop,\n                           function() { return this._img; });\n\n    /**\n     * Change image properties.\n     *\n     * @param {number} disp_w Display width;\n     * @param {number} disp_h Display height;\n     * @param {number} x\n     * @param {number} y\n     * @param {boolean} skip_animation If true, the animation will be skiped despite the\n     *     value set in constructor.\n     * @param {Function=} complete Call back will be fired when zoom will be complete.\n     */\n    this.setImageProps = function(disp_w, disp_h, x, y, skip_animation, complete) {\n        complete = complete || jQuery.noop;\n\n        this.display_width(disp_w);\n        this.display_height(disp_h);\n        this.x(x, true);\n        this.y(y, true);\n\n        var w = this._swapDimensions ? disp_h : disp_w;\n        var h = this._swapDimensions ? disp_w : disp_h;\n\n        var params = {\n            width: w,\n            height: h,\n            top: y - (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\",\n            left: x + (this._swapDimensions ? this.display_diff() / 2 : 0) + \"px\" \n        };\n\n        if (useIeTransforms) {\n            jQuery.extend(params, {\n                marginLeft: ieTransforms[this.angle()].marginLeft * this.display_diff() / 2,\n                marginTop: ieTransforms[this.angle()].marginTop * this.display_diff() / 2\n            });\n        }\n\n        var swapDims = this._swapDimensions,\n            img = this._img;\n\n        //here we come: another IE oddness. If image is rotated 90 degrees with a filter, than\n        //width and height getters return real width and height of rotated image. The bad news\n        //is that to set height you need to set a width and vice versa. Fuck IE.\n        //So, in this case we have to animate width and height manually.\n        if(useIeTransforms && swapDims) {\n            var ieh = this._img.width(),\n                iew = this._img.height(),\n                iedh = params.height - ieh;\n                iedw = params.width - iew;\n\n            delete params.width;\n            delete params.height;\n        }\n\n        if (this._do_anim && !skip_animation) {\n            this._img.animate(params, {\n                duration: 200, \n                complete: complete,\n                step: function(now, fx) {\n                    if(useIeTransforms && swapDims && (fx.prop === 'top')) {\n                        var percent = (now - fx.start) / (fx.end - fx.start);\n\n                        img.height(ieh + iedh * percent);\n                        img.width(iew + iedw * percent);\n                        img.css('top', now);\n                    }\n                }\n            });\n        } else {\n            this._img.css(params);\n            setTimeout(complete, 0); //both if branches should behave equally.\n        }\n    };\n\n}).apply($.ui.iviewer.ImageObject.prototype);\n\n\n\nvar util = {\n    scaleValue: function(value, toZoom)\n    {\n        return value * toZoom / 100;\n    },\n\n    descaleValue: function(value, fromZoom)\n    {\n        return value * 100 / fromZoom;\n    }\n};\n\n } )( jQuery, undefined );\n"
  },
  {
    "path": "docs/js/jquery.panzoom.js",
    "content": "/*\n * jQuery PanZoom Plugin\n * Pan and zoom an image within a parent div.\n *\n * version: 0.9.0\n * @requires jQuery v1.4.2 or later (earlier probably work, but untested so far)\n *\n * Copyright (c) 2011 Ben Lumley\n * Examples and documentation at: https://github.com/benlumley/jQuery-PanZoom\n *\n * Dual licensed under the MIT and GPL licenses:\n *   http://www.opensource.org/licenses/mit-license.php\n *   http://www.gnu.org/licenses/gpl.html\n*/\n\n(function( $ ){\n\n  $.fn.panZoom = function(method) {\n\n    if ( methods[method] ) {\n      return methods[ method ].apply( this, Array.prototype.slice.call( arguments, 1 ));\n    } else if ( typeof method === 'object' || ! method ) {\n      return methods.init.apply( this, arguments );\n    } else {\n      $.error( 'Method ' +  method + ' does not exist' );\n    }\n\n  };\n\n\t$.fn.panZoom.defaults = {\n      zoomIn   \t\t\t\t\t: \tfalse,\n      zoomOut \t\t\t\t\t: \tfalse,\n\t\t  panUp\t\t\t\t\t\t\t:\t\tfalse,\n\t\t  panDown\t\t\t\t\t\t:\t\tfalse,\n\t\t  panLeft\t\t\t\t\t\t:\t\tfalse,\n\t\t  panRight\t\t\t\t\t:\t\tfalse,\n\t\t\tfit\t\t\t\t\t\t\t\t: \tfalse,\n\t\t  out_x1\t\t\t\t\t\t:\t\tfalse,\n\t\t  out_y1\t\t\t\t\t\t:\t\tfalse,\n\t\t  out_x2\t\t\t\t\t\t:\t\tfalse,\n\t\t  out_y2\t\t\t\t\t\t:\t\tfalse,\n\t\t\tmin_width\t\t\t\t\t:   20,\n\t\t\tmin_height \t\t\t\t:   20,\n\t\t\tzoom_step\t\t\t\t\t:   3,\n\t\t\tpan_step  \t\t\t\t:   3,\n\t\t\tdebug\t\t\t\t\t\t\t: \tfalse,\n\t\t\tdirectedit\t\t\t\t:   false,\n      aspect    \t\t\t\t:   true,\n      factor    \t\t\t\t:   1,\n\t\t  animate   \t\t\t\t:   true,\n\t\t\tanimate_duration\t: \t200,\n\t\t \tanimate_easing\t\t: \t'linear',\n\t\t\tdouble_click\t \t\t: \ttrue,\n\t\t\tmousewheel\t\t\t\t: \ttrue,\n\t\t\tmousewheel_delta\t: \t1,\n\t\t\tdraggable\t\t\t\t\t:   true,\n\t\t\tclickandhold\t\t\t: \ttrue\n  };\n\n\tvar settings = {}\n\n  var methods = {\n\t\t'init': function (options) {\n\t\t\t$.extend(settings, $.fn.panZoom.defaults, options);\n  \t\tsetupCSS.apply(this);\n\t\t\tsetupData.apply(this);\n\t\t\tsetupBindings.apply(this);\n\t\t\tmethods.readPosition.apply(this);\n\t\t},\n\n\t\t'destroy': function () {\n\t\t\t$(window).unbind('.panZoom');\n\t\t\tthis.removeData('panZoom');\n\t\t},\n\n\t\t'loadImage': function () {\n\t\t\tvar data = this.data('panZoom');\n      loadTargetDimensions.apply(this);\n\t\t\tmethods.updatePosition.apply(this);\n\t\t\tif (data.last_image != null && data.last_image != this.attr('src')) {\n        methods.fit.apply(this);\n\t\t\t}\n\t\t\tdata.last_image = this.attr('src');\n\t\t\tdata.loaded = true;\n\t\t},\n\n\t  'readPosition': function () {\n\t\t\t\tvar data = this.data('panZoom');\n\t\t \t\tif (settings.out_x1) { data.position.x1 = settings.out_x1.val()*settings.factor }\n\t\t \t\tif (settings.out_y1) { data.position.y1 = settings.out_y1.val()*settings.factor }\n\t\t \t\tif (settings.out_x2) { data.position.x2 = settings.out_x2.val()*settings.factor }\n\t\t \t\tif (settings.out_y2) { data.position.y2 = settings.out_y2.val()*settings.factor }\n\t\t\t\tmethods.updatePosition.apply(this);\n\t\t },\n\n\t\t'updatePosition': function() {\n\t\t\tvalidatePosition.apply(this);\n\t\t\twritePosition.apply(this);\n\t\t\tapplyPosition.apply(this);\n\t\t},\n\n\t  'fit': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tdata.position.x1 = 0;\n\t\t\tdata.position.y1 = 0;\n\t\t\tdata.position.x2 = data.viewport_dimensions.x;\n\t\t\tdata.position.y2 = data.viewport_dimensions.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'zoomIn': function (steps) {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tif (typeof(steps) == 'undefined') {\n\t\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\t}\n            console.debug(data.position);\n\t\t\tconsole.debug(data.viewport_dimensions);\n\t\t\tdata.position.x1 = data.position.x1*1 - steps.zoom.x;\n\t\t\tdata.position.x2 = data.position.x2*1 + steps.zoom.x;\n\t\t\tdata.position.y1 = data.position.y1*1 - steps.zoom.y;\n\t\t\tdata.position.y2 = data.position.y2*1 + steps.zoom.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t },\n\n\t\t'zoomOut': function (steps) {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tif (typeof(steps) == 'undefined') {\n\t\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\t}\n\t\t\tdata.position.x1 = data.position.x1*1 + steps.zoom.x;\n\t\t\tdata.position.x2 = data.position.x2*1 - steps.zoom.x;\n\t\t\tdata.position.y1 = data.position.y1*1 + steps.zoom.y;\n\t\t\tdata.position.y2 = data.position.y2*1 - steps.zoom.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t },\n\n\t\t'panUp': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.y1 -= steps.pan.y;\n\t\t\tdata.position.y2 -= steps.pan.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'panDown': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.y1 = data.position.y1*1 + steps.pan.y;\n\t\t\tdata.position.y2 = data.position.y2*1 + steps.pan.y;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'panLeft': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.x1 -= steps.pan.x;\n\t\t\tdata.position.x2 -= steps.pan.x;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'panRight': function () {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tdata.position.x1 = data.position.x1*1 + steps.pan.x;\n\t\t\tdata.position.x2 = data.position.x2*1 + steps.pan.x;\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'mouseWheel': function (delta) {\n\t\t\t// first calculate how much to zoom in/out\n\t\t\tvar steps = getStepDimensions.apply(this);\n\t\t\tsteps.zoom.x = steps.zoom.x * (Math.abs(delta) / settings.mousewheel_delta);\n\t\t\tsteps.zoom.y = steps.zoom.y * (Math.abs(delta) / settings.mousewheel_delta);\n\n\t\t\t// then do it\n\t\t\tif (delta > 0) {\n\t\t\t\tmethods.zoomIn.apply(this, [steps]);\n\t\t\t} else if (delta < 0) {\n\t\t\t\tmethods.zoomOut.apply(this, [steps]);\n\t\t\t}\n\t\t},\n\n\t\t'dragComplete': function() {\n\t\t\tvar data = this.data('panZoom');\n\t\t\tdata.position.x1 = this.position().left;\n\t\t\tdata.position.y1 = this.position().top;\n\t\t\tdata.position.x2 = this.position().left*1 + this.width();\n\t\t\tdata.position.y2 = this.position().top*1 + this.height();\n\t\t\tmethods.updatePosition.apply(this);\n\t\t},\n\n\t\t'mouseDown': function (action) {\n\t\t\tmethods[action].apply(this);\n\n\t\t\tif (settings.clickandhold) {\n\t\t\t\tvar data = this.data('panZoom');\n\t\t\t\tmethods.mouseUp.apply(this);\n\t\t\t\tdata.mousedown_interval = window.setInterval(function (that, action) {\n\t\t\t\t\tthat.panZoom(action);\n\t\t\t\t}, settings.animate_duration, this, action);\n\t\t\t}\n\t\t},\n\n\t\t'mouseUp': function() {\n\t\t\tvar data = this.data('panZoom');\n\t\t\twindow.clearInterval(data.mousedown_interval);\n\t\t}\n\n  }\n\n\tfunction setupBindings() {\n\n\t\teventData = { target: this }\n\n\t\t// bind up controls\n\t\tif (settings.zoomIn) {\n\t\t\tsettings.zoomIn.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomIn');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.zoomOut) {\n\t\t\tsettings.zoomOut.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'zoomOut');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panUp) {\n\t\t\tsettings.panUp.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panUp');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panDown) {\n\t\t\tsettings.panDown.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panDown');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panLeft) {\n\t\t\tsettings.panLeft.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panLeft');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.panRight) {\n\t\t\tsettings.panRight.bind('mousedown.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseDown', 'panRight');\n\t\t\t}).bind('mouseleave.panZoom mouseup.panZoom', eventData, function(event) {\n\t\t\t\tevent.preventDefault(); event.data.target.panZoom('mouseUp');\n\t\t\t});\n\t\t}\n\n\t\tif (settings.fit) { settings.fit.bind('click.panZoom', eventData, function(event) { event.preventDefault(); event.data.target.panZoom('fit'); } ); }\n\n\t\t// double click\n\t\tif (settings.double_click) {\n\t\t\tthis.bind('dblclick.panZoom', eventData, function(event, delta) { event.data.target.panZoom('zoomIn') } );\n\t\t}\n\n\t\t// mousewheel\n\t\tif (settings.mousewheel && typeof(this.mousewheel) == 'function') {\n\t\t\tthis.parent().mousewheel(function(event, delta) { event.preventDefault(); $(this).find('img').panZoom('mouseWheel', delta) } );\n\t\t} else if (settings.mousewheel) {\n\t\t\talert('Mousewheel requires mousewheel from jQuery tools - please include jQuery tools or disable mousewheel to remove this warning.')\n\t\t}\n\n\t\t// direct form input\n\t\tif (settings.directedit) {\n\t\t\t$(settings.out_x1).add(settings.out_y1).add(settings.out_x2).add(settings.out_y2).bind('change.panZoom blur.panZoom', eventData, function(event) { event.data.target.panZoom('readPosition') } );\n\t\t}\n\n\t\tif (settings.draggable && typeof(this.draggable) == 'function') {\n\t\t\tthis.draggable({\n\t\t\t\tstop: function () { $(this).panZoom('dragComplete');\t}\n\t\t\t});\n\t\t}\telse if (settings.draggable) {\n\t\t\t\talert('Draggable requires jQuery UI - please include jQuery UI or disable draggable to remove this warning.')\n\t\t}\n\n\t\t// image load\n\t\t$(this).bind('load.panZoom', eventData, function (event) { event.data.target.panZoom('loadImage') })\n\n\t}\n\n\tfunction setupData() {\n\t\tthis.data('panZoom', {\n\t\t\ttarget_element: this,\n\t\t\ttarget_dimensions: { x: null, y: null },\n\t\t\tviewport_element: this.parent(),\n\t\t\tviewport_dimensions: { x: this.parent().width(), y: this.parent().height() },\n\t\t\tposition: { x1: null, y1: null, x2: null, y2: null },\n\t\t\tlast_image: null,\n\t\t\tloaded: false,\n\t\t\tmousewheel_delta: 0,\n\t\t\tmousedown_interval: false\n\t\t});\n\t\tif (settings.debug) {\n\t\t\tconsole.log(this.data('panZoom'));\n\t\t}\n\t}\n\n\tfunction setupCSS() {\n\t\tif (this.parent().css('position') == 'static') {\n\t\t\tthis.parent().css('position', 'relative');\n\t\t}\n\t\tthis.css({\n\t\t\t'position': 'absolute',\n\t\t\t'top': 0,\n\t\t\t'left': 0\n\t\t});\n\t\tif (settings.draggable) {\n\t\t\tthis.css({\n\t\t\t\t'cursor': 'move'\n\t\t\t});\n\t\t}\n\t}\n\n\tfunction validatePosition() {\n\t\tvar data = this.data('panZoom');\n\t\t// if dimensions are too small...\n\t\tif ( data.position.x2 - data.position.x1 < settings.min_width/settings.factor || data.position.y2 - data.position.y1 < settings.min_height/settings.factor ) {\n\t\t\t// and second co-ords are zero (IE: no dims set), fit image\n\t\t\tif (data.position.x2 == 0 || data.position.y2 == 0) {\n\t\t\t\tmethods.fit.apply(this);\n\t\t\t}\n\t\t\t// otherwise, backout a bit\n\t\t\telse {\n\t\t\t\tif (data.position.x2 - data.position.x1 < settings.min_width/settings.factor) {\n\t\t\t\t\tdata.position.x2 = data.position.x1*1+settings.min_width/settings.factor;\n\t\t\t\t}\n\t\t\t\tif (data.position.y2 - data.position.y1 < settings.min_height/settings.factor) {\n\t  \t\t\tdata.position.y2 = data.position.y1*1+settings.min_height/settings.factor;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (settings.aspect) {\n\t\t\ttarget = data.target_dimensions.ratio;\n\t\t\tcurrent = getCurrentAspectRatio.apply(this)\n\t\t\tif (current > target) {\n\t\t\t\tnew_width = getHeight.apply(this) * target;\n\t\t\t\tdiff = getWidth.apply(this) - new_width;\n\t\t\t\tdata.position.x1 = data.position.x1*1 + (diff/2);\n\t\t\t\tdata.position.x2 = data.position.x2*1 - (diff/2);\n\t\t\t} else if (current < target) {\n\t\t\t\tnew_height = getWidth.apply(this) / target;\n\t\t\t\tdiff = getHeight.apply(this) - new_height;\n\t\t\t\tdata.position.y1 = data.position.y1*1 + (diff/2);\n\t\t\t\tdata.position.y2 = data.position.y2*1 - (diff/2);\n\t\t\t}\n\t\t}\n\n\n\t}\n\n  function applyPosition() {\n\t\tvar data = this.data('panZoom');\n\n    width = getWidth.apply(this);\n    height = getHeight.apply(this);\n    left_offset = getLeftOffset.apply(this);\n    top_offset = getTopOffset.apply(this);\n\n\t\tproperties = {\n\t\t\t'top': Math.round(top_offset),\n\t\t\t'left': Math.round(left_offset),\n\t\t\t'width': Math.round(width),\n\t\t\t'height': Math.round(height)\n\t\t}\n\n\t\tif (data.loaded && settings.animate) {\n\t\t\tapplyAnimate.apply(this, [ properties ]);\n\t\t} else {\n\t\t\tapplyCSS.apply(this, [ properties ]);\n\t\t}\n\n\t\tif (settings.debug) {\n\t\t\tconsole.log('--');\n\t\t\tconsole.log('width:' + width);\n\t\t\tconsole.log('height:' + height);\n\t\t\tconsole.log('left:' + left_offset);\n\t\t\tconsole.log('top:' + top_offset);\n\t\t}\n\t}\n\n\tfunction applyCSS() {\n\t\tthis.css(\tproperties );\n\t}\n\n\tfunction applyAnimate() {\n\t\tthis.stop().animate(\tproperties , settings.animate_duration, settings.animate_easing);\n\t}\n\n  function getWidth() {\n\t\tvar data = this.data('panZoom');\n    width = (data.position.x2 - data.position.x1);\n    return width;\n  }\n\n  function getLeftOffset() {\n\t\tvar data = this.data('panZoom');\n    return data.position.x1;\n  }\n\n  function getHeight() {\n\t\tvar data = this.data('panZoom');\n\t\theight = (data.position.y2 - data.position.y1);\n    return height;\n  }\n\n  function getTopOffset() {\n\t\tvar data = this.data('panZoom');\n\t\ttop_offset = data.position.y1;\n    return top_offset;\n  }\n\n\tfunction getCurrentAspectRatio() {\n\t\treturn (getWidth.apply(this) / getHeight.apply(this));\n\t}\n\n\tfunction writePosition() {\n\t\tvar data = this.data('panZoom');\n \t\tif (settings.out_x1) { settings.out_x1.val(Math.round(data.position.x1 / settings.factor)) }\n \t\tif (settings.out_y1) { settings.out_y1.val(Math.round(data.position.y1 / settings.factor)) }\n \t\tif (settings.out_x2) { settings.out_x2.val(Math.round(data.position.x2 / settings.factor)) }\n \t\tif (settings.out_y2) { settings.out_y2.val(Math.round(data.position.y2 / settings.factor)) }\n\t}\n\n\tfunction getStepDimensions() {\n\t\tvar data = this.data('panZoom');\n\t\tret = {\n\t\t\tzoom: {\n\t\t\t\tx: (settings.zoom_step/100 * data.viewport_dimensions.x),\n\t\t\t\ty: (settings.zoom_step/100 * data.viewport_dimensions.y)\n\t\t\t},\n\t\t\tpan: {\n\t\t\t\tx: (settings.pan_step/100 * data.viewport_dimensions.x),\n\t\t\t\ty: (settings.pan_step/100 * data.viewport_dimensions.y)\n\t\t\t}\n\t\t}\n\t\treturn ret;\n\t}\n\n\tfunction loadTargetDimensions() {\n\t\tvar data = this.data('panZoom');\n\t\tvar img = document.createElement('img');\n    img.src = this.attr('src');\n    img.id = \"jqpz-temp\";\n    $('body').append(img);\n    data.target_dimensions.x = $('#jqpz-temp').width();\n\t\tdata.target_dimensions.y = $('#jqpz-temp').height();\n    $('#jqpz-temp').remove();\n    data.target_dimensions.ratio = data.target_dimensions.x / data.target_dimensions.y;\n\t}\n\n})( jQuery );"
  },
  {
    "path": "docs/js/jquery.splitter.js",
    "content": "/*\n * jQuery.splitter.js - two-pane splitter window plugin\n *\n * version 1.51 (2009/01/09)\n *\n * Dual licensed under the MIT and GPL licenses:\n *   http://www.opensource.org/licenses/mit-license.php\n *   http://www.gnu.org/licenses/gpl.html\n */\n\n/**\n * The splitter() plugin implements a two-pane resizable splitter window.\n * The selected elements in the jQuery object are converted to a splitter;\n * each selected element should have two child elements, used for the panes\n * of the splitter. The plugin adds a third child element for the splitbar.\n *\n * For more details see: http://methvin.com/splitter/\n *\n *\n * @example $('#MySplitter').splitter();\n * @desc Create a vertical splitter with default settings\n *\n * @example $('#MySplitter').splitter({type: 'h', accessKey: 'M'});\n * @desc Create a horizontal splitter resizable via Alt+Shift+M\n *\n * @name splitter\n * @type jQuery\n * @param Object options Options for the splitter (not required)\n * @cat Plugins/Splitter\n * @return jQuery\n * @author Dave Methvin (dave.methvin@gmail.com)\n */\n;\n(function($) {\n\n    $.fn.splitter = function(args) {\n        args = args || {};\n        return this.each(function() {\n            var zombie;      // left-behind splitbar for outline resizes\n            function startSplitMouse(evt) {\n                if (opts.outline)\n                    zombie = zombie || bar.clone(false).insertAfter(A);\n                panes.css(\"-webkit-user-select\", \"none\");   // Safari selects A/B text on a move\n                bar.addClass(opts.activeClass);\n                $('<div class=\"splitterMask\"></div>').insertAfter(bar);\n                A._posSplit = A[0][opts.pxSplit] - evt[opts.eventPos];\n                $(document)\n                        .bind(\"mousemove\", doSplitMouse)\n                        .bind(\"mouseup\", endSplitMouse);\n            }\n\n            function doSplitMouse(evt) {\n                var newPos = A._posSplit + evt[opts.eventPos];\n                if (opts.outline) {\n                    newPos = Math.max(0, Math.min(newPos, splitter._DA - bar._DA));\n                    bar.css(opts.origin, newPos);\n                } else\n                    resplit(newPos);\n            }\n\n            function endSplitMouse(evt) {\n                $('div.splitterMask').remove();\n                bar.removeClass(opts.activeClass);\n                var newPos = A._posSplit + evt[opts.eventPos];\n                if (opts.outline) {\n                    zombie.remove();\n                    zombie = null;\n                    resplit(newPos);\n                }\n                panes.css(\"-webkit-user-select\", \"text\");   // let Safari select text again\n                $(document)\n                        .unbind(\"mousemove\", doSplitMouse)\n                        .unbind(\"mouseup\", endSplitMouse);\n            }\n\n            function resplit(newPos) {\n                // Constrain new splitbar position to fit pane size limits\n                newPos = Math.max(A._min, splitter._DA - B._max,\n                        Math.min(newPos, A._max, splitter._DA - bar._DA - B._min));\n                // Resize/position the two panes\n                bar._DA = bar[0][opts.pxSplit];      // bar size may change during dock\n                bar.css(opts.origin, newPos).css(opts.fixed, splitter._DF);\n                A.css(opts.origin, 0).css(opts.split, newPos).css(opts.fixed, splitter._DF);\n                B.css(opts.origin, newPos + bar._DA)\n                        .css(opts.split, splitter._DA - bar._DA - newPos).css(opts.fixed, splitter._DF);\n                // IE fires resize for us; all others pay cash\n                if (!$.browser.msie)\n                    panes.trigger(\"resize\");\n            }\n\n            function dimSum(jq, dims) {\n                // Opera returns -1 for missing min/max width, turn into 0\n                var sum = 0;\n                for (var i = 1; i < arguments.length; i++)\n                    sum += Math.max(parseInt(jq.css(arguments[i])) || 0, 0);\n                return sum;\n            }\n\n            // Determine settings based on incoming opts, element classes, and defaults\n            var vh = (args.splitHorizontal ? 'h' : args.splitVertical ? 'v' : args.type) || 'v';\n            var opts = $.extend({\n                activeClass: 'active',   // class name for active splitter\n                pxPerKey: 8,         // splitter px moved per keypress\n                tabIndex: 0,         // tab order indicator\n                accessKey: ''         // accessKey for splitbar\n            }, {\n                v: {               // Vertical splitters:\n                    keyLeft: 39, keyRight: 37, cursor: \"e-resize\",\n                    splitbarClass: \"vsplitbar\", outlineClass: \"voutline\",\n                    type: 'v', eventPos: \"pageX\", origin: \"left\",\n                    split: \"width\",  pxSplit: \"offsetWidth\",  side1: \"Left\", side2: \"Right\",\n                    fixed: \"height\", pxFixed: \"offsetHeight\", side3: \"Top\",  side4: \"Bottom\"\n                },\n                h: {               // Horizontal splitters:\n                    keyTop: 40, keyBottom: 38,  cursor: \"n-resize\",\n                    splitbarClass: \"hsplitbar\", outlineClass: \"houtline\",\n                    type: 'h', eventPos: \"pageY\", origin: \"top\",\n                    split: \"height\", pxSplit: \"offsetHeight\", side1: \"Top\",  side2: \"Bottom\",\n                    fixed: \"width\",  pxFixed: \"offsetWidth\",  side3: \"Left\", side4: \"Right\"\n                }\n            }[vh], args);\n\n            // Create jQuery object closures for splitter and both panes\n            var splitter = $(this).css({position: \"relative\"});\n            var panes = $(\">*\", splitter[0]).css({\n                position: \"absolute\",          // positioned inside splitter container\n                \"z-index\": \"1\",               // splitbar is positioned above\n                \"-moz-outline-style\": \"none\"   // don't show dotted outline\n            });\n            var A = $(panes[0]);      // left  or top\n            var B = $(panes[1]);      // right or bottom\n\n            // Focuser element, provides keyboard support; title is shown by Opera accessKeys\n            var focuser = $('<a href=\"javascript:void(0)\"></a>')\n                    .attr({accessKey: opts.accessKey, tabIndex: opts.tabIndex, title: opts.splitbarClass})\n                    .bind($.browser.opera ? \"click\" : \"focus\", function() {\n                        this.focus();\n                        bar.addClass(opts.activeClass)\n                    })\n                    .bind(\"keydown\", function(e) {\n                        var key = e.which || e.keyCode;\n                        var dir = key == opts[\"key\" + opts.side1] ? 1 : key == opts[\"key\" + opts.side2] ? -1 : 0;\n                        if (dir)\n                            resplit(A[0][opts.pxSplit] + dir * opts.pxPerKey, false);\n                    })\n                    .bind(\"blur\", function() {\n                        bar.removeClass(opts.activeClass)\n                    });\n\n            // Splitbar element, can be already in the doc or we create one\n            var bar = $(panes[2] || '<div></div>')\n                    .insertAfter(A).css(\"z-index\", \"100\").append(focuser)\n                    .attr({\"class\": opts.splitbarClass, unselectable: \"on\"})\n                    .css({position: \"absolute\",   \"user-select\": \"none\", \"-webkit-user-select\": \"none\",\n                        \"-khtml-user-select\": \"none\", \"-moz-user-select\": \"none\", \"top\": \"0px\"})\n                    .bind(\"mousedown\", startSplitMouse);\n            // Use our cursor unless the style specifies a non-default cursor\n            if (/^(auto|default|)$/.test(bar.css(\"cursor\")))\n                bar.css(\"cursor\", opts.cursor);\n\n            // Cache several dimensions for speed, rather than re-querying constantly\n            bar._DA = bar[0][opts.pxSplit];\n            splitter._PBF = $.boxModel ? dimSum(splitter, \"border\" + opts.side3 + \"Width\", \"border\" + opts.side4 + \"Width\") : 0;\n            splitter._PBA = $.boxModel ? dimSum(splitter, \"border\" + opts.side1 + \"Width\", \"border\" + opts.side2 + \"Width\") : 0;\n            A._pane = opts.side1;\n            B._pane = opts.side2;\n            $.each([A,B], function() {\n                this._min = opts[\"min\" + this._pane] || dimSum(this, \"min-\" + opts.split);\n                this._max = opts[\"max\" + this._pane] || dimSum(this, \"max-\" + opts.split) || 9999;\n                this._init = opts[\"size\" + this._pane] === true ?\n                        parseInt($.curCSS(this[0], opts.split)) : opts[\"size\" + this._pane];\n            });\n\n            // Determine initial position, get from cookie if specified\n            var initPos = A._init;\n            if (!isNaN(B._init))   // recalc initial B size as an offset from the top or left side\n                initPos = splitter[0][opts.pxSplit] - splitter._PBA - B._init - bar._DA;\n            if (opts.cookie) {\n                if (!$.cookie)\n                    alert('jQuery.splitter(): jQuery cookie plugin required');\n                var ckpos = parseInt($.cookie(opts.cookie));\n                if (!isNaN(ckpos))\n                    initPos = ckpos;\n                $(window).bind(\"unload\", function() {\n                    var state = String(bar.css(opts.origin));   // current location of splitbar\n                    $.cookie(opts.cookie, state, {expires: opts.cookieExpires || 365,\n                        path: opts.cookiePath || document.location.pathname});\n                });\n            }\n            if (isNaN(initPos))   // King Solomon's algorithm\n                initPos = Math.round((splitter[0][opts.pxSplit] - splitter._PBA - bar._DA) / 2);\n\n            // Resize event propagation and splitter sizing\n            if (opts.anchorToWindow) {\n                // Account for margin or border on the splitter container and enforce min height\n                splitter._hadjust = dimSum(splitter, \"borderTopWidth\", \"borderBottomWidth\", \"marginBottom\");\n                splitter._hmin = Math.max(dimSum(splitter, \"minHeight\"), 20);\n                $(window).bind(\"resize\",\n                        function() {\n                            var top = splitter.offset().top;\n                            var wh = $(window).height();\n                            splitter.css(\"height\", Math.max(wh - top - splitter._hadjust, splitter._hmin) + \"px\");\n                            if (!$.browser.msie) splitter.trigger(\"resize\");\n                        }).trigger(\"resize\");\n            }\n            else if (opts.resizeToWidth && !$.browser.msie)\n                $(window).bind(\"resize\", function() {\n                    splitter.trigger(\"resize\");\n                });\n\n            // Resize event handler; triggered immediately to set initial position\n            splitter.bind(\"resize\",\n                    function(e, size) {\n                        // Custom events bubble in jQuery 1.3; don't Yo Dawg\n                        if (e.target != this) return;\n                        // Determine new width/height of splitter container\n                        splitter._DF = splitter[0][opts.pxFixed] - splitter._PBF;\n                        splitter._DA = splitter[0][opts.pxSplit] - splitter._PBA;\n                        // Bail if splitter isn't visible or content isn't there yet\n                        if (splitter._DF <= 0 || splitter._DA <= 0) return;\n                        // Re-divvy the adjustable dimension; maintain size of the preferred pane\n                        resplit(!isNaN(size) ? size : (!(opts.sizeRight || opts.sizeBottom) ? A[0][opts.pxSplit] :\n                                splitter._DA - B[0][opts.pxSplit] - bar._DA));\n                    }).trigger(\"resize\", [initPos]);\n        });\n    };\n\n})(jQuery);"
  },
  {
    "path": "docs/js/jquery.treeview.js",
    "content": "/*\n * Treeview 1.5pre - jQuery plugin to hide and show branches of a tree\n * \n * http://bassistance.de/jquery-plugins/jquery-plugin-treeview/\n * http://docs.jquery.com/Plugins/Treeview\n *\n * Copyright (c) 2007 Jörn Zaefferer\n *\n * Dual licensed under the MIT and GPL licenses:\n *   http://www.opensource.org/licenses/mit-license.php\n *   http://www.gnu.org/licenses/gpl.html\n *\n * Revision: $Id: jquery.treeview.js 5759 2008-07-01 07:50:28Z joern.zaefferer $\n *\n */\n\n;(function($) {\n\n\t// TODO rewrite as a widget, removing all the extra plugins\n\t$.extend($.fn, {\n\t\tswapClass: function(c1, c2) {\n\t\t\tvar c1Elements = this.filter('.' + c1);\n\t\t\tthis.filter('.' + c2).removeClass(c2).addClass(c1);\n\t\t\tc1Elements.removeClass(c1).addClass(c2);\n\t\t\treturn this;\n\t\t},\n\t\treplaceClass: function(c1, c2) {\n\t\t\treturn this.filter('.' + c1).removeClass(c1).addClass(c2).end();\n\t\t},\n\t\thoverClass: function(className) {\n\t\t\tclassName = className || \"hover\";\n\t\t\treturn this.hover(function() {\n\t\t\t\t$(this).addClass(className);\n\t\t\t}, function() {\n\t\t\t\t$(this).removeClass(className);\n\t\t\t});\n\t\t},\n\t\theightToggle: function(animated, callback) {\n\t\t\tanimated ?\n\t\t\t\tthis.animate({ height: \"toggle\" }, animated, callback) :\n\t\t\t\tthis.each(function(){\n\t\t\t\t\tjQuery(this)[ jQuery(this).is(\":hidden\") ? \"show\" : \"hide\" ]();\n\t\t\t\t\tif(callback)\n\t\t\t\t\t\tcallback.apply(this, arguments);\n\t\t\t\t});\n\t\t},\n\t\theightHide: function(animated, callback) {\n\t\t\tif (animated) {\n\t\t\t\tthis.animate({ height: \"hide\" }, animated, callback);\n\t\t\t} else {\n\t\t\t\tthis.hide();\n\t\t\t\tif (callback)\n\t\t\t\t\tthis.each(callback);\t\t\t\t\n\t\t\t}\n\t\t},\n\t\tprepareBranches: function(settings) {\n\t\t\tif (!settings.prerendered) {\n\t\t\t\t// mark last tree items\n\t\t\t\tthis.filter(\":last-child:not(ul)\").addClass(CLASSES.last);\n\t\t\t\t// collapse whole tree, or only those marked as closed, anyway except those marked as open\n\t\t\t\tthis.filter((settings.collapsed ? \"\" : \".\" + CLASSES.closed) + \":not(.\" + CLASSES.open + \")\").find(\">ul\").hide();\n\t\t\t}\n\t\t\t// return all items with sublists\n\t\t\treturn this.filter(\":has(>ul)\");\n\t\t},\n\t\tapplyClasses: function(settings, toggler) {\n\t\t\t// TODO use event delegation\n\t\t\tthis.filter(\":has(>ul):not(:has(>a))\").find(\">span\").unbind(\"click.treeview\").bind(\"click.treeview\", function(event) {\n\t\t\t\t// don't handle click events on children, eg. checkboxes\n\t\t\t\tif ( this == event.target )\n\t\t\t\t\ttoggler.apply($(this).next());\n\t\t\t}).add( $(\"a\", this) ).hoverClass();\n\t\t\t\n\t\t\tif (!settings.prerendered) {\n\t\t\t\t// handle closed ones first\n\t\t\t\tthis.filter(\":has(>ul:hidden)\")\n\t\t\t\t\t\t.addClass(CLASSES.expandable)\n\t\t\t\t\t\t.replaceClass(CLASSES.last, CLASSES.lastExpandable);\n\t\t\t\t\t\t\n\t\t\t\t// handle open ones\n\t\t\t\tthis.not(\":has(>ul:hidden)\")\n\t\t\t\t\t\t.addClass(CLASSES.collapsable)\n\t\t\t\t\t\t.replaceClass(CLASSES.last, CLASSES.lastCollapsable);\n\t\t\t\t\t\t\n\t            // create hitarea if not present\n\t\t\t\tvar hitarea = this.find(\"div.\" + CLASSES.hitarea);\n\t\t\t\tif (!hitarea.length)\n\t\t\t\t\thitarea = this.prepend(\"<div class=\\\"\" + CLASSES.hitarea + \"\\\"/>\").find(\"div.\" + CLASSES.hitarea);\n\t\t\t\thitarea.removeClass().addClass(CLASSES.hitarea).each(function() {\n\t\t\t\t\tvar classes = \"\";\n\t\t\t\t\t$.each($(this).parent().attr(\"class\").split(\" \"), function() {\n\t\t\t\t\t\tclasses += this + \"-hitarea \";\n\t\t\t\t\t});\n\t\t\t\t\t$(this).addClass( classes );\n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\t// apply event to hitarea\n\t\t\tthis.find(\"div.\" + CLASSES.hitarea).click( toggler );\n\t\t},\n\t\ttreeview: function(settings) {\n\t\t\t\n\t\t\tsettings = $.extend({\n\t\t\t\tcookieId: \"treeview\"\n\t\t\t}, settings);\n\t\t\t\n\t\t\tif ( settings.toggle ) {\n\t\t\t\tvar callback = settings.toggle;\n\t\t\t\tsettings.toggle = function() {\n\t\t\t\t\treturn callback.apply($(this).parent()[0], arguments);\n\t\t\t\t};\n\t\t\t}\n\t\t\n\t\t\t// factory for treecontroller\n\t\t\tfunction treeController(tree, control) {\n\t\t\t\t// factory for click handlers\n\t\t\t\tfunction handler(filter) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\t// reuse toggle event handler, applying the elements to toggle\n\t\t\t\t\t\t// start searching for all hitareas\n\t\t\t\t\t\ttoggler.apply( $(\"div.\" + CLASSES.hitarea, tree).filter(function() {\n\t\t\t\t\t\t\t// for plain toggle, no filter is provided, otherwise we need to check the parent element\n\t\t\t\t\t\t\treturn filter ? $(this).parent(\".\" + filter).length : true;\n\t\t\t\t\t\t}) );\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\t// click on first element to collapse tree\n\t\t\t\t$(\"a:eq(0)\", control).click( handler(CLASSES.collapsable) );\n\t\t\t\t// click on second to expand tree\n\t\t\t\t$(\"a:eq(1)\", control).click( handler(CLASSES.expandable) );\n\t\t\t\t// click on third to toggle tree\n\t\t\t\t$(\"a:eq(2)\", control).click( handler() ); \n\t\t\t}\n\t\t\n\t\t\t// handle toggle event\n\t\t\tfunction toggler() {\n\t\t\t\t$(this)\n\t\t\t\t\t.parent()\n\t\t\t\t\t// swap classes for hitarea\n\t\t\t\t\t.find(\">.hitarea\")\n\t\t\t\t\t\t.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )\n\t\t\t\t\t\t.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )\n\t\t\t\t\t.end()\n\t\t\t\t\t// swap classes for parent li\n\t\t\t\t\t.swapClass( CLASSES.collapsable, CLASSES.expandable )\n\t\t\t\t\t.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )\n\t\t\t\t\t// find child lists\n\t\t\t\t\t.find( \">ul\" )\n\t\t\t\t\t// toggle them\n\t\t\t\t\t.heightToggle( settings.animated, settings.toggle );\n\t\t\t\tif ( settings.unique ) {\n\t\t\t\t\t$(this).parent()\n\t\t\t\t\t\t.siblings()\n\t\t\t\t\t\t// swap classes for hitarea\n\t\t\t\t\t\t.find(\">.hitarea\")\n\t\t\t\t\t\t\t.replaceClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )\n\t\t\t\t\t\t\t.replaceClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea )\n\t\t\t\t\t\t.end()\n\t\t\t\t\t\t.replaceClass( CLASSES.collapsable, CLASSES.expandable )\n\t\t\t\t\t\t.replaceClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )\n\t\t\t\t\t\t.find( \">ul\" )\n\t\t\t\t\t\t.heightHide( settings.animated, settings.toggle );\n\t\t\t\t}\n\t\t\t}\n\t\t\tthis.data(\"toggler\", toggler);\n\t\t\t\n\t\t\tfunction serialize() {\n\t\t\t\tfunction binary(arg) {\n\t\t\t\t\treturn arg ? 1 : 0;\n\t\t\t\t}\n\t\t\t\tvar data = [];\n\t\t\t\tbranches.each(function(i, e) {\n\t\t\t\t\tdata[i] = $(e).is(\":has(>ul:visible)\") ? 1 : 0;\n\t\t\t\t});\n\t\t\t\t$.cookie(settings.cookieId, data.join(\"\"), settings.cookieOptions );\n\t\t\t}\n\t\t\t\n\t\t\tfunction deserialize() {\n\t\t\t\tvar stored = $.cookie(settings.cookieId);\n\t\t\t\tif ( stored ) {\n\t\t\t\t\tvar data = stored.split(\"\");\n\t\t\t\t\tbranches.each(function(i, e) {\n\t\t\t\t\t\t$(e).find(\">ul\")[ parseInt(data[i]) ? \"show\" : \"hide\" ]();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\t// add treeview class to activate styles\n\t\t\tthis.addClass(\"treeview\");\n\t\t\t\n\t\t\t// prepare branches and find all tree items with child lists\n\t\t\tvar branches = this.find(\"li\").prepareBranches(settings);\n\t\t\t\n\t\t\tswitch(settings.persist) {\n\t\t\tcase \"cookie\":\n\t\t\t\tvar toggleCallback = settings.toggle;\n\t\t\t\tsettings.toggle = function() {\n\t\t\t\t\tserialize();\n\t\t\t\t\tif (toggleCallback) {\n\t\t\t\t\t\ttoggleCallback.apply(this, arguments);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tdeserialize();\n\t\t\t\tbreak;\n\t\t\tcase \"location\":\n\t\t\t\tvar current = this.find(\"a\").filter(function() {\n\t\t\t\t\treturn this.href.toLowerCase() == location.href.toLowerCase();\n\t\t\t\t});\n\t\t\t\tif ( current.length ) {\n\t\t\t\t\t// TODO update the open/closed classes\n\t\t\t\t\tvar items = current.addClass(\"selected\").parents(\"ul, li\").add( current.next() ).show();\n\t\t\t\t\tif (settings.prerendered) {\n\t\t\t\t\t\t// if prerendered is on, replicate the basic class swapping\n\t\t\t\t\t\titems.filter(\"li\")\n\t\t\t\t\t\t\t.swapClass( CLASSES.collapsable, CLASSES.expandable )\n\t\t\t\t\t\t\t.swapClass( CLASSES.lastCollapsable, CLASSES.lastExpandable )\n\t\t\t\t\t\t\t.find(\">.hitarea\")\n\t\t\t\t\t\t\t\t.swapClass( CLASSES.collapsableHitarea, CLASSES.expandableHitarea )\n\t\t\t\t\t\t\t\t.swapClass( CLASSES.lastCollapsableHitarea, CLASSES.lastExpandableHitarea );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\t\n\t\t\tbranches.applyClasses(settings, toggler);\n\t\t\t\t\n\t\t\t// if control option is set, create the treecontroller and show it\n\t\t\tif ( settings.control ) {\n\t\t\t\ttreeController(this, settings.control);\n\t\t\t\t$(settings.control).show();\n\t\t\t}\n\t\t\t\n\t\t\treturn this;\n\t\t}\n\t});\n\t\n\t// classes used by the plugin\n\t// need to be styled via external stylesheet, see first example\n\t$.treeview = {};\n\tvar CLASSES = ($.treeview.classes = {\n\t\topen: \"open\",\n\t\tclosed: \"closed\",\n\t\texpandable: \"expandable\",\n\t\texpandableHitarea: \"expandable-hitarea\",\n\t\tlastExpandableHitarea: \"lastExpandable-hitarea\",\n\t\tcollapsable: \"collapsable\",\n\t\tcollapsableHitarea: \"collapsable-hitarea\",\n\t\tlastCollapsableHitarea: \"lastCollapsable-hitarea\",\n\t\tlastCollapsable: \"lastCollapsable\",\n\t\tlastExpandable: \"lastExpandable\",\n\t\tlast: \"last\",\n\t\thitarea: \"hitarea\"\n\t});\n\t\n})(jQuery);"
  },
  {
    "path": "docs/js/jquery.xml2json.js",
    "content": "/*\n ### jQuery XML to JSON Plugin v1.3 - 2013-02-18 ###\n * http://www.fyneworks.com/ - diego@fyneworks.com\n\t* Licensed under http://en.wikipedia.org/wiki/MIT_License\n ###\n Website: http://www.fyneworks.com/jquery/xml-to-json/\n*//*\n # INSPIRED BY: http://www.terracoder.com/\n           AND: http://www.thomasfrank.se/xml_to_json.html\n\t\t\t\t\t\t\t\t\t\t\tAND: http://www.kawa.net/works/js/xml/objtree-e.html\n*//*\n This simple script converts XML (document of code) into a JSON object. It is the combination of 2\n 'xml to json' great parsers (see below) which allows for both 'simple' and 'extended' parsing modes.\n*/\n// Avoid collisions\n;if(window.jQuery) (function($){\n \n // Add function to jQuery namespace\n $.extend({\n  \n  // converts xml documents and xml text to json object\n  xml2json: function(xml, extended) {\n   if(!xml) return {}; // quick fail\n   \n   //### PARSER LIBRARY\n   // Core function\n   function parseXML(node, simple){\n    if(!node) return null;\n    var txt = '', obj = null, att = null;\n    var nt = node.nodeType, nn = jsVar(node.localName || node.nodeName);\n    var nv = node.text || node.nodeValue || '';\n    /*DBG*/ //if(window.console) console.log(['x2j',nn,nt,nv.length+' bytes']);\n    if(node.childNodes){\n     if(node.childNodes.length>0){\n      /*DBG*/ //if(window.console) console.log(['x2j',nn,'CHILDREN',node.childNodes]);\n      $.each(node.childNodes, function(n,cn){\n       var cnt = cn.nodeType, cnn = jsVar(cn.localName || cn.nodeName);\n       var cnv = cn.text || cn.nodeValue || '';\n       /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>a',cnn,cnt,cnv]);\n       if(cnt == 8){\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>b',cnn,'COMMENT (ignore)']);\n        return; // ignore comment node\n       }\n       else if(cnt == 3 || cnt == 4 || !cnn){\n        // ignore white-space in between tags\n        if(cnv.match(/^\\s+$/)){\n         /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>c',cnn,'WHITE-SPACE (ignore)']);\n         return;\n        };\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>d',cnn,'TEXT']);\n        txt += cnv.replace(/^\\s+/,'').replace(/\\s+$/,'');\n\t\t\t\t\t\t\t\t// make sure we ditch trailing spaces from markup\n       }\n       else{\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>e',cnn,'OBJECT']);\n        obj = obj || {};\n        if(obj[cnn]){\n         /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>f',cnn,'ARRAY']);\n         \n\t\t\t\t\t\t\t\t\t// http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child\n\t\t\t\t\t\t\t\t\tif(!obj[cnn].length) obj[cnn] = myArr(obj[cnn]);\n\t\t\t\t\t\t\t\t\tobj[cnn] = myArr(obj[cnn]);\n         \n\t\t\t\t\t\t\t\t\tobj[cnn][ obj[cnn].length ] = parseXML(cn, true/* simple */);\n         obj[cnn].length = obj[cnn].length;\n        }\n        else{\n         /*DBG*/ //if(window.console) console.log(['x2j',nn,'node>g',cnn,'dig deeper...']);\n         obj[cnn] = parseXML(cn);\n        };\n       };\n      });\n     };//node.childNodes.length>0\n    };//node.childNodes\n    if(node.attributes){\n     if(node.attributes.length>0){\n      /*DBG*/ //if(window.console) console.log(['x2j',nn,'ATTRIBUTES',node.attributes])\n      att = {}; obj = obj || {};\n      $.each(node.attributes, function(a,at){\n       var atn = jsVar(at.name), atv = at.value;\n       att[atn] = atv;\n       if(obj[atn]){\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'attr>',atn,'ARRAY']);\n        \n\t\t\t\t\t\t\t\t// http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child\n\t\t\t\t\t\t\t\t//if(!obj[atn].length) obj[atn] = myArr(obj[atn]);//[ obj[ atn ] ];\n        obj[cnn] = myArr(obj[cnn]);\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tobj[atn][ obj[atn].length ] = atv;\n        obj[atn].length = obj[atn].length;\n       }\n       else{\n        /*DBG*/ //if(window.console) console.log(['x2j',nn,'attr>',atn,'TEXT']);\n        obj[atn] = atv;\n       };\n      });\n      //obj['attributes'] = att;\n     };//node.attributes.length>0\n    };//node.attributes\n    if(obj){\n     obj = $.extend( (txt!='' ? new String(txt) : {}),/* {text:txt},*/ obj || {}/*, att || {}*/);\n     //txt = (obj.text) ? (typeof(obj.text)=='object' ? obj.text : [obj.text || '']).concat([txt]) : txt;\n     txt = (obj.text) ? ([obj.text || '']).concat([txt]) : txt;\n     if(txt) obj.text = txt;\n     txt = '';\n    };\n    var out = obj || txt;\n    //console.log([extended, simple, out]);\n    if(extended){\n     if(txt) out = {};//new String(out);\n     txt = out.text || txt || '';\n     if(txt) out.text = txt;\n     if(!simple) out = myArr(out);\n    };\n    return out;\n   };// parseXML\n   // Core Function End\n   // Utility functions\n   var jsVar = function(s){ return String(s || '').replace(/-/g,\"_\"); };\n   \n\t\t\t// NEW isNum function: 01/09/2010\n\t\t\t// Thanks to Emile Grau, GigaTecnologies S.L., www.gigatransfer.com, www.mygigamail.com\n\t\t\tfunction isNum(s){\n\t\t\t\t// based on utility function isNum from xml2json plugin (http://www.fyneworks.com/ - diego@fyneworks.com)\n\t\t\t\t// few bugs corrected from original function :\n\t\t\t\t// - syntax error : regexp.test(string) instead of string.test(reg)\n\t\t\t\t// - regexp modified to accept  comma as decimal mark (latin syntax : 25,24 )\n\t\t\t\t// - regexp modified to reject if no number before decimal mark  : \".7\" is not accepted\n\t\t\t\t// - string is \"trimmed\", allowing to accept space at the beginning and end of string\n\t\t\t\tvar regexp=/^((-)?([0-9]+)(([\\.\\,]{0,1})([0-9]+))?$)/\n\t\t\t\treturn (typeof s == \"number\") || regexp.test(String((s && typeof s == \"string\") ? jQuery.trim(s) : ''));\n\t\t\t};\n\t\t\t// OLD isNum function: (for reference only)\n\t\t\t//var isNum = function(s){ return (typeof s == \"number\") || String((s && typeof s == \"string\") ? s : '').test(/^((-)?([0-9]*)((\\.{0,1})([0-9]+))?$)/); };\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n   var myArr = function(o){\n    \n\t\t\t\t// http://forum.jquery.com/topic/jquery-jquery-xml2json-problems-when-siblings-of-the-same-tagname-only-have-a-textnode-as-a-child\n\t\t\t\t//if(!o.length) o = [ o ]; o.length=o.length;\n    if(!$.isArray(o)) o = [ o ]; o.length=o.length;\n\t\t\t\t\n\t\t\t\t// here is where you can attach additional functionality, such as searching and sorting...\n    return o;\n   };\n   // Utility functions End\n   //### PARSER LIBRARY END\n   \n   // Convert plain text to xml\n   if(typeof xml=='string') xml = $.text2xml(xml);\n   \n   // Quick fail if not xml (or if this is a node)\n   if(!xml.nodeType) return;\n   if(xml.nodeType == 3 || xml.nodeType == 4) return xml.nodeValue;\n   \n   // Find xml root node\n   var root = (xml.nodeType == 9) ? xml.documentElement : xml;\n   \n   // Convert xml to json\n   var out = parseXML(root, true /* simple */);\n   \n   // Clean-up memory\n   xml = null; root = null;\n   \n   // Send output\n   return out;\n  },\n  \n  // Convert text to XML DOM\n  text2xml: function(str) {\n   // NOTE: I'd like to use jQuery for this, but jQuery makes all tags uppercase\n   //return $(xml)[0];\n   \n   /* prior to jquery 1.9 */\n   /*\n   var out;\n   try{\n    var xml = ((!$.support.opacity && !$.support.style))?new ActiveXObject(\"Microsoft.XMLDOM\"):new DOMParser();\n    xml.async = false;\n   }catch(e){ throw new Error(\"XML Parser could not be instantiated\") };\n   try{\n    if((!$.support.opacity && !$.support.style)) out = (xml.loadXML(str))?xml:false;\n    else out = xml.parseFromString(str, \"text/xml\");\n   }catch(e){ throw new Error(\"Error parsing XML string\") };\n   return out;\n   */\n\n   /* jquery 1.9+ */\n   return $.parseXML(str);\n  }\n\t\t\n }); // extend $\n\n})(jQuery);\n"
  },
  {
    "path": "docs/js/menu.js",
    "content": "var timeout    = 500;\nvar closetimer = 0;\nvar ddmenuitem = 0;\n\nfunction menu_open() {\n    menu_canceltimer();\n    menu_close();\n    ddmenuitem = $(this).find('ul').css('visibility', 'visible');\n}\n\nfunction menu_close() {\n    if (ddmenuitem) ddmenuitem.css('visibility', 'hidden');\n}\n\nfunction menu_timer() {\n    closetimer = window.setTimeout(menu_close, timeout);\n}\n\nfunction menu_canceltimer() {\n    if (closetimer) {\n        window.clearTimeout(closetimer);\n        closetimer = null;\n    }\n}\n\n$(document).ready(function() {\n    $('#file-nav > li').bind('mouseover', menu_open);\n    $('#file-nav > li').bind('mouseout', menu_timer);\n});\n\ndocument.onclick = menu_close;"
  },
  {
    "path": "docs/js/prettify/lang-apollo.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"com\",/^#[^\\n\\r]*/,null,\"#\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,null,'\"']],[[\"kwd\",/^(?:ADS|AD|AUG|BZF|BZMF|CAE|CAF|CA|CCS|COM|CS|DAS|DCA|DCOM|DCS|DDOUBL|DIM|DOUBLE|DTCB|DTCF|DV|DXCH|EDRUPT|EXTEND|INCR|INDEX|NDX|INHINT|LXCH|MASK|MSK|MP|MSU|NOOP|OVSK|QXCH|RAND|READ|RELINT|RESUME|RETURN|ROR|RXOR|SQUARE|SU|TCR|TCAA|OVSK|TCF|TC|TS|WAND|WOR|WRITE|XCH|XLQ|XXALQ|ZL|ZQ|ADD|ADZ|SUB|SUZ|MPY|MPR|MPZ|DVP|COM|ABS|CLA|CLZ|LDQ|STO|STQ|ALS|LLS|LRS|TRA|TSQ|TMI|TOV|AXT|TIX|DLY|INP|OUT)\\s/,\nnull],[\"typ\",/^(?:-?GENADR|=MINUS|2BCADR|VN|BOF|MM|-?2CADR|-?[1-6]DNADR|ADRES|BBCON|[ES]?BANK=?|BLOCK|BNKSUM|E?CADR|COUNT\\*?|2?DEC\\*?|-?DNCHAN|-?DNPTR|EQUALS|ERASE|MEMORY|2?OCT|REMADR|SETLOC|SUBRO|ORG|BSS|BES|SYN|EQU|DEFINE|END)\\s/,null],[\"lit\",/^'(?:-*(?:\\w|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?)?/],[\"pln\",/^-*(?:[!-z]|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?/],[\"pun\",/^[^\\w\\t\\n\\r \"'-);\\\\\\xa0]+/]]),[\"apollo\",\"agc\",\"aea\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-clj.js",
    "content": "/*\n Copyright (C) 2011 Google Inc.\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n*/\nvar a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"opn\",/^[([{]+/,a,\"([{\"],[\"clo\",/^[)\\]}]+/,a,\")]}\"],[\"com\",/^;[^\\n\\r]*/,a,\";\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,a,\"\\t\\n\\r \\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,a,'\"']],[[\"kwd\",/^(?:def|if|do|let|quote|var|fn|loop|recur|throw|try|monitor-enter|monitor-exit|defmacro|defn|defn-|macroexpand|macroexpand-1|for|doseq|dosync|dotimes|and|or|when|not|assert|doto|proxy|defstruct|first|rest|cons|defprotocol|deftype|defrecord|reify|defmulti|defmethod|meta|with-meta|ns|in-ns|create-ns|import|intern|refer|alias|namespace|resolve|ref|deref|refset|new|set!|memfn|to-array|into-array|aset|gen-class|reduce|map|filter|find|nil?|empty?|hash-map|hash-set|vec|vector|seq|flatten|reverse|assoc|dissoc|list|list?|disj|get|union|difference|intersection|extend|extend-type|extend-protocol|prn)\\b/,a],\n[\"typ\",/^:[\\dA-Za-z-]+/]]),[\"clj\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-css.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\f\\r ]+/,null,\" \\t\\r\\n\f\"]],[[\"str\",/^\"(?:[^\\n\\f\\r\"\\\\]|\\\\(?:\\r\\n?|\\n|\\f)|\\\\[\\S\\s])*\"/,null],[\"str\",/^'(?:[^\\n\\f\\r'\\\\]|\\\\(?:\\r\\n?|\\n|\\f)|\\\\[\\S\\s])*'/,null],[\"lang-css-str\",/^url\\(([^\"')]*)\\)/i],[\"kwd\",/^(?:url|rgb|!important|@import|@page|@media|@charset|inherit)(?=[^\\w-]|$)/i,null],[\"lang-css-kw\",/^(-?(?:[_a-z]|\\\\[\\da-f]+ ?)(?:[\\w-]|\\\\\\\\[\\da-f]+ ?)*)\\s*:/i],[\"com\",/^\\/\\*[^*]*\\*+(?:[^*/][^*]*\\*+)*\\//],[\"com\",\n/^(?:<\\!--|--\\>)/],[\"lit\",/^(?:\\d+|\\d*\\.\\d+)(?:%|[a-z]+)?/i],[\"lit\",/^#[\\da-f]{3,6}/i],[\"pln\",/^-?(?:[_a-z]|\\\\[\\da-f]+ ?)(?:[\\w-]|\\\\\\\\[\\da-f]+ ?)*/i],[\"pun\",/^[^\\s\\w\"']+/]]),[\"css\"]);PR.registerLangHandler(PR.createSimpleLexer([],[[\"kwd\",/^-?(?:[_a-z]|\\\\[\\da-f]+ ?)(?:[\\w-]|\\\\\\\\[\\da-f]+ ?)*/i]]),[\"css-kw\"]);PR.registerLangHandler(PR.createSimpleLexer([],[[\"str\",/^[^\"')]+/]]),[\"css-str\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-go.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"pln\",/^(?:\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])+(?:'|$)|`[^`]*(?:`|$))/,null,\"\\\"'\"]],[[\"com\",/^(?:\\/\\/[^\\n\\r]*|\\/\\*[\\S\\s]*?\\*\\/)/],[\"pln\",/^(?:[^\"'/`]|\\/(?![*/]))+/]]),[\"go\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-hs.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t-\\r ]+/,null,\"\\t\\n\u000b\f\\r \"],[\"str\",/^\"(?:[^\\n\\f\\r\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,null,'\"'],[\"str\",/^'(?:[^\\n\\f\\r'\\\\]|\\\\[^&])'?/,null,\"'\"],[\"lit\",/^(?:0o[0-7]+|0x[\\da-f]+|\\d+(?:\\.\\d+)?(?:e[+-]?\\d+)?)/i,null,\"0123456789\"]],[[\"com\",/^(?:--+[^\\n\\f\\r]*|{-(?:[^-]|-+[^}-])*-})/],[\"kwd\",/^(?:case|class|data|default|deriving|do|else|if|import|in|infix|infixl|infixr|instance|let|module|newtype|of|then|type|where|_)(?=[^\\d'A-Za-z]|$)/,\nnull],[\"pln\",/^(?:[A-Z][\\w']*\\.)*[A-Za-z][\\w']*/],[\"pun\",/^[^\\d\\t-\\r \"'A-Za-z]+/]]),[\"hs\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-lisp.js",
    "content": "var a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"opn\",/^\\(+/,a,\"(\"],[\"clo\",/^\\)+/,a,\")\"],[\"com\",/^;[^\\n\\r]*/,a,\";\"],[\"pln\",/^[\\t\\n\\r \\xa0]+/,a,\"\\t\\n\\r \\xa0\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)/,a,'\"']],[[\"kwd\",/^(?:block|c[ad]+r|catch|con[ds]|def(?:ine|un)|do|eq|eql|equal|equalp|eval-when|flet|format|go|if|labels|lambda|let|load-time-value|locally|macrolet|multiple-value-call|nil|progn|progv|quote|require|return-from|setq|symbol-macrolet|t|tagbody|the|throw|unwind)\\b/,a],\n[\"lit\",/^[+-]?(?:[#0]x[\\da-f]+|\\d+\\/\\d+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:[de][+-]?\\d+)?)/i],[\"lit\",/^'(?:-*(?:\\w|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?)?/],[\"pln\",/^-*(?:[_a-z]|\\\\[!-~])(?:[\\w-]*|\\\\[!-~])[!=?]?/i],[\"pun\",/^[^\\w\\t\\n\\r \"'-);\\\\\\xa0]+/]]),[\"cl\",\"el\",\"lisp\",\"scm\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-lua.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"str\",/^(?:\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])*(?:'|$))/,null,\"\\\"'\"]],[[\"com\",/^--(?:\\[(=*)\\[[\\S\\s]*?(?:]\\1]|$)|[^\\n\\r]*)/],[\"str\",/^\\[(=*)\\[[\\S\\s]*?(?:]\\1]|$)/],[\"kwd\",/^(?:and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while)\\b/,null],[\"lit\",/^[+-]?(?:0x[\\da-f]+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:e[+-]?\\d+)?)/i],\n[\"pln\",/^[_a-z]\\w*/i],[\"pun\",/^[^\\w\\t\\n\\r \\xa0][^\\w\\t\\n\\r \"'+=\\xa0-]*/]]),[\"lua\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-ml.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"com\",/^#(?:if[\\t\\n\\r \\xa0]+(?:[$_a-z][\\w']*|``[^\\t\\n\\r`]*(?:``|$))|else|endif|light)/i,null,\"#\"],[\"str\",/^(?:\"(?:[^\"\\\\]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\]|\\\\[\\S\\s])(?:'|$))/,null,\"\\\"'\"]],[[\"com\",/^(?:\\/\\/[^\\n\\r]*|\\(\\*[\\S\\s]*?\\*\\))/],[\"kwd\",/^(?:abstract|and|as|assert|begin|class|default|delegate|do|done|downcast|downto|elif|else|end|exception|extern|false|finally|for|fun|function|if|in|inherit|inline|interface|internal|lazy|let|match|member|module|mutable|namespace|new|null|of|open|or|override|private|public|rec|return|static|struct|then|to|true|try|type|upcast|use|val|void|when|while|with|yield|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue|eager|event|external|fixed|functor|global|include|method|mixin|object|parallel|process|protected|pure|sealed|trait|virtual|volatile)\\b/],\n[\"lit\",/^[+-]?(?:0x[\\da-f]+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:e[+-]?\\d+)?)/i],[\"pln\",/^(?:[_a-z][\\w']*[!#?]?|``[^\\t\\n\\r`]*(?:``|$))/i],[\"pun\",/^[^\\w\\t\\n\\r \"'\\xa0]+/]]),[\"fs\",\"ml\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-n.js",
    "content": "var a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"str\",/^(?:'(?:[^\\n\\r'\\\\]|\\\\.)*'|\"(?:[^\\n\\r\"\\\\]|\\\\.)*(?:\"|$))/,a,'\"'],[\"com\",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\\b|[^\\n\\r]*)/,a,\"#\"],[\"pln\",/^\\s+/,a,\" \\r\\n\\t\\xa0\"]],[[\"str\",/^@\"(?:[^\"]|\"\")*(?:\"|$)/,a],[\"str\",/^<#[^#>]*(?:#>|$)/,a],[\"str\",/^<(?:(?:(?:\\.\\.\\/)*|\\/?)(?:[\\w-]+(?:\\/[\\w-]+)+)?[\\w-]+\\.h|[a-z]\\w*)>/,a],[\"com\",/^\\/\\/[^\\n\\r]*/,a],[\"com\",/^\\/\\*[\\S\\s]*?(?:\\*\\/|$)/,\na],[\"kwd\",/^(?:abstract|and|as|base|catch|class|def|delegate|enum|event|extern|false|finally|fun|implements|interface|internal|is|macro|match|matches|module|mutable|namespace|new|null|out|override|params|partial|private|protected|public|ref|sealed|static|struct|syntax|this|throw|true|try|type|typeof|using|variant|virtual|volatile|when|where|with|assert|assert2|async|break|checked|continue|do|else|ensures|for|foreach|if|late|lock|new|nolate|otherwise|regexp|repeat|requires|return|surroundwith|unchecked|unless|using|while|yield)\\b/,\na],[\"typ\",/^(?:array|bool|byte|char|decimal|double|float|int|list|long|object|sbyte|short|string|ulong|uint|ufloat|ulong|ushort|void)\\b/,a],[\"lit\",/^@[$_a-z][\\w$@]*/i,a],[\"typ\",/^@[A-Z]+[a-z][\\w$@]*/,a],[\"pln\",/^'?[$_a-z][\\w$@]*/i,a],[\"lit\",/^(?:0x[\\da-f]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+-]?\\d+)?)[a-z]*/i,a,\"0123456789\"],[\"pun\",/^.[^\\s\\w\"-$'./@`]*/,a]]),[\"n\",\"nemerle\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-proto.js",
    "content": "PR.registerLangHandler(PR.sourceDecorator({keywords:\"bytes,default,double,enum,extend,extensions,false,group,import,max,message,option,optional,package,repeated,required,returns,rpc,service,syntax,to,true\",types:/^(bool|(double|s?fixed|[su]?int)(32|64)|float|string)\\b/,cStyleComments:!0}),[\"proto\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-scala.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"str\",/^\"(?:\"\"(?:\"\"?(?!\")|[^\"\\\\]|\\\\.)*\"{0,3}|(?:[^\\n\\r\"\\\\]|\\\\.)*\"?)/,null,'\"'],[\"lit\",/^`(?:[^\\n\\r\\\\`]|\\\\.)*`?/,null,\"`\"],[\"pun\",/^[!#%&(--:-@[-^{-~]+/,null,\"!#%&()*+,-:;<=>?@[\\\\]^{|}~\"]],[[\"str\",/^'(?:[^\\n\\r'\\\\]|\\\\(?:'|[^\\n\\r']+))'/],[\"lit\",/^'[$A-Z_a-z][\\w$]*(?![\\w$'])/],[\"kwd\",/^(?:abstract|case|catch|class|def|do|else|extends|final|finally|for|forSome|if|implicit|import|lazy|match|new|object|override|package|private|protected|requires|return|sealed|super|throw|trait|try|type|val|var|while|with|yield)\\b/],\n[\"lit\",/^(?:true|false|null|this)\\b/],[\"lit\",/^(?:0(?:[0-7]+|x[\\da-f]+)l?|(?:0|[1-9]\\d*)(?:(?:\\.\\d+)?(?:e[+-]?\\d+)?f?|l?)|\\\\.\\d+(?:e[+-]?\\d+)?f?)/i],[\"typ\",/^[$_]*[A-Z][\\d$A-Z_]*[a-z][\\w$]*/],[\"pln\",/^[$A-Z_a-z][\\w$]*/],[\"com\",/^\\/(?:\\/.*|\\*(?:\\/|\\**[^*/])*(?:\\*+\\/?)?)/],[\"pun\",/^(?:\\.+|\\/)/]]),[\"scala\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-sql.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"str\",/^(?:\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*')/,null,\"\\\"'\"]],[[\"com\",/^(?:--[^\\n\\r]*|\\/\\*[\\S\\s]*?(?:\\*\\/|$))/],[\"kwd\",/^(?:add|all|alter|and|any|as|asc|authorization|backup|begin|between|break|browse|bulk|by|cascade|case|check|checkpoint|close|clustered|coalesce|collate|column|commit|compute|constraint|contains|containstable|continue|convert|create|cross|current|current_date|current_time|current_timestamp|current_user|cursor|database|dbcc|deallocate|declare|default|delete|deny|desc|disk|distinct|distributed|double|drop|dummy|dump|else|end|errlvl|escape|except|exec|execute|exists|exit|fetch|file|fillfactor|for|foreign|freetext|freetexttable|from|full|function|goto|grant|group|having|holdlock|identity|identitycol|identity_insert|if|in|index|inner|insert|intersect|into|is|join|key|kill|left|like|lineno|load|match|merge|national|nocheck|nonclustered|not|null|nullif|of|off|offsets|on|open|opendatasource|openquery|openrowset|openxml|option|or|order|outer|over|percent|plan|precision|primary|print|proc|procedure|public|raiserror|read|readtext|reconfigure|references|replication|restore|restrict|return|revoke|right|rollback|rowcount|rowguidcol|rule|save|schema|select|session_user|set|setuser|shutdown|some|statistics|system_user|table|textsize|then|to|top|tran|transaction|trigger|truncate|tsequal|union|unique|update|updatetext|use|user|using|values|varying|view|waitfor|when|where|while|with|writetext)(?=[^\\w-]|$)/i,\nnull],[\"lit\",/^[+-]?(?:0x[\\da-f]+|(?:\\.\\d+|\\d+(?:\\.\\d*)?)(?:e[+-]?\\d+)?)/i],[\"pln\",/^[_a-z][\\w-]*/i],[\"pun\",/^[^\\w\\t\\n\\r \"'\\xa0][^\\w\\t\\n\\r \"'+\\xa0-]*/]]),[\"sql\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-tex.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"],[\"com\",/^%[^\\n\\r]*/,null,\"%\"]],[[\"kwd\",/^\\\\[@-Za-z]+/],[\"kwd\",/^\\\\./],[\"typ\",/^[$&]/],[\"lit\",/[+-]?(?:\\.\\d+|\\d+(?:\\.\\d*)?)(cm|em|ex|in|pc|pt|bp|mm)/i],[\"pun\",/^[()=[\\]{}]+/]]),[\"latex\",\"tex\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-vb.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0\\u2028\\u2029]+/,null,\"\\t\\n\\r \\xa0  \"],[\"str\",/^(?:[\"\\u201c\\u201d](?:[^\"\\u201c\\u201d]|[\"\\u201c\\u201d]{2})(?:[\"\\u201c\\u201d]c|$)|[\"\\u201c\\u201d](?:[^\"\\u201c\\u201d]|[\"\\u201c\\u201d]{2})*(?:[\"\\u201c\\u201d]|$))/i,null,'\"“”'],[\"com\",/^['\\u2018\\u2019].*/,null,\"'‘’\"]],[[\"kwd\",/^(?:addhandler|addressof|alias|and|andalso|ansi|as|assembly|auto|boolean|byref|byte|byval|call|case|catch|cbool|cbyte|cchar|cdate|cdbl|cdec|char|cint|class|clng|cobj|const|cshort|csng|cstr|ctype|date|decimal|declare|default|delegate|dim|directcast|do|double|each|else|elseif|end|endif|enum|erase|error|event|exit|finally|for|friend|function|get|gettype|gosub|goto|handles|if|implements|imports|in|inherits|integer|interface|is|let|lib|like|long|loop|me|mod|module|mustinherit|mustoverride|mybase|myclass|namespace|new|next|not|notinheritable|notoverridable|object|on|option|optional|or|orelse|overloads|overridable|overrides|paramarray|preserve|private|property|protected|public|raiseevent|readonly|redim|removehandler|resume|return|select|set|shadows|shared|short|single|static|step|stop|string|structure|sub|synclock|then|throw|to|try|typeof|unicode|until|variant|wend|when|while|with|withevents|writeonly|xor|endif|gosub|let|variant|wend)\\b/i,\nnull],[\"com\",/^rem.*/i],[\"lit\",/^(?:true\\b|false\\b|nothing\\b|\\d+(?:e[+-]?\\d+[dfr]?|[dfilrs])?|(?:&h[\\da-f]+|&o[0-7]+)[ils]?|\\d*\\.\\d+(?:e[+-]?\\d+)?[dfr]?|#\\s+(?:\\d+[/-]\\d+[/-]\\d+(?:\\s+\\d+:\\d+(?::\\d+)?(\\s*(?:am|pm))?)?|\\d+:\\d+(?::\\d+)?(\\s*(?:am|pm))?)\\s+#)/i],[\"pln\",/^(?:(?:[a-z]|_\\w)\\w*|\\[(?:[a-z]|_\\w)\\w*])/i],[\"pun\",/^[^\\w\\t\\n\\r \"'[\\]\\xa0\\u2018\\u2019\\u201c\\u201d\\u2028\\u2029]+/],[\"pun\",/^(?:\\[|])/]]),[\"vb\",\"vbs\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-vhdl.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\t\\n\\r \\xa0]+/,null,\"\\t\\n\\r \\xa0\"]],[[\"str\",/^(?:[box]?\"(?:[^\"]|\"\")*\"|'.')/i],[\"com\",/^--[^\\n\\r]*/],[\"kwd\",/^(?:abs|access|after|alias|all|and|architecture|array|assert|attribute|begin|block|body|buffer|bus|case|component|configuration|constant|disconnect|downto|else|elsif|end|entity|exit|file|for|function|generate|generic|group|guarded|if|impure|in|inertial|inout|is|label|library|linkage|literal|loop|map|mod|nand|new|next|nor|not|null|of|on|open|or|others|out|package|port|postponed|procedure|process|pure|range|record|register|reject|rem|report|return|rol|ror|select|severity|shared|signal|sla|sll|sra|srl|subtype|then|to|transport|type|unaffected|units|until|use|variable|wait|when|while|with|xnor|xor)(?=[^\\w-]|$)/i,\nnull],[\"typ\",/^(?:bit|bit_vector|character|boolean|integer|real|time|string|severity_level|positive|natural|signed|unsigned|line|text|std_u?logic(?:_vector)?)(?=[^\\w-]|$)/i,null],[\"typ\",/^'(?:active|ascending|base|delayed|driving|driving_value|event|high|image|instance_name|last_active|last_event|last_value|left|leftof|length|low|path_name|pos|pred|quiet|range|reverse_range|right|rightof|simple_name|stable|succ|transaction|val|value)(?=[^\\w-]|$)/i,null],[\"lit\",/^\\d+(?:_\\d+)*(?:#[\\w.\\\\]+#(?:[+-]?\\d+(?:_\\d+)*)?|(?:\\.\\d+(?:_\\d+)*)?(?:e[+-]?\\d+(?:_\\d+)*)?)/i],\n[\"pln\",/^(?:[a-z]\\w*|\\\\[^\\\\]*\\\\)/i],[\"pun\",/^[^\\w\\t\\n\\r \"'\\xa0][^\\w\\t\\n\\r \"'\\xa0-]*/]]),[\"vhdl\",\"vhd\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-wiki.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"pln\",/^[\\d\\t a-gi-z\\xa0]+/,null,\"\\t \\xa0abcdefgijklmnopqrstuvwxyz0123456789\"],[\"pun\",/^[*=[\\]^~]+/,null,\"=*~^[]\"]],[[\"lang-wiki.meta\",/(?:^^|\\r\\n?|\\n)(#[a-z]+)\\b/],[\"lit\",/^[A-Z][a-z][\\da-z]+[A-Z][a-z][^\\W_]+\\b/],[\"lang-\",/^{{{([\\S\\s]+?)}}}/],[\"lang-\",/^`([^\\n\\r`]+)`/],[\"str\",/^https?:\\/\\/[^\\s#/?]*(?:\\/[^\\s#?]*)?(?:\\?[^\\s#]*)?(?:#\\S*)?/i],[\"pln\",/^(?:\\r\\n|[\\S\\s])[^\\n\\r#*=A-[^`h{~]*/]]),[\"wiki\"]);\nPR.registerLangHandler(PR.createSimpleLexer([[\"kwd\",/^#[a-z]+/i,null,\"#\"]],[]),[\"wiki.meta\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-xq.js",
    "content": "PR.registerLangHandler(PR.createSimpleLexer([[\"var pln\",/^\\$[\\w-]+/,null,\"$\"]],[[\"pln\",/^[\\s=][<>][\\s=]/],[\"lit\",/^@[\\w-]+/],[\"tag\",/^<\\/?[a-z](?:[\\w-.:]*\\w)?|\\/?>$/i],[\"com\",/^\\(:[\\S\\s]*?:\\)/],[\"pln\",/^[(),/;[\\]{}]$/],[\"str\",/^(?:\"(?:[^\"\\\\{]|\\\\[\\S\\s])*(?:\"|$)|'(?:[^'\\\\{]|\\\\[\\S\\s])*(?:'|$))/,null,\"\\\"'\"],[\"kwd\",/^(?:xquery|where|version|variable|union|typeswitch|treat|to|then|text|stable|sortby|some|self|schema|satisfies|returns|return|ref|processing-instruction|preceding-sibling|preceding|precedes|parent|only|of|node|namespace|module|let|item|intersect|instance|in|import|if|function|for|follows|following-sibling|following|external|except|every|else|element|descending|descendant-or-self|descendant|define|default|declare|comment|child|cast|case|before|attribute|assert|ascending|as|ancestor-or-self|ancestor|after|eq|order|by|or|and|schema-element|document-node|node|at)\\b/],\n[\"typ\",/^(?:xs:yearMonthDuration|xs:unsignedLong|xs:time|xs:string|xs:short|xs:QName|xs:Name|xs:long|xs:integer|xs:int|xs:gYearMonth|xs:gYear|xs:gMonthDay|xs:gDay|xs:float|xs:duration|xs:double|xs:decimal|xs:dayTimeDuration|xs:dateTime|xs:date|xs:byte|xs:boolean|xs:anyURI|xf:yearMonthDuration)\\b/,null],[\"fun pln\",/^(?:xp:dereference|xinc:node-expand|xinc:link-references|xinc:link-expand|xhtml:restructure|xhtml:clean|xhtml:add-lists|xdmp:zip-manifest|xdmp:zip-get|xdmp:zip-create|xdmp:xquery-version|xdmp:word-convert|xdmp:with-namespaces|xdmp:version|xdmp:value|xdmp:user-roles|xdmp:user-last-login|xdmp:user|xdmp:url-encode|xdmp:url-decode|xdmp:uri-is-file|xdmp:uri-format|xdmp:uri-content-type|xdmp:unquote|xdmp:unpath|xdmp:triggers-database|xdmp:trace|xdmp:to-json|xdmp:tidy|xdmp:subbinary|xdmp:strftime|xdmp:spawn-in|xdmp:spawn|xdmp:sleep|xdmp:shutdown|xdmp:set-session-field|xdmp:set-response-encoding|xdmp:set-response-content-type|xdmp:set-response-code|xdmp:set-request-time-limit|xdmp:set|xdmp:servers|xdmp:server-status|xdmp:server-name|xdmp:server|xdmp:security-database|xdmp:security-assert|xdmp:schema-database|xdmp:save|xdmp:role-roles|xdmp:role|xdmp:rethrow|xdmp:restart|xdmp:request-timestamp|xdmp:request-status|xdmp:request-cancel|xdmp:request|xdmp:redirect-response|xdmp:random|xdmp:quote|xdmp:query-trace|xdmp:query-meters|xdmp:product-edition|xdmp:privilege-roles|xdmp:privilege|xdmp:pretty-print|xdmp:powerpoint-convert|xdmp:platform|xdmp:permission|xdmp:pdf-convert|xdmp:path|xdmp:octal-to-integer|xdmp:node-uri|xdmp:node-replace|xdmp:node-kind|xdmp:node-insert-child|xdmp:node-insert-before|xdmp:node-insert-after|xdmp:node-delete|xdmp:node-database|xdmp:mul64|xdmp:modules-root|xdmp:modules-database|xdmp:merging|xdmp:merge-cancel|xdmp:merge|xdmp:md5|xdmp:logout|xdmp:login|xdmp:log-level|xdmp:log|xdmp:lock-release|xdmp:lock-acquire|xdmp:load|xdmp:invoke-in|xdmp:invoke|xdmp:integer-to-octal|xdmp:integer-to-hex|xdmp:http-put|xdmp:http-post|xdmp:http-options|xdmp:http-head|xdmp:http-get|xdmp:http-delete|xdmp:hosts|xdmp:host-status|xdmp:host-name|xdmp:host|xdmp:hex-to-integer|xdmp:hash64|xdmp:hash32|xdmp:has-privilege|xdmp:groups|xdmp:group-serves|xdmp:group-servers|xdmp:group-name|xdmp:group-hosts|xdmp:group|xdmp:get-session-field-names|xdmp:get-session-field|xdmp:get-response-encoding|xdmp:get-response-code|xdmp:get-request-username|xdmp:get-request-user|xdmp:get-request-url|xdmp:get-request-protocol|xdmp:get-request-path|xdmp:get-request-method|xdmp:get-request-header-names|xdmp:get-request-header|xdmp:get-request-field-names|xdmp:get-request-field-filename|xdmp:get-request-field-content-type|xdmp:get-request-field|xdmp:get-request-client-certificate|xdmp:get-request-client-address|xdmp:get-request-body|xdmp:get-current-user|xdmp:get-current-roles|xdmp:get|xdmp:function-name|xdmp:function-module|xdmp:function|xdmp:from-json|xdmp:forests|xdmp:forest-status|xdmp:forest-restore|xdmp:forest-restart|xdmp:forest-name|xdmp:forest-delete|xdmp:forest-databases|xdmp:forest-counts|xdmp:forest-clear|xdmp:forest-backup|xdmp:forest|xdmp:filesystem-file|xdmp:filesystem-directory|xdmp:exists|xdmp:excel-convert|xdmp:eval-in|xdmp:eval|xdmp:estimate|xdmp:email|xdmp:element-content-type|xdmp:elapsed-time|xdmp:document-set-quality|xdmp:document-set-property|xdmp:document-set-properties|xdmp:document-set-permissions|xdmp:document-set-collections|xdmp:document-remove-properties|xdmp:document-remove-permissions|xdmp:document-remove-collections|xdmp:document-properties|xdmp:document-locks|xdmp:document-load|xdmp:document-insert|xdmp:document-get-quality|xdmp:document-get-properties|xdmp:document-get-permissions|xdmp:document-get-collections|xdmp:document-get|xdmp:document-forest|xdmp:document-delete|xdmp:document-add-properties|xdmp:document-add-permissions|xdmp:document-add-collections|xdmp:directory-properties|xdmp:directory-locks|xdmp:directory-delete|xdmp:directory-create|xdmp:directory|xdmp:diacritic-less|xdmp:describe|xdmp:default-permissions|xdmp:default-collections|xdmp:databases|xdmp:database-restore-validate|xdmp:database-restore-status|xdmp:database-restore-cancel|xdmp:database-restore|xdmp:database-name|xdmp:database-forests|xdmp:database-backup-validate|xdmp:database-backup-status|xdmp:database-backup-purge|xdmp:database-backup-cancel|xdmp:database-backup|xdmp:database|xdmp:collection-properties|xdmp:collection-locks|xdmp:collection-delete|xdmp:collation-canonical-uri|xdmp:castable-as|xdmp:can-grant-roles|xdmp:base64-encode|xdmp:base64-decode|xdmp:architecture|xdmp:apply|xdmp:amp-roles|xdmp:amp|xdmp:add64|xdmp:add-response-header|xdmp:access|trgr:trigger-set-recursive|trgr:trigger-set-permissions|trgr:trigger-set-name|trgr:trigger-set-module|trgr:trigger-set-event|trgr:trigger-set-description|trgr:trigger-remove-permissions|trgr:trigger-module|trgr:trigger-get-permissions|trgr:trigger-enable|trgr:trigger-disable|trgr:trigger-database-online-event|trgr:trigger-data-event|trgr:trigger-add-permissions|trgr:remove-trigger|trgr:property-content|trgr:pre-commit|trgr:post-commit|trgr:get-trigger-by-id|trgr:get-trigger|trgr:document-scope|trgr:document-content|trgr:directory-scope|trgr:create-trigger|trgr:collection-scope|trgr:any-property-content|thsr:set-entry|thsr:remove-term|thsr:remove-synonym|thsr:remove-entry|thsr:query-lookup|thsr:lookup|thsr:load|thsr:insert|thsr:expand|thsr:add-synonym|spell:suggest-detailed|spell:suggest|spell:remove-word|spell:make-dictionary|spell:load|spell:levenshtein-distance|spell:is-correct|spell:insert|spell:double-metaphone|spell:add-word|sec:users-collection|sec:user-set-roles|sec:user-set-password|sec:user-set-name|sec:user-set-description|sec:user-set-default-permissions|sec:user-set-default-collections|sec:user-remove-roles|sec:user-privileges|sec:user-get-roles|sec:user-get-description|sec:user-get-default-permissions|sec:user-get-default-collections|sec:user-doc-permissions|sec:user-doc-collections|sec:user-add-roles|sec:unprotect-collection|sec:uid-for-name|sec:set-realm|sec:security-version|sec:security-namespace|sec:security-installed|sec:security-collection|sec:roles-collection|sec:role-set-roles|sec:role-set-name|sec:role-set-description|sec:role-set-default-permissions|sec:role-set-default-collections|sec:role-remove-roles|sec:role-privileges|sec:role-get-roles|sec:role-get-description|sec:role-get-default-permissions|sec:role-get-default-collections|sec:role-doc-permissions|sec:role-doc-collections|sec:role-add-roles|sec:remove-user|sec:remove-role-from-users|sec:remove-role-from-role|sec:remove-role-from-privileges|sec:remove-role-from-amps|sec:remove-role|sec:remove-privilege|sec:remove-amp|sec:protect-collection|sec:privileges-collection|sec:privilege-set-roles|sec:privilege-set-name|sec:privilege-remove-roles|sec:privilege-get-roles|sec:privilege-add-roles|sec:priv-doc-permissions|sec:priv-doc-collections|sec:get-user-names|sec:get-unique-elem-id|sec:get-role-names|sec:get-role-ids|sec:get-privilege|sec:get-distinct-permissions|sec:get-collection|sec:get-amp|sec:create-user-with-role|sec:create-user|sec:create-role|sec:create-privilege|sec:create-amp|sec:collections-collection|sec:collection-set-permissions|sec:collection-remove-permissions|sec:collection-get-permissions|sec:collection-add-permissions|sec:check-admin|sec:amps-collection|sec:amp-set-roles|sec:amp-remove-roles|sec:amp-get-roles|sec:amp-doc-permissions|sec:amp-doc-collections|sec:amp-add-roles|search:unparse|search:suggest|search:snippet|search:search|search:resolve-nodes|search:resolve|search:remove-constraint|search:parse|search:get-default-options|search:estimate|search:check-options|prof:value|prof:reset|prof:report|prof:invoke|prof:eval|prof:enable|prof:disable|prof:allowed|ppt:clean|pki:template-set-request|pki:template-set-name|pki:template-set-key-type|pki:template-set-key-options|pki:template-set-description|pki:template-in-use|pki:template-get-version|pki:template-get-request|pki:template-get-name|pki:template-get-key-type|pki:template-get-key-options|pki:template-get-id|pki:template-get-description|pki:need-certificate|pki:is-temporary|pki:insert-trusted-certificates|pki:insert-template|pki:insert-signed-certificates|pki:insert-certificate-revocation-list|pki:get-trusted-certificate-ids|pki:get-template-ids|pki:get-template-certificate-authority|pki:get-template-by-name|pki:get-template|pki:get-pending-certificate-requests-xml|pki:get-pending-certificate-requests-pem|pki:get-pending-certificate-request|pki:get-certificates-for-template-xml|pki:get-certificates-for-template|pki:get-certificates|pki:get-certificate-xml|pki:get-certificate-pem|pki:get-certificate|pki:generate-temporary-certificate-if-necessary|pki:generate-temporary-certificate|pki:generate-template-certificate-authority|pki:generate-certificate-request|pki:delete-template|pki:delete-certificate|pki:create-template|pdf:make-toc|pdf:insert-toc-headers|pdf:get-toc|pdf:clean|p:status-transition|p:state-transition|p:remove|p:pipelines|p:insert|p:get-by-id|p:get|p:execute|p:create|p:condition|p:collection|p:action|ooxml:runs-merge|ooxml:package-uris|ooxml:package-parts-insert|ooxml:package-parts|msword:clean|mcgm:polygon|mcgm:point|mcgm:geospatial-query-from-elements|mcgm:geospatial-query|mcgm:circle|math:tanh|math:tan|math:sqrt|math:sinh|math:sin|math:pow|math:modf|math:log10|math:log|math:ldexp|math:frexp|math:fmod|math:floor|math:fabs|math:exp|math:cosh|math:cos|math:ceil|math:atan2|math:atan|math:asin|math:acos|map:put|map:map|map:keys|map:get|map:delete|map:count|map:clear|lnk:to|lnk:remove|lnk:insert|lnk:get|lnk:from|lnk:create|kml:polygon|kml:point|kml:interior-polygon|kml:geospatial-query-from-elements|kml:geospatial-query|kml:circle|kml:box|gml:polygon|gml:point|gml:interior-polygon|gml:geospatial-query-from-elements|gml:geospatial-query|gml:circle|gml:box|georss:point|georss:geospatial-query|georss:circle|geo:polygon|geo:point|geo:interior-polygon|geo:geospatial-query-from-elements|geo:geospatial-query|geo:circle|geo:box|fn:zero-or-one|fn:years-from-duration|fn:year-from-dateTime|fn:year-from-date|fn:upper-case|fn:unordered|fn:true|fn:translate|fn:trace|fn:tokenize|fn:timezone-from-time|fn:timezone-from-dateTime|fn:timezone-from-date|fn:sum|fn:subtract-dateTimes-yielding-yearMonthDuration|fn:subtract-dateTimes-yielding-dayTimeDuration|fn:substring-before|fn:substring-after|fn:substring|fn:subsequence|fn:string-to-codepoints|fn:string-pad|fn:string-length|fn:string-join|fn:string|fn:static-base-uri|fn:starts-with|fn:seconds-from-time|fn:seconds-from-duration|fn:seconds-from-dateTime|fn:round-half-to-even|fn:round|fn:root|fn:reverse|fn:resolve-uri|fn:resolve-QName|fn:replace|fn:remove|fn:QName|fn:prefix-from-QName|fn:position|fn:one-or-more|fn:number|fn:not|fn:normalize-unicode|fn:normalize-space|fn:node-name|fn:node-kind|fn:nilled|fn:namespace-uri-from-QName|fn:namespace-uri-for-prefix|fn:namespace-uri|fn:name|fn:months-from-duration|fn:month-from-dateTime|fn:month-from-date|fn:minutes-from-time|fn:minutes-from-duration|fn:minutes-from-dateTime|fn:min|fn:max|fn:matches|fn:lower-case|fn:local-name-from-QName|fn:local-name|fn:last|fn:lang|fn:iri-to-uri|fn:insert-before|fn:index-of|fn:in-scope-prefixes|fn:implicit-timezone|fn:idref|fn:id|fn:hours-from-time|fn:hours-from-duration|fn:hours-from-dateTime|fn:floor|fn:false|fn:expanded-QName|fn:exists|fn:exactly-one|fn:escape-uri|fn:escape-html-uri|fn:error|fn:ends-with|fn:encode-for-uri|fn:empty|fn:document-uri|fn:doc-available|fn:doc|fn:distinct-values|fn:distinct-nodes|fn:default-collation|fn:deep-equal|fn:days-from-duration|fn:day-from-dateTime|fn:day-from-date|fn:data|fn:current-time|fn:current-dateTime|fn:current-date|fn:count|fn:contains|fn:concat|fn:compare|fn:collection|fn:codepoints-to-string|fn:codepoint-equal|fn:ceiling|fn:boolean|fn:base-uri|fn:avg|fn:adjust-time-to-timezone|fn:adjust-dateTime-to-timezone|fn:adjust-date-to-timezone|fn:abs|feed:unsubscribe|feed:subscription|feed:subscribe|feed:request|feed:item|feed:description|excel:clean|entity:enrich|dom:set-pipelines|dom:set-permissions|dom:set-name|dom:set-evaluation-context|dom:set-domain-scope|dom:set-description|dom:remove-pipeline|dom:remove-permissions|dom:remove|dom:get|dom:evaluation-context|dom:domains|dom:domain-scope|dom:create|dom:configuration-set-restart-user|dom:configuration-set-permissions|dom:configuration-set-evaluation-context|dom:configuration-set-default-domain|dom:configuration-get|dom:configuration-create|dom:collection|dom:add-pipeline|dom:add-permissions|dls:retention-rules|dls:retention-rule-remove|dls:retention-rule-insert|dls:retention-rule|dls:purge|dls:node-expand|dls:link-references|dls:link-expand|dls:documents-query|dls:document-versions-query|dls:document-version-uri|dls:document-version-query|dls:document-version-delete|dls:document-version-as-of|dls:document-version|dls:document-update|dls:document-unmanage|dls:document-set-quality|dls:document-set-property|dls:document-set-properties|dls:document-set-permissions|dls:document-set-collections|dls:document-retention-rules|dls:document-remove-properties|dls:document-remove-permissions|dls:document-remove-collections|dls:document-purge|dls:document-manage|dls:document-is-managed|dls:document-insert-and-manage|dls:document-include-query|dls:document-history|dls:document-get-permissions|dls:document-extract-part|dls:document-delete|dls:document-checkout-status|dls:document-checkout|dls:document-checkin|dls:document-add-properties|dls:document-add-permissions|dls:document-add-collections|dls:break-checkout|dls:author-query|dls:as-of-query|dbk:convert|dbg:wait|dbg:value|dbg:stopped|dbg:stop|dbg:step|dbg:status|dbg:stack|dbg:out|dbg:next|dbg:line|dbg:invoke|dbg:function|dbg:finish|dbg:expr|dbg:eval|dbg:disconnect|dbg:detach|dbg:continue|dbg:connect|dbg:clear|dbg:breakpoints|dbg:break|dbg:attached|dbg:attach|cvt:save-converted-documents|cvt:part-uri|cvt:destination-uri|cvt:basepath|cvt:basename|cts:words|cts:word-query-weight|cts:word-query-text|cts:word-query-options|cts:word-query|cts:word-match|cts:walk|cts:uris|cts:uri-match|cts:train|cts:tokenize|cts:thresholds|cts:stem|cts:similar-query-weight|cts:similar-query-nodes|cts:similar-query|cts:shortest-distance|cts:search|cts:score|cts:reverse-query-weight|cts:reverse-query-nodes|cts:reverse-query|cts:remainder|cts:registered-query-weight|cts:registered-query-options|cts:registered-query-ids|cts:registered-query|cts:register|cts:query|cts:quality|cts:properties-query-query|cts:properties-query|cts:polygon-vertices|cts:polygon|cts:point-longitude|cts:point-latitude|cts:point|cts:or-query-queries|cts:or-query|cts:not-query-weight|cts:not-query-query|cts:not-query|cts:near-query-weight|cts:near-query-queries|cts:near-query-options|cts:near-query-distance|cts:near-query|cts:highlight|cts:geospatial-co-occurrences|cts:frequency|cts:fitness|cts:field-words|cts:field-word-query-weight|cts:field-word-query-text|cts:field-word-query-options|cts:field-word-query-field-name|cts:field-word-query|cts:field-word-match|cts:entity-highlight|cts:element-words|cts:element-word-query-weight|cts:element-word-query-text|cts:element-word-query-options|cts:element-word-query-element-name|cts:element-word-query|cts:element-word-match|cts:element-values|cts:element-value-ranges|cts:element-value-query-weight|cts:element-value-query-text|cts:element-value-query-options|cts:element-value-query-element-name|cts:element-value-query|cts:element-value-match|cts:element-value-geospatial-co-occurrences|cts:element-value-co-occurrences|cts:element-range-query-weight|cts:element-range-query-value|cts:element-range-query-options|cts:element-range-query-operator|cts:element-range-query-element-name|cts:element-range-query|cts:element-query-query|cts:element-query-element-name|cts:element-query|cts:element-pair-geospatial-values|cts:element-pair-geospatial-value-match|cts:element-pair-geospatial-query-weight|cts:element-pair-geospatial-query-region|cts:element-pair-geospatial-query-options|cts:element-pair-geospatial-query-longitude-name|cts:element-pair-geospatial-query-latitude-name|cts:element-pair-geospatial-query-element-name|cts:element-pair-geospatial-query|cts:element-pair-geospatial-boxes|cts:element-geospatial-values|cts:element-geospatial-value-match|cts:element-geospatial-query-weight|cts:element-geospatial-query-region|cts:element-geospatial-query-options|cts:element-geospatial-query-element-name|cts:element-geospatial-query|cts:element-geospatial-boxes|cts:element-child-geospatial-values|cts:element-child-geospatial-value-match|cts:element-child-geospatial-query-weight|cts:element-child-geospatial-query-region|cts:element-child-geospatial-query-options|cts:element-child-geospatial-query-element-name|cts:element-child-geospatial-query-child-name|cts:element-child-geospatial-query|cts:element-child-geospatial-boxes|cts:element-attribute-words|cts:element-attribute-word-query-weight|cts:element-attribute-word-query-text|cts:element-attribute-word-query-options|cts:element-attribute-word-query-element-name|cts:element-attribute-word-query-attribute-name|cts:element-attribute-word-query|cts:element-attribute-word-match|cts:element-attribute-values|cts:element-attribute-value-ranges|cts:element-attribute-value-query-weight|cts:element-attribute-value-query-text|cts:element-attribute-value-query-options|cts:element-attribute-value-query-element-name|cts:element-attribute-value-query-attribute-name|cts:element-attribute-value-query|cts:element-attribute-value-match|cts:element-attribute-value-geospatial-co-occurrences|cts:element-attribute-value-co-occurrences|cts:element-attribute-range-query-weight|cts:element-attribute-range-query-value|cts:element-attribute-range-query-options|cts:element-attribute-range-query-operator|cts:element-attribute-range-query-element-name|cts:element-attribute-range-query-attribute-name|cts:element-attribute-range-query|cts:element-attribute-pair-geospatial-values|cts:element-attribute-pair-geospatial-value-match|cts:element-attribute-pair-geospatial-query-weight|cts:element-attribute-pair-geospatial-query-region|cts:element-attribute-pair-geospatial-query-options|cts:element-attribute-pair-geospatial-query-longitude-name|cts:element-attribute-pair-geospatial-query-latitude-name|cts:element-attribute-pair-geospatial-query-element-name|cts:element-attribute-pair-geospatial-query|cts:element-attribute-pair-geospatial-boxes|cts:document-query-uris|cts:document-query|cts:distance|cts:directory-query-uris|cts:directory-query-depth|cts:directory-query|cts:destination|cts:deregister|cts:contains|cts:confidence|cts:collections|cts:collection-query-uris|cts:collection-query|cts:collection-match|cts:classify|cts:circle-radius|cts:circle-center|cts:circle|cts:box-west|cts:box-south|cts:box-north|cts:box-east|cts:box|cts:bearing|cts:arc-intersection|cts:and-query-queries|cts:and-query-options|cts:and-query|cts:and-not-query-positive-query|cts:and-not-query-negative-query|cts:and-not-query|css:get|css:convert|cpf:success|cpf:failure|cpf:document-set-state|cpf:document-set-processing-status|cpf:document-set-last-updated|cpf:document-set-error|cpf:document-get-state|cpf:document-get-processing-status|cpf:document-get-last-updated|cpf:document-get-error|cpf:check-transition|alert:spawn-matching-actions|alert:rule-user-id-query|alert:rule-set-user-id|alert:rule-set-query|alert:rule-set-options|alert:rule-set-name|alert:rule-set-description|alert:rule-set-action|alert:rule-remove|alert:rule-name-query|alert:rule-insert|alert:rule-id-query|alert:rule-get-user-id|alert:rule-get-query|alert:rule-get-options|alert:rule-get-name|alert:rule-get-id|alert:rule-get-description|alert:rule-get-action|alert:rule-action-query|alert:remove-triggers|alert:make-rule|alert:make-log-action|alert:make-config|alert:make-action|alert:invoke-matching-actions|alert:get-my-rules|alert:get-all-rules|alert:get-actions|alert:find-matching-rules|alert:create-triggers|alert:config-set-uri|alert:config-set-trigger-ids|alert:config-set-options|alert:config-set-name|alert:config-set-description|alert:config-set-cpf-domain-names|alert:config-set-cpf-domain-ids|alert:config-insert|alert:config-get-uri|alert:config-get-trigger-ids|alert:config-get-options|alert:config-get-name|alert:config-get-id|alert:config-get-description|alert:config-get-cpf-domain-names|alert:config-get-cpf-domain-ids|alert:config-get|alert:config-delete|alert:action-set-options|alert:action-set-name|alert:action-set-module-root|alert:action-set-module-db|alert:action-set-module|alert:action-set-description|alert:action-remove|alert:action-insert|alert:action-get-options|alert:action-get-name|alert:action-get-module-root|alert:action-get-module-db|alert:action-get-module|alert:action-get-description|zero-or-one|years-from-duration|year-from-dateTime|year-from-date|upper-case|unordered|true|translate|trace|tokenize|timezone-from-time|timezone-from-dateTime|timezone-from-date|sum|subtract-dateTimes-yielding-yearMonthDuration|subtract-dateTimes-yielding-dayTimeDuration|substring-before|substring-after|substring|subsequence|string-to-codepoints|string-pad|string-length|string-join|string|static-base-uri|starts-with|seconds-from-time|seconds-from-duration|seconds-from-dateTime|round-half-to-even|round|root|reverse|resolve-uri|resolve-QName|replace|remove|QName|prefix-from-QName|position|one-or-more|number|not|normalize-unicode|normalize-space|node-name|node-kind|nilled|namespace-uri-from-QName|namespace-uri-for-prefix|namespace-uri|name|months-from-duration|month-from-dateTime|month-from-date|minutes-from-time|minutes-from-duration|minutes-from-dateTime|min|max|matches|lower-case|local-name-from-QName|local-name|last|lang|iri-to-uri|insert-before|index-of|in-scope-prefixes|implicit-timezone|idref|id|hours-from-time|hours-from-duration|hours-from-dateTime|floor|false|expanded-QName|exists|exactly-one|escape-uri|escape-html-uri|error|ends-with|encode-for-uri|empty|document-uri|doc-available|doc|distinct-values|distinct-nodes|default-collation|deep-equal|days-from-duration|day-from-dateTime|day-from-date|data|current-time|current-dateTime|current-date|count|contains|concat|compare|collection|codepoints-to-string|codepoint-equal|ceiling|boolean|base-uri|avg|adjust-time-to-timezone|adjust-dateTime-to-timezone|adjust-date-to-timezone|abs)\\b/],\n[\"pln\",/^[\\w:-]+/],[\"pln\",/^[\\t\\n\\r \\xa0]+/]]),[\"xq\",\"xquery\"]);\n"
  },
  {
    "path": "docs/js/prettify/lang-yaml.js",
    "content": "var a=null;\nPR.registerLangHandler(PR.createSimpleLexer([[\"pun\",/^[:>?|]+/,a,\":|>?\"],[\"dec\",/^%(?:YAML|TAG)[^\\n\\r#]+/,a,\"%\"],[\"typ\",/^&\\S+/,a,\"&\"],[\"typ\",/^!\\S*/,a,\"!\"],[\"str\",/^\"(?:[^\"\\\\]|\\\\.)*(?:\"|$)/,a,'\"'],[\"str\",/^'(?:[^']|'')*(?:'|$)/,a,\"'\"],[\"com\",/^#[^\\n\\r]*/,a,\"#\"],[\"pln\",/^\\s+/,a,\" \\t\\r\\n\"]],[[\"dec\",/^(?:---|\\.\\.\\.)(?:[\\n\\r]|$)/],[\"pun\",/^-/],[\"kwd\",/^\\w+:[\\n\\r ]/],[\"pln\",/^\\w+/]]),[\"yaml\",\"yml\"]);\n"
  },
  {
    "path": "docs/js/sidebar.js",
    "content": "jQuery.expr[':'].Contains = function(a, i, m) {\n    return jQuery(a).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;\n};\n\n$(function() {\n    $(\"#sidebar-nav\").accordion({\n        autoHeight: false,\n        navigation: true,\n        collapsible: true\n    }).accordion(\"activate\", false)\n            .find('a.link').unbind('click').click(\n            function(ev) {\n                ev.cancelBubble = true; // IE\n                if (ev.stopPropagation) {\n                    ev.stopPropagation(); // the rest\n                }\n\n                return true;\n            }).prev().prev().remove();\n\n    $(\"#sidebar-nav>h3\").click(function() {\n        if ($(this).attr('initialized') == 'true') return;\n\n        $(this).next().find(\".sidebar-nav-tree\").treeview({\n            collapsed: true,\n            persist: \"cookie\"\n        });\n        $(this).attr('initialized', true);\n    });\n});\n\nfunction tree_search(input) {\n    treeview = $(input).parent().parent().next();\n\n    // Expand all items\n    treeview.find('.expandable-hitarea').click();\n\n    // make all items visible again\n    treeview.find('li:hidden').show();\n\n    // hide all items that do not match the given search criteria\n    if ($(input).val()) {\n        treeview.find('li').not(':has(a:Contains(' + $(input).val() + '))').hide();\n    }\n}\n"
  },
  {
    "path": "docs/js/template.js",
    "content": "$.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());\n$.browser.ipad   = /ipad/.test(navigator.userAgent.toLowerCase());\n\n/**\n * Initializes page contents for progressive enhancement.\n */\nfunction initializeContents()\n{\n    // hide all more buttons because they are not needed with JS\n    $(\".element a.more\").hide();\n\n    $(\".clickable.class,.clickable.interface,.clickable.trait\").click(function() {\n        document.location = $(\"a.more\", this).attr('href');\n    });\n\n    // change the cursor to a pointer to make it more explicit that this it clickable\n    // do a background color change on hover to emphasize the clickability eveb more\n    // we do not use CSS for this because when JS is disabled this behaviour does not\n    // apply and we do not want the hover\n    $(\".element.method,.element.function,.element.class.clickable,.element.interface.clickable,.element.trait.clickable,.element.property.clickable\")\n        .css(\"cursor\", \"pointer\")\n        .hover(function() {\n            $(this).css('backgroundColor', '#F8FDF6')\n        }, function(){\n            $(this).css('backgroundColor', 'white')}\n        );\n\n    $(\"ul.side-nav.nav.nav-list li.nav-header\").contents()\n        .filter(function(){return this.nodeType == 3 && $.trim($(this).text()).length > 0})\n        .wrap('<span class=\"side-nav-header\" />');\n\n    $(\"ul.side-nav.nav.nav-list li.nav-header span.side-nav-header\")\n        .css(\"cursor\", \"pointer\");\n\n    // do not show tooltips on iPad; it will cause the user having to click twice\n    if (!$.browser.ipad) {\n        $('.btn-group.visibility,.btn-group.view,.btn-group.type-filter,.icon-custom')\n            .tooltip({'placement':'bottom'});\n        $('.element').tooltip({'placement':'left'});\n    }\n\n    $('.btn-group.visibility,.btn-group.view,.btn-group.type-filter')\n        .show()\n        .css('display', 'inline-block')\n        .find('button')\n        .find('i').click(function(){ $(this).parent().click(); });\n\n    // set the events for the visibility buttons and enable by default.\n    function toggleVisibility(event)\n    {\n        // because the active class is toggled _after_ this event we toggle it for the duration of this event. This\n        // will make the next piece of code generic\n        if (event) {\n            $(this).toggleClass('active');\n        }\n\n        $('.element.public,.side-nav li.public').toggle($('.visibility button.public').hasClass('active'));\n        $('.element.protected,.side-nav li.protected').toggle($('.visibility button.protected').hasClass('active'));\n        $('.element.private,.side-nav li.private').toggle($('.visibility button.private').hasClass('active'));\n        $('.element.public.inherited,.side-nav li.public.inherited').toggle(\n            $('.visibility button.public').hasClass('active') && $('.visibility button.inherited').hasClass('active')\n        );\n        $('.element.protected.inherited,.side-nav li.protected.inherited').toggle(\n            $('.visibility button.protected').hasClass('active') && $('.visibility button.inherited').hasClass('active')\n        );\n        $('.element.private.inherited,.side-nav li.private.inherited').toggle(\n            $('.visibility button.private').hasClass('active') && $('.visibility button.inherited').hasClass('active')\n        );\n\n        // and untoggle the active class again so that bootstrap's default handling keeps working\n        if (event) {\n            $(this).toggleClass('active');\n        }\n    }\n    $('.visibility button.public').on(\"click\", toggleVisibility);\n    $('.visibility button.protected').on(\"click\", toggleVisibility);\n    $('.visibility button.private').on(\"click\", toggleVisibility);\n    $('.visibility button.inherited').on(\"click\", toggleVisibility);\n    toggleVisibility();\n\n    $('.type-filter button.critical').click(function() {\n        packageContentDivs = $('.package-contents');\n        packageContentDivs.show();\n        $('tr.critical').toggle($(this).hasClass('active'));\n        packageContentDivs.each(function() {\n            var rowCount = $(this).find('tbody tr:visible').length;\n\n            $(this).find('.badge-info').html(rowCount);\n            $(this).toggle(rowCount > 0);\n        });\n    });\n    $('.type-filter button.error').click(function(){\n        packageContentDivs = $('.package-contents');\n        packageContentDivs.show();\n        $('tr.error').toggle($(this).hasClass('active'));\n        packageContentDivs.each(function() {\n            var rowCount = $(this).find('tbody tr:visible').length;\n\n            $(this).find('.badge-info').html(rowCount);\n            $(this).toggle(rowCount > 0);\n        });\n    });\n    $('.type-filter button.notice').click(function(){\n        packageContentDivs = $('.package-contents');\n        packageContentDivs.show();\n        $('tr.notice').toggle($(this).hasClass('active'));\n        packageContentDivs.each(function() {\n            var rowCount = $(this).find('tbody tr:visible').length;\n\n            $(this).find('.badge-info').html(rowCount);\n            $(this).toggle(rowCount > 0);\n        });\n    });\n\n    $('.view button.details').click(function(){\n        $('.side-nav li.view-simple').removeClass('view-simple');\n    }).button('toggle').click();\n\n    $('.view button.simple').click(function(){\n        $('.side-nav li').addClass('view-simple');\n    });\n    \n    $('ul.side-nav.nav.nav-list li.nav-header span.side-nav-header').click(function(){\n        $(this).siblings('ul').collapse('toggle');\n    });\n\n// sorting example\n//    $('ol li').sort(\n//        function(a, b) { return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1; }\n//    ).appendTo('ol');\n}\n\n$(document).ready(function() {\n    prettyPrint();\n\n    initializeContents();\n\n    // do not show tooltips on iPad; it will cause the user having to click twice\n    if(!$.browser.ipad) {\n        $(\".side-nav a\").tooltip({'placement': 'top'});\n    }\n\n    // chrome cannot deal with certain situations; warn the user about reduced features\n    if ($.browser.chrome && (window.location.protocol == 'file:')) {\n        $(\"body > .container\").prepend(\n            '<div class=\"alert alert-error\"><a class=\"close\" data-dismiss=\"alert\">×</a>' +\n            'You are using Google Chrome in a local environment; AJAX interaction has been ' +\n            'disabled because Chrome cannot <a href=\"http://code.google.com/p/chromium/issues/detail?id=40787\">' +\n            'retrieve files using Ajax</a>.</div>'\n        );\n    }\n\n    $('ul.nav-namespaces li a, ul.nav-packages li a').click(function(){\n        // Google Chrome does not do Ajax locally\n        if ($.browser.chrome && (window.location.protocol == 'file:'))\n        {\n            return true;\n        }\n\n        $(this).parents('.side-nav').find('.active').removeClass('active');\n        $(this).parent().addClass('active');\n        $('div.namespace-contents').load(\n            this.href + ' div.namespace-contents', function(){\n                initializeContents();\n                $(window).scrollTop($('div.namespace-contents').position().top);\n            }\n        );\n        $('div.package-contents').load(\n            this.href + ' div.package-contents', function(){\n                initializeContents();\n                $(window).scrollTop($('div.package-contents').position().top);\n            }\n        );\n\n        return false;\n    });\n\n    function filterPath(string)\n    {\n        return string\n            .replace(/^\\//, '')\n            .replace(/(index|default).[a-zA-Z]{3,4}$/, '')\n            .replace(/\\/$/, '');\n    }\n\n    var locationPath = filterPath(location.pathname);\n\n    // the ipad already smoothly scrolls and does not detect the scrollable\n    // element if top=0; as such we disable this behaviour for the iPad\n    if (!$.browser.ipad) {\n        $('a[href*=#]').each(function ()\n        {\n            var thisPath = filterPath(this.pathname) || locationPath;\n            if (locationPath == thisPath && (location.hostname == this.hostname || !this.hostname) && this.hash.replace(/#/, ''))\n            {\n                var target = decodeURIComponent(this.hash.replace(/#/,''));\n                // note: I'm using attribute selector, because id selector can't match elements with '$' \n                var $target = $('[id=\"'+target+'\"]');\n\n                if ($target.length > 0)\n                {\n                    $(this).click(function (event)\n                    {\n                        var scrollElem = scrollableElement('html', 'body');\n                        var targetOffset = $target.offset().top;\n\n                        event.preventDefault();\n                        $(scrollElem).animate({scrollTop:targetOffset}, 400, function ()\n                        {\n                            location.hash = target;\n                        });\n                    });\n                }\n            }\n        });\n    }\n\n    // use the first element that is \"scrollable\"\n    function scrollableElement(els)\n    {\n        for (var i = 0, argLength = arguments.length; i < argLength; i++)\n        {\n            var el = arguments[i], $scrollElement = $(el);\n            if ($scrollElement.scrollTop() > 0)\n            {\n                return el;\n            }\n            else\n            {\n                $scrollElement.scrollTop(1);\n                var isScrollable = $scrollElement.scrollTop() > 0;\n                $scrollElement.scrollTop(0);\n                if (isScrollable)\n                {\n                    return el;\n                }\n            }\n        }\n        return [];\n    }\n\n    // Hide API Documentation menu if it's empty\n    $('.nav .dropdown a[href=#api]').next().filter(function(el) {\n        if ($(el).children().length == 0) {\n            return true;\n        }\n    }).parent().hide();\n});\n"
  },
  {
    "path": "docs/markers.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; Markers\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            <div class=\"row\">\n        <div class=\"span4\">\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">Navigation</li>\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </ul>\n        </div>\n\n        <div class=\"span8\">\n\n            <ul class=\"breadcrumb\">\n                <li><a href=\"?\"><i class=\"icon-map-marker\"></i></a><span class=\"divider\">\\</span></li>\n                <li>Markers</li>\n            </ul>\n\n                            <div class=\"alert alert-info\">No markers have been found in this project.</div>\n            \n            <div id=\"marker-accordion\">\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </div>\n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/namespaces/default.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Namespaces\n                </li>\n                <a href=\"../namespaces/default.html\" title=\"\\\">\n                    <i class=\"icon-th\"></i> \\\n                </a>\n                <ul class=\"nav nav-list nav-namespaces\">\n                        \n        <li>\n        <a href=\"../namespaces/semantic.html\" title=\"semantic\">\n            <i class=\"icon-th\"></i> semantic\n        </a>\n        <ul class=\"nav nav-list nav-namespaces\">\n                \n        <li>\n        <a href=\"../namespaces/semantic.walker.html\" title=\"walker\">\n            <i class=\"icon-th\"></i> walker\n        </a>\n        <ul class=\"nav nav-list nav-namespaces\">\n                \n    \n        </ul>\n    </li>\n    \n        </ul>\n    </li>\n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 namespace-contents\">\n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/default.html\">\\</a>\n    </li>\n\n        </ul>\n\n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-function\"></i> Functions</h3>\n                                        <div id=\"function_template_part\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_part .collapse\">\n        <h1>template_part<a href=\"../namespaces/default.html#function_template_part\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_template_part()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Supports overrides via template_use_part()</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_template_part\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$slug</h4>\n                                                <code>string</code><p><p>The slug name for the generic template.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_part\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_template_part__load\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_part__load .collapse\">\n        <h1>template_part__load<a href=\"../namespaces/default.html#function_template_part__load\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; load_template()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Supports overrides via template_use_part()</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/load_template\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$template_file</h4>\n                                                <code>string</code><p><p>Path to template file.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$require_once</h4>\n                                                <code>boolean</code><p><p>Whether to require_once or require. Default true.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$identifier</h4>\n                                                <code>string</code><p><p>The slug/action identifier to load</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the loaded file</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_part__load\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_template_part__locate\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_part__locate .collapse\">\n        <h1>template_part__locate<a href=\"../namespaces/default.html#function_template_part__locate\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; locate_template()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is almost entirely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Uses is_file() instead of file_exists()</li>\n<li>Better Debugging</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/locate_template\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$template_names</h4>\n                                                <code>string|array</code><p><p>Template file(s) to search for, in order.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$load</h4>\n                                                <code>boolean</code><p><p>If true the template file will be loaded if it is found.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$require_once</h4>\n                                                <code>boolean</code><p><p>Whether to require_once or require. Default true. Has no effect if $load is false.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>string</code><p><p>The   template filename if one is located.</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_part__locate\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_template_use_part\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_template_use_part .collapse\">\n        <h1>template_use_part<a href=\"../namespaces/default.html#function_template_use_part\">¶</a></h1>\n        <p class=\"short_description\">This allows you to replace anything that hasn&#039;t been fetched by template_part()\nyet, and you know the $slug to.</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_template_part\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$slug</h4>\n                                                <code>string</code><p><p>The slug name to replace for the generic template.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$replacement</h4>\n                                                <code>string</code><p><p>The slug name of the replacement for the generic template.</p></p>\n                                            </div>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>TRUE if the part was successfully added, FALSE otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_template_use_part\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_theme_footer\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_theme_footer .collapse\">\n        <h1>theme_footer<a href=\"../namespaces/default.html#function_theme_footer\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_footer()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Supports overrides via template_use_part()</li>\n<li>Also checks content directory</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_footer\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_theme_footer\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_theme_header\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_theme_header .collapse\">\n        <h1>theme_header<a href=\"../namespaces/default.html#function_theme_header\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_header()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Support overrides via template_use_part()</li>\n<li>Also checks content directory</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_header\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_theme_header\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"function_theme_sidebar\" class=\"element ajax clickable function\" data-toggle=\"collapse\" data-target=\"#function_theme_sidebar .collapse\">\n        <h1>theme_sidebar<a href=\"../namespaces/default.html#function_theme_sidebar\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_sidebar()</p>\n        <div class=\"details collapse\">\n                            \n                            <div class=\"row collapse\">\n                                <div class=\"detail-description\">\n                                    <div class=\"long_description\"><p>NOTE: This is largely copied from the WordPress 4.2.2 core</p>\n<p>Improvements:</p>\n<ul>\n<li>Function variables do not interfere with included file</li>\n<li>Returns the the return value of the file</li>\n<li>Better Debugging</li>\n<li>Support overrides via template_use_part()</li>\n<li>Also checks content directory</li>\n</ul></div>\n\n                                    <table class=\"table\">\n                                                                                    <tr>\n                                                <th>\n                                                    package\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                        <p>Default</p>\n                                                                                                    </td>\n                                            </tr>\n                                                                                    <tr>\n                                                <th>\n                                                    see\n                                                </th>\n                                                <td>\n                                                                                                                                                                        \n                                                                                                                                                                            https://codex.wordpress.org/Function_Reference/get_sidebar\n                                                                                                                \n                                                                                                    </td>\n                                            </tr>\n                                                                            </table>\n\n                                                                            <h3>Arguments</h3>\n                                                                                    <div class=\"subelement argument\">\n                                                <h4>$name</h4>\n                                                <code>string</code><p><p>The name of the specialized template.</p></p>\n                                            </div>\n                                                                            \n                                                                            <h3>Response</h3>\n                                        <code>mixed</code><p><p>The returned value of the file on success, NULL otherwise</p></p>\n                                                                    </div>\n                            </div>\n                    </div>\n        <a href=\"../namespaces/default.html#function_theme_sidebar\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n        \n        \n            \n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">Base Class</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_debug\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_debug .collapse\">\n        <h1>debug<a href=\"../classes/semantic.debug.html\">¶</a></h1>\n        <p class=\"short_description\">This class carries out all the debug functionality</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.debug.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_integrations\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_integrations .collapse\">\n        <h1>integrations<a href=\"../classes/semantic.integrations.html\">¶</a></h1>\n        <p class=\"short_description\">WordPress integrations class</p>\n        <div class=\"details collapse\">\n                            <p>This class class holds all the functions that integrate directly with WordPress</p>\n                    </div>\n        <a href=\"../classes/semantic.integrations.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_shutdown\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_shutdown .collapse\">\n        <h1>shutdown<a href=\"../classes/semantic.shutdown.html\">¶</a></h1>\n        <p class=\"short_description\">Shutdown Class</p>\n        <div class=\"details collapse\">\n                            <p>This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</p>\n                    </div>\n        <a href=\"../classes/semantic.shutdown.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_theme\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_theme .collapse\">\n        <h1>theme<a href=\"../classes/semantic.theme.html\">¶</a></h1>\n        <p class=\"short_description\">Theme Class</p>\n        <div class=\"details collapse\">\n                            <p>This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</p>\n                    </div>\n        <a href=\"../classes/semantic.theme.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_abstract_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_nav_menu .collapse\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_nav_menu .collapse\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n    \n    \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/namespaces/semantic.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\semantic\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Namespaces\n                </li>\n                <a href=\"../namespaces/semantic.html\" title=\"semantic\">\n                    <i class=\"icon-th\"></i> semantic\n                </a>\n                <ul class=\"nav nav-list nav-namespaces\">\n                        \n        <li>\n        <a href=\"../namespaces/semantic.walker.html\" title=\"walker\">\n            <i class=\"icon-th\"></i> walker\n        </a>\n        <ul class=\"nav nav-list nav-namespaces\">\n                \n    \n        </ul>\n    </li>\n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 namespace-contents\">\n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">Base Class</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_debug\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_debug .collapse\">\n        <h1>debug<a href=\"../classes/semantic.debug.html\">¶</a></h1>\n        <p class=\"short_description\">This class carries out all the debug functionality</p>\n        <div class=\"details collapse\">\n                            <p>This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</p>\n                    </div>\n        <a href=\"../classes/semantic.debug.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_integrations\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_integrations .collapse\">\n        <h1>integrations<a href=\"../classes/semantic.integrations.html\">¶</a></h1>\n        <p class=\"short_description\">WordPress integrations class</p>\n        <div class=\"details collapse\">\n                            <p>This class class holds all the functions that integrate directly with WordPress</p>\n                    </div>\n        <a href=\"../classes/semantic.integrations.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_shutdown\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_shutdown .collapse\">\n        <h1>shutdown<a href=\"../classes/semantic.shutdown.html\">¶</a></h1>\n        <p class=\"short_description\">Shutdown Class</p>\n        <div class=\"details collapse\">\n                            <p>This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</p>\n                    </div>\n        <a href=\"../classes/semantic.shutdown.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_theme\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_theme .collapse\">\n        <h1>theme<a href=\"../classes/semantic.theme.html\">¶</a></h1>\n        <p class=\"short_description\">Theme Class</p>\n        <div class=\"details collapse\">\n                            <p>This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</p>\n                    </div>\n        <a href=\"../classes/semantic.theme.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_abstract_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_nav_menu .collapse\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_nav_menu .collapse\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n    \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/namespaces/semantic.walker.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\semantic\\walker\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Namespaces\n                </li>\n                <a href=\"../namespaces/semantic.walker.html\" title=\"walker\">\n                    <i class=\"icon-th\"></i> walker\n                </a>\n                <ul class=\"nav nav-list nav-namespaces\">\n                        \n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 namespace-contents\">\n                \n    \n        <ul class=\"breadcrumb\">\n            <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n                \n                \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.html\">semantic</a>\n    </li>\n\n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../namespaces/semantic.walker.html\">walker</a>\n    </li>\n\n        </ul>\n\n        \n        \n                    <div class=\"namespace-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"class_abstract_base\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_base .collapse\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_abstract_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_abstract_nav_menu .collapse\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                                        <div id=\"class_nav_menu\" class=\"element ajax clickable class\" data-toggle=\"collapse\" data-target=\"#class_nav_menu .collapse\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\">\n                            \n                    </div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>    </div>\n\n                            </div>\n            \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "docs/packages/default.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0\"/>\n    <meta charset=\"utf-8\"/>\n    <title>     &raquo; \\Default\n</title>\n    <meta name=\"author\" content=\"\"/>\n    <meta name=\"description\" content=\"\"/>\n\n            <link href=\"../css/template.css\" rel=\"stylesheet\" media=\"all\"/>\n    \n            <!--[if lt IE 9]>\n        <script src=\"https://html5shim.googlecode.com/svn/trunk/html5.js\" type=\"text/javascript\"></script>\n        <![endif]-->\n        <script src=\"../js/jquery-1.7.1.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery-ui-1.8.2.custom.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/jquery.mousewheel.min.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/bootstrap.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/template.js\" type=\"text/javascript\"></script>\n        <script src=\"../js/prettify/prettify.min.js\" type=\"text/javascript\"></script>\n    \n            <link rel=\"shortcut icon\" href=\"../img/favicon.ico\"/>\n        <link rel=\"apple-touch-icon\" href=\"../img/apple-touch-icon.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"72x72\" href=\"../img/apple-touch-icon-72x72.png\"/>\n        <link rel=\"apple-touch-icon\" sizes=\"114x114\" href=\"../img/apple-touch-icon-114x114.png\"/>\n    </head>\n<body>\n\n        <div class=\"navbar navbar-fixed-top\">\n        <div class=\"navbar-inner\">\n            <div class=\"container\">\n                <a class=\"btn btn-navbar\" data-toggle=\"collapse\" data-target=\".nav-collapse\">\n                    <span class=\"icon-bar\"></span> <span class=\"icon-bar\"></span>\n                    <span class=\"icon-bar\"></span> </a>\n                <a class=\"brand\" href=\"../index.html\">Semantic UI for WordPress: Developer Edition</a>\n\n                <div class=\"nav-collapse\">\n                    <ul class=\"nav\">\n                        <li class=\"dropdown\">\n                            <a href=\"#api\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                API Documentation <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                                                    <li><a>Namespaces</a></li>\n                                                                        <li><a href=\"../namespaces/semantic.html\">semantic</a></li>\n                                                                                                                                </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"charts-menu\">\n                            <a href=\"#charts\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Charts <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../graph_class.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Class hierarchy diagram\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                        <li class=\"dropdown\" id=\"reports-menu\">\n                            <a href=\"#reports\" class=\"dropdown-toggle\" data-toggle=\"dropdown\">\n                                Reports <b class=\"caret\"></b>\n                            </a>\n                            <ul class=\"dropdown-menu\">\n                                <li>\n                                    <a href=\"../errors.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Errors\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../markers.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Markers\n                                    </a>\n                                </li>\n                                <li>\n                                    <a href=\"../deprecated.html\">\n                                        <i class=\"icon-list-alt\"></i>&#160;Deprecated\n                                    </a>\n                                </li>\n                            </ul>\n                        </li>\n                    </ul>\n                </div>\n            </div>\n        </div>\n        <div class=\"go_to_top\">\n            <a href=\"#___\" style=\"color: inherit\">Back to top&#160;&#160;<i class=\"icon-upload icon-white\"></i></a>\n        </div>\n    </div>\n    \n    <div id=\"___\" class=\"container\">\n        <noscript>\n            <div class=\"alert alert-warning\">\n                Javascript is disabled; several features are only available if Javascript is enabled.\n            </div>\n        </noscript>\n\n        \n            \n    <div class=\"row\">\n\n        <div class=\"span4\">\n            <div class=\"btn-group view pull-right\" data-toggle=\"buttons-radio\">\n                <button class=\"btn details\" title=\"Show descriptions and method names\">\n                    <i class=\"icon-list\"></i></button><button class=\"btn simple\" title=\"Show only method names\">\n                    <i class=\"icon-align-justify\"></i>\n                </button>\n            </div>\n            <ul class=\"side-nav nav nav-list\">\n                <li class=\"nav-header\">\n                    <i class=\"icon-map-marker\"></i> Packages\n                </li>\n                <a href=\"../packages/Default.html\" title=\"Default\">\n                    <i class=\"icon-th\"></i> Default\n                </a>\n                <ul class=\"nav nav-list nav-packages\">\n                        \n    \n                </ul>\n            </ul>\n        </div>\n\n        <div class=\"span8 package-contents\">\n                \n    <ul class=\"breadcrumb\">\n        <li><a href=\"../index.html\"><i class=\"icon-th\"></i></a></li>\n            \n    \n    <li>\n        <span class=\"divider\">\\</span><a href=\"../packages/Default.html\">Default</a>\n    </li>\n\n    </ul>\n\n    \n                    <div class=\"package-indent\">\n                <h3><i class=\"icon-custom icon-function\"></i> Functions</h3>\n                                        <div id=\"theme_footer\" class=\"element ajax clickable function\">\n        <h1>theme_footer<a href=\"../namespaces/default.html#function_theme_footer\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_footer()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Supports overrides via template_use_part()\n  - Also checks content directory</div>\n        <a href=\"../namespaces/default.html#function_theme_footer\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_part__load\" class=\"element ajax clickable function\">\n        <h1>template_part__load<a href=\"../namespaces/default.html#function_template_part__load\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; load_template()</p>\n        <div class=\"details collapse\">Improvements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Supports overrides via template_use_part()</div>\n        <a href=\"../namespaces/default.html#function_template_part__load\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_use_part\" class=\"element ajax clickable function\">\n        <h1>template_use_part<a href=\"../namespaces/default.html#function_template_use_part\">¶</a></h1>\n        <p class=\"short_description\">This allows you to replace anything that hasn&#039;t been fetched by template_part()\nyet, and you know the $slug to.</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../namespaces/default.html#function_template_use_part\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"theme_sidebar\" class=\"element ajax clickable function\">\n        <h1>theme_sidebar<a href=\"../namespaces/default.html#function_theme_sidebar\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_sidebar()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Support overrides via template_use_part()\n  - Also checks content directory</div>\n        <a href=\"../namespaces/default.html#function_theme_sidebar\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_part\" class=\"element ajax clickable function\">\n        <h1>template_part<a href=\"../namespaces/default.html#function_template_part\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_template_part()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Supports overrides via template_use_part()</div>\n        <a href=\"../namespaces/default.html#function_template_part\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"theme_header\" class=\"element ajax clickable function\">\n        <h1>theme_header<a href=\"../namespaces/default.html#function_theme_header\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; get_header()</p>\n        <div class=\"details collapse\">NOTE: This is largely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Returns the the return value of the file\n  - Better Debugging\n  - Support overrides via template_use_part()\n  - Also checks content directory</div>\n        <a href=\"../namespaces/default.html#function_theme_header\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"template_part__locate\" class=\"element ajax clickable function\">\n        <h1>template_part__locate<a href=\"../namespaces/default.html#function_template_part__locate\">¶</a></h1>\n        <p class=\"short_description\">A drop-in replacement for WordPress&#039; locate_template()</p>\n        <div class=\"details collapse\">NOTE: This is almost entirely copied from the WordPress 4.2.2 core\n\nImprovements:\n  - Function variables do not interfere with included file\n  - Uses is_file() instead of file_exists()\n  - Better Debugging</div>\n        <a href=\"../namespaces/default.html#function_template_part__locate\" class=\"more\">« More »</a>\n    </div>\n\n                            </div>\n        \n        \n                    <div class=\"package-indent\">\n                <h3><i class=\"icon-custom icon-class\"></i> Classes, interfaces and traits</h3>\n                \n                \n                                        <div id=\"abstract_base\" class=\"element ajax clickable class\">\n        <h1>abstract_base<a href=\"../classes/semantic.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">Base Class</p>\n        <div class=\"details collapse\">This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</div>\n        <a href=\"../classes/semantic.abstract_base.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"abstract_base\" class=\"element ajax clickable class\">\n        <h1>abstract_base<a href=\"../classes/semantic.walker.abstract_base.html\">¶</a></h1>\n        <p class=\"short_description\">The customer walker base class</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../classes/semantic.walker.abstract_base.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"abstract_nav_menu\" class=\"element ajax clickable class\">\n        <h1>abstract_nav_menu<a href=\"../classes/semantic.walker.abstract_nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\nextends `semantic\\walker\\abstract_base` instead of `Walker`</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../classes/semantic.walker.abstract_nav_menu.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"debug\" class=\"element ajax clickable class\">\n        <h1>debug<a href=\"../classes/semantic.debug.html\">¶</a></h1>\n        <p class=\"short_description\">This class carries out all the debug functionality</p>\n        <div class=\"details collapse\">This class allows you to add any common functionality to all the other\nclasses. In this case we are just adding some debugging info.</div>\n        <a href=\"../classes/semantic.debug.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"integrations\" class=\"element ajax clickable class\">\n        <h1>integrations<a href=\"../classes/semantic.integrations.html\">¶</a></h1>\n        <p class=\"short_description\">WordPress integrations class</p>\n        <div class=\"details collapse\">This class class holds all the functions that integrate directly with WordPress</div>\n        <a href=\"../classes/semantic.integrations.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"nav_menu\" class=\"element ajax clickable class\">\n        <h1>nav_menu<a href=\"../classes/semantic.walker.nav_menu.html\">¶</a></h1>\n        <p class=\"short_description\">Custom nav menu walker class</p>\n        <div class=\"details collapse\"></div>\n        <a href=\"../classes/semantic.walker.nav_menu.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"shutdown\" class=\"element ajax clickable class\">\n        <h1>shutdown<a href=\"../classes/semantic.shutdown.html\">¶</a></h1>\n        <p class=\"short_description\">Shutdown Class</p>\n        <div class=\"details collapse\">This class helps handle what happens when PHP exits. This is very useful for\ndoing last second tasks.</div>\n        <a href=\"../classes/semantic.shutdown.html\" class=\"more\">« More »</a>\n    </div>\n\n                                        <div id=\"theme\" class=\"element ajax clickable class\">\n        <h1>theme<a href=\"../classes/semantic.theme.html\">¶</a></h1>\n        <p class=\"short_description\">Theme Class</p>\n        <div class=\"details collapse\">This class handles various parts of the theme, including common variables,\nfetching/updating options, and how some parts of the page are generated.</div>\n        <a href=\"../classes/semantic.theme.html\" class=\"more\">« More »</a>\n    </div>\n\n                            </div>\n            \n    \n        </div>\n    </div>\n    </div>\n\n        <footer class=\"span12\">\n            Template is built using <a href=\"http://twitter.github.com/bootstrap/\">Twitter Bootstrap 2</a> and icons provided by\n            <a href=\"http://glyphicons.com/\">Glyphicons</a>.<br/>\n            Documentation is powered by <a href=\"http://www.phpdoc.org/\">phpDocumentor </a> and<br/>\n            generated on Mon, 14 Dec 2015 22:44:05 +0100.<br/>\n    </footer>\n    </body>\n</html>\n"
  },
  {
    "path": "gulp/bootstrap.js",
    "content": "/**\n * Do any prep work here\n */\nmodule.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tconf  = require('./config'),\n\t\tcli   = require('./cli'),\n\t\tfs    = require('fs'),\n\t\targv  = require('yargs').argv,\n\t\tutil  = require('gulp-util'),\n\t\t// Aliases\n\t\tbuild = conf.build,\n\t\tpaths = build.paths,\n\t\tcolor = util.colors;\n\t\n\tif (argv.testing) {\n\t\tpaths.dist = paths.testing_dist;\n\t}\n\t\n\tcli.log('Source Dir: ' + color.magenta(fs.realpathSync(cli.cwd + '/' + paths.source)));\n\tcli.log('Dist Dir: ' + color.magenta(fs.realpathSync(cli.cwd + '/' + paths.dist)));\n\t\n\t// Expand Source & Dist. Paths\n\tpaths.source_styles  = paths.source + '/' + paths.styles;\n\tpaths.source_scripts = paths.source + '/' + paths.scripts;\n\tpaths.dist_styles    = paths.dist + '/' + paths.styles;\n\tpaths.dist_scripts   = paths.dist + '/' + paths.scripts;\n\n\t// Make concat paths relative to their respective directories\n\tfor (i = 0; i < build.concat_css_files.length; i++) { \n\t\tbuild.concat_css_files[i] = paths.dist_styles + '/' + build.concat_css_files[i];\n\t}\n\tfor (i = 0; i < build.concat_js_files.length; i++) { \n\t\tbuild.concat_js_files[i] = paths.dist_scripts + '/' + build.concat_js_files[i];\n\t}\n};\n"
  },
  {
    "path": "gulp/cli.js",
    "content": "/**\n * Command Line Interface\n */\nmodule.exports = {\n\t\"cwd\": process.cwd(),\n\t\"run\": function(cmd) {\n\t\trequire('child_process').exec(cmd, function (err, stdout, stderr) {\n\t\t\tconsole.log(stdout);\n\t\t\tconsole.log(stderr);\n\t\t});\n\t},\n\t\"log\": function (msg) {\n\t\t// Setup Vars\n\t\tvar util = require('gulp-util');\n\t\tutil.log(msg);\n\t},\n\t\"log_event\": function (event) {\n\t\t// Setup Vars\n\t\tvar\n\t\t\tconf  = require('./config'),\n\t\t\tutil  = require('gulp-util'),\n\t\t\t// Aliases\n\t\t\tbuild = conf.build,\n\t\t\tpaths = build.paths,\n\t\t\tcolor = util.colors;\n\t\t\n\t\tlog_type = color.bold.cyan('[' + event.type.toUpperCase() + ']');\n\t\tlog_path = event.path.substring((this.cwd + '/' + paths.source + '/').length);\n\t\t\n\t\tthis.log(color.bgBlack(log_type + ' ' + log_path));\n\t}\n};\n"
  },
  {
    "path": "gulp/config.js",
    "content": "// Configuration Notes\n// -------------------\n// * The default config for concat is just for the front-end of the site,\n//     the WordPress dashboard and other pages that may require a specific\n//     stylesheet or script configuration should specify the files they need.\n// * Concat is always run after LESS/SASS is compiled\n// * Some tasks are broken down to allow synchronous behavior (important)\n// * All paths in configuration variables SHOULD NOT have leading or trailing\n//     slashes UNLESS they are absolute paths from PC's root path. Only then\n//     is a leading slash allowed.\n// * When order is not required to complete a set of actions, the actions are\n//     ordered alphabetically. This means that \"LESS\" will be compiled before\n//     \"SASS\" and files starting with \"a\" will be used before files that\n//     start with \"b\", \"c\", etc.\n\nvar\n\tcli   = require('./cli'),\n\tfs    = require('fs'),\n\tutil  = require('gulp-util');\n\t// Aliases\n\tcolor = util.colors;\n\n// Get Configuration\nif (fs.existsSync(cli.cwd + '/build.json')) {\n\tcli.log('Using build config ' + color.magenta(fs.realpathSync(cli.cwd + '/build.json')));\n\tvar build = require(cli.cwd + '/build.json');\n} else if (fs.existsSync(cli.cwd + '/default_build.json')) {\n\tcli.log('Using build config ' + color.magenta(fs.realpathSync(cli.cwd + '/default_build.json')));\n\tvar build = require(cli.cwd + '/default_build.json');\n} else {\n\tcli.log(color.red('[ERROR] No valid build configuration file found in ' + cli.cwd));\n\tprocess.exit();\n}\n\nmodule.exports = {\n\t\"build\"    : build,\n\t\"package\"  : require('../package.json'),\n\t\"composer\" : require('../composer.json')\n};\n"
  },
  {
    "path": "gulp/function/gulp-rm.js",
    "content": "/**\n * Simple function remove files in pipe\n */\nmodule.exports = function(stream, options) {\n\tdel         = require('del');\n\tvinyl_paths = require('vinyl-paths');\n\treturn vinyl_paths(del);\n};\n"
  },
  {
    "path": "gulp/task/build/copy.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp  = require('gulp-help')(require('gulp')),\n\t\tconf  = require('../../config'),\n\t\t// Aliases\n\t\tbuild = conf.build,\n\t\tpaths = build.paths;\n\t\n\treturn gulp.src(paths.source + '/**/*')\n\t\t.pipe(gulp.dest(paths.dist));\n};\n"
  },
  {
    "path": "gulp/task/build/remove-old.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../../config'),\n\t\tgulp_rm = require('../../function/gulp-rm'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\treturn gulp.src(paths.dist, {read: false})\n\t\t.pipe(gulp_rm());\n};\n"
  },
  {
    "path": "gulp/task/build-docs.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp      = require('gulp-help')(require('gulp')),\n\t\tconf      = require('../config'),\n\t\tcli       = require('../cli'),\n\t\tfs        = require(\"fs\"),\n\t\tline_ends = require('gulp-eol'),\n\t\t// Aliases\n\t\tbuild     = conf.build,\n\t\tpaths     = build.paths;\n\t\n\treturn gulp.src(cli.cwd + '/docs/**/*')\n\t\t.pipe(line_ends('\\n'))\n\t\t.pipe(gulp.dest(paths.dist_styles + '/../docs'));\n};\n"
  },
  {
    "path": "gulp/task/build-logo.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../config'),\n\t\tcli     = require('../cli'),\n\t\tsvg2png = require('gulp-svg2png'),\n\t\timg_opt = require('gulp-image-optimization'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\tif (build.optimize_images && build.optimize_image_types.indexOf('png') != -1) {\n\t\treturn gulp.src(cli.cwd + '/logo.png')\n\t\t\t.pipe(img_opt(build.optimize_image_options))\n\t\t\t.pipe(gulp.dest(paths.dist));\n\t} else {\n\t\treturn gulp.src(cli.cwd + '/logo.png')\n\t\t\t.pipe(gulp.dest(paths.dist));\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-readme.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp      = require('gulp-help')(require('gulp')),\n\t\tconf      = require('../config'),\n\t\tcli       = require('../cli'),\n\t\tinsert    = require('gulp-insert'),\n\t\tmd2html   = require('gulp-markdown'),\n\t\thtml2pdf  = require('gulp-html-pdf'),\n\t\tfs        = require(\"fs\"),\n\t\tline_ends = require('gulp-eol'),\n\t\t// Aliases\n\t\tbuild     = conf.build,\n\t\tpaths     = build.paths;\n\t\n\treturn gulp.src(cli.cwd + '/README.md')\n\t\t.pipe(md2html())\n\t\t.pipe(insert.prepend(\n\t\t\t'<style type=\"text/css\">' + fs.readFileSync(paths.dist_styles + '/base.concat.min.css', \"utf-8\") + '</style>'\n\t\t\t+ '<style type=\"text/css\">' + fs.readFileSync(paths.dist_styles + '/main.min.css', \"utf-8\") + '</style>'\n\t\t\t+ '<style type=\"text/css\">' + fs.readFileSync(paths.dist + '/asset/semantic-ui/semantic.min.css', \"utf-8\") + '</style>'\n\t\t))\n\t\t.pipe(insert.wrap('<html><body>', '</body></html>'))\n\t\t.pipe(line_ends('\\n'))\n\t\t.pipe(gulp.dest(paths.dist))\n\t\t.pipe(html2pdf({\n\t\t\t\"quality\": '100',\n\t\t\t\"border\": \"0.5in\"\n\t\t}))\n\t\t.pipe(gulp.dest(paths.dist));\n};\n"
  },
  {
    "path": "gulp/task/build-screenshot.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../config'),\n\t\tsvg2png = require('gulp-svg2png'),\n\t\timg_opt = require('gulp-image-optimization'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\tif (build.optimize_images && build.optimize_image_types.indexOf('png') != -1) {\n\t\treturn gulp.src(paths.source + '/screenshot.svg')\n\t\t\t.pipe(svg2png())\n\t\t\t.pipe(img_opt(build.optimize_image_options))\n\t\t\t.pipe(gulp.dest(paths.dist));\n\t} else {\n\t\treturn gulp.src(paths.source + '/screenshot.svg')\n\t\t\t.pipe(svg2png())\n\t\t\t.pipe(gulp.dest(paths.dist));\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-scripts/concat.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp   = require('gulp-help')(require('gulp')),\n\t\tconf   = require('../../config'),\n\t\tcli    = require('../../cli'),\n\t\tconcat = require('gulp-concat-util'),\n\t\t// Aliases\n\t\tbuild  = conf.build,\n\t\tpaths  = build.paths;\n\t\n\tif (build.concat_js) {\n\t\treturn gulp.src(build.concat_js_files)\n\t\t\t.pipe(concat(build.concat_js_output))\n\t\t\t.pipe(gulp.dest(paths.dist_scripts));\n\t} else {\n\t\tcli.log('Skipping JS concat');\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-scripts/copy.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp  = require('gulp-help')(require('gulp')),\n\t\tconf  = require('../../config'),\n\t\t// Aliases\n\t\tbuild = conf.build,\n\t\tpaths = build.paths;\n\t\n\treturn gulp.src(paths.source_scripts + '/**/*').\n\t\tpipe(gulp.dest(paths.dist_scripts));\n};\n"
  },
  {
    "path": "gulp/task/build-scripts/js.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp   = require('gulp-help')(require('gulp')),\n\t\tconf   = require('../../config'),\n\t\tmv     = require('gulp-rename'),\n\t\tjs_min = require('gulp-uglify'),\n\t\t// Aliases\n\t\tbuild  = conf.build,\n\t\tpaths  = build.paths;\n\t\n\tif (build.minify_js) {\n\t\treturn gulp.src([paths.source_scripts + '/**/*.js', '!' + paths.source_scripts + '/**/*.min.js'])\n\t\t\t.pipe(gulp.dest(paths.dist_scripts))\n\t\t\t.pipe(js_min({outSourceMap: true}))\n\t\t\t.pipe(mv({\n\t\t\t\textname: '.min.js'\n\t\t\t}))\n\t\t\t.pipe(gulp.dest(paths.dist_scripts));\n\t} else {\n\t\treturn gulp.src([paths.source_scripts + '/**/*.js', '!' + paths.source_scripts + '/**/*.min.js'])\n\t\t\t.pipe(gulp.dest(paths.dist_scripts));\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-scripts/minify.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp  = require('gulp-help')(require('gulp')),\n\t\tconf  = require('../../config'),\n\t\t// Aliases\n\t\tbuild = conf.build,\n\t\tpaths = build.paths;\n\t\n\treturn gulp.src(paths.source_scripts + '/**/*.min.js').\n\t\tpipe(gulp.dest(paths.dist_scripts));\n};\n"
  },
  {
    "path": "gulp/task/build-scripts/remove-old.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../../config'),\n\t\tgulp_rm = require('../../function/gulp-rm'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\treturn gulp.src(paths.dist_scripts, {read: false})\n\t\t.pipe(gulp_rm());\n};\n"
  },
  {
    "path": "gulp/task/build-scripts.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar sequence = require('run-sequence');\n\t\n\treturn sequence(\n\t\t'build-scripts/remove-old',\n\t\t'build-scripts/copy',\n\t\t'build-scripts/js',\n\t\t'build-scripts/minify',\n\t\t'build-scripts/concat',\n\t\t'fix-line-endings'\n\t);\n};\n"
  },
  {
    "path": "gulp/task/build-styles/concat.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp   = require('gulp-help')(require('gulp')),\n\t\tconf   = require('../../config'),\n\t\tcli    = require('../../cli'),\n\t\tconcat = require('gulp-concat-util'),\n\t\t// Aliases\n\t\tbuild  = conf.build,\n\t\tpaths  = build.paths;\n\t\n\tif (build.concat_css) {\n\t\treturn gulp.src(build.concat_css_files)\n\t\t\t.pipe(concat(build.concat_css_output))\n\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t} else {\n\t\tcli.log('Skipping CSS concat');\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-styles/copy.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp  = require('gulp-help')(require('gulp')),\n\t\tconf  = require('../../config'),\n\t\t// Aliases\n\t\tbuild = conf.build,\n\t\tpaths = build.paths;\n\t\n\treturn gulp.src(paths.source_styles + '/**/*').\n\t\tpipe(gulp.dest(paths.dist_styles));\n};\n"
  },
  {
    "path": "gulp/task/build-styles/css.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../../config'),\n\t\tmv      = require('gulp-rename'),\n\t\tcss_min = require('gulp-minify-css'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\tif (build.minify_css) {\n\t\treturn gulp.src([paths.source_styles + '/**/*.css', '!' + paths.source_styles + '/**/*.min.css'])\n\t\t\t.pipe(gulp.dest(paths.dist_styles))\n\t\t\t.pipe(css_min())\n\t\t\t.pipe(mv({\n\t\t\t\textname: '.min.css'\n\t\t\t}))\n\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t} else {\n\t\treturn gulp.src([paths.source_styles + '/**/*.css', '!' + paths.source_styles + '/**/*.min.css'])\n\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-styles/less.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../../config'),\n\t\tcli     = require('../../cli'),\n\t\tmv      = require('gulp-rename'),\n\t\tless    = require('gulp-less'),\n\t\tcss_min = require('gulp-minify-css'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\tif (build.compile_less) {\n\t\tif (build.minify_css) {\n\t\t\treturn gulp.src(paths.source_styles + '/**/*.less')\n\t\t\t\t.pipe(less())\n\t\t\t\t.pipe(gulp.dest(paths.dist_styles))\n\t\t\t\t.pipe(css_min())\n\t\t\t\t.pipe(mv({\n\t\t\t\t\textname: '.min.css'\n\t\t\t\t}))\n\t\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t\t} else {\n\t\t\treturn gulp.src(paths.source_styles + '/**/*.less')\n\t\t\t\t.pipe(less())\n\t\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t\t}\n\t} else {\n\t\tcli.log('Skipping LESS files');\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-styles/minify.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp  = require('gulp-help')(require('gulp')),\n\t\tconf  = require('../../config'),\n\t\t// Aliases\n\t\tbuild = conf.build,\n\t\tpaths = build.paths;\n\t\n\treturn gulp.src(paths.source_styles + '/**/*.min.css').\n\t\tpipe(gulp.dest(paths.dist_styles));\n};\n"
  },
  {
    "path": "gulp/task/build-styles/remove-old.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../../config'),\n\t\tgulp_rm = require('../../function/gulp-rm'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\treturn gulp.src(paths.dist_styles, {read: false})\n\t\t.pipe(gulp_rm());\n};\n"
  },
  {
    "path": "gulp/task/build-styles/sass.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../../config'),\n\t\tcli     = require('../../cli'),\n\t\tmv      = require('gulp-rename'),\n\t\tsass    = require('gulp-sass'),\n\t\tcss_min = require('gulp-minify-css'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\tif (build.compile_sass) {\n\t\tif (build.minify_css) {\n\t\t\treturn gulp.src(paths.source_styles + '/**/*.+(sass|scss)')\n\t\t\t\t.pipe(sass())\n\t\t\t\t.pipe(gulp.dest(paths.dist_styles))\n\t\t\t\t.pipe(css_min())\n\t\t\t\t.pipe(mv({\n\t\t\t\t\textname: '.min.css'\n\t\t\t\t}))\n\t\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t\t} else {\n\t\t\treturn gulp.src(paths.source_styles + '/**/*.+(sass|scss)')\n\t\t\t\t.pipe(sass())\n\t\t\t\t.pipe(gulp.dest(paths.dist_styles));\n\t\t}\n\t} else {\n\t\tcli.log('Skipping SASS/SCSS files');\n\t}\n};\n"
  },
  {
    "path": "gulp/task/build-styles.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar sequence = require('run-sequence');\n\t\n\treturn sequence(\n\t\t'build-styles/remove-old',\n\t\t'build-styles/copy',\n\t\t'build-styles/less',\n\t\t'build-styles/sass',\n\t\t'build-styles/css',\n\t\t'build-styles/minify',\n\t\t'build-styles/concat',\n\t\t'fix-line-endings'\n\t);\n};\n"
  },
  {
    "path": "gulp/task/build.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar sequence = require('run-sequence');\n\t\n\treturn sequence(\n\t\t'build/remove-old',\n\t\t'build/copy',\n\t\t'build-styles/remove-old',\n\t\t'build-styles/copy',\n\t\t'build-styles/less',\n\t\t'build-styles/sass',\n\t\t'build-styles/css',\n\t\t'build-styles/minify',\n\t\t'build-styles/concat',\n\t\t'build-scripts/remove-old',\n\t\t'build-scripts/copy',\n\t\t'build-scripts/js',\n\t\t'build-scripts/minify',\n\t\t'build-scripts/concat',\n\t\t'optimize-images',\n\t\t'build-logo',\n\t\t'build-readme',\n\t\t'build-docs',\n\t\t'build-screenshot',\n\t\t'fix-line-endings'\n\t);\n};\n"
  },
  {
    "path": "gulp/task/dep-check.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp      = require('gulp-help')(require('gulp')),\n\t\tnpm_check = require('npm-check'),\n\t\tspawn     = require('child_process').spawn,\n\t\tutil      = require('gulp-util'),\n\t\tconf      = require('../config'),\n\t\tcli       = require('../cli'),\n\t\tgulp_rm   = require('../function/gulp-rm'),\n\t\tmv        = require('gulp-rename'),\n\t\tless      = require('gulp-less'),\n\t\tsass      = require('gulp-sass'),\n\t\tcss_min   = require('gulp-minify-css'),\n\t\tjs_mim    = require('gulp-uglify'),\n\t\tconcat    = require('gulp-concat-util'),\n\t\tsvg2png   = require('gulp-svg2png'),\n\t\timg_opt   = require('gulp-image-optimization'),\n\t\tinsert    = require('gulp-insert'),\n\t\tmd2html   = require('gulp-markdown'),\n\t\thtml2pdf  = require('gulp-html-pdf'),\n\t\tsequence  = require('run-sequence'),\n\t\tyargs     = require('yargs'),\n\t\tline_ends = require('gulp-eol'),\n\t\t// Aliases\n\t\tbuild     = conf.build,\n\t\tpaths     = build.paths,\n\t\tcolor     = util.colors;\n\t\n\treturn npm_check({\n\t\t\"update\": true,\n\t\t\"skipUnused\": true\n\t}).then(function(data) {\n\t\tcli.log(color.yellow('<module>: <installed> == <latest>'));\n\t\tfor(var index in data) {\n\t\t\tvar dep = data[index];\n\t\t\tif (dep.latest == dep.installed) {\n\t\t\t\tcli.log(dep.moduleName + ': ' + color.green(dep.installed + ' == ' + dep.latest));\n\t\t\t} else {\n\t\t\t\tcli.log(dep.moduleName + ': ' + color.red(dep.installed + ' != ' + dep.latest));\n\t\t\t}\n\t\t}\n\t});\n};\n"
  },
  {
    "path": "gulp/task/fix-line-endings.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp      = require('gulp-help')(require('gulp')),\n\t\tconf      = require('../config'),\n\t\tline_ends = require('gulp-eol'),\n\t\t// Aliases\n\t\tbuild     = conf.build,\n\t\tpaths     = build.paths;\n\t\n\treturn gulp.src(paths.dist + '/**/*.+(php|html|js|css|less|sass|scss|map|txt|svg|md)')\n\t\t.pipe(line_ends('\\n'))\n\t\t.pipe(gulp.dest(paths.dist));\n};\n"
  },
  {
    "path": "gulp/task/optimize-images.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp    = require('gulp-help')(require('gulp')),\n\t\tconf    = require('../config'),\n\t\tcli     = require('../cli'),\n\t\timg_opt = require('gulp-image-optimization'),\n\t\t// Aliases\n\t\tbuild   = conf.build,\n\t\tpaths   = build.paths;\n\t\n\tif (build.optimize_images) {\n\t\treturn gulp.src(paths.source + '/**/*.+(' + build.optimize_image_types.join('|') + ')', {base:paths.source})\n\t\t\t.pipe(img_opt(build.optimize_image_options))\n\t\t\t.pipe(gulp.dest(paths.dist));\n\t} else {\n\t\tcli.log('Skipping image optimization');\n\t}\n};\n"
  },
  {
    "path": "gulp/task/test.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar cli = require('../cli');\n\t\n\tcli.run('phpunit');\n};\n"
  },
  {
    "path": "gulp/task/version.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tconf = require('../config'),\n\t\tcli  = require('../cli');\n\t\n\tcli.log(\n\t\t'\\nSemantic UI for WordPress: Developer Edition v' + conf.package.version\n\t\t+ '\\nCopyright: ' + conf.package.author\n\t\t+ '\\nLicense: '   + conf.package.license.type\n\t);\n};\n"
  },
  {
    "path": "gulp/task/watch.js",
    "content": "module.exports = function() {\n\t// Setup Vars\n\tvar\n\t\tgulp      = require('gulp-help')(require('gulp')),\n\t\tutil      = require('gulp-util'),\n\t\tconf      = require('../config'),\n\t\tcli       = require('../cli'),\n\t\tgulp_rm   = require('../function/gulp-rm'),\n\t\tsvg2png   = require('gulp-svg2png'),\n\t\timg_opt   = require('gulp-image-optimization'),\n\t\tsequence  = require('run-sequence'),\n\t\tline_ends = require('gulp-eol'),\n\t\t// Aliases\n\t\tbuild     = conf.build,\n\t\tpaths     = build.paths,\n\t\tcolor     = util.colors;\n\t\n\t// Warn about Gulp/Gaze issues\n\tcli.log(color.bgBlack.white(color.bold.red(\"[IMPORTANT]\") + \" Watch works very well for MOST things, however it does have some issues, including problems removing directories. (hint: use the 'build' task to compensate) - \" + color.bold.cyan(\"https://github.com/gulpjs/gulp/issues/651\")));\n\t// Notice about 3 second save\n\tcli.log(color.bgBlack.white(color.bold(\"[NOTICE]\") + \" Using Source Directory: \" + paths.source));\n\tcli.log(color.bgBlack.white(color.bold(\"[NOTICE]\") + \" Using Dist. Directory: \" + paths.dist));\n\tcli.log(color.bgBlack.white(color.bold(\"[NOTICE]\") + \" Please avoid saving a file more than once within a 3 second period.\"));\n\t\n\t// General\n\tgulp.watch([\n\t\tpaths.source + '/**/*',\n\t\t'!' + paths.source_styles + '/**/*',\n\t\t'!' + paths.source_scripts + '/**/*',\n\t\t'!' + paths.source + '/**/*.+(' + build.optimize_image_types.join('|') + ')'\n\t], function(event) {\n\t\tcli.log_event(event);\n\t\t// gulp.src ignores paths that don't exist, so renaming works as expected.\n\t\tgulp.src(event.path, {base:paths.source})\n\t\t\t.pipe(line_ends('\\n'))\n\t\t\t.pipe(gulp.dest(paths.dist));\n\t\tif (event.type === 'deleted') { // update the build dir when a file is deleted\n\t\t\tgulp.src(paths.dist + '/' + event.path.substring((cli.cwd + '/' + paths.source + '/').length), {read: false})\n\t\t\t\t.pipe(gulp_rm());\n\t\t}\n\t});\n\t\n\t// README\n\tgulp.watch(cli.cwd + '/README.md', ['build-readme']);\n\t\n\t// Styles\n\t// NOTE: Avoid saving styles more than once every 3 seconds\n\tgulp.watch([paths.source_styles + '/**/*', '!' + paths.source + '/**/*.+(' + build.optimize_image_types.join('|') + ')'], function(event) {\n\t\tcli.log_event(event);\n\t\tif (event.type !== 'renamed') { // prevents double run on rename\n\t\t\tsequence(\n\t\t\t\t'build-styles/remove-old',\n\t\t\t\t'build-styles/copy',\n\t\t\t\t'build-styles/less',\n\t\t\t\t'build-styles/sass',\n\t\t\t\t'build-styles/css',\n\t\t\t\t'build-styles/minify',\n\t\t\t\t'build-styles/concat',\n\t\t\t\t'fix-line-endings'\n\t\t\t);\n\t\t}\n\t});\n\t\n\t// Scripts\n\t// NOTE: Avoid saving scripts more than once every 3 seconds\n\tgulp.watch([paths.source_scripts + '/**/*', '!' + paths.source + '/**/*.+(' + build.optimize_image_types.join('|') + ')'], function(event) {\n\t\tcli.log_event(event);\n\t\tif (event.type !== 'renamed') { // prevents double run on rename\n\t\t\tsequence(\n\t\t\t\t'build-scripts/remove-old',\n\t\t\t\t'build-scripts/copy',\n\t\t\t\t'build-scripts/js',\n\t\t\t\t'build-scripts/minify',\n\t\t\t\t'build-scripts/concat',\n\t\t\t\t'fix-line-endings'\n\t\t\t);\n\t\t}\n\t});\n\t\n\t// Images\n\t// NOTE: Avoid re-saving the same image more than once every 3 seconds\n\tgulp.watch(paths.source + '/**/*.+(' + build.optimize_image_types.join('|') + ')', function(event) {\n\t\tcli.log_event(event);\n\t\tif (use_image_opt) {\n\t\t\t// gulp.src ignores paths that don't exist, so renaming works as expected.\n\t\t\tgulp.src(event.path, {base:paths.source})\n\t\t\t\t.pipe(image_opt(build.optimize_image_options))\n\t\t\t\t.pipe(gulp.dest(paths.dist));\n\t\t} else {\n\t\t\t// gulp.src ignores paths that don't exist, so renaming works as expected.\n\t\t\tgulp.src(event.path, {base:paths.source})\n\t\t\t\t.pipe(gulp.dest(paths.dist));\n\t\t}\n\t\tif (event.type === 'deleted') { // update the build dir when a file is deleted\n\t\t\tgulp.src(paths.dist + '/' + event.path.substring((cli.cwd + '/' + paths.source + '/').length), {read: false})\n\t\t\t\t.pipe(gulp_rm());\n\t\t}\n\t});\n};\n"
  },
  {
    "path": "gulp/task.js",
    "content": "/**\n * TASK FUNCTION MAPPING\n * =====================\n * Each task function maps to a task file.\n * \n * Notes:\n * - Function names are camelCase and underscores replace slashes\n * - Require paths are done like URL paths\n */\nmodule.exports = {\n\t\"build\":                  require('./task/build'),\n\t\"buildScripts\":           require('./task/build-scripts'),\n\t\"buildStyles\":            require('./task/build-styles'),\n\t\"buildDocs\":              require('./task/build-docs'),\n\t\"buildLogo\":              require('./task/build-logo'),\n\t\"buildReadme\":            require('./task/build-readme'),\n\t\"buildScreenshot\":        require('./task/build-screenshot'),\n\t\"depCheck\":               require('./task/dep-check'),\n\t\"fixLineEndings\":         require('./task/fix-line-endings'),\n\t\"optimizeImages\":         require('./task/optimize-images'),\n\t\"test\":                   require('./task/test'),\n\t\"version\":                require('./task/version'),\n\t\"watch\":                  require('./task/watch'),\n\t// Sub-Tasks\n\t\"build_copy\":             require('./task/build/copy'),\n\t\"build_removeOld\":        require('./task/build/remove-old'),\n\t\"buildScripts_concat\":    require('./task/build-scripts/concat'),\n\t\"buildScripts_copy\":      require('./task/build-scripts/copy'),\n\t\"buildScripts_js\":        require('./task/build-scripts/js'),\n\t\"buildScripts_minify\":    require('./task/build-scripts/minify'),\n\t\"buildScripts_removeOld\": require('./task/build-scripts/remove-old'),\n\t\"buildStyles_concat\":     require('./task/build-styles/concat'),\n\t\"buildStyles_copy\":       require('./task/build-styles/copy'),\n\t\"buildStyles_css\":        require('./task/build-styles/css'),\n\t\"buildStyles_less\":       require('./task/build-styles/less'),\n\t\"buildStyles_minify\":     require('./task/build-styles/minify'),\n\t\"buildStyles_removeOld\":  require('./task/build-styles/remove-old'),\n\t\"buildStyles_sass\":       require('./task/build-styles/sass')\n};\n"
  },
  {
    "path": "gulpfile.js",
    "content": "// Setup Vars\nvar\n\t// Alias tasks only need to be registered once, so this is the only place we\n\t// call gulp/gulp-help like this.\n\tgulp   = require('gulp-help')(require('gulp'), { aliases: ['default', '?'] }),\n\ttask   = require('./gulp/task');\n\n// Run Bootstrap\nrequire('./gulp/bootstrap')();\n\n// Assign Tasks\ngulp.task('build', 'Compile the source into a distribution.', task.build);\ngulp.task('build-scripts', 'Compile, minify, and concat on-page scripting files.', task.buildScripts);\ngulp.task('build-styles', 'Compile, minify, and concat stylesheets.', task.buildStyles);\ngulp.task('build-docs', 'Copy docs generated by PHPDoc to asset folder.', task.buildDocs);\ngulp.task('build-logo', 'Add logo to dist.', task.buildLogo);\ngulp.task('build-readme', 'Generate HTML & PDF \"README\" from the project\\'s README.md', task.buildReadme);\ngulp.task('build-screenshot', 'Convert screenshot.svg into a PNG file.', task.buildScreenshot);\ngulp.task('dep-check', 'Check all gulp dependencies.', task.depCheck);\ngulp.task('fix-line-endings', 'Ensure all files have Unix EOLs.', task.fixLineEndings);\ngulp.task('optimize-images', 'Attempt to reduce the size of all images.', task.optimizeImages);\ngulp.task('test', 'Run The Unit Tests.', task.test);\ngulp.task('version', 'Display the current version, copyright, and license info.', task.version);\ngulp.task('watch', 'Continuously update the dist. directory when changes are made in the source directory.', task.watch);\n\n// Assign Sub-Tasks\ngulp.task('build/copy', false, task.build_copy);\ngulp.task('build/remove-old', false, task.build_removeOld);\ngulp.task('build-scripts/concat', false, task.buildScripts_concat);\ngulp.task('build-scripts/copy', false, task.buildScripts_copy);\ngulp.task('build-scripts/js', false, task.buildScripts_js);\ngulp.task('build-scripts/minify', false, task.buildScripts_minify);\ngulp.task('build-scripts/remove-old', false, task.buildScripts_removeOld);\ngulp.task('build-styles/concat', false, task.buildStyles_concat);\ngulp.task('build-styles/copy', false, task.buildStyles_copy);\ngulp.task('build-styles/css', false, task.buildStyles_css);\ngulp.task('build-styles/less', false, task.buildStyles_less);\ngulp.task('build-styles/minify', false, task.buildStyles_minify);\ngulp.task('build-styles/remove-old', false, task.buildStyles_removeOld);\ngulp.task('build-styles/sass', false, task.buildStyles_sass);\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"semantic-ui-wordpress\",\n  \"description\": \"\",\n  \"version\": \"1.0.0\",\n  \"keywords\": [\n    \"semantic\",\n    \"ui\",\n    \"wordpress\"\n  ],\n  \"homepage\": \"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\",\n  \"author\": \"Nicholas Jordon\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress.git\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues\"\n  },\n  \"license\": {\n    \"type\": \"MIT\",\n    \"url\": \"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/blob/master/LICENSE\"\n  },\n  \"dependencies\": {\n    \"del\": \"^2.0.2\",\n    \"gulp\": \"^3.9.0\",\n    \"gulp-concat-util\": \"^0.5.2\",\n    \"gulp-eol\": \"^0.1.1\",\n    \"gulp-help\": \"^1.6.1\",\n    \"gulp-html-pdf\": \"^0.2.0\",\n    \"gulp-image-optimization\": \"^0.1.3\",\n    \"gulp-insert\": \"^0.5.0\",\n    \"gulp-less\": \"^3.0.3\",\n    \"gulp-markdown\": \"^1.1.0\",\n    \"gulp-minify-css\": \"^1.2.1\",\n    \"gulp-rename\": \"^1.2.2\",\n    \"gulp-sass\": \"^2.0.4\",\n    \"gulp-svg2png\": \"^0.3.0\",\n    \"gulp-uglify\": \"^1.4.1\",\n    \"gulp-util\": \"^3.0.6\",\n    \"npm-check\": \"^4.1.2\",\n    \"run-sequence\": \"^1.1.2\",\n    \"vinyl-paths\": \"^2.0.0\",\n    \"yargs\": \"^3.29.0\"\n  },\n  \"engines\": {\n    \"node\": \"~0.10.1\"\n  }\n}\n"
  },
  {
    "path": "phpdoc.dist.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<phpdoc>\n\t<title>Semantic UI for WordPress: Developer Edition</title>\n\t<parser>\n\t\t<target>docs</target>\n\t\t<extensions>\n\t\t\t<extension>php</extension>\n\t\t</extensions>\n\t\t<visibility></visibility>\n\t</parser>\n\t<transformer>\n\t\t<target>dist/asset/docs</target>\n\t</transformer>\n\t<transformations>\n\t\t<template name=\"responsive-twig\" />\n\t</transformations>\n\t<files>\n\t\t<directory>src/include</directory>\n\t</files>\n</phpdoc>\n"
  },
  {
    "path": "phpunit.xml",
    "content": "<phpunit bootstrap=\"testing/bootstrap.php\" colors=\"false\">\n\t<testsuites>\n\t\t<testsuite name=\"projectcleverweb\\semantic-ui-wordpress\">\n\t\t\t<directory>testing/tests</directory>\n\t\t</testsuite>\n\t</testsuites>\n\t<filter>\n\t\t<whitelist processUncoveredFilesFromWhitelist=\"true\">\n\t\t\t<directory>src/include</directory>\n\t\t</whitelist>\n\t</filter>\n\t<logging>\n\t\t<log type=\"coverage-text\" target=\"php://stdout\" />\n\t</logging>\n</phpunit>\n"
  },
  {
    "path": "src/asset/image/subtle-patterns/LICENSE",
    "content": "Subtle Patterns © Atle Mo\n\nThe images located in this folder are from sunbtle-patterns.com and the\ncopyright for each of the images is is owned by Atle Mo.\n\nAll of these images are license under: CC BY-SA 3.0\nYou can view the simplified license here: http://creativecommons.org/licenses/by-sa/3.0/\nYou can view the complete license here: http://creativecommons.org/licenses/by-sa/3.0/legalcode\n"
  },
  {
    "path": "src/asset/script/main.js",
    "content": "WebFont.load({\n\tgoogle: {families: [\n\t\t'Open+Sans:400,600,700,700italic:latin', // General Text\n\t\t'Roboto:400,300,500,700:latin', // Header Text\n\t\t'Droid+Sans+Mono::latin' // Monospace Text\n\t]}\n});\n\n$(document).ready(function() {\n\t// Semantic UI inits\n\t$('.ui.accordion').accordion();\n\t$('.ui.dropdown').dropdown({\n\t\ton: 'hover'\n\t});\n\t$('.ui.checkbox').checkbox();\n\t$('.ui.modal').modal();\n\t$('.ui.popup').popup();\n\t$('.ui.rating').rating();\n\t$('.shape').shape();\n\t$('.ui.sidebar').sidebar();\n\t\n\t// don't show invalid images\n\t$(\"img\").error(function () { \n\t\t$(this).css({visibility:\"hidden\"}); // reserve area if dimensions are set\n\t\t// $(this).css({display:\"none\"}); // never reserve area\n\t});\n\t\n\t// Syntax Highlighter\n\thljs.configure({tabReplace: '\\t'}); // Tab size can be controlled in most browsers\n\t$('pre code').each(function(i, e) {\n\t\thljs.highlightBlock(e);\n\t});\n\t\n\tMousetrap.bind(['ctrl+shift+l'], function(e) {\n\t\t$('#semantic-debug-log').modal('show');\n\t\treturn false;\n\t});\n});\n"
  },
  {
    "path": "src/asset/script/theme-options.js",
    "content": "// By default, jQuery in the WordPress dashboard runs in \"safe mode\" which means\n// the '$' shortcut is not available. Since these scripts are only run in the\n// dashboard, any tracking should be disabled/removed.\njQuery(document).ready(function() {\n\t// Semantic UI inits\n\tjQuery('.ui.accordion').accordion();\n\tjQuery('.ui.dropdown').dropdown();\n\tjQuery('.ui.hover.dropdown').dropdown({\n\t\ton: 'hover'\n\t});\n\tjQuery('.ui.checkbox').checkbox();\n\tjQuery('.ui.modal').modal();\n\tjQuery('.ui.popup').popup();\n\tjQuery('.ui.rating').rating();\n\tjQuery('.shape').shape();\n\tjQuery('.ui.sidebar').sidebar();\n\t\n\tjQuery('.message .close').on('click', function() {\n\t\tjQuery(this).closest('.message').fadeOut();\n\t});\n\t\n\t// Disabled until nag is completed\n\t// jQuery('#issue-tracker-nag').nag('show');\n\t\n\tjQuery('#theme-options-tabs .menu .item').tab({\n\t\tcontext: jQuery('#theme-options-tabs')\n\t});\n\t\n\t// don't show invalid images\n\tjQuery(\"img\").error(function () { \n\t\tjQuery(this).css({visibility:\"hidden\"}); // reserve area if dimensions are set\n\t\t// jQuery(this).css({display:\"none\"}); // never reserve area\n\t});\n\t\n\t// Syntax Highlighter\n\thljs.configure({tabReplace: '\\t'}); // Tab size can be controlled in most browsers\n\tjQuery('pre code').each(function(i, e) {\n\t\thljs.highlightBlock(e);\n\t});\n\t\n\tMousetrap.bind(['ctrl+shift+l'], function(e) {\n\t\tjQuery('#semantic-debug-log').modal('show');\n\t\treturn false;\n\t});\n});\n"
  },
  {
    "path": "src/asset/semantic-ui/LICENSE.md",
    "content": "# The MIT License\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the 'Software'), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
  },
  {
    "path": "src/asset/semantic-ui/README.md",
    "content": "![Semantic](http://www.semantic-ui.com/images/logo.png)\n\n# Semantic UI\n\n[![Join the chat at https://gitter.im/Semantic-Org/Semantic-UI](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Semantic-Org/Semantic-UI?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\n[![ProjectTalk Messageboard](http://www.projecttalk.io/images/gh_badge-3e578a9f437f841de7446bab9a49d103.svg?vsn=d)]\n(http://www.projecttalk.io/boards/Semantic-Org%2FSemantic-UI?utm_campaign=gh-badge&utm_medium=badge&utm_source=github)\n\nSemantic is a UI framework designed for theming.\n\nKey Features\n* 50+ UI elements\n* 3000 + CSS variables\n* 3 Levels of variable inheritance (similar to SublimeText)\n* Built with EM values for responsive design\n* Flexbox friendly\n\n## 2.1 Release\n\nSemantic UI `2.1` is now available. Read up on [what's new](http://www.semantic-ui.com/introduction/new.html) in the docs.\n\nMigration info from `1.x` can be found in the [2.0 release notes](https://github.com/Semantic-Org/Semantic-UI/blob/master/RELEASE-NOTES.md#version-200---march-xx-2015)\n\n## Install\n\n#### Recommended Install\n```bash\nnpm install semantic-ui  # Use themes, import build/watch tasks into your own gulpfile.\n```\n\nSemantic UI includes an interactive installer to help setup your project\n![Getting Started](https://dl.dropboxusercontent.com/u/2657007/install.gif)\n\n* For more details on setup visit our [getting started guide](http://semantic-ui.com/introduction/getting-started.html).\n* To learn more about theming please read our [theming guide](http://www.semantic-ui.com/usage/theming.html)\n\n#### Additional Versions\n\nEnvironment | Install Script | Repo\n--- | --- | --- |\nCSS Only | `npm install semantic-ui-css` | [CSS Repo](https://github.com/Semantic-Org/Semantic-UI-CSS)\n[LESS](https://github.com/less/less.js/) Only | `npm install semantic-ui-less` | [LESS Repo](https://github.com/Semantic-Org/Semantic-UI-LESS)\n[LESS](https://github.com/less/less.js/) plugin | `npm install less-plugin-semantic-ui` | [LESS Plugin Repo](https://github.com/bassjobsen/less-plugin-semantic-ui/)\n[EmberJS](http://emberjs.com/) | `ember install:addon semantic-ui-ember` | [Ember Repo](https://github.com/Semantic-Org/Semantic-UI-Ember)\n|[Meteor](https://www.meteor.com/) - [LESS](https://github.com/less/less.js/) | `meteor add semantic:ui` | [Meteor Repo](https://github.com/Semantic-Org/Semantic-UI-Meteor) |\n|[Meteor](https://www.meteor.com/) - CSS | `meteor add semantic:ui-css` | [CSS Repo](https://github.com/Semantic-Org/Semantic-UI-CSS) |\n[Bower](http://bower.io/) | `bower install semantic-ui` |\n\nCheck out our [integration wiki](https://github.com/Semantic-Org/Semantic-UI/wiki/Integration) for more options.\n\n#### Browser Support\n\n* Last 2 Versions FF, Chrome, IE 10+, Safari Mac\n* IE 10+\n* Android 4.4+, Chrome for Android 44+\n* iOS Safari 7+\n\nAlthough some components will work in IE9, [grids](http://semantic-ui.com/collections/grid.html) and other [flexbox](https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Flexible_boxes) components are not supported by IE9 and may not appear correctly.\n\n## Community\n\n#### Getting Help\nPlease **do not post** usage questions to GitHub Issues. For these types of questions use [StackOverflow](http://stackoverflow.com/questions/tagged/semantic-ui), [ProjectTalk](http://www.projecttalk.io/boards/Semantic-Org%2FSemantic-UI) or join our [Gitter chatroom](https://gitter.im/Semantic-Org/Semantic-UI).\n\n#### Submitting Bugs and Enhancements\n[GitHub Issues](https://github.com/Semantic-Org/Semantic-UI/issues) is for suggesting enhancements and reporting bugs. Before submiting a bug make sure you do the following:\n* Check out our [contributing guide](https://github.com/Semantic-Org/Semantic-UI/blob/master/CONTRIBUTING.md) for info on our release cycle\n* [Fork this boilerplate JSFiddle](http://jsfiddle.net/efp8z6Ln/) to create a test case for your bug. If a bug is demonstratable from the docs, that's ok as well. Only bugs that include a test case can be triaged.\n\n\n#### Pull Requests\n\nWhen adding pull requests be sure to merge into [next](https://github.com/Semantic-Org/Semantic-UI/tree/next) branch. If you need to demonstrate a fix in ``next`` release, you can use [this jsfiddle](http://jsfiddle.net/rduvhn8u/1/)\n\n\n#### International\n\n* **Chinese** A Chinese mirror site is available at [http://www.semantic-ui.cn](http://www.semantic-ui.cn)\n* **Right-to-Left (RTL)** An RTL version can be created using our build tools by selecting `rtl` from the install script\n* **Translation** To help translate see the [Wiki Guide](https://github.com/Semantic-Org/Semantic-UI/wiki/Translating-Semantic-UI-Docs) for translations\n\n#### Resources\n\nResource | Description\n--- | --- |\nBugs & Feature Requests |  All bug submission **require** a link to a test case, and a set of steps to reproduce the issue. You can make a test case by forking this [jsfiddle](http://jsfiddle.net/efp8z6Ln/), then submit your [bug report on GitHub Issues](https://github.com/Semantic-Org/Semantic-UI/issues)\nLive Chat | Join our [Gitter.im Room](https://gitter.im/Semantic-Org/Semantic-UI)\nMessage Board | [ProjectTalk Board](http://www.projecttalk.io/boards/Semantic-Org%2FSemantic-UI)\nNewsletter Updates | Sign up for updates at [semantic-ui.com](http://www.semantic-ui.com)\nAdditional Resources  | Submit a question on [StackOverflow](http://stackoverflow.com/questions/tagged/semantic-ui) or ask our [Google Group](https://groups.google.com/forum/#!forum/semantic-ui)\n\n#### Places to Help\n\nProject | How To Help | Next Step\n--- | --- | --- |\nLocalization | Help us translate Semantic UI into your language | [Join our Translation Community](https://github.com/Semantic-Org/Semantic-UI/wiki/Translating-Semantic-UI-Docs)\n[SCSS](http://sass-lang.com/) | SASS needs PR to support variables inside `@import` | [Add Pull Request](https://github.com/sass/sass/pulls) for [#739](https://github.com/sass/sass/issues/739#issuecomment-73984809)\n[Angular](https://angularjs.org/) | Help develop angular bindings | Reach Out on [GitHub Issues](https://github.com/Semantic-Org/Semantic-UI-Angular/issues/8)\nGuides & Tutorials | Help write guides and tutorials | [Join the discussion](https://github.com/Semantic-Org/Semantic-UI/issues/1571)\n\n#### Reaching Out\n\nIf you'd like to start a conversation about Semantic feel free to e-mail me at [jack@semantic-ui.com](mailto:jack@semantic-ui.com)\n\n[![Flattr This](https://api.flattr.com/button/flattr-badge-large.png)](https://flattr.com/submit/auto?user_id=jlukic&url=https%3A%2F%2Fgithub.com%2Fjlukic%2FSemantic-UI)\n\n<a href=\"http://packagequality.com/#?package=semantic-ui\"><img src=\"http://npm.packagequality.com/badge/semantic-ui.png\"/></a>\n"
  },
  {
    "path": "src/asset/semantic-ui/RELEASE-NOTES.md",
    "content": "## RELEASE NOTES\n\n### Version 2.1.6 - Nov 6, 2015\n\n**Bug Fixes**\n- **Checkbox/Dropdown/Search** - Fixed issue where dropdown/checkbox `change` events were not bubbling. (Dispatched events were swapped to use native `document.creatEvent` in `2.1.5` unfortunately the flag to bubble events was mistakenly off.)\n\n### Version 2.1.5 - Nov 1, 2015\n\n**Docs Enhancements**\n- **Examples** - All code examples now have a \"copy to clipboard\" button **Thanks @xiwc and @zenorocha for clipboard.js**\n\n**Minor Enhancements**\n- **Form** - Adds `equal width form` and `equal width fields` for simpler grouped fields\n- **Modal** - `onHide` callback can now cancel event by returning false [#3168](https://github.com/Semantic-Org/Semantic-UI/issues/3168) **Thanks @mdehoog**\n- **Dropdown** - Added `onLabelRemove` callback that allows value removal to be cancelled by callback **Thanks @goloveychuk**\n- **Table** - Added `selectable` on table cell, allowing for full table-cell links\n- **Popup** Added three new variables for `arrow` background color based on position, top, center or bottom. This makes it easier to use gradient backgrounds with popups and still match arrow colors.\n- **Popup** - Added behaviors `get popup` and `change content` to more easily determine popup from activating element and change text\n\n**Major Bug Fixes**\n- **Checkbox/Dropdown/Search** - Fixed issue where using `.trigger('change')` would not fire native `change` event. Only triggering event handlers attached with jQuery [#3108](https://github.com/Semantic-Org/Semantic-UI/issues/3108)\n- **Transition** - Fixed bug where static transitions (those that dont animate in/out of view) would not fire `onComplete` event\n- **Sticky** - Fixes bug where sticky would stick at incorrect times when using a different scroll container than `body` and scrollTop is not 0 on page load.\n\n**Bugs**\n- **Divider/Step/Modal/AD** - Fixes 1px jump at `@mobileBreakpoint` caused by incorrect edge conditions in media query [#3180](https://github.com/Semantic-Org/Semantic-UI/issues/3180) **THanks @mdehoog**\n- **Dimmer** - Dimmer can now works correctly with `opacity: 0` [#3167](https://github.com/Semantic-Org/Semantic-UI/issues/3167) **Thanks @mdehoog**\n- **Dropdown** - Fixed condition where focusing on dropdown would show a blank menu when \"no results\" was reached and the dropdown was refocused\n- **Dropdown** - Search dropdowns will now correctly filter by current search term on re-focus\n- **Dropdown** - Fixed issue where tabindex was being removed incorrectly with `selection dropdown` in some cases. [#3002](https://github.com/Semantic-Org/Semantic-UI/issues/3002)\n- **Dropdown** - Added `remoteValues` as a possible `field` setting. Allowing users to return API results using arbitrary JSON object groupings. [#3080](https://github.com/Semantic-Org/Semantic-UI/issues/3080)\n- **Dropdown** - Added ability to pass in `keys` as a setting, to avoid issues with languages where comma delimiter may be a different keycode [#3016](https://github.com/Semantic-Org/Semantic-UI/issues/3016)\n- **Dropdown** - `search dropdown` will now initialize with `autocomplete=\"off\"` to avoid triggering native autocomplete menu\n- **Form Validation** - Fixes error on `blur` or `change` when using a blank validation object [#3131](https://github.com/Semantic-Org/Semantic-UI/issues/3131) **Thanks @listepo**\n- **Form Validation** - Fixes some issues with form integer validation [#3053](https://github.com/Semantic-Org/Semantic-UI/issues/3053) **Thanks @maturano**\n- **Form Validation** - `decimal` rule now **only matches decimals**, to match any number use `number` rule. [#3060](https://github.com/Semantic-Org/Semantic-UI/issues/3060)\n- **Form** - Removed `divider` spacing as part of `ui form`, this caused inheritance issues when using special divider types [#3092](https://github.com/Semantic-Org/Semantic-UI/issues/3092)\n- **Grid** - Fixes attached segment 1px offset inside grid column [#3226](https://github.com/Semantic-Org/Semantic-UI/issues/3226)\n- **Grid** - Fixes some inconsistencies with `widescreen only` class [#3161](https://github.com/Semantic-Org/Semantic-UI/issues/3161) **Thanks @mdehoog**\n- **Header** - Sub headers now force `display: block` [#3020](https://github.com/Semantic-Org/Semantic-UI/issues/3020)\n- **Popup** - Fixes positioning issue when `movePopup: false` [#3213](https://github.com/Semantic-Org/Semantic-UI/issues/3213) **Thanks @parisholley**\n- **Popup** - Popup now works with `svg` elements [#3043](https://github.com/Semantic-Org/Semantic-UI/issues/3043)\n- **Progress* - Calling `reset` will now reset `value` to 0, so increment starts again at 0\n- **Search** - Fixes `onSearchQuery` not firing when results are cached **Thanks @mnquintana**\n- **Search** - Fixes `url` parameter not working correctly due to typo in source **Thanks @fabienb4**\n- **Segment** - Fixes border on `horizontal segment` when they are `:first-child` inside `segments` group\n**Docs Bugs**\n- Thanks to everyone who has submitted PRs for typos, grammatical changes. These are too numerous to count, but really help improve the quality of our docs.\n- **Progress** - Progress example code no longer shows accidental inline css\n- **Sticky** - Fixed issue where pressing home/end button would cause sticky to break due to internal logic not allowing immediate jump from bottom attached to top attached, experienced most likely when pressing \"home\" or \"end\" key [#3011](https://github.com/Semantic-Org/Semantic-UI/issues/3011)\n\n### Version 2.1.4 - Sep 13, 2015\n\n**Critical Bugfixes**\n- **Build** - Fixed issue where using a packaged theme without a `site.variables` would cause build to fail [#3009](https://github.com/Semantic-Org/Semantic-UI/issues/3009) [#3010](https://github.com/Semantic-Org/Semantic-UI/issues/3010)\n\n**Enhancements**\n- **Form Validation** - Form validation now supports a brand new shorthand which is drastically simpler to specify [#2579](https://github.com/Semantic-Org/Semantic-UI/issues/2579)\n```javascript\n// expands out using default prompts and identifier matching property label\n$('.ui.form')\n  .form({\n    fields: {\n      name     : 'empty',\n      gender   : 'empty',\n      username : 'empty',\n      password : ['minLength[6]', 'empty'],\n      skills   : ['minCount[2]', 'empty'],\n      terms    : 'checked'\n    }\n  })\n;\n```\n- **Form Validation** - `identifier` and `prompt` are now optional for all form validation rules. Default prompt values have been added for all rule types, and identifier will now automatically match on the named value for rule if no ID is specified. [#3001](https://github.com/Semantic-Org/Semantic-UI/issues/3001) [#2579](https://github.com/Semantic-Org/Semantic-UI/issues/2579)\n- **Form Validation** - All form prompts now support templates values, `{value}`, `{name}`,  `{ruleValue}`, and `{identifier}` [#3001](https://github.com/Semantic-Org/Semantic-UI/issues/3001)\n\n**Bugfixes**\n- **Dropdown** - Fixed issue with ',' key not being allowed in dropdown due to user tagging shortcut key [#3016](https://github.com/Semantic-Org/Semantic-UI/issues/3016)\n- **Message** - `ui list` used inside `ui message` now aligns properly in all conditions [#2958](https://github.com/Semantic-Org/Semantic-UI/issues/2958)\n- **Form Validation** - Validation messages in `error message` group are now correctly removed when invalid field revalidates on blur\n- **Label** - Labels no longer force single line using `word-wrap: nowrap` [#3006](https://github.com/Semantic-Org/Semantic-UI/issues/3006)\n- **Table** - Fixed issue where `(x) column segment table` was inheriting accidentally inheriting some grid styles\n- **Grid** - Fixed `middle aligned grid` not applying to columns [#2959](https://github.com/Semantic-Org/Semantic-UI/issues/2959)\n- **Menu** - Fixed issue where `right menu` was not floating correctly inside a `menu > container` on mobile [#2969](https://github.com/Semantic-Org/Semantic-UI/issues/2969)\n- **Button** - Fixes `right labeled icon button` with a `right` named icon (for example `right arrow`) having incorrect margin on icon. [#2973](https://github.com/Semantic-Org/Semantic-UI/issues/2973)\n\n### Version 2.1.3 - Sep 03, 2015\n\n**Bugfixes**\n- **Embed** - Fixes issue with `?=` appearing before parameters instead of `?` [#2956](https://github.com/Semantic-Org/Semantic-UI/issues/2956) **Thanks @AgentShark**\n- **Input** - Fixes regression where `ui icon input` inside forms were not correct width [#2953](https://github.com/Semantic-Org/Semantic-UI/issues/2953)\n- **Input** - Fixes typo in focused placeholder text color preventing the value from being used [#2939](https://github.com/Semantic-Org/Semantic-UI/issues/2939)\n- **Input** - `action input` now correctly show focused border on button side, and avoids duplicating borders\n\n### Version 2.1.2 - Sep 02, 2015\n\n**Bugfix**\n- **Form Validation** - Fixes callbacks on `onSuccess` so as to not break backwards compatibility. #2945 #2944\n\n### Version 2.1.1 - Sep 02, 2015\n\n**Bugfix**\n- **Build Tools** - Fixes [issue](https://github.com/Semantic-Org/Semantic-UI/commit/3d20d5e9796e05cc100af73370173f3383cf1d81) causing comment banner to incorrectly show version `2.0.7` in `dist/`\n\n### Version 2.1.0 - Sep 02, 2015\n\n#### Features\n\n**New UI Features**\n\n- **API** - Added `encodeParameters` option to enable/disable parameters being encoded with `encodeURIComponent` [#2752](https://github.com/Semantic-Org/Semantic-UI/issues/2752)\n- **API** Added new setting `hideError`, defaults to `auto` (will automatically hide error for elements that are not forms). [#2586](https://github.com/Semantic-Org/Semantic-UI/issues/2586)\n- **Build Tools** - Packaged `.overrides` file are now an optional include\n- **Button** - `colored basic` button are now colored before `:hover` in the default theme, this is more in line with common usage across other websites.\n- **Button** - Added `labeled button` variation for display a count next to a button.\n- **Cards** - Added documentation for `stackable` cards which was available but undocumented in previous versions.\n- **Checkbox** - Added 4 new callbacks `beforeChecked`, `beforeUnchecked`, `beforeDeterminate`, `beforeIndeterminate`. You can now cancel a state change by returning false from these callbacks.\n- **Divider** - Vertical divider can now be used multiple times in a single column row (not just 50/50 split). [#2808](https://github.com/Semantic-Org/Semantic-UI/issues/2808)\n- **Dropdown**  - Dropdown using remote data, can now customize the property names returned by api call using `fields` (similar to search).\n- **Dropdown** - Dropdown will now automatically update selected values when hidden input value changes (so long as `change` event is triggered) [#2626](https://github.com/Semantic-Org/Semantic-UI/issues/2626)\n- **Dropdown** - Dropdown with user additions now will use custom templated messages to distinguish added choice from preselected choice [#2923](https://github.com/Semantic-Org/Semantic-UI/issues/2923)\n- **Form Validation** - Added credit card validation, supports array of card types, and international cards including non luhn cards like China UnionPay [#2729](https://github.com/Semantic-Org/Semantic-UI/issues/2729)\n- **Form Validation** - Updated appearance of form validation prompts to use a more lightweight style. Added variables for controlling error validation prompt styles in `form.variables`\n- **Grid** - Added new responsive [`reversed`](http://www.semantic-ui.com/collections/grid.html#responsive-order) variations for reversing column order, these are also compatible with other grid types like `divided` and `celled` by device [#2685](https://github.com/Semantic-Org/Semantic-UI/issues/2685)\n- **Icon** - Added `fitted` icon variation, and new small sizes `tiny` and `mini`\n- **Input** - Added `disabled` state for inputs [#2694](https://github.com/Semantic-Org/Semantic-UI/issues/2694)\n- **Input** - Added ability for labeled input to be attached to both sides [#2922 **Thanks @maturano**](https://github.com/Semantic-Org/Semantic-UI/issues/no**)\n- **Label** - Added a new  `basic label` style, works symbiotically with other label types to provide a more lightweight style label\n- **Menu** - Added new `tabular` menu types, `right tabular`, `bottom tabular`, added many new `tabular` menu variables for customizing\n- **Menu** - Appearance of `labeled icon menu` has been modified. Horizontal menus now have icons above text, and icons are slightly larger than before.\n- **Search** - Search now can use any server response mapping, use the `fields` parameter to pass in a mapping of server response to content **thanks @anibalmf1** [#2645](https://github.com/Semantic-Org/Semantic-UI/issues/2645)\n- **Site** - Added global variable `@focusedFormBorderColor` for controlling form focus border color\n- **Table** - New `fixed` table variation added for use with `table-layout: fixed;`. This also supports \"...\" ellipsis when used with `single line` content\n\n**[Additional Features](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **Breadcrumb** - Breadcrumb no longer receives vertical spacing by default. This may often cause vertical alignment issues when displayed next to other `inline-block` content.\n- **Dropdown** - Added `get default text` and `get placeholder text` behaviors for returning text values.\n- **Dropdown** - Pointing dropdown (dropdown with arrows) now support `upward`, and will automatically move pointer arrows when appearing upward [#2733](https://github.com/Semantic-Org/Semantic-UI/issues/2733)\n- **Form** - `inverted form` now remove input border, added new variables for controlling inverted form input styles\n- **GitHub Theme** - Added github icon theme with port of Octicons.\n- **Label** - Added `basic` label variation, useful for item counts\n- **Menu** - `inverted menu` now support `colored` individual items **Thanks @maturano** [#2850](https://github.com/Semantic-Org/Semantic-UI/issues/2850)\n- **Menu** - `text menu` now uses padding for hitboxes to make target area for links larger\n\n**[Community Added Features](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **Build Tools** - `gulp build` now correctly calls `callback`, allowing those importing tasks to chain it correctly [#2836 **Thanks @artemkaint**](https://github.com/Semantic-Org/Semantic-UI/issues/nt**)\n- **Dropdown** - Dropdown `show` and `hide` are now cancellable by returning `false` from `onShow` or `onHide` callbacks.\n- **Flag** - England flag alias is now correctly set [#2770 **Thanks @eduardom**](https://github.com/Semantic-Org/Semantic-UI/issues/om**)\n- **Form Validation** - Added `number` and `decimal` validations to form **Thanks @TonnyORG** [#2537](https://github.com/Semantic-Org/Semantic-UI/issues/2537)\n- **Form Validation** - Form `onSuccess` and `onFailure` now receive current form fields as a parameter **Thanks @guodong**\n- **Popup** - Popup will now look for inline popup as any next adjacent sibling [#2772 **Thanks @malacalypse**](https://github.com/Semantic-Org/Semantic-UI/issues/se**)\n\n#### Bugs\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **Accordion** - Added missing notation for accordion docs [#2812](https://github.com/Semantic-Org/Semantic-UI/issues/2812)\n- **Build Tools** - Fixed bug where `gulp version` would show `x.x` [#2875 [#2920](https://github.com/Semantic-Org/Semantic-UI/issues/2920)\n- **Build Tools** - Fixes issue where component glob `{tab, table}` caused table to be included twice in concatenated source **\n- **Button** - Fixes inverted button missing an `active` and `active focus` state [#2635](https://github.com/Semantic-Org/Semantic-UI/issues/2635)\n- **Button** - Fixes issue where `basic button` would not have focus color text when colored [#2264](https://github.com/Semantic-Org/Semantic-UI/issues/2264)\n- **Checkbox** - Clicking a link inside an initialized checkbox `label` will now work correctly, and will not toggle the checkbox. [#2804](https://github.com/Semantic-Org/Semantic-UI/issues/2804)\n- **Container** - Fix issue with `fluid container` being `100% + gutter` at mobile resolution (causing overflow)\n- **Dropdown** - `forceSelection` no longer sets current value in search selection when current query is blank [#2058](https://github.com/Semantic-Org/Semantic-UI/issues/2058)\n- **Dropdown** - Dropdown `@arrowSize` will now automatically reposition itself if size is changed with variable\n- **Dropdown** - Dropdown arrow now has a variable `@dropdownArrowSize`, and is slightly smaller than previously\n- **Dropdown** - Fix `left menu` inside `ui menu` appearing horizontally [#2778](https://github.com/Semantic-Org/Semantic-UI/issues/2778)\n- **Dropdown** - Fixed error where menu would disappear when entering spaced words using `allowAdditions: true` caused by value matching its own whitespace-trimed value [#2853](https://github.com/Semantic-Org/Semantic-UI/issues/2853)\n- **Dropdown** - Fixed issue where \"no results\" message would be still be visible before search query on input focus [#2824](https://github.com/Semantic-Org/Semantic-UI/issues/2824)\n- **Dropdown** - Fixed issue where `onChange` would not fire when using `action: 'hide'`. [#2818](https://github.com/Semantic-Org/Semantic-UI/issues/2818)\n- **Dropdown** - Fixed issue where selected item would not be shown when being re-shown after filtering with single search selection [#2824](https://github.com/Semantic-Org/Semantic-UI/issues/2824)\n- **Dropdown** - Fixes issues with setting \"\" (empty quote) values when `placeholder: false` is used. Fixes issues with using `clear` and `restore defaults` without placeholders. [#2637](https://github.com/Semantic-Org/Semantic-UI/issues/2637)\n- **Dropdown** - Remove use of `trim` which causes issues IE 11 and below [#2806](https://github.com/Semantic-Org/Semantic-UI/issues/2806)\n- **Embed** - Remove accidental `console.log` statements in js [#2760](https://github.com/Semantic-Org/Semantic-UI/issues/2760)\n- **Form / Input** - Fixes `::placeholder` text color for `ui error input`, modifies form error placeholder color to distinguish from form value error color [#2786](https://github.com/Semantic-Org/Semantic-UI/issues/2786)\n- **Form / Input** - Fixes issue where `ui input` would sometimes collapse to `0px` width, especially when used inside an `inline field` [#2705 [#2621 [#2821](https://github.com/Semantic-Org/Semantic-UI/issues/2821)\n- **Form** - `disabled field(s)` now remove `pointer-events` allowing it to disable checkbox and dropdown functionality  [#555](https://github.com/Semantic-Org/Semantic-UI/issues/#555)\n- **Form** - Date input and other special input in chrome now are the same height as normal input (adds custom vendor shadow dom styling) [#2704](https://github.com/Semantic-Org/Semantic-UI/issues/2704)\n- **Form** - Form will no longer show messages that are empty in `error`, `warning`, or `success` state.\n- **Grid** - Fixed issue where `relaxed stackable grid` would have incorrect margin on mobile width\n- **Grid** - Fixed issue where nested `stackable grid` would have incorrect margin on mobile.\n- **Header** - Fixed `attached header` to have the correct bottom border on `top attached` and `attached` variations. [#2798](https://github.com/Semantic-Org/Semantic-UI/issues/2798)\n- **Icon** - Fixed typo in cube icon alias caused by bad grep [#2765](https://github.com/Semantic-Org/Semantic-UI/issues/2765)\n- **Input** - Fixed issue with appearance of `left corner labeled left icon input` [#2782](https://github.com/Semantic-Org/Semantic-UI/issues/2782)\n- **Item** - Fixed `bottom aligned` not working in item due to incorrect flex value [#2826](https://github.com/Semantic-Org/Semantic-UI/issues/2826)\n- **List** - Lists can now be `right floated` or `left floated`\n- **Menu** - Fixed `(x) column` nested grid with alignment stacking vertically (wrong flex-direction) [#2810](https://github.com/Semantic-Org/Semantic-UI/issues/2810)\n- **Menu** - Sub menus now work correctly and are correctly spaced inside `secondary menu` and text menu` [#2862](https://github.com/Semantic-Org/Semantic-UI/issues/2862)\n- **Modal** - Fix autofocus setting in modal not working due to improper selector [#2737](https://github.com/Semantic-Org/Semantic-UI/issues/2737)\n- **Modal** - Increased `close` specificity, modal will now only close on `> .close` [#2736](https://github.com/Semantic-Org/Semantic-UI/issues/2736)\n- **Popup** - Fixes issue where variation would not be added to a pre-existing popup even if specified in javascript [#26011](https://github.com/Semantic-Org/Semantic-UI/issues/6011)\n- **Search** - Calling `.search('show results')` no longer fails when input is not focused [#2842](https://github.com/Semantic-Org/Semantic-UI/issues/2842)\n- **Table/Label** - `ribbon labels` will now automatically position themselves when used inside a table [#1930](https://github.com/Semantic-Org/Semantic-UI/issues/1930)\n- **Transition** - Transition callbacks now all have the correct `this` set. [#2758](https://github.com/Semantic-Org/Semantic-UI/issues/2758)\n\n**[Community Bug Fixes](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.1.0+is%3Aclosed)**\n- **API** - API debug is now `false` by default, like other modules. [#2817](https://github.com/Semantic-Org/Semantic-UI/issues/2817)\n- **Build Tools** - Removed octal literals from install scripts (for color escaping), and uses of future ECMAScript reserved words [#2838 [#2839 **Thanks @artemkaint**](https://github.com/Semantic-Org/Semantic-UI/issues/nt**)\n- **Dropdown** - Fixed issue where label could not be removed when using a numeric value due to mismatched types [#2754 [#2755 **Thanks @dgurkaynak**](https://github.com/Semantic-Org/Semantic-UI/issues/ak**)\n- **Menu** - Fixes tabular menu missing variable for background. **Thanks @frontdevde**\n- **Step** - Fixed issue with display of step groups with only one step having incorrect border radius **Thanks @elliotisonfire** [#2869](https://github.com/Semantic-Org/Semantic-UI/issues/2869)\n- **Sticky** - Sticky now sets width and height with `!important` to avoid inheritance issues in some cases **Thanks @lauri-elevant** [#2710](https://github.com/Semantic-Org/Semantic-UI/issues/2710)\n- **Tab** - Fixed issue where simple path would be tested before full path, i.e. `first/` vs `/second/first/` causing tab to not open in some cases **Thanks @habibutsu** [#2843](https://github.com/Semantic-Org/Semantic-UI/issues/2843)\n\n**Additional Bugs**\n- **API** - API now will use automatically use `form` action if no api event is specified now  when form is `stateContext` but not intialized element\n- **Build Tools** - Fixes issue on `win` platform where packaged theme would not correctly update when using watch due to regExp not matching windows path separators.\n- **Dropdown** - Dropdown will no longer fire native `onchange` event on hidden input when setting value during initial load (unless `fireOnInit: true`) #2795 **Thanks @lauri-elevant**\n- **Dropdown** - Fixed issue where `forceSelection` would not occur when `pageLostFocus` (clicked into another tab and back)\n- **Dropdown** - Fixed issue where using the specific value `value=\"false\"` would cause an option to not be removable from a multiple select\n- **Dropdown** - When `useLabels: false` placeholder text will now show up when 0 items selected, instead of the text \"0 items selected\"\n- **Dropdown/Tab** - Fixed an instance where `metadata` was not referencing settings metadata value\n- **Form Validation** - Fixed issue with `get value(s)` where unchecked checkboxes would not correctly retrieve values\n- **Form** - Dropdown in `inline field` now use auto width instead of 100%\n- **Grid / Container** - `ui relaxed grid container` and `ui very relaxed grid container` will now all render at same container width\n- **Grid** - Fixed `stackable celled grid` having doubled border width between rows\n- **Header** - Fixed issue with em sizing of `chubby` and `bookish` header themes appearing too large\n- **Icons** - Fixed issue where `active icon` or `emphasized icon` would not adjust opacity inside menus\n- **Input** - `labeled input` now keeps border on label edge so that focus color appears correctly\n- **Input** - Input now will reset `font-weight` and `font-style` if set on parent;\n- **Input** `action input` and `labeled input` now have focused border on inner edge with label/button\n- **Label** - `pointing` and `attached` labels are *now word order sensitive* to allow them to work correctly with other directional variations.\n- **Label** - `pointint label` now rounds to exact pixel em value, should align correctly in more cases\n- **Menu** - `@pressedItemColor` has been renamed to `@pressedItemTextColor` to match naming conventions of other variables\n- **Menu** - Added `flex: 0 0 auto` to menu item to make sure menu do not collapse text content to reduce space\n- **Menu** - Fix text align on `dropdown item` inside `icon menu`\n- **Menu** - Fixed hybrid initialization not creating `menu` correctly. Fixed docs example of hybrid `<select>` initialization\n- **Menu** - Fixed issue with `labeled input` text inside menu not appearing vertically centered\n- **Popup** - Fixed `onRemove` firing even when popup is not removed\n- **Reveal** - Reveal now uses `display: inherit` instead of forcing `inline-block`\n\n### Version 2.0.8 - August 10, 2015\n\n**All UI** - This release should fix issues caused when importing individual component using `require` when using [single component repos](https://github.com/Semantic-Org/). See discussion in [#2816](https://github.com/Semantic-Org/Semantic-UI/pull/2816), and previously [#1156](https://github.com/Semantic-Org/Semantic-UI/pull/1156), and [#1878](https://github.com/Semantic-Org/Semantic-UI/pull/1878)\n\n### Version 2.0.7 - July 23, 2015\n\n**Important Note**\nThis release should fix bugs some may have encountered with `npm install semantic-ui` hanging after set-up. See [this thread](https://github.com/Semantic-Org/Semantic-UI/issues/1816) for more details.\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.7+is%3Aclosed)**\n- **API** - Fixed some cases where `onComplete`, `onSuccess` and `onFailure` would receive XHR as first parameter and not `response`. [#2713](https://github.com/Semantic-Org/Semantic-UI/issues/2713)\n- **API** - Fixed issue where `onFailure` would pass response as stringified JSON and not a JS object [#2713](https://github.com/Semantic-Org/Semantic-UI/issues/2713)\n- **Build Tools** - Fixed some cases of `npm install` with CI or tests. Install will not stop to ask questions if project has an existing `semantic.json` file (more quiet options to come) [#1816](https://github.com/Semantic-Org/Semantic-UI/issues/1816)\n- **Dropdown** - Fixed border radius on `circular labeled icon button`  [#2700](https://github.com/Semantic-Org/Semantic-UI/issues/2700)\n- **Dropdown** - Fixed issue where dropdown nested inside `label` would not open. [#2711](https://github.com/Semantic-Org/Semantic-UI/issues/2711)\n- **Popup** - Fixed issue where popup would not open on tablets with both touchscreen and mouse on mouseenter. [#2715](https://github.com/Semantic-Org/Semantic-UI/issues/2715)\n\n**[Merged PR](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.7+is%3Aclosed)**\n- **Build Tools** - Fixed autoprefixer not correctly setting `last 2 versions` [#2717](https://github.com/Semantic-Org/Semantic-UI/pull/2717) **Thanks @frontdevde**\n- **Gulp Import** - Fixes error `Cannot find module 'gulp-help'` which may occur when importing gulp tasks [#2653](https://github.com/Semantic-Org/Semantic-UI/issues/2653) [#2668](https://github.com/Semantic-Org/Semantic-UI/pull/2668) **Thanks @fholzer**\n\n**Docs**\n- **Recipes** - Add links to Sketch files for SUI. Add example repo on how to import gulp tasks.\n\n\n**Minor Enhancements**\n- **API** - All API callbacks now recieve `xhr` from API request as the third calback parameter\n\n**Additional Fixes**\n- **Checkbox** - Fix checkbox \"check\" appearing italicized when included inside italicized text\n- **Popup** - Fixed terribly typo where popup `onShow` was mistakenly being called instead of `onHide` when hiding popup\n- **Popup** - Popup on `touchstart` now occurs immediately without waiting for `delay.show`\n\n### Version 2.0.6 - July 22, 2015\n\n**Important Notes**\n- **Form Validation** - In `2.0.4` `length` rules were corrected to match \"exact length\" and not \"minimum length\". This may have caused issues for those who were using this rule as min length previously. We've remedied any breaking changes introduced by by returning `length` to functioning as \"minimum length\" and added a new rule `exactLenght` for matching exact length. #2681\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.6+is%3Aclosed)**\n- **Dropdown** - Fixed issue where `disabled` dropdown would still receive focus [#2699](https://github.com/Semantic-Org/Semantic-UI/issues/2699)\n- **Dropdown** - Fixed `restore value` sometimes now working correctly due to \"animating out\" label still being mistaken for selected. [#2690](https://github.com/Semantic-Org/Semantic-UI/issues/2690)\n- **Dropdown** - Added `set exactly` to remedy confusion of `set selected` not removing current selections with multiple [#2689](https://github.com/Semantic-Org/Semantic-UI/issues/2689)\n- **List**- Fixed issue where using an image variation like `ui image label` as a direct child of an `item` would remove right padding [#2691](https://github.com/Semantic-Org/Semantic-UI/issues/2691)\n\n**Additional Fixes**\n- **Dropdown** - Fixed issue where using text labels, `useLabels: false`, would cause selection count to appear incorrect.\n- **Dropdown** - Text labels, `useLabels: false`, now works correctly with `maxSelections`, and receives special UX considerations\n\n### Version 2.0.5 - July 20, 2015\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.5+is%3Aclosed)**\n\n- **API** - Data replaced in urls, `urlData`, will now be url encoded by default. Additionally checks were added to avoid double encoding already encoded values. [#2394](https://github.com/Semantic-Org/Semantic-UI/issues/2394)\n- **Checkbox** - Fix issue with `onChange` not firing when space key is used. Checkbox keyboard shortcuts now occur on `keydown` but cancel events correctly on `keyup` [#2676](https://github.com/Semantic-Org/Semantic-UI/issues/2676)\n- **Radio Checkbox** - Fixed regression causing radio checkboxes to all appear selected in chrome due to `:indeterminate` selector [#2505](https://github.com/Semantic-Org/Semantic-UI/issues/2505)\n- **Dropdown** - Fixed issue causing `multiple search dropdown` using [`search` inside menu](http://www.semantic-ui.com/modules/dropdown.html#search-in-menu) to break when multiple [#2666](https://github.com/Semantic-Org/Semantic-UI/issues/2666)\n- **Message** - Fixed issues where icon would overlap in `icon message` when at mobile resolutions due to `flex-collapse` value being incorrect [#2665](https://github.com/Semantic-Org/Semantic-UI/issues/2665)\n\n**Additional Fixes**\n- **Dropdown** - `<select>` dropdowns intialized without `multiple` property set on `<select>` will now produce an error to alert users selection will not be preserved correctly. Related [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n- **Dropdown** - Dropdown `<option>` added with `userAddition` now recieve class name `addition` to distinguish from original `<select>` options. [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n- **Dropdown** - User additions now have their `<option>` removed if a user deselects an addition. [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n\n### Version 2.0.4 - July 17, 2015\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.4+is%3Aclosed)**\n- **Build Tools** - Fixed issue where sub tasks were undefined when importing SUI's `build` and `watch` tasks into custom gulpfile #2648\n- **Button** - Fixed `fluid buttons` not working correctly with `<button>` due to button tags not supporting `flex` rules. [#2617](https://github.com/Semantic-Org/Semantic-UI/issues/2617)\n- **Button** - Fixed colored vertical basic buttons appearing 2px offset [#2655](https://github.com/Semantic-Org/Semantic-UI/issues/2655)\n- **Checkbox** - Checkbox now focuses after click, allowing for tab navigation from current position [#2610](https://github.com/Semantic-Org/Semantic-UI/issues/2610)\n- **Checkbox** - Fixed checkbox not using javascript having incorrect colors on focus [#2607](https://github.com/Semantic-Org/Semantic-UI/issues/2607)\n- **Dropdown** - Fixed `search selection` appearing incorrectly inside menu (default text would not disappear) [#2624](https://github.com/Semantic-Org/Semantic-UI/issues/2624)\n- **Form** - Added `doesntContain` and `doesntContainExactly` [#2638](https://github.com/Semantic-Org/Semantic-UI/issues/2638)\n- **Form** - Fixed issue with `minLength[1]` validation not behaving same as `minLength > 2` [#2636](https://github.com/Semantic-Org/Semantic-UI/issues/2636).\n- **Form** - Fixes errors when a field identifier is named `identifier` [#2629](https://github.com/Semantic-Org/Semantic-UI/issues/2629)\n- **Form** - Form fields will now error when a non-string identifier is used\n- **Formatting** - Fixed several source files that had `CR LF` (Windows) line endings [#2649](https://github.com/Semantic-Org/Semantic-UI/issues/2649)\n- **Input** - Fixed `left action input` displaying with incorrect `input` border radius inside `ui form` [#2638](https://github.com/Semantic-Org/Semantic-UI/issues/2638)\n- **Modal** - Modal `action` now uses a more specific selector to prevent modifying `comment action`\n- **Popup** - `fluid` popup with `setFluidWidth: true` (default value), will now use `parent` width and not `offsetContext` width [#2526](https://github.com/Semantic-Org/Semantic-UI/issues/2526)\n- **Popup** - Fixed issues where rounding could cause elements that are against edge of page from not appearing. Add new `jitter` setting for allowing popups to escape page boundaries by a small margin [#2526](https://github.com/Semantic-Org/Semantic-UI/issues/2526)\n- **Segment** - Added additional variables for `inverted` segment.\n- **Segment* - `horizontal segments` in IE will no longer stretch to the natural width of child imgs [#2550](https://github.com/Semantic-Org/Semantic-UI/issues/2550) [flexbug [#1](h](https://github.com/Semantic-Org/Semantic-UI/issues/1](h)ttps://github.com/philipwalton/flexbugs[#1-mi](https://github.com/Semantic-Org/Semantic-UI/issues/1-mi)nimum-content-sizing-of-flex-items-not-honored)\n- **Sidebar** - `right`, `top`, and `bottom` sidebar will not have their direction removed on `destroy` [#2644](https://github.com/Semantic-Org/Semantic-UI/issues/2644)\n- **Sticky** - Fixed `sticky` element that cannot fit in viewport not scrolling correctly when fixed to viewport [#2605](https://github.com/Semantic-Org/Semantic-UI/issues/2605)\n- **Transition** - Fixed issue where animating same element in its own `onComplete` would fail because animation had not yet called `force visible/hidden` [#2583](https://github.com/Semantic-Org/Semantic-UI/issues/2583)\n- **Visibility** - `refreshOnResize` now correctly includes a default value [#2615](https://github.com/Semantic-Org/Semantic-UI/issues/2615)\n- **Menu/Segment/Table** - Consolidated `attached` logic for all components using attached. [#2599](https://github.com/Semantic-Org/Semantic-UI/issues/2599)\n\n**Additional Bugs**\n- **Checkbox** - Fixed `space` shortcut causing checkbox to trigger twice\n- **Checkbox** - Updated `colored` theme to add new focus color variables.\n- **Popup** - `wide` and `very wide` popup will now limit themselves to normal popup widths on mobile so that they still appear on screen.\n- **Message** - Fixes `attached icon message` not using `flex`\n- **Sticky** - Fixed `sticky` content jumping from `fixed` to `bount bottom` when scroll position has surpassed bottom of container during page refresh.\n- **Sticky** - Sticky no longer uses `bottomPadding` to determine bottom edge of container.\n- **Steps** - Updated `basic` steps theme to appear correctly\n\n**Docs**\n- Fixed theme previews appearing incorrectly in all UI in docs. Regex parsing `.variable` files would ignore first variable after a comment.\n- Added individual examples of all form validation rules\n- Partial rewriite of sidebar documentation\n- Updated example in theme guide to include checkbox focus colors\n\n### Version 2.0.3 - July 8, 2015\n\n**Docs Updates**\n- **Examples** - Source code examples have been greatly improved. Required class names for each example will be highlighted in yellow. Other UI elements used in examples will now link out to their definition pages.\n\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.3+is%3Aclosed)**\n- **Checkbox** - Checkbox initialized with JS and with `for/id` matching would cause toggle to occur twice on click (making it seem as if nothing was updated) **thanks @malacalypse** [#2572](https://github.com/Semantic-Org/Semantic-UI/issues/2572)\n- **Divider/Grid** - `vertical divider` no longer has inexplicable right border when stacked on mobile [#2558](https://github.com/Semantic-Org/Semantic-UI/issues/2558)\n- **Dropdown** - Dropdown using `<select>` and `apiSettings` will now correctly add new `<option>` value when selections are made [#2573](https://github.com/Semantic-Org/Semantic-UI/issues/2573)\n- **Icon** - `black icon` have been added back as a color option [#2556](https://github.com/Semantic-Org/Semantic-UI/issues/2556)\n- **Icon** - Adds missing `square` and `square outline` icon [#2532](https://github.com/Semantic-Org/Semantic-UI/issues/2532)\n- **Input** - Fixed errored input field having incorrect border radius with `labeled input`\n- **Modal** - Modal that is larger than page height will now correctly reset body height on remove [#2576](https://github.com/Semantic-Org/Semantic-UI/issues/2576)\n- **Popup** - Popup `preserve` setting (which preserves popup in DOM to avoid regenerating on each show/hide) was set to `true` by default causing generated popups to remain in DOM. [#1369](https://github.com/Semantic-Org/Semantic-UI/issues/1369)\n- **Steps** - Fixed `github` theme for steps not displaying correctly in 2.0 [#2545](https://github.com/Semantic-Org/Semantic-UI/issues/2545)\n- **Steps** - Last `step` no longer incorrectly shows arrow [#2552](https://github.com/Semantic-Org/Semantic-UI/issues/2552)\n- **Transition** - Fixes `get current animation` erroring when `module cache` is cleared. [#2469](https://github.com/Semantic-Org/Semantic-UI/issues/2469)\n\n**Additional Bugs**\n- **Form** - URL regexp will now match now works correctly, and matches against non `http://` prefixed urls like `www.google.com`\n\n### Version 2.0.2 - July 7, 2015\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.2+is%3Aclosed)**\n\n- **Dropdown** - Fixed regression in `2.0.1` causing search dropdown not to clear values correctly [#2533](https://github.com/Semantic-Org/Semantic-UI/issues/2533)\n- **Site** - Sizing variables now are relative to `@emSize` adjusting all sizing variationss proportionately as `@emSize` changes [#2538](https://github.com/Semantic-Org/Semantic-UI/issues/2538)\n- **Dropdown** - Dropdown icon will now always toggle menu visibility [#2510](https://github.com/Semantic-Org/Semantic-UI/issues/2510)\n- **Dropdown** -  Pressing same key on dropdown with multiple choices with same first letter will now cycle selections. For example \"California\" then \"Colorado\" when pressing C [#2516](https://github.com/Semantic-Org/Semantic-UI/issues/2516)\n- **Dropdown** - Dropdown now changes text before calling `onChange` callback so that callback reflects new dropdown conditions [#2539](https://github.com/Semantic-Org/Semantic-UI/issues/2539)\n\n**Additional Bugs**\n- **Dropdown** - Clicking on label, or deleting a label will no longer trigger dropdown menu toggling\n- **Dropdown** - Multiselect that do use text labels (e.g. \"5 selected\") will now remove filters on selection and scroll to last selected value\n\n### Version 2.0.1 - July 6, 2015\n\n**[Reported Bugs](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A2.0.1+is%3Aclosed)**\n- **Label** - Attached labels now use a border-radius for corner-edges that matches more closely [#2500](https://github.com/Semantic-Org/Semantic-UI/issues/2500)\n- **Label** - Fixes incorrect label sizing for `large` and bigger sizes [#2486](https://github.com/Semantic-Org/Semantic-UI/issues/2486)\n- **Segment** - Fixed incorrect margin set on `attached segment` [#2503](https://github.com/Semantic-Org/Semantic-UI/issues/2503)\n- **Card** - `centered cards` variation now works similar to `centered card`. [#2520](https://github.com/Semantic-Org/Semantic-UI/issues/2520)\n- **Checkbox** - Fixed issue in chrome where radio checkbox would appear incorrectly when no default value was selected [#2505](https://github.com/Semantic-Org/Semantic-UI/issues/2505)\n- **Dropdown** - Fixed transparent tap color not being set correctly. Removed toggle behavior from touch events on multiple dropdown. [#2524](https://github.com/Semantic-Org/Semantic-UI/issues/2524)\n- **Checkbox** - Fixed issue where radio checkbox were not properly receiving `checked` class [#2506](https://github.com/Semantic-Org/Semantic-UI/issues/2506)\n- **Tab** - Tab now correctly obeys `cache` setting. Removed use of API's local caching by default. [#2493](https://github.com/Semantic-Org/Semantic-UI/issues/2493)\n- **Form** - `reset` will no longer clear values if no default value is found [#2504](https://github.com/Semantic-Org/Semantic-UI/issues/2504)\n\n**Additional Bugs**\n- **Dimmer** - Dimmer now removes variations like `blurring` and `inverted` when `destroy` is called.\n- **Dropdown** - `restore defaults` in dropdown when used with multiple will now correctly clear other values selected that were not there on page load.\n- **Dropdown** - Removes accidental console.log statement in dropdown\n- **Dropdown** - Dropdown no longer closes after max selections reached and enter key used for selection.\n- **Dropdown** - Dropdown will now show correctly when menu only includes a message with no other items\n- **Menu** - Fixed `pointing menu` arrow color slightly off\n- **Progress** - Progress included `debug: true` by default. This has been now correctly set to `false`\n- **Modal** - `scrolling modal` now correctly inherits rules so that it appears at top of screen on mobile\n- **Menu** - Inverted menu no longer includes a 1px transparent border.\n- **Menu** - Fixes `compact vertical menu` using `flex` style incorrectly\n- **Menu** - Fixes `border-top` not appearing on `bottom fixed` menu\n- **Tab** - Fixed bug where remote loaded tab content would not show `loading tab` on first load.\n\n**Docs**\n- **Form** - Clarified usage for `reset` in form docs [#2504](https://github.com/Semantic-Org/Semantic-UI/issues/2504)\n- **Docs** - `1.0` docs are now available at [http://1.semantic-ui.com](http://1.semantic-ui.com) Link in footer has been fixed.\n- **Image** - Fixed `mini image` having wrong pixel size in docs [#2521](https://github.com/Semantic-Org/Semantic-UI/issues/2521)\n- **Image** - Added docs for missing `fluid image` variation\n- **Modal** - Removed legacy JS animation settings still accidentally in docs\n- **Tab** - Added new examples for `evaluateScripts` and HTML5 state tabs\n\n### Version 2.0.0 - June 30, 2015\n\n**Migration Guide**\n\n- **Modal** - If you are using a modal with image content, you will need to use `image content` on the parent element. This is because `flex` rules require parent styling that the previous `table-row` rules did not.\n- **Modal** - Modal will now only close on buttons matching `deny` or `approve` selector. Any button that should hide modal on click should either match one of these selectors, or call `$('.ui.modal').modal('hide')` `onclick`.\n- **Grid** - `page grid` has been deprecated.  `page grids` used percentage gutters which made it unnecessarily difficult to style responsive page content. Moving forward we recommend using `ui container` a fixed width responsive container for holding page contents.\n- **Dropdown** - Dropdowns will now change opening directions automatically based on available screen space. If you need  to force a dropdown direction use `dropdown({ direction: 'upward'})`\n- **Form Validation** - Form validation now passes settings through a `fields` object. This is to make form initialization match other components. The previous syntax will continue to work but will produce deprecation notices in console\n- **Checkbox** - Checkbox `fireOnInit` now defaults to false. Checkboxes now also *do not require javascript* to function.\n- **Dropdown** - Dropdown item `description` now are floated in default theme and should be included before other `item` content\n- **Form** - `grouped inline field` no longer display horizontally. Use `inline field` instead for horizontal inline field groups.\n- **Input** - `pointer-events` have been removed from `icon` in `icon input` unless a `link icon` is used. This is to make sure the hitbox for focusing an input includes the icon.\n- **Popup** - Popups are no longer exclusive by default. Opening a popup will not necessarily close other visible popups. You can change this behavior by using the setting `exclusive: true`. Additionally the default theme now uses `1rem` size for standard popups.\n- **Colors** - Default colors have been adjusted, which may cause slight changes in your design. New colors have also been added to fill in missing gaps in [color naming](http://en.wikipedia.org/wiki/Linguistic_relativity_and_the_color_naming_debate#Berlin_and_Kay).\n- **Segment** - Segment no longer includes a [clearfix](http://learnlayout.com/clearfix.html) by default. You will need to specify a `clearing segment` to clear floated content.\n- **Rail** - Rail now uses `border-box` instead of `content-box`. This means manually specified rail widths will now need to account for padding. This was added to fix issues where rail `height: 100%` would incorrectly match content when a rail had padding.\n- **Menu** - `tiered menu` has been removed in `2.0`. This may be rewritten in the future, but was not up to the standards of the rest of the library and has been removed.\n- **Tab** - `onTabInit` and `onTabLoad` have been renamed to `onFirstLoad` and `onLoad` respectively. This is to conform to the naming conventions of other modules (no self reference). Previous callbacks will continue to work but will produce deprecation notices in console. Two new callbacks `onVisible` and `onRequest` have been added as well.\n- **Button** - `wide` variations using numbers `2 wide`, `3 wide` have been removed due to incompatibilities with some build tools. Please use `two wide`, or `three wide` instead.\n- **Video** - The undocumented `video` module has been renamed to `embed`. Behaviors remain the same, but users need to adjust their javascript init to `$('.ui.embed').embed();`\n- **API** - API `onFailure` will now be called **in all failure conditions**, when a request is errored (504, 404 etc), aborted (page change or CORS), or JSON does not pass `successTest` function. `onError` and `onAbort` will also fire for each specific failure condition.\n\n**New UI**\n- **Container** - Containers are fixed width containers meant for holding page contents, and are a simpler alternative to `ui page grid`, view more [examples in docs](http://www.semantic-ui.com/elements/container.html#examples)\n- **Multiselect** - New `multiple` dropdown types have been added. Many new dropdown improvements have been added including tagging/tokenizing features and loading data through API requests.\n- **Embed** - New embed component allows for responsive iframe embeds that maintain their aspect ratio. Embed can be used with YouTube or Vimeo videos, along with placeholder content to avoid loading third party libraries until a user chooses to interact with the video.\n\n**Major Enhancements (Please Read)**\n- **Site** - Added new colors `olive`, `violet`, `brown` and `grey`. These are available in all elements with color variations.  **Thanks @lemartialou**\n- **API** - API can now be used with mocked responses, and custom AJAX requests. `mockResponse` has been added to resolve request with a prespecified JSON object, or a synchronous function callback.\n- **API** `mockResponseAsync` has been added for custom asynchronous requests. This allows you to specify a custom async callback to resolve an API request, helping with integration with libraries like Ember or Angular that may wrap AJAX requests.\n- **API** - API callbacks now have an `onResponse` callback that can adjust a servers response before it is parsed by other callbacks for success or failure conditions. **Thanks @mnquintana**\n- **API** - API now provides a local caching setting to avoid server roundtrips for identical urls by using `cache: 'local'`. This is not enabled by default.  Local caching is useful for results that should return the same values across a single session, for example when querying an autocomplete.\n- **Card** - Cards now support multiple custom `content` blocks. Content blocks and images can now appear in any order.\n- **Checkbox** - Checkbox no longer require javascript to function.\n- **Checkbox** - Added support for `indeterminate` checkboxes, along with new stylings.\n- **Checkbox** - Now includes separate behaviors for triggering state changes without invoking callbacks `set checked` vs `checked`\n- **Dropdown** - Added remote API integration with dropdown, to allow `search selection` to query against a remote dataset.\n- **Dimmer** - Dimmers now have a `blurring` variation which apply a glass-like effect when dimmed\n- **Dropdown** - Dropdowns now automatically observe changes in `menu` and will update selector cache with new additions\n- **Dropdowns** - Added ability to add custom choices to all search selection dropdowns (multi/single) using `allowAdditions: true` setting. Search now displays error messages on no results in all cases.\n- **Dropdown** - Keyboard shortcuts have been added for selecting dropdown choices, for example \"N\" will scroll to \"New York\" in a state selection list, similar to native `<select>` behavior.\n- **Dropdown** - Added new dropdown variation `scrolling dropdown` and `scrolling menu`, this can be used to include a scrollable section inside a dropdown menu.\n- **Dropdown** - Dropdown will automatically animate upward if there is not enough space to appear below.\n- **Dropdown** - Using `page up` and `page down` keys will now scroll menus by a page at a time\n- **Form** - Forms now use `flexbox` for creating field groups. Inline fields now support `(x) wide` sizing using `flex`\n- **Grid** - Grids now use `flexbox`, columns are now all equal height by default. New flexbox alignment types like `stretch` have been added for easier vertical alignment.\n- **Multiple UI** - Many components now use flexbox, which means previous confusing fixes like `font-size: 0;` to remove [white-space from inline block](https://css-tricks.com/fighting-the-space-between-inline-block-elements/) is no longer necessary. Removing this hack, now means any element can be a direct child of `grid` or `menu`.\n- **Modal** - Added new settings `blurring` and `inverted` which automatically set a modal's dimmer to either inverted or blurring.\n- **Menu** - Menu now uses flexbox. This allows menu items to match each others heights regardless of each items content size. `right menu` content should now follow other menu content instead of preceding it (no longer uses float).\n- **Grid** - Grids are now `flexbox` and `equal height` by default, the `equal height` variation can safely be removed\n- **Popup** - Popup has been rewritten to drastically improve performance, especially when testing multiple positions.\n- **Transition** - Fallback javascript animations have been removed from UI components like dropdown and popup to increase performance. This removes need for expensive pseudo selectors like `:visible`, `:animated` and `:hidden` and reduces filesize.\n- **Form Validation** - Form validation now uses a single `settings` object like other modules. Using `(fields, settings)` will continue to work but will produce a deprecation notifications in `console`\n- **Form Validation** - Form validation now supports many new validation rules, including some specifically for use with multiple select values.\n- **Item** - Items now uses `flexbox` for layout.\n- **Message** - `icon message` now uses `flexbox` for layout\n- **Menu** - `vertical tabular menu`, a vertical tab menu, has been added\n- **Input** - All `input` types use `flexbox` for layout\n- **Segment** - Segments now support complex nesting, many new rules for how segment groups should appear inside groups\n- **Segment** - New `horizontal segment` groups make laying out auto resizing text columns much easier.\n- **Sidebar** - iOS will now correctly report `scrollTop` values for `document` or `body` when using a sidebar. Chrome on iOS no longer has issues with fixed content not sticking immediately when using a sidebar.\n- **Shapes** - Shapes now correctly adjusts for margin on `sides`\n- **Steps** - Steps now use `flexbox`, fluid steps now center content inside each step\n- **Steps** - Steps no longer need `item count` and will automatically divide evenly\n- **Transition** - Transition code has been optimized to increase performance. 100% improvement on first animation, and 40% improvement on subsequent animations.\n- **Visibility** - Using `.visibility({ type: 'fixed'})` will now automatically add a placeholder element which will swap places with an element when it is attached to the viewport. This should make fixed content drastically simpler.\n- **Visibility** - Visibility and sticky now use a more performant [pub/sub pattern](http://davidwalsh.name/pubsub-javascript) that will only attach a single event to context `scroll`.\n- **Visibility** - Added two new visibility callbacks `onOnScreen` and `onOffScreen`, which occur, most obviously when an element first appears in or out of a browser's viewport.\n\n**Enhancements**\n- **Site** - Added many new site variables, including the ability to control input size across all UI `inputPadding`, along with more border colors, accents, and colors.\n- **Accordion** - adds `onOpening` and `onClosing` callback (before animation) to go with `onOpen`, `onClose` (after animation) **Thanks @cluppric**\n- **Accordion** - Added `on` setting for specifying accordion trigger event.\n- **Activity Feed** - Activity feed has been rewritten to use `flexbox`\n- **API** - API now has new settings `throttleFirstRequest` and `interruptRequests`. Interrupt requests will abort a previous request on an element when making a new request. `throttleFirstRequest`, sets whether the first request or only subsequent requests should be throttled when a `throttle` duration is specified.\n- **Build Tools** - Build tools will now display pre-specified errors when a theme file is missing or an element specifies an unavailable theme.\n- **Build Tools** - Adjusting `site.variables` will now rebuild all UI, instead of just `site.less`\n- **Button** - Added `:focus` styles for all button types, all button examples in docs now are keyboard focusable using either `<button>` or `tabindex` where appropriate.\n- **Card** - Card now includes a `centered` variation\n- **Checkbox** - Checkbox will now gracefully correct behaviors invoked on the child input element instead of the `ui checkbox`.\n- **Checkbox** - Reduced kb size of icon font\n- **Divider** - `vertical divider` inside `ui grid` now accounts for column padding\n- **Dropdown** - Nested `scrolling` menus now support keyboard selection, e.g. pressing \"A\" for apple, and keyboard scrolling.\n- **Dropdown** - Dropdowns now have `match` setting to specify whether to match on `text`, `value` or `both`\n- **Dropdown** - Multi select dropdowns now have new settings for specifying maximum selection count\n- **Dropdown** - Dropdown has new `placeholder` setting for setting placeholder text in javascript\n- **Dropdown** - Added `showOnFocus` option that lets you specify whether dropdown menu should show on focus\n- **Dropdown** - `fullTextSearch: true` now uses fuzzy search (same as `ui search`)\n- **Dropdown** - Page down and page up now works with dropdown menus\n- **Dropdown** - Dropdown initialized with `disabled` prop on an `option` will now correctly appear disabled\n- **Dropdown** - Added `disabled item` state, disabled items will automatically be skipped with keyboard selection\n- **Form** - Added a host of new styles for form fields autocompleted by your browser, including autocompleted error, and focus states\n- **Form** - Added placeholder color rules for IE, `ms-input-placeholder`\n- **Form** - Fix `errored field` dropdown keyboard selection color\n- **Form** - Adds form `success` state\n- **Form Validation** - Added `is valid` behavior, returns `true/false` if form is valid\n- **Form Validation** - Added `different[field]` rule which requires a field to be different than another field\n- **Form Validation** - `data-validate` now takes precedence over other validation matching schemes like `name` or `id`\n- **Form Validation** - New rules for matching against custom regular expressions\n- **Form Validation** - Form validation now has `minCount`, `maxCount`, and `exactCount` for validating multiple selections\n- **Grid** - `celled grid` now removes internal cells on mobile and tablet when used with `doubling` grid responsive variation.\n- **Grid** - Added `large screen only` and `widescreen only` responsive variations for grid.\n- **Grid** - `equal width` grids now works without `row` wrappers\n- **Grid** - rows can now be `stretched` as well as `middle aligned`, `bottom aligned` and `top aligned`!\n- **Grid** - Fixed margins on `internally celled` grid\n- **Grid** - `celled` and `internally celled` grid now use flexbox instead of `display: table;`\n- **Headers** - Added new header type `sub header`, useful for displaying small headers alongside text content. See examples [in the header docs](http://www.semantic-ui.com/elements/header.html#sub-headers)\n- **Image** - Images now include a `spaced` variation for adding whitespace around images when used inline with text.\n- **Input** - Added placeholder color rules for IE, `ms-input-placeholder`\n- **Input** - Action input now supports multiple buttons, and dropdown\n- **Label** - Labels now have `active` and `active hover` states\n- **Label** - Label now sets an `img` height even when not using an `image label`\n- **List** - Any content inside a `ui list` can now be vertically aligned\n- **Menu** - Add examples/documentation for `fixed menu`\n- **Menu** - Added `stackable` menu variation for simple responsive menus\n- **Menu** - Added many new variables to menu\n- **Menu** - Fixed several inheritance issues for `dropdown item` inside `menu` appearing as `menu item`.\n- **Menu** - Horizontal menus now set a default image size for images / logos\n- **Menu** - Menus items are now slightly more padded\n- **Menu** - The hover/active state of `dropdown item` have been adjusted to match `item`. Dropdown styles can be themed specifically inside `menu`.\n- **Menu** - Vertical dropdown menus are no longer 100% `min-width`\n- **Modal** - Modal now uses an adjusted `scale in` transition in the default theme, that should be more subtle and work better with long modal content.\n- **Modal** - Modal `onApprove` and `onDeny` now receive the activating element as the first parameter. Added documentation about using `return false` to avoid hiding element on click.\n- **Modal** - Modal content now uses flex, image content now requires `image content` class on parent to allow for flex stylings.\n- **Popup** - Popup now defines a `transform-origin` so animations will be affected by the direction the element is placed\n- **Popup** - `onShow` and `onHide` callback can now cancel popup from showing or hiding by returning false\n- **Popup** - Added more size variations for popup `mini`, `tiny`\n- **Progress** - `indicating` labels now are more legible use separate css variables from `indicating` bar color\n- **Reveal** - Added new `active` state that allows you to show `reveal` programatically\n- **Search** - Cache can now be cleared using `$('.search').search('clear cache')`\n- **Segment** - Added `padded` and `very padded` segment variations\n- **Search** - Search now operates off a unique id generated by result position to retrieve results. For example category #1's first result is 'A1' . Previously result titles were used as their \"id\", which could cause issues with duplicate titles, or results that do not contain a title.\n- **Search** - Search will now automatically add class `category` when using `type: category`.\n- **Search** - Search will now generate `results` container if one is not present on init\n- **Search** - Search now uses `em` for resizes, making sure it will resize with the surrounding content\n- **Search** - Search `prompt` now has focus styles defined if not using `ui input`\n- **Segment** - Added `clearing` segment for cases that need a [clearfix](http://learnlayout.com/clearfix.html).\n- **Sidebar** - Improved animation performance through performance debugging. Sidebar now caches, width, height, rtl direction on load.\n- **Site** - Fixed mixed globals `@defaultDuration` and `@transitionDuration` usage to use a single variable across all UI `@defaultDuration`, the same for `@defaultEasing` and `@transitionEasing`\n- **Site** - Added in `pageOverflowX` variable, default theme hides horizontal scrollbars on `body`\n- **Site** - Added default `focus` colors for all color variations\n- **Site** - All floating/raised variations now inherit from a global `@floatedShadow` making theming easier\n- **Sticky** - Sticky now internally caches current scroll position when `cantFit = true` to avoid getting DOM property  on scroll.\n- **Statistic** - Added new evenly divided group variation, for example `three statistics` shows 3 per row\n- **Statistic** - Statitic group now use `flex`. Styles have been updated.\n- **Steps** - Added `attached` steps, which can now be attached to other UI like `segment`\n- **Tabs** - Tab will now manually correct page scroll position when linking to an in-page anchor in a hidden tab\n- **Tabs** - Added new callbacks `onTabVisible` and `onRequest`\n- **Tabs** - Added `parseScripts` option, defaults to `once` parsing inline scripts only first load\n- **Table** - Adds `selectable table` variation, which shows hover effect on row when hovering\n- **Table** - Added `vertical alignment` variations to `ui table`\n- **Table** - Added `single line` table variation which prevents text from wrapping\n- **Transition** - Adjusting `style` or `class` during a transition, will no longer reset the change after transition completes.\n- **Transition** - Transition will no longer force visible/hidden with inline styles if `onComplete` callback sets visibility.\n- **Visibility/Sticky** - Visibility and sticky now refresh automatically after page content loading to deal with changes in position from images loading\n- **Visibility/Sticky** - Visibility now uses pub/sub pattern to greatly improve scroll performance when attaching multiple events\n- **Visibility** - Visiblity includes a new setting `checkOnRefresh` which detemrines whether visibility callbacks should occur on resize or refresh\n- **Visibility** - Visibility `image` will now wait to lazy load images that are *above* the current screen position, not just below.\n\n**Bugs**\n- **All Modules** - Performance logging now delays 500ms instead of 100ms for console logging to ensure all logs are captured in one group\n- **All Modules/Transition** - Transitions no longer use `rotateZ(0deg)` to trigger GPU display of visible state. This causes issues with `transform` creating new stacking context that can disrupt `z-index`.\n- **Accordion** - Fixed bug where `exclusive: true` could sometimes cause other accordion element animations to get stuck when animating rapidly\n- **API** - API longer uses `readyState = 0` as sole check for request abort, this may accidentally trigger with `JSONP` or `CORS` requests.\n- **API** - Fixed `this` context of `beforeSend` to use `stateContext` not `element`\n- **API** - Fixed `loadingDuration` not correctly delaying requests when invoking with  `.api('query')`\n- **Build Tools** - Fixes issue with out of date minify dependency causing rules with `background: inherit;` to be removed.\n- **Button** - Fixed `attached buttons` 1px offset when attached to segment and menu (border vs box shadow border)\n- **Card** - IE11 now can correctly use  `flexbox` cards **THanks @Widcket**\n- **Checkbox** - Fix `disabled checkbox` sometimes displaying hand cursor\n- **Checkbox** - Fixes nested `dropdown` inside `checkbox` causing issues\n- **Checkbox** - Fix `:focus` styles only applying if checkbox is unchecked\n- **Divider**  - Hidden divider now correctly hides vertical dividers\n- **Divider** - Fixes single icon alignment inside `vertical divider` or `horizontal divider`\n- **Divider** - Fixed slight offset in `vertical divider` when it automatically adjusts to `horizontal divider` inside a `stackable grid`\n- **Dropdown** - `focus` after changing tabs will no longer cause menu to re-open **Thanks @trevorharwell**\n- **Dropdown** - Fix issue with search dropdown refocusing on self the first time after \"tabbing\" away in Chrome\n- **Dropdown** - Fixes issue with headers disappearing inside of `ui dropdown` when nested in `ui menu`\n- **Dropdown** - Fixes `onChange` to fire when input value changes, not just when menu UI changes\n- **Dropdown** - Dropdowns with `transition: none` now work correctly.\n- **Dropdown** - Fixed issue where `sortSelect` was relying on object key enumeration order which is browser dependent and unreliable. It now uses a sort function which functions the same in all browsers\n- **Dropdown** - Fixed issue with `search selection` not changing text when reselecting same value from list\n- **Dropdown** - Fixed `min-width` issues causing background to not appear behind unwrapped text with `white-space: nowrap`\n- **Dropdown** - Dropdown `menu` now use same font size as dropdown\n- **Dropdown** - Fixed dropdown `metadata` attribute caching causing issues with React integration\n- **Dropdown** - Fixed border radius on `sub menu` when aligned `left`\n- **Dropdown** - Fixed `inline dropdown` icon not aligning with content\n- **Dropdown** - Fixed behaviors called on `<select>` after initialization not being correctly applied to `ui dropdown`\n- **Dropdown** - Fixed issue with matching boolean values, and using `set selected` with `true` or `false`\n- **Dropdown** - Fixed `search dropdown` submitting parent form when enter shortcut pressed\n- **Dropdown** - Fixed dropdown menu items should not center inside of a center aligned container.\n- **Dropdown** - Fixed some cases where onChange would not occur for values matching equality against '', for example `0`\n- **Form** - Form will no longer set a height for `textarea` using the `rows` property\n- **Form** - `inline fields` are now `1em` and do not match label's reduced size\n- **Form** - `field` inside `fields` no longer produce double sized margins.\n- **Form** - Form sizes and input sizes now inherit from `site.variables`\n- **Form Validation** - Fixed bug causing `match` rule not to work as expected.\n- **Form Validation** - Fixed `clear` and `reset` causing validation error to appear on checkbox if empty rule was set on checkbox.\n- **Form Validation** - Form validation now validates correctly on `<select>` change\n- **Form** - Fixed autocompleted `ui selection dropdown` having dropdown icon z-index issues\n- **Form/Input** - `ui labeled input` inside `form` will no longer escape column width. `ui fluid input` will now use input widths shorter than browser default.\n- **Grid** - Fixed responsive styling for grid types, more consistent display for `divided`, `celled,` on mobile\n- **Grid** - Fix `doubling row` not working correctly inside a different `doubling grid` (css spec issue)\n- **Grid** - Fix `doubling grid` incorrectly applying width to `(x) column row`\n- **Grid** - First column on `stackable grid` no longer receives top margin\n- **Grid** - `x column wide` inside `equal width/height` now cannot grow beyond column size\n- **Grid** - Fixes colored grid columns not appearing when not nested in rows\n- **Icon** - Fixes `ascending` and `descending` icon being swapped\n- **Icon** - Fixes phone icon only appearing as alias `call`\n- **Image** - `rounded image` and `circular image` now apply border radius to all child elements, fixing dimmers, and other content rounding\n- **Input** - Fixed improper left padding on `transparent left icon input` **Thanks @zxfwinder**\n- **Input** - Fixed `placeholder` color not changing correctly on focus **Thanks @zxfwinder**\n- **Input** - Fixed right padding on `labeled input` that were not `corner labeled`\n- **Label** - Labels inside `header` now vertical align better by accounting for line height offset\n- **List** - `horizontal list` are now aligned `middle` by default, while vertical lists are aligned `top`.\n- **List** - Fixes numbers not appearing when using `inverted ordered list` **Thanks @pcj**\n- **List** - `a` elements inside a `ui list` will no longer apply styles on `ui` elements like `button` **Thanks @ahtinurme**\n- **List** - Fixed `divided bulleted list` child lists getting wrong indent\n- **List** - Bullets and numbers are no longer selectable in `bulleted list` and `ordered list`\n- **List** - Fixed `inverted bulleted list` bullet color\n- **List** - Fix first element touches border on `ui horizontal celled list`\n- **List** - Added many new variables for link stylings inside list, added separate variables and defaults for child-list spacing\n- **Loader** - Fix position of `inline centered loader` to be centered correctly\n- **Message** - Message now uses `@lineHeight` from `site.variables`\n- **Menu** - Fixed menus like `left fixed` `right fixed` are all now class order dependent.\n- **Menu** - Fixed 1px border on last element of inline menus like `pagination menu` or `compact menu`\n- **Modal** - Modal no longer hides page scroll bar causing dimmed page content to jump positions.\n- **Modal** - Fixed bug where clicking an element detached from dom would cause modal to hide prematurely\n- **Modal** - Clicking on other modals will no longer close open modal when `allowMultiple: true`\n- **Modal** - Fixed `scrolling` class not being removed after opening a normal modal after a `scrolling` modal.\n- **Message** - Updated all message colors for legibility\n- **Message** - Close icon position adjusted to align with headers\n- **Menu** - Fixes divider appears on last element of `(x) item menu`\n- **Menu** - Fixed `top attached menu` not having margin-top, and `bottom attached menu` not having `margin-bottom`\n- **Menu** - Menu now has a `min-height` that matches standard item padding\n- **Menu** - `dropdown menu` in a `secondary pointing menu` or `tabular menu` now receive distinct active styling from other `active item`\n- **Menu** - Fixed arrow position in `pointing menu` to be more consistent, round to exact pixels and account for arrow border width\n- **Menu** - Fix issue with `pointing` arrow having too high a `z-index` and appearing above `ui dropdown menu`\n- **Modal** - `scrollable modal` now correctly adds padding below modal\n- **Modal** - Modal with `detachable: false` inside `ui sidebar`  `pusher` element will now show correctly\n- **Popup** - Popup now correctly adjusts if `data` attributes change\n- **Popup** - Fixes issue with `min-width` in firefox exceeding `max-width` causing element to not wrap correctly\n- **Popup** - Popup will now produce an error message and not mistakenly appear in the top left corner of page, if called with a `popup` or `target` that does not exist.\n- **Popup** - Popup will no longer appear incorrectly if the targeted element is not visible on page\n- **Popup** - Fixed bug which could cause pre-existing inline popup to be removed from DOM after hiding\n- **Popup** - Fixes popup offstage position calculations with pages including horizontal scrollbars\n- **Popup** - Added `addTouchEvents` to specify whether touch events should be added to trigger popup on mobile\n- **Progress** - Fixed bug where percentage complete values between 0-1% would display incorrectly (0.5% would show as 50%)\n- **Rail** - Rail 100% height now uses `border-box` to ensure exact height match to container\n- **Rating** - Rating now correctly adjusts if `data` attributes change\n- **Reveal** - Removed `masked` reveal, all reveals are masked by default\n- **RTL** - Fixed `rtl: 'both'` in `semantic.json` not building both versions of source correctly.\n- **Search** - Search will no longer incorrectly produce an error when API settings are passed through metadata\n- **Sidebar** - Top/Bottom sidebar will now show scroll bars correctly when taller than 100% page height\n- **Sidebar** - Fixed bug where having a `style[title]` in page causing page not to be pushed correctly\n- **Sidebar** - Last menu item now has a border when sidebar and menu are used together\n- **Segment** - Segment groups can now be `raised` or `piled` or `stacked`\n- **Search** - Fixed `category search` not applying active styles correctly to category names\n- **Search** - Fixed `onSelect` not returning the correct value when using `type: category`\n- **Search** - Fixed `onSelect` returning the first term that matches the beginining of the selected value not the exact value.\n- **Search** - Fix `loading search` with an `icon button` causing double loaders.\n- **Search** - `searchFields` setting now correctly replaces default fields instead of adding the user fields to defaults\n- **Search** - Calls to `set value` or `query` now obey `minCharacterLength`\n- **Search** - Search API calls now use the same level debug settings as search\n- **Steps** - Fixes bug where `ordered steps` had smaller numbers in `IE10`\n- **Steps** - Fixed bug where `stackable steps` were not working correctly\n- **Sticky** - Fix issue with sticky content scroll css transition causing element to scroll too slowly when cannot fit on screen.\n- **Sticky** - Fix issues when `pushing: true` with sticky content having incorrect bottom spacing, when container has bottom padding\n- **Sticky** - Fixed issue with sticky content animating width on display in some cases.\n- **Tab** - multiple tab groups initialized together with `context: 'parent'` will now each use their own parent\n- **Tab** - Tabs now use the standard component design pattern internally\n- **Table** - Fixes `sorted` column are not correctly centered with `center aligned` due to margin on sort icon\n- **Table** - Fixes `ascending` and `descending` icons were reversed in table\n- **Table** - `very basic table` now works together with `padded table`\n- **Table** - Fix inheritance of text alignment and vertical alignment\n- **Transition** - Fixed bug where transition out would cause unwanted focus event in IE if element has focus\n- **Transition** - Calling an `out` animation during an `in` animation with `queue: false` now correctly calls the `complete` event of the original animation\n- **Transition** - Fixed bug where transition could sometimes not occur when an element was determined to always be hidden\n\n**Changes**\n- **All Modules** - All modules now default to `verbose: false`\n- **Accordion** - Accordion no longer sets a `font-size` to better couple with other components defaults\n- **Button** - Button focus color now uses hoverColor background instead of blue box shadow\n- **Button** - `basic colored button` now grow their border size to 2px in default theme on hover\n- **Breadcrumb** - Fixed breadcrumb `em` rounding, adjusted distance in default theme\n- **Card** - Card styles have been adjusted, `link card` now raise to show selection. Colored variations now have shadows.\n- **Checkbox** - Toggle now uses `@primaryColor`\n- **Dropdown** - Dropdown padding values now resolve to exact pixel values from em\n- **Dropdown** - `item` `description` is now floated by default\n- **Feed** - Removed `extra text` pointer border\n- **Form** - `set value` no longer automatically calls `validate form`\n- **Grid** - Small computer `page grid` gutters have been adjusted from 8% to 3% to allow for roomier layouts on small screens.\n- **Grid** - Vertically divided grids now double row spacing to account for dividers\n- **Grid** - `center aligned` no longer centers rows, just text. Use `centered grid` to center a grid column on the page.\n- **Header/Table/Divider** - These components now pull border color defaults from `site.variables` instead of using their own values\n- **Image** - `avatar image` size has been slightly decreased\n- **Image** - `mini image` default width has been increased to `35px`\n- **Item** - item `description` now longer sets a `max-width`\n- **Icon** - `disabled icon` now have `pointer-events` again.\n- **Label** - Label size now varies by type. `pointing label` are now `1em` by default.\n- **Label** - Padding on `corner label` has been increased\n- **Input** - Input now use `em` instead of `rem` so they will inherit the size of the elements they are nested inside\n- **Progress** - Update contrast on `indicating`, update default styles. Fixed some examples\n- **Menu** - Menu now uses `border` for borders instead of `box-shadow`\n- **Menu** - `secondary pointing menu` has had some slight design tweaks, thinner lines, more padding\n- **Menu** - Active sub-menu items are now `bold`\n- **Menu** - Menus no longer have additional borders on `active item` in the default theme\n- **Menu** - `tiered menu` has been removed\n- **Menu** - Increased contrast on `inverted` menu selection for legibility\n- **Modal** - Modals now used fixed widths and not percentage widths. Widths might be slightly different.\n- **Modal** - Modal no longer observes DOM changes by default, added setting to enable\n- **Message** - Slightly increases `box-shadow`\n- **Popup** - Popups now default to `exclusive: false` and will not hide other popups when opening\n- **Popup** - Popup no longer produces a console error when a position cannot be found on the page.\n- **Rating** - Rating styles have been adjusted to use subtle transitions and tweaked color values.\n- **Segment** - **Clearfix** has been removed from `ui segment`\n- **Sidebar** - Sidebar `legacy` animations have been removed. 3D transforms are now available in all supported browsers.\n- **Search** - Slightly adjusted search result theme for clarity\n- **Segment** - Segment now uses `border` for border instead of a second `box-shadow`, this may adjust position by 1pixel\n- **Statistic** - Statistic label styles have been updated\n- **Site** - Additional font variables have been added to site to help clarify variable purpose.\n- **Site** - Increase contrast on default hovered/down colors for colored variations\n- **Site** - Page background is now `#FFFFFF` by default instead of an offwhite `#F7F7F7`\n- **Site** - Adjusted global line height to the closest even pixel value\n- **Table** - Table header colors and padding defaults have been slightly adjusted\n- **Table** - Horizontal cell padding has been slightly reduced, and cell borders are slightly lighter.\n- **Transition** - Transition no longer checks for vendor prefixed `animation-name` css property. This was introduced in jQuery `1.8`\n- **Transition** - Some transition have been modified so that the `in` animation is more telegraphed than the `out` animation, which may now recede more gently.\n- **Visibility** - In returned `calculations` object, `visible` and `hidden` are renamed to `onScreen` and `offScreen`, since this describes more accurately what the value represents.\n\n### Version 1.12.3 - May 20, 2015\n\n**Announcement**\nVersion 2.0 will be launching on June 1st, which will include 100+ bug fixes, enhancements, new ui, and default theme improvements.\n\n**Bugs**\n- **Grid** - Fixes bug causing colored variations not to work on columns without row wrappers. Backport from `2.x`\n\n### Version 1.12.2 - May 4, 2015\n\n**Bugs**\n- **Dropdown** - Fixed `left` and `right` arrow does not move input cursor with `visible selection dropdown`. Event accidentally prevented by `sub menu` shortcut keys.\n\n### Version 1.12.1 - April 26, 2015\n\n**Bugs**\n- **Dropdown** - Fixes issue with chained dropdown methods used on a `<select>` not applying to the generated `ui dropdown` **Backport from 2.0**\n- **Input** - Fixes labeled inputs not adjusting correctly with flex. **Backported from 2.0**\n- **Input** - Fixes placeholder text color prefixes for `webkit` **Backport from 2.0**\n- **Progress* - Fixes rounding error in precision settings *Thanks @aaroncox*\n- **Popup** - Removes `min-width: moz-max-content` from popups, which may cause display differences between chrome and FF\n\n### Version 1.12.0 - April 13, 2015\n\n**Enhancements**\n- **Visibility** - Adds updated visibility module from `2.x` channel. Visibility will automatically refresh by default after images load on page refresh. Fixes issues with element positions after image loading.\n- **Sticky** - Adds sticky module from `2.x` branch. Sticky elements now use pub/sub with drastically improved performance. Sticky elements that do not fit on page will now scroll at the same speed as the page is scrolled instead of slower.\n\n**Changes**\n- **Popup** - Popup no longer produces a console error when it cannot find an adequate position in the browser viewport.\n\n**Bugs**\n- **Build Tools** - Fixes issue with component glob matching twice (causing build to include file twice) if duplicate values found in `semantic.json` component.\n- **Input** - Backports fix from `2.x` for `ui fluid input` not appearing correctly.\n- **Visibility** - Fixed issue where `precache` behavior was missing from visibility causing `image` lazy loading to fail\n\n### Version 1.11.8 - April 13, 2015\n\n**Bugs**\n- **Build Tools** - Fixed `npm install` without `semantic.json` to merge changes with site theme and packaged themes in a similar fashion to `npm update`\n- **Build** - `gulp build` now properly warns against missing `semantic.json` **Thanks @rudyrk**\n\n### Version 1.11.7 - April 13, 2015\n\n**Bugs**\n\n- **Sticky** - Fixes errant `console.log` statement appearing in source\n- **Card** - Fixes card `flex` display issues in IE\n- **Build Tools** - Fixes issue where `npm update` install scripts would remove custom themes from `src/themes/` during copy after updating Semantic UI\n\n### Version 1.11.6 - March 27, 2015\n\nMore critical bug backports from `2.x` branch, as well as fixes for browserify\n\n**Bugs**\n- **Menu/Dropdown** - Fix dropdown headers disappearing inside menus\n- **Dropdown** - Fix unescaped character in css property causing css validation errors\n- **Form** - Fix `grouped required` fields display issues **Thanks @palmsey**\n- **All UI** - Fix `index.js` npm build to work with browserify in individual component repos **Thanks @sdimit**\n- **LESS Repo** - Add missing `semantic.less` file to less repo for importing components\n\n### Version 1.11.5 - March 23, 2015\n\nThis version backports several bugs that were being packed in `2.0` to `1.x`.\n2.0 will be coming in the next 1-2 weeks.\n\n**Bugs**\n- **Build Tools** - Adjusting site.variables will now rebuild all UI, instead of just site.less\n- **Build Tools** - LESS will now throw errors correctly in `watch`\n- **Card** - Fixes dimmer background shorthand property causes transparent dimmer in minified version\n- **Dimmer** - Fixed `variation` setting not working correctly\n- **Dropdown** - `onChange` no longer fires when reselecting same value\n- **Dropdown** - Fix bug where element will not blur on tab key when search selection and no selection made\n- **Dropdown** - Dropdown init on `select` now returns `ui dropdown` created for chaining\n- **Dropdown** - Dropdown `focus` color has been adjusted to match forms more closely\n- **Dropdown** - Fixes IE10 scrollbar width in menu (calc was being precompiled in LESS) **Thanks @gabormeszoly**\n\n### Version 1.11.3-4 - March 6, 2015\n\n**Enhancements**\n- **Grid** - Added opt-in `stretched` variation for `equal height` instead of forcing `flex` on all `equal height columns` which may cause layout issues due to changes in rendering with `flexbox`.\n\n**Fixes**\n- **Build Tools** - Fix issues with minified CSS `@import` not being on top of minified semantic ui concatenated release due to [bug in clean-css](https://github.com/jakubpawlowicz/clean-css/issues/476)\n- **Grid** - Fixes `stackable` `equal height/width` grid to remove `flex` on mobile when stacking\n- **Grid** - Fixed `right/left/center aligned` to adjust `align-items` in flex containers like `equal height/width`\n\n### Version 1.11.2 - March 6, 2015\n\n**Enhancements**\n- **Accordion** - Accordion can now specify a trigger element instead of `title`, added an [example in docs](http://www.semantic-ui.com/modules/accordion.html#changing-trigger)\n- **Accordion** - Accordion can now hide while opening animation is still occurring\n- **Grid** - Equal width grids will now make column content stretch to full height, not just the column itself (requires flexbox). See examples [in the grid docs](http://www.semantic-ui.com/collections/grid.html#equal-height)\n- **Header** - Labels inside headers have been slightly increased in size\n- **Search** - Search now uses internally [fuzzy search](https://github.com/bevacqua/fuzzysearch) as its new full text search algorithm.\n\n**Important Fixes**\n- **Build Tools** - Fix issues with minified component CSS `@import` not always being on top of files due to [bug in clean-css](https://github.com/jakubpawlowicz/clean-css/issues/476)\n\n**Bugs**\n- **Accordion** - Removed mistaken extra `1px` top border on nested `styled accordion`\n- **Modal** - Fixes modal `buttons` on mobile devices to not have extra bottom padding.\n- **Card/Dimmer** - Fix dimmer z-index being too high when inside a `ui card`. Added variable for specifying default dimmer color inside card.\n- **Site** - `h1-h5` now have no top margin when `first-child` and no bottom margin when `last-child`\n- **Dropdown** - Fix issue in `setup reference` (added in `1.11.1`) where chaining would not return `ui dropdown` immediately after initialization\n\n### Version 1.11.1 - March 5, 2015\n\n**Enhancements**\n- **Dropdown** - Calling behaviors on a dropdown `select` will now automatically route them to the appropriate parent `ui dropdown`\n\n**Bugs**\n\n- **Grid** - Fix issue in `centered grid` not centering `column` inside `row`\n- **Dropdown** - Added select styles for elements before they are initialized instead of FOIC (Flash of invisible content)\n\n### Version 1.11.0 - March 3, 2015\n\n**New Components**\n- **Visibiliity** - Attach callbacks to elements visibility conditions like `top visible` `bottom visible`, `passing`. Useful for things like: image lazy loading, infinite scroll content, and recording tracking metrics.\n\n[See the examples](http://www.semantic-ui.com/behaviors/visibility.html#/examples) online for a demonstration.\n\n**Enhancements**\n- **Menu** - Horizontal menus now use flexbox so they can resize automatically to content size.\n- **Form** - `<select>` now receive error formatting on `form error` **Thanks @davialexandre**\n- **Transition** - Added more reasonable default durations for each animation\n- **Loader** - `inline loader` now has a `centered` variation\n- **Modal** - Modal no longer hides and reshows dimmer when opening a modal with another modal open with `exclusive: true`\n- **Popup** - Added `exclusive` parameter to automatically close other popups on open\n- **Transition** - Added `toggle` behavior and docs for `show` and `hide`\n- **Transition** - transition now has `stop`, `stop all`, and `clear queue` for removing transitions, (undocumented method `stop`, and `start` renamed to `enable` and `disable`)\n- **Dimmer** - Add `opacity` setting to override css value. Add to docs several undocumented settings, like `useCSS`, and `variation`.\n- **Icon** - added `@src` variable to make it adjustable with themes that dont support all types like `woff2`\n\n**Deprecations**\n- **Menu** - `ui tiered menu` has been deprecated. It has been removed from the docs, and will be removed eventually in `2.0`\n\n**Bugs**\n- **Input** - Fix bug with vertical centering of `ui action input` inside `menu` due to `flexbox` changes\n- **Dropdown** - Fixes issue where dropdown would not open after restoring previus value on failed `search dropdown` search\n- **Dropdown** - Fixes issue where dropdown would not open after restoring previous value on failed `search dropdown` search\n- **Grid** - Fixes specificity of grid `column` colors to not affect other elements with columns\n- **Icon** - Fix `clockwise rotated icon` causing `clockwise` icon to appear\n- **Popup** - Fix issue with `popup` not re-opening until another element gains focus on a mobile touchscreen\n- **Modal** - Fixed issue with modal not appearing when calling `show` during another modal `hide`\n- **Popup** - Popup will now fire `onHidden` when an element is hidden by opening a different popup\n- **Popup** - Fix popup not namespacing `window` events and unbinding on `destroy` **Thanks @revov**\n- **Table** - Fixes table on `mobile` sizes can surpass parent container width\n- **Transition** - Fixes `swing out` animations not working correctly\n- **Transition** - Fixed display state other than `block` not determined when using `show` and `hide` without an animation\n- **Transition** - Fix bug in `remove looping` causing next animation to use same duration\n- **Segment** - Fix first/last margins on `ui segments`\n- **Search** - Fix special characters not searching correctly with local search\n- **Search** - Fix a bug with `onSelect` returning `null` when `minCharacters: 0`\n- **Search** - Fix a bug with `onSelect returning `null` when results retrieved from cached API query\n- **Sticky** - Fixed sticky position when page loads and content is below sticky content.\n- **Sticky** - Fix bottom attached position not adjusting for bottom padding on container element\n- **Menu** - Fix vertical pointing menu, sub menu arrow color\n- **Item ** - `img` inside of `ui item content` now do not receive size formatting by default\n- **Form** - Added `input[type=\"search\"]` styles to `ui form`\n\n**Docs**\n- **Transition** - Adds examples of `hide, `show`, `toggle`, `stop`, `stop all`, and `clear queue`\n- **Item** - Significant rewrite of `ui item` documentation\n\n### Version 1.10.4 - February 28, 2015\n\n- **API** - Remove console error message when no API url is specified but element is a `form` (defaults to `form` action)\n- **API** - `api` check for [serialize object](https://github.com/macek/jquery-serialize-object) optional dependency no longer produces error when `serializeForm: true` and dependency is not found.\n\n### Version 1.10.3 - February 27, 2015\n\n**Bugs**\n- **Build Tools** - All UI components now have component name in comment banners and release version\n- **Menu** - Fixes dropdown menu item not having a hover state inside inverted menu\n- **Search** - Fixes bug in category search causing item selection to sometimes produce a javascript error.\n- **Button** - Fixes `<button>` inside `vertical buttons` not taking full container width\n\n### Version 1.10.1-2 - February 24, 2015\n\nNo changes, fixes stale pm component builds\n\n### Version 1.10.0 - February 23, 2015\n\n**New Features**\n- **Transition** - Transitions now have `interval` to allow grouped elements to animate one by one with a delay between each animation. Grouped animations determine order based on transition direction to avoid reflows, or can manually be reversed by using <code>reverse: true</code> [See Examples](http://www.semantic-ui.com/modules/transition.html#grouped-transitions) for more details.\n\n**Critical Fixes**\n- **Transition** - Webkit `failSafe` used for [Chromium Bug #437860](https://code.google.com/p/chromium/issues/detail?id=437860) now also works for queued animations\n\n**Enhancements**\n- **Form Validation** - Adds `containsExactly`, `notExactly`, `isExactly` case sensitive validation rules, make `contains`, `not`, `is` case insensitive.\n- **Form Validation** - `contains` rule is now case insensitive\n- **Form Validation** - Validation messages no longer increase field height on `inline fields` like checkboxes after error appears\n- **API** - Added `was cancelled` to determine whether request was cancelled by `beforeSend`\n- **Image* - Added `hidden image` state\n\n**Fixes**\n- **Build Tools** - Fixed issue with recursive merge for site themes in update scripts, [details here](https://github.com/Semantic-Org/Semantic-UI/pull/1845) Thanks @derekslife\n- **Cards** - Fix `.ui.cards > .ui.card` margins to match `.ui.cards > .card` margins\n- **Cards** - Fix consecutive card groups to preserve row flow (similar to consecutive grids)\n- **Sidebar** - Sidebar using `exclusive: true` now queue animations after hiding previous sidebar (unless `overlay`) to avoid rendering issues\n- **State** - Text states now handle `cancelled` API requests correctly\n- **Search** - Category search no longer displays unnecessary error message about maxResults\n- **Composer** - Composer.json should now read version from tags, adjusted some fields.\n- **Grid** - Stackable grid now has horizontal padding by default on mobile unless nested inside a `ui grid` or `ui segment` (not vertical)\n- **Menu** - Fixes pointing menu displaying under dropdown menu\n\n-**Docs**\n-**Transition** - `useFailSafe` was incorrectly shown as `false` by default\n\n### Version 1.9.3 - February 20, 2015\n\n**Bugs**\n- **RTL** - Fixes `rtl` tasks not running correctly on `gulp build` due to name typo, `build rtl` instead of `build-rtl`\n- **Tab** - Fixed bug when loading `remote` content with `tab` where current tab would not hide while another tab is loading\n- **Tab** - Tab with remote content and `auto: true` now removes duplicate slashes from url path\n- **API** - Simplified `api` debug output to console to more clearly label url and data sent\n\n**Docs**\n- **Tab** - Added new tab remote content example with stubbed AJAX using SinonJS\n\n### Version 1.9.2 - February 19, 2015\n\nAdded new repositories for css and less only versions, can be installed with\n```bash\nnpm install semantic-ui-less\nnpm install semantic-ui-css\n```\n\n**Bug Fixes**\n\n- **Modal** - Fixes typo causing `middle aligned` image not to work correctly.\n- **Build** - `gulp watch` now compiles concatenated css (missing in `1.9.1` only)\n\n### Version 1.9.1 - February 18, 2015\n\n**LESS Changes**\n\nImporting individual components into other less files now requires scoping. This is to prevent issues with variable scope that cannot be resolved inside definitions.\n\n```less\n/* Import a specific component */\n& { @import 'src/definitions/elements/button'; }\n```\n\nImporting `semantic.less` still does not require any special syntax\n@import 'src/semantic';\n\n\n**Bugs**\n- Fixed issue directly importing `semantic.less` caused by variable scoping in `.loadOverrides()`.\n- Fix bug where `equal height` row could not be `centered`, or less than full width\n\n### Version 1.9.0 - February 17, 2015\n\n### Build Tools\n\n##### NPM Install\n\n- `npm install semantic-ui` is now the recommended path for getting Semantic UI\n- Added `npm` `post-install` scripts which automatically install or update semantic\n\n##### Gulp Task Imports\n\n- Semantic tasks are now each defined [in their own file](https://github.com/Semantic-Org/Semantic-UI/tree/master/tasks), and can be directly imported into external gulpfiles. Read more about [importing tasks here](https://github.com/Semantic-Org/Semantic-UI/blob/next/src/README.md)\n- If you are using Grunt, you may be able to import these tasks using [Grunt-gulp](https://www.npmjs.com/package/grunt-gulp)\n\n##### LESS Component Imports\n\n- Semantic LESS files can now be directly included in other LESS files.\n* You can import all UI with `@import 'src/semantic';`\n* You can also import individual definitions using `@import 'src/definitions/elements/button'`.\n\n### UI Changes\n**Major Enhancements**\n- **Card** - Cards now equalize height by default using `display: flex`. No longer are card heights required to be specified manually to align\n- **Flag** - Reduced the file size of flag sprite to a measly 28kb (500%+ file size reduction)\n- **Icon** - Added Font Awesome 4.3 including many new icons\n- **Input** - Input with dropdowns is now much easier, see docs. `action input` and `labeled input` now use `display: flex`. `ui action input` now supports `<button>` tag usage (!) which support `flex` but not `table-cell`\n- **Segment** - Added plural variation `ui segments` that stack together in groups without using additional class names\n\n**Enhancement**\n- **API** - API now has an ``onRequest`` callback setting that receives the XHR promise after initializing the request\n- **Button** - Loading buttons no longer receive `pointer-events` in default theme. Added variable for `loading button` opacity.\n- **Card** - Card now has colored variations **Thanks @romuloctba**\n- **Dropdown** - `search selection dropdown` will now close the menu when a `dropdown icon` is clicked\n- **Dropdown** - Added new dropdown setting, `forceSelection` which forces `search selection` to a selected value on blur. Defaults to `true`.\n- **Flag** - Updated Burma/Myanmar flag to current flag (was pre-2010 flag)\n- **Form** - Input rules now apply to `input[type=\"time\"]`\n- **Form Validation** - `get values`, `set values` now support multiple select e.g. `field[]`\n- **Form Validation** - Dropdown and checkbox will now validate after interaction with `on: 'blur'`\n- **Headers** - Headers can now contain images alongside text, added examples to docs\n- **Icon** - Added woff2 icon files for supported browsers (20% file-size decrease) **Thanks FontAwesome**\n- **Label** - `ribbon label` can now be used inside `ui image` and `ui card` correctly\n- **Sidebar** - Sidebars in IE now work correctly with `context` specified\n- **Rating** - Vertical alignment of `ui rating` with inline content now accounts for parent line height\n\n**Bugs**\n- **All Modules** - Fixed bug where element `destroy` could remove third party events when re-initialized\n- **Breadcrumb** - Breadcrumb icon now has exact px value to alleviate vertical align issues\n- **Card** - Star / Like button colors have been fixed to match `ui rating` inside `card`\n- **Card** - Hiding a card with `display: none` no longer causes layout issues with `(x) cards`\n- **Card** - `image` inside `content` no longer has a fixed size **Thanks @romuloctba**\n- **Form** - `info message` are no longer hidden by default inside `ui form`\n- **Form** - Lightened error dropdown hover text color to be more legible\n- **Dropdown** - Upward dropdown now has upward arrow icon\n- **Icon** - `external link` and `external link square` has been renamed to `external icon` to no longer receive `link` styles by default\n- **Modal** - Modal now swaps to `scrolling modal` when `close icon` no longer can be displayed, instead of modal `content`\n- **Steps** - Fixed bug where evenly divided steps were no longer fluid\n- **Transition** - Fixes bug where `moduleNamespace` was being omitted\n- **Transition** - Transitions with direction now use word order dependency to prevent conflict with component directions, for example `bottom left popup slide down in transition\n\n**Docs**\n- Fixed bug with chinese mirror modal appearing on every page load when selecting chinese language\n\n### Version 1.8.1 - January 26, 2015\n\n**Bugs**\n- **Grid** - Removed `text-align: left` from column definition. Now inherits from grid.\n- **Input** - `ui labeled input` now uses  `flex` added example in ui docs with dropdown\n- **Input** - Fix border radius on `ui action input` with button groups, aka `ui buttons`\n- **Popup** - Popup `hide all` will now use transition set in `settings.transition` when closing other popups\n- **Grid** - Fix `doubling grid` setting `100% width` which may cause\n\n### Version 1.8.0 - January 23, 2015\n\n[View Closed Issues](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A1.8.0+is%3Aclosed+sort%3Acomments-desc)\n[View Commits](https://github.com/Semantic-Org/Semantic-UI/compare/1.7.3...1.8.0)\n\n**Key Features**\n\n- **Form** - Form now has new methods `reset`, `clear`, `set value(s)`, and `read value(s)` for modifying and reading form data. Check docs for details on implementation. **Thanks @mktm**\n- **Search** - Search `onSelect` now receives JSON object matching currently selected element, you can now programmatically retrieve result JSON using `.search('get result', 'query')` or `.search('get results')`. `get result` will default to current value unless specified as first parameter.\n- **Transition** - Added many new transitions, and new directions for existing transitions **Thanks @ph7vc**\n- **Dropdown** - Dropdown now stores `placeholder text` (prompt text) as separate from `default text` (text set on page load). You can now reset placeholder conditions using `$('.ui.dropdown').dropdown('clear');``\n\n**Enhancements**\n- **API** - Added new behavior `$.api('abort')` which cancels current request\n- **Dropdown** - Keyboard navigation will now allow opening of sub menus with right/left arrow. Enter will open sub-menus on an unselectable category (`allowCategorySelection: false`) as well.\n- **Dropdown** - Mutation observers will now observe changed in `<select>` values after initialization, and will automatically update dropdown menu when changed\n- **Dropdown** - Dropdown behavior `set selected` will now also call `set value` automatically, so you do not have to invoke two behaviors to update a `selection dropdown` **Thanks @mktm**\n- **Form** - Form will now prevent browsers from resubmitting form repeatedly when keydown is pressed on input field.\n- **Header** - Content headers now inherit `@h1-h6` sizes from `site.variables`\n- **Header** - Sub headers now adjust in size depending on header size, added new variables for subheader resizing\n- **Search** - Greatly reduced search delay from `300ms` to `100ms`. Previous request will automatically abort `xhr` when new request made\n- **Search** - Search `onSelect` and `onResultsAdd` can now cancel default actions by returning `false`.\n- **Transition** - Transition duration now defaults to what is specified in `css`, to set custom duration you can still pass at run-time as a different value. Animation duration no longer set by default during animation.\n- **Transition** - Transition will now prevent repeated animations when using an inferred direction i.e. animation without `in` or `out` specified. When `queue: true` only animations with explicit direction, e.g. `fade in`, will be ignored when called repeatedly.\n\n**Bugs**\n- **API** - Fixed bug where `$.api('get xhr')` was not correctly returning xhr promise\n- **API** - Fixed bug where API would query resource immediately when specifying `on: false`\n- **Button** - ``ui vertical basic buttons` now have dividers in default theme\n- **Button** - Fixes formatting for `disabled button` inside `ui buttons`\n- **Checkbox** - Checkbox now only modifies `input[type=\"radio\"]` and `input[type=\"checkbox\"]` ignoring any other inputs\n- **Dropdown** - Dropdown no longer will not show menu when no `item` are present in menu. Dropdown will now only filter results for `ui search dropdown` #1632 **Thanks PSyton**.\n- **Dropdown** - Dropdown will now produce an error if behaviors on an initialized `<select>` are not invoked on `ui dropdown`\n- **Dropdown** - Fixed bug where link items would not open in sub-menus due to `event.preventDefault`\n- **Label** - Fixed `ui corner label` appearing on-top of `ui dropdown` menu due to issue in z-index hierarchy\n- **Label** - Fixed issue with `ui ribbon label` not positioning itself correctly when using sizes like `small` or `large`\n- **List** - `relaxed list` and `very relaxed list` no longer add padding to child menu items\n- **Popup** - Popup will now only use a max of one element when `settings.popup` mistakingly passes multiple DOM elements\n- **Popup** - Popups will now by default appear over all UI content, even dimmers.\n- **Search** - Search results no longer hide/show when user changes tab or page loses focus\n- **Sidebar** - Fixed bug with `pusher` inheriting first child margins due to `margin-collapse`\n- **Sidebar** - Mobile `is mobile` was using RegExp `test()` which would return an incorrect value when called multiple times\n- **Sidebar** - Sidebar will now only close if you click on `pusher` or underlayed `body` (scale out). Clicking on fixed elements will not close sidebar.\n- **Transition** - Fixed bug with animations that contain the strings 'in' or 'out' as part of their names, for example \"swing\"\n- **Sticky** - Fixes issue with container size not being set explicitly on rail due to improper method renaming\n\n### Version 1.7.3 - January 16, 2015\n\n- **Installer** - Fix issue with component list in `semantic.json` not correctly overriding default components\n\n### Version 1.7.(1-2) - January 15, 2015\n\n**Bugs**\n\n- **Installer** - Fixes installer not including RTL parameter correctly\n- **UI** - Fixes `progress`, `ad`, and `sidebar` not loading `.override` files correctly\n- Removed undocumented components from `theme.config.example`\n\n### Version 1.7.0 - January 14, 2015\n\n**Major Changes**\n- **Project** - Right-to-left (RTL) support added. New gulp tasks for RTL file generation and install setting. Docs however do not yet support RTL.*Thanks @MohammadYounes for constant support with RTL!*.\n- **Project** - Install now let you specify the outputted file permissions (express/custom install)\n\n**Enhancements / Changes**\n- **Grid** - Added `equal width` variation using `flex-box`, `equal height` now also uses `flex-box` (this may have to be removed if causes unexpected browser issues)\n- **Sidebar** - Having a sidebar visible on page load is now much simpler. You can include ``ui visible sidebar`` on page load to have a sidebar element appear on page load. To close call `$('.ui.sidebar').sidebar('hide')`\n- **Sidebar** - Added documentation on using sidebar on a custom context. Sidebars using a custom context no longer add background colors like those initialized on `body`\n- **Site** - Form input highlighting color added (helps differentiate form colors with autocompleted fields). Default text highlighting color moved from highlighter yellow to a mellow blue.\n- **Dropdown** - Javascript Dropdown can now be disabled by adding ``disabled` class. No need to call `destroy`. **Thanks Psyton**\n- **Dropdown** - Search dropdown input can now have backgrounds. Fixes issues with autocompleted search dropdowns which have forced yellow \"autocompleted\" bg.\n- **Dropdown** - Fix issue with search selection not correctly matching when values are not strings\n- **Progress** - Progress bars can now display percent or amount left using `{value}` in text templates\n- **Dropdown** - New `upward dropdown` variation, which opens its menu upward. Default animation now uses ``settings.transition = 'auto'` and determines direction of animation based on menu direction\n- **Dropdown** - Dropdown matching fields without values now trims whitespace by default\n- **Checkbox** - Checkbox now toggles on spacebar when focused (previously only toggled on enter key).\n- **Popup** - Popup now uses its own custom method for determining `offsetParent` meaning 3D contexts (like inside an animation) no longer should break positioning\n- **Popup** - Popup now uses `preserve: false` by default, this is slightly less performant but will reduce page clutter caused by leaving generated elements in the DOM\n\n**Code / Build**\n- **Build** - `Dist/` files now set file permissions in build. `644` by default. Can adjust in `semantic.json` or during gulp install. You will need to run `npm install` to add the new gulp-chmod dependency *Thanks @PeterDaveHello*\n- **Sidebar** - `setup layout` not occurs synchronously if you initialize a sidebar without the proper html. This makes sure calls to sidebar will occur correctly before the page is setup. A new setting `delaySetup` will override this, increasing performance.\n- **Modules** - Remove use of deprecated `.size()` for `.length` across all modules\n- **Modules** - Use of `$.proxy` swapped to native `function.call()` for performance gains across all modules\n\n**Bugs**\n- **Video** - Video component now uses `//` instead of defaulting to `http`\n- **Dropdown** - `restore defaults` will now set placeholder styling and remove active element. Added example in docs.\n- **Dropdown** - Fixed bug where sub menus may sometimes have dropdown icon overlap text\n- **Dropdown** - Fixes dropdown search input from filtering text values when input is inside menu, i.e \"In-Menu Search\"\n- **Dropdown** - Fix issue with search selection not correctly creating RegExp when select values are not strings **Thanks @alufers**\n- **Dropdown** - Fix issue with `left floated` and `right floated` content sometimes not applying correctly\n- **Popup** - `wide` and `very wide` popup will now appear when screen size is below their `max-width`\n- **Popup** - Popup no longer blurs element on popup hide\n- **Segment** - ``ui tabular menu`` now correctly aligns with attached segment when using fluid variation *Thanks @MohammadYounes*\n- **Segment** - `basic segment` no longer removes padding on first and last elements\n- **Steps** - Steps now use ``table-cell`` to allow steps to be equal height by default, even with different content height.\n- **Button** - Fix issue with labeled icon groups in material theme\n- **Progress** - Fixes bug with progress that use ``total`` and ``value`` receiving the wrong values for text templates\n- **List** - Fix some styling issues with `ui list` inside `ui menu`\n\n### Version 1.6.4 - January 12, 2015\n\n- `1.6.3` contained an unintentional character at beginning of `label.less` re-released as `1.6.4`\n\n**Bugs**\n- **Build** - Fix CSS property typo in list icon, and label causing issues with some custom build tools\n\n### Version 1.6.3 - January 12, 2015\n\n- `1.6.3` contained an unintentional character at beginning of `label.less` re-released as `1.6.4`\n\n**Bugs**\n- **Build** - Fix CSS property typo in list icon, and label causing issues with some custom build tools\n- **Label** - Fix attached labels to have correct border radius inside of attached segments of all kinds\n\n### Version 1.6.2 - January 06, 2015\n\n**Site Variables**\n- **Site** - EM values for `small` `large` etc are now all calculated from ``@emSize`` allowing you to only change one variable.\n\n**Bugs**\n- **Button** - Fixes active orange button color\n- **Menu** - Fixes ``fluid text menu`` to have correct margins\n\n### Version 1.6.1 - January 05, 2015\n\n**Bugs**\n- **Accordion** - Accordion now uses ``useFailSafe: true`` to avoid callbacks not occurring because of race conditions with `transitionend` in webkit\n\n### Version 1.6.0 - January 05, 2015\n\n**Build**\n- **Dist** - Build will now output version number in comment banner\n\n**Updates / Enhancements**\n- **Accordion** - Child element animations now use ``$.fn.transition`` and css animations by default (if available)\n- **Accordion** - Added ``animateChildren`` option to disable/enable opacity animation on child elements\n- **Accordion** - Accordion now uses `easeOutQuint`` instead of ``easeInOutQuint`` to increase perceived responsiveness of drawers\n- **Grid** - ``stackable grid`` now only adds horizontal padding when using ``stackable page grid``, otherwise content will take up full width of parent element\n\n**Bugs**\n- **Tab/Segment** - Fixes first tab being 1pixel taller than all other tabs\n- **Popup** - Fix issue with `ui popup` receiving error ``$offsetParent is undefined`` when using a pre-defined popup\n- **Popup** - Fix issue with ``ui popup` not appearing with ``ui flowing popup`` due to newly added ``min-width: max-content``\n- **Form** - ``ui search dropdown`` inside a form has incorrect focus style\n- **Menu** - Fixes ``ui fluid labeled icon menu`` to not have `min-width`\n\n### Version 1.5.2 - January 02, 2015\n\n**Bugs**\n- **Sidebar** - Fix bug with `useLegacy` introduced in `1.5.1`\n\n### Version 1.5.1 - January 01, 2015\n\n**Bugs**\n- **Button** - Fixed vertical alignment of ``ui animated button``\n- **Search** - Fixed issue with local search returning all results due to improper regexp\n\n### Version 1.5.0 - December 30, 2014\n\n**Critical Bugs**\n- **Build Tools** `1.4.0` introduced a bug with concatenated uncompressed ``dist/`` release including minified code. This would occur only when no components were specified in installer or ``semantic.json``.\n\n**Enhancements**\n- **Dropdown** - New setting ``allowCategorySelection`` lets menu items with sub menus be selected. Added example in docs.\n- **Reset** - Reset now inherits ``box-sizing`` [from html tag](http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/)\n- **Label** - ``ui ribbon label`` can now appear on the right side of content when specifying ``ui right ribbon label``\n- **Checkbox** - Checkboxes now can handle labels with multiple lines of text\n- **Progress** - Progress bars now display all intermediary percentage values when animating. Improved performance when progress bar is rapidly updated.\n- **Popup** - Popup now uses the new property ``min-width: max-content`` to allow for better display with ``inline`` in some circumstances where it escapes parent element.\n- **Table** - Table now has coupling with image to make sure size is preserved correctly with table sizing when used inside a table cell.\n- **Menu** - ``ui fixed menu`` now defaults to ``ui top fixed menu``\n\n**Bugs**\n- **Form** - Fixed (x) wide field not having correct bottom field margin when in ``fields`` group on tablet or mobile\n- **Tab** - Calls to global ``$.tab()`` would not pass arguments correctly\n- **Dropdown/Search** - Fixed issues with ``ui search`` and ``ui search dropdown`` using ``RegExp test`` which [advances pointer on match](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test) causing results to display incorrectly\n- **Form** - ``ui input`` now receives the same formatting as a normal input inside an ``inline field``\n- **Grid** - Fix display of equal height stackable grid. Add padding to divided stackable grid for dividers\n- **Input** - Fixed bug when ``ui action input`` uses a ``ui icon button``, button was receiving `i.icon` formatting.\n- **List** - Fixed bug when using ``ui icon button`` or ``ui icon header`` causing element to receive icon formatting\n- **Grid** - Fixed issues where negative margins on ``ui stackable grid`` could cause horizontal scroll bars on mobile\n- **Popup** - Popup destroy will now also destroy any unfired timers (show/hide delay)\n- **Popup** - Popup now moves to the same offset context to avoid positioning errors when using a named pre-existing popup.\n\n### Version 1.4.1 - December 23, 2014\n\n**Build Tools**\n- ``gulp build`` will now only build `dist/components/` for components selected in install\n- Fixed bug where interactive installer was not correctly setting components in ``express`` and ``custom`` install\n\n**Bugs**\n- **Dropdown** - ``<select>`` elements will now preserve original ``<option>`` order by default. Added ``sortSelect`` setting (disabled by default) to automatically sort ``<option>`` on initialization\n- **Button** - Fixes issue with ``will-change`` property added to ``ui button`` causing layout z-indexing issues (dropdown button)\n\n### Version 1.4.0 - December 22, 2014\n\n[Browse Issues for 1.4.0](https://github.com/Semantic-Org/Semantic-UI/issues?q=milestone%3A1.4.0)\n\n**Enhancements**\n- **Modal** - Modal now accepts custom dimmer settings with setting `dimmerSettings``\n- **Form** - Form inputs without ``type`` specified are now formatted **Thanks PSyton**\n- **Accordion** - Added inverted accordion variation\n\n**Bugs**\n- **Progress** - Fixes bug where ``ui indicating progress`` would not update its label immediately in webkit\n- **Button** - Fix Chrome bug with buttons sometimes not correctly repainting (particularly evenly divided groups)\n- **Menu** - Fix border radius of dropdown menu inside `ui vertical menu`\n- **Menu** - Fix formatting of ``ui selection dropdown`` inside ``menu``\n\n**Docs**\n- Improved documentation for API and Tab to be slightly more comprehensive\n\n### Version 1.3.2 - December 17, 2014\n\n- **Modal** - Fixed issue with modal dimmer appearing cut off in some browsers, and not hiding\n\n### Version 1.3.1 - December 17, 2014\n\n- **Button** - Dist version of button accidentally included ``chubby`` theme instead of ``default`` theme\n\n### Version 1.3.0 - December 17, 2014\n\n[Browse Closed Issues for 1.3.0](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A1.2.1+is%3Aclosed)\n\n**Critical Bugs**\n- **Build Tools** - Fixed issue with ``theme.config`` causing ``gulp watch`` to throw an error\n\n**Enhancement**\n- **Dropdown** - Dropdown can now specify which direction a menu should appear left/right, dropdown icons can also appear on the left\n- **Dropdown** - Full text search now defaults to ``false``, meaning search terms will return only results beginning with letters\n- **Dropdown** - Search Dropdown is now much more responsive, js improvements and input throttling added.Throttling defaults to `50ms` and can be modified with settings ``delay.search``\n- **Dropdown** - Search Dropdown now correctly replaces placeholder text when backspacing to empty value\n- **Dropdown** - Search Dropdown now has a callback when all results filtered ``onNoResults``\n- **Dropdown** - Search dropdown will now strip html before searching values when searching html\n- **Dropdown** - Search now has keyboard shortcut to open dropdown on arrow down\n- **Form** - Form will no longer process validation rules on disabled fields\n- **Label** - Corner attached labels now display correctly inside of attached segments\n- **Steps** - Steps are now responsive for mobile by default, and have optional responsive styles for tablet\n- **Table** - Table has now variations to remove responsive stylings, specify responsiveness for tablet\n- **Table** - Table now has a ``structured table`` type, which removes some formatting considerations to support complex table layouts with ``colspan`` and ``rowspan``\n\n**Bugs**\n- **Button** - Button \"or\" positioning variables have been adjusted to be automatically calculated without magic numbers\n- **Dropdown** - Dropdown now always scrolls to active element on menu open, calculates position with new ``loading`` class\n- **Dropdown** - Fix bug in position of sub menus with ``floating dropdown``\n- **Form** - Fixed positioning of horizontal field groups, aka ``fields`` for mobile.\n- **Grid** - ``stackable grid`` now display correctly when nested inside a different ``stackable grid``\n- **Image** - UI image now works with SVG\n- **Modal** - Fixed issue with modal losing scroll position on mobile\n- **Modal/Dimmer** - Fixed issues with modal hiding during showing and showing during hiding, fixed issues with \"hiding other\" modals while a modal is mid-animation.\n- **Segment** - Vertical segments now have padding on first/last element, fixing issues when using with grids\n- **Sidebar** - Mobile sidebars now only set ``overflow`` on page's ``html`` when browsing from ``iOS`` devices. Using overflow caused issues with page's scroll being lost when resizing a browser to mobile widths. This also affected modules that used  `$(window).scrollTop()`` at mobile screen sizes\n- **Step** - Fix issue with completed ordered step icon alignment\n- **Table** - Fix responsive styles when applied to ``definition table``.\n- **All UI** - Adds error message when triggering an invalid module behavior i.e. typos ``$('.dropdown').dropdown('hid');``\n\n**Docs**\n- **Button** - Add tabindex /keyboard nav documentation\n- **Grid** - Add another grid example\n- Updates to reflect all new changes to UI listed above\n\n### Version 1.2.0 - December 08, 2014\n\n[Browse Closed Issues](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+milestone%3A1.1.3+is%3Aclosed)\n\n**Enhancement**\n- **Form** - Form validation now has parameter ``optional`` which will only validate a field against a set of rules if the user does not leave it blank **Thanks DHNCarlos**\n- **Fonts** - Add font subset variable for ``site.variables`` **Thanks gabormeszoly**\n- **Modal** - Default modal shadow now more subtle\n- **Sidebar** - Now has behaviors ``is open/closed`` that are aliases for ``is visible/hidden``\n- **Checkbox** - JS Checkbox now handles several variations of html. Labels can be before inputs, after, or not included at all. This should work better with server side form generation.\n- **Progress** - Adds ``limitValues`` setting to adjust values outside of 0-100 automatically to within range, defaults to true\n\n**Bugs**\n- **Grid** - Fixes ``ui stackable grid`` sometimes not aligning correctly at mobile sizes with ``ui page grid``\n- **Progress** - Fixes issues with setting progress to 0% not working as expected\n- **Modal** - Fixes issues with multiple modals sometimes not closing dimmers\n- **Modal** - When a second modal that is not scrolling is opened after a scrolling modal it no longer causes the first modal to not be scrollable\n- **Modal** - \"Hammer\" clicking multiple times on a hiding dimmer no longer causes animation issues\n- **Sidebar** - Fixes issue with multiple sidebars sometimes causing dimmer to close prematurely\n- **Sidebar** - Dimmer can now be clicked even before sidebar has finished showing to immediately close sidebar\n- **Item/Card** - Default link formatting inside element simplified to avoid adjusting other nested ``ui`` link styles\n- **Dropdown** - Fixes bug with dropdown converted from ``select`` that use ``<option`` values with capital letters not being selectable\n- **Form** - Fixes required checkbox asterisks formatting incorrect\n\n**Docs / Build**\n- Fixed documentation on dropdown actions, form field widths, form validation types, and many odds & ends\n- Adds components to semantic.json.example\n- Theme.config.example now links to final site folder\n\n### Version 1.1.2 - December 03, 2014\n\n- **NPM** - Fixes issue with ``dist/`` not being included when using NPM due to ``.gitignore``\n\n### Version 1.1.1 - December 03, 2014\n\n**Bugs**\n- **Step** - Fixes step content appearing overlapped due to use of ``em`` instead of ``rem`` for line-height.\n- **Sidebar** - Fixes issue that may cause sidebars to stay open in some circumstances when using multiple sidebars\n\n### Version 1.1.0 - December 02, 2014\n\n**Enhancements**\n- **Transition** - Transition's caching of final display state and animation existence now has improved performance.\n- **Popup** - Popup now has a ``settings.prefer`` that defaults to ``adjacent``. This setting sets prefered next placement when a popup cannot fit on screen in the chosen placement. ``prefer`` can also be set to ``opposite`` to prefer the same position on the opposite side\n- **Popup** - Popup can now use a setting ``lastResort``. When set to a position it will be used as a last resort even if popup does not entirely fit on the page. Setting this to ``false`` will produce an error when a popup cannot fit on screen.\n- **Transition** now has ``useFailSafe`` parameter (off by default) to ensure transition callback fires even if native ``onAnimationEnd`` event does not fire due to element visibility. [Chromium Bug Report by Product Manager @ Mozilla](https://code.google.com/p/chromium/issues/detail?id=135350#c2) and [this open issue](https://code.google.com/p/chromium/issues/detail?id=437860)\n- **All UI** - Many ``em`` measurements adjusted slightly to calculate out as exact pixel values (Fixes 1px rounding errors)\n- **Steps** - Now use global border color\n- **Progress** - Progress now has sizing variations\n- **Input** - ``transparent input`` can now be ``inverted``\n- **Dropdown** - Dropdown ``onChange`` callback now fires when calling ``setSelected`` programatically.\n\n**Bugs**\n- **Build Tools** - NPM now correctly pins dependencies instead of using bleeding-edge versions which may break builds\n- **Transition** - Transition now correctly detects missing animations, errors do not cause future image transitions to break\n- **Menu/Segment** Fixes double border on pointing menu with attached segment **Thanks davialexandre**\n- **Progress** - Fixes indicating progress appearing incorrectly at 100% complete **Thanks ordepdev**\n- **Icon** - ``remove icon`` is now formatted correctly when used as ``remove link icon``\n- **Input** - ``ui action input`` can now accomodate ``ui button`` that adjust padding from default\n- **Dropdown** - Fix ``action input`` used inside ``ui dropdown`` to appear correctly **Thanks ordepdev**\n\n**Docs**\n- **Progress** - Added missing settings docs for progress module\n\n### Version 1.0.1 - November 28, 2014\n\n**Bugs**\n- **Site** - Add protocol variable for Google Font loader to avoid issues with ``//`` when loading locally causing freezing\n- **Icon** - Fix horizontal centering of circular icon\n- **Transition** - Fix vertical flip not working due to css typo **Thanks cgroner**\n- **Menu** - Removes missing image loader variable **Thanks ryan-mahoney**\n- **Card/Item** - Fix generic link stylings erroneously affecting linked ui elements like buttons\n- **Table** - Fixes table cell transition animating all properties\n\n### Version 1.0.0 - November 24, 2014\n\n**Breaking Changes**\n- **Word Order** - Many multi word variations now require proper word order, for example ``left aligned`` or ``right floated`` classnames must be adjacent. This is to prevent conflicts with other multiple word variations\n- **Form** - Date field has been removed, use a ``ui icon input`` with a ``calendar icon`` instead\n- **Label** - Corner labels no longer support text, only icons.\n- **Dropdown** - Sub menus inside dropdowns now need a wrapping div **text** around sub-menu descriptions\n- **Checkbox** - Checkbox \"enable\" and \"disable\" have been replaced with \"check\" and \"uncheck\"\n- **Modal** - Modal ``left`` and ``right`` sections are now replaced with ``image`` and ``description``\n- **Accordion** - Accordions are now unstyled by default allowing for simpler coupling with other UI without having to override styles. Styled accordions are now included as a variation ``ui styled accordion``\n- **List** - List item selectors are now more strict, list items must be immediate children of ``ui list`` or ``ui list list``\n- **Item** - 0.x.x's UI card has been adjusted heavily. Vertically listed content should use ``ui item`` while floated grouped content should continue to use ``ui card``. Some 'card' view content has been slightly adjusted. Please refer to documentation\n- **Header / Icon** - Inverted headers and icons no longer invert background colors, but instead use a lighter version of colors more legible on dark backgrounds. Inverted circular icons, still however invert the color of the circle.\n- **Input** - Labeled inputs now have ``corner`` ``left`` and ``top`` label types. Any labeled inputs should be converted to ``corner labeled input`` to preserve functionality from ``0.x``\n- **Modal** - allowMultiple (allowing multiple modals at once) is now set to **false** by default.\n- **Table** - Tables are no longer striped by default, instead you must specify the 'striped' variation\n- **Transition** - Complete, and Start callbacks are now ``onComplete`` and ``onStart``\n\n**Enhancements**\n- **General** - CSS animations now hint with will change properties to increase performance in supported browsers\n- **General** - Many modules now use DOM Mutations and event delegation to allow content adjustment after initialization\n- **Accordion** - Accordion now includes all icons in an embedded font instead of requiring icons\n- **Button** - Now has compact form, used for fitting into tight spaces\n- **Button** - Now has CSS loaders to allow loading state to maintain other styles\n- **Checkbox** - Now correctly handles read-only and disabled, has read-only and disabled states\n- **Checkbox** - All styles have been redone. Standard checkboxes are now based around PX and not EM making sure there are no unusual circles or rounding issues. Checkboxes also now use a custom font for glyphs instead of CSS tricks.\n- **Checkbox** - Checkbox now have a ``fireOnInit`` setting for firing callbacks on page load\n- **Checkbox** - Checkbox now receive a ``checked`` class when checked, making it easier to write css selectors on checked checkboxes, for example when using sibling selectors ``.ui.checked.checkbox + .content { // style }``\n- **Dropdown** - New dropdown type, searchable selection for large lists of choices\n- **Dropdown** - Dropdowns can now be initialized directly on a ``<select>`` element without any html\n- **Dropdown** - New action combo will change text of adjacent button, select will select element but not change text\n- **Dropdown** - Many new content types now work inside dropdowns, headers, dividers, images, inputs, labels and more\n- **Form** - Form now has a success state which will automatically display success messages\n- **Dimmer** - Dimmer will now automatically determine whether click-to-close is enabled by ``settings.on``\n- **Dimmer** - Multiple dimmers can now be used on the same context with ``dimmerName``\n- **Dimmer** - Dimmer variations can be specified when creating a dimmer from javascript using ``variation`` setting.\n- **Form** - Grouped fields and inline fields can now have labels\n- **Form** - Forms in 'success' state will now show success messages inside\n- **Form** - Inputs now use 1em font size and correctly match selection dropdown height\n- **Form** - Inverted form now properly styles loader\n- **Form** - New field type ``required`` formats labels to show filling out field is mandatory\n- **Grid** - ``ui divider`` can now be used inside of row columns as well as ``vertically divided grid`` variation\n- **Grid** - Grid rows and columns now support color variations\n- **Grid** - Grid has been rewritten to automatically create row flow without row wrappers\n- **Grid** - Divided and celled grids can now be inverted for dark backgrounds\n- **Grid** - Elements inside a grid that are not rows or columns will now align properly\n- **Grid** - Fixed page grid allows for fixed pixel size containers used with a grid instead of percentage\n- **Grid** - Vertically divided grid now does not include left/right gutters in divider\n- **Header** - Linked headers now receive link colors\n- **Image** - New ``bordered image`` variation\n- **Item** - Items now have a horizontal list view for content lists\n- **Label** - Added tag label and empty circular label style\n- **Label** - Now has compact form, for fitting into tight spaces\n- **Label** - Now has more sizes available\n- **List** - Child lists can now be formatted to sit inside text content\n- **List** - List images can now specify vertical alignment\n- **List** - List spacing defaults have been adjusted to be more consistent\n- **Popup** - Popup can now allow itself not to be closed when hovered over\n- **Popup** - A popup element can now be specified on initialization.\n- **Reveal** - Reveals now all use css properties with GPU acceleration\n- **Popup** - Positioned popups will now extend in the opposite direction to fit better with floated content\n- **Rating** - Rating now uses an embedded icon font to maximize compatibility\n- **Rating** - Rating can now automatically generate icons without including them\n- **Rating** - Rating can use data attributes to specify individual ratings\n- **Sidebar** - Sidebar now has tall / very tall variations for resizing top/bottom sidebars\n- **Shape** - Shape now is better at calculating sizes when animating\n- **Shape** - You can now disable repeated animations by setting, so animation wont queue if side is currently visible\n- **Steps** - Steps can now have icons, descriptions and titles. Step default theme has been modified significantly to be more flexible.\n- **Table** - Tables now have 'basic' and 'very' basic variations\n- **Transition** - Transition will now keep block position of elements hidden with visibility hidden\n- **Transition** - Transitions now will handle multiple display types more consistently\n- **Transition** - Transition now has a new ``start`` callback, before animation starts\n- **Transition** - Complete callback now does not occur if animation is interrupted before completing\n- **Transition** - You can now specify the final displayType of a transitioning element in metadata or settings (not just automatically detected)\n- **More [untracked changes](https://github.com/Semantic-Org/Semantic-UI/issues?q=is%3Aissue+label%3AEnhancement+is%3Aclosed) added as well**\n\n** Bug Fixes **\n- See Closed GitHub Issues\n\n### Version 0.19.3 - Sep 11, 2014\n\n**Bug Fixes**\n\n- **Grid** - Fixes issue where some responsive grid stylings were being overridden by other variations (for example stackable overriding )\n\n### Version 0.19.2 - Sep 11, 2014\n\n**Bug Fixes**\n\n- **Grid** - (Backport from 1.0 branch) Fixes issue where some combinations of (tablet/mobile/computer) only does not function correctly\n\n### Version 0.19.1 - Sep 5, 2014\n\n**Bug Fixes**\n\n- **Modal** - (Backport from 1.0 branch) Fixes issue where modal sometimes appears too low on second show\n\n### Version 0.19.0 - July 3, 2014\n\n**Enhancements**\n- **Transition** - Adds \"fade in left/right\" variations to match \"fade up/down\" **Thanks AdamMaras**\n\n**Fixes**\n- **Accordion** - Fixes incompatibilities with ``ui list`` when used inside a ``ui accordion``, fixes issues with menu accordion display in some circumstances\n- **Menu** - Fixes ``ui inverted secondary pointing menu`` to have correct pointer color for all color variations **Thanks AdamMaras**\n- **Docs** - Language clarified for menu/rating definition **Thanks jnbt/ewiner**\n\n### Version 0.18.0 - June 6, 2014\n\n**Enhancements**\n- **Modal** - Modals now focus on first input if available **Thanks Knotix**\n- **RTL** - RTL now uses RTLCSS instead of CSSJanus **Thanks MohammadYounes**\n\n**Fixes**\n\n- **Menu** - Fixes bug where pointing menu would sometimes appear below content **Thanks Skysplit**\n- **Dropdown** - Fixes dropdown 'is animating' with dropdowns when CSS animations were not included **Thanks nathankot**\n- **Accordion** - Accordion title does not know have to be :first-child to receive proper border **Thanks BigBlueHat**\n- **Popup** - Fixes javascript animation of popup missing easing dependency\n- **Label** - Fixes border radius on bottom left label\n\n**Docs**\n- **Modal** - Docs now have HTML examples\n- **Docs** - Fixes issue with overview mode not clearing code examples\n- **CSS Guide** - Fixes typos in css guide\n\n\n### Version 0.17.0 - May 9, 2014\n\n**Enhancements**\n- **Dropdown** - Dropdowns can now receive focus and be navigated with a keyboard **Thanks Musatov**\n- **Popup** - Popup now has an ``onRemove`` callback after removing element from DOM\n\n**Fixes**\n- **Modal** - Element does not accurately close other modals when initialized at different times **Thanks nojhamster**\n- **Modal** - Fixes javascript error for browsers that don't support CSS animations if jquery.easing is not included\n- **Form, Input** - Fixes ``ui input`` to work correctly inside ``inline field``\n\n### Version 0.16.1 - April 22, 2014\n\n**Fixes**\n- **Transition** - Fixes bug where transition could accidentally hide element on show due to error when determining original display type\n\n### Version 0.16.0 - April 22, 2014\n\n**Enhancements**\n- **Form** - Fields can now be aligned to a grid **Thanks seralex-vi**\n\n**Critical Fixes**\n- **Modal** - Fixes issue where position sometimes appeared too low on second show\n- **Reveal** - Fixes reveal being broken in Chrome in ``0.15.5`` due to poor fix for reveal selectability\n\n**Fixes**\n- **Transition** - Fixes issue where transition hidden was sometimes overwritten by UI styles causing the element to stay visible\n- **Checkbox** - Fixes issue where checkboxes with multiple line labels were appearing formatted incorrectly.\n\n\n### Version 0.15.5 - April 11, 2014\n\n**Critical Fixes**\n- **Checkbox** - Fixes ``ui checkbox`` to obey ``disabled`` property of input\n\n**Fixes**\n- **Reveal** - Hidden content now can be selected on reveal\n- **Message** - Fixes hidden/visible class to work with animations\n- **Message** - Fixes hidden/visible class to set proper display on ``ui icon message``\n- **Message** - Fixes hitbox/position of ``close icon`` inside message\n\n### Version 0.15.4 - April 04, 2014\n\n**Fixes**\n- **Rating** - Fixes issue where rating was behaving erratically in Chrome\n\n### Version 0.15.3 - April 04, 2014\n\n**Changes**\n- **Transition** - CSS Transitions now work in legacy FF (FF > 12)\n- **All UI** - Adds support for legacy FF vendor prefixes (FF > 12)\n\n**Docs**\n- Adds more examples for static checkbox/radio boxes with HTML only\n- Fixes a variety of issues with malformed examples (thanks community)\n\n### Version 0.15.2 - Mar 28, 2014\n\n**Changes**\n- **All Modules** - Debug is now disabled by default\n\n**Fixes**\n- **Step** - Fixes issue with border radius on vertical steps\n- **Icon** - Orange color is now available for icon\n- **Menu** - Fixes formatting of attached segments with menus\n\n### Version 0.15.1 - Mar 14, 2014\n\n**Critical Fixes**\n- **Dropdown** - Typo in dropdown css was causing selection dropdowns not to appear\n\n### Version 0.15.0 - Mar 14, 2014\n\n**Enhancements**\n- **Step** - Vertical Steps now have option to have two line items\n- **Form** - Forms, Dropdowns, and Inputs now have matching padding size, and use 1em font size to appear same size as surrounding text\n- **Icon** - Icons on dark backgrounds should render better in OSX\n- **Modal** - Modals now have an onVisible and onHidden callback for after animation ends\n- **Form Validation** - Form validation now automatically revalidates a selection dropdown on change when invalid\n\n**Critical Fixes**\n- **Modal** - Browsers without RequestAnimationFrame (Opera) were erroring on modal show\n- **Dropdown** - Element's with numeric ``data-text`` values were erroring when selected\n\n**Fixes**\n- **Modal** - Modal onShow and onHide occurs before transition starts, allowing for class name changes not to be reset\n- **Dropdown** - Default selection text was not appearing when a dropdown had a value that was ``false`` or ``0``\n- **Input** - Fixes slight error in corner label rounding **Thanks MohammadYounes**\n- **Reveal** - Reveals will now show on active, for touch devices **Thanks Illyism**\n- **Table** - Fixes rounding on tables with multiple tfoot elements **Thanks webdesserts**\n- **Icon** - Hide and unhide icon were accidentally given opposite names\n- **Checkbox** - Checkboxes can now have multiple inputs inside, for use with .NET and other languages that insert their own hidden inputs\n\n**Project**\n- **iOS** - Active styles, for example pressed in buttons, now appear in docs on touch devices\n\n### Version 0.14.0 - Mar 03, 2014\n\n**Enhancements**\n- **Modal** - Modal now uses requestAnimationFrame instead of debounced callback\n- **Dropdown** - Dropdown now has error state **Thanks Musatov**\n- **Form** - Form fields with errors will now properly style dropdown elements **Thanks Musatov**\n- **Step** - Steps can now appear vertically\n\n**Fixes**\n- **List** - Bulleted and horizontal lists now appear correctly in IE10-11\n\n**Project**\n- **NPM** - Docpad is now moved to a dev dependency **Thanks kapouer**\n\n### Version 0.13.1 - Feb 28, 2014\n\n**Fixes**\n- **Modal** - Fixes modal positioning appearing slightly below center on second load\n- **Checkbox** - Fixes checkbox appearance inside inverted forms\n- **Input** - Fixes ui input to inherit form sizing\n- **Accordion** - Fixes issues with accordion rules being too specific, causing several common usages of accordions to break\n- **Form Validation** -  Fixes form validation regular expression matching **Thanks icefox0801**\n\n\n### Version 0.13.0 - Feb 20, 2014\n\n**Enhancements**\n- **Label** - Corner labels now are coupled to have rounded edges with components with rounded edges like input\n- **Form** - Grouped form fields now have responsive styles for mobile\n- **Modal** - Modal will now work when modal is taller than page's content\n- **Checkbox** - Checkboxes now also trigger DOM ``change`` event\n- **Accordion** - Accordions now preserve inline styles when animating\n- **Form Validation** - Form validation now rechecks on all form change events, not just input change\n\n**Fixes**\n- **Menu** - Fixes 2px border on last element in horizontal menus\n- **Menu** - Fixes dropdown formatting when used **inside* a menu item\n- **Menu** - Fixes formatting of grouped icon buttons inside menus\n- **Modal** - Fixes z-index of modal close to appear above ``relative/absolute`` modal content on mobile\n- **Dimmer** - Dimmers are less buggy when used with ``on: 'hover``\n\n\n### Version 0.12.5 - Feb 04, 2014\n\n**Enhancement**\n- **Button** - Or buttons can now have text specified using ``<div class=\"or\" data-text\"text\">`` with alternate text *Thanks MohammadYounes*\n\n**Fixes**\n- **Popup** - Fixes issue where popups using ``title`` attribute to store data were losing title content instead of correctly restoring it\n- **Modal** - Fixes an issue where modal may not position correctly in some cases *Thanks GianlucaGuarini*\n- **Modal** - Fixes modal throwing an error when transition is not included *Thanks robertoles*\n\n### Version 0.12.4 - Jan 29, 2014\n\n**Fixes**\n- **Form** - Fixes issue with onSuccess not allowing cancellation of form submit in form validation\n- **Input** - Fixes ``ui buttons`` to work inside an ``ui action input`` **Thanks MohammadYounes **\n- **Items** - Fixes ``ui horizontal items`` to work correctly, missing comma **Thanks mishak87**\n\n**Project**\n- **RTL** - Adds RTL hinting for some files **Thanks MohammadYounes**\n- **Specs** - Adds additional JSON spec files for future use with generators **Thanks brigand**\n\n### Version 0.12.3 - Jan 24, 2014\n\n**Fixes**\n- **Message** - Fixes some issues with margins sometimes not appearing with ``attached message`` **thanks joltmode**\n- **Item** - Fixes color repeating to be consistent for items **thanks skysplit**\n\n### Version 0.12.2 - Jan 21, 2014\n\n**Enhancement**\n- **Form Validation** - Adding custom validation is now simpler, uses syntax ``$('.form').form('add prompt', identifier, 'Error message');``\n\n**Fixes**\n- **Menu** - Slightly updates input sizes inside menus\n- **Grid** - Fixes grid ``only tablet/mobile/computer`` showing both devices on exact pixel of breakpoint, i.e. 768px\n- **Icon** - Fixes ascending alphabetic inheritance\n\n### Version 0.12.1 - Jan 15, 2014\n\n**Fixes**\n- **LESS** - Fixes typo breaking less parsing **thanks DVSoftware**\n- **Menu** - Fixes buttons using ``<a>`` tag from inheriting link styles. **thanks joltmode**\n- **Menu** - Fixes ``action input`` to work inside menus  **thanks joltmode**\n- **Modal** - Fixes possible race conditions in animations of modal **thanks dos1**\n- **Message** - Prevents close icon from being misformatted in icon message **thanks MohammadYounes**\n\n**Docs**\n- **Icons** - Fixes some icon code samples in docs **thanks mishak87**\nSome updates to docs formatting\n\n### Version 0.12.0 - Jan 06, 2014\n\n**Major Fixes**\n- **Dropdown** - Fixes dropdowns links not working on touch devices\n- **Input** - Fixes input placeholder styles to work (accidental regex replace)\n\n**Major Updates**\n- **Transition** - Transitions will now, by default, prevent the current animation from being queued while it is actively animating the same animation\n- **Modal** - New setting ``allowMultiple`` lets you specify whether multiple modals can be shown at once\n- **Modal** - New setting ``detachable`` allows you to specify whether modal DOM element can be moved (Thanks MohammadYounes)\n\n**Updates**\n- **Dropdown** - Default value is now stored on init, and can be restored using 'restore defaults' behavior\n- **Modal** - Buttons can now use both ``cancel/deny`` or ``ok/approve``, for approve/deny events to fire (Thanks MohammadYounes)\n- **Menu** - Fixed menu now adds padding on the next element if it is a grid\n- **Progress Bar** - Adds warning color\n\n**Fixes**\n- **Icon** - Fixes unnecessary formatting on thumbs up/down\n- **Dropdown** - Fixes touchmove event not clearing on touch devices causing unnecessary overhead\n- **Input** - Action inputs can now be fluid\n- **Sidebar** - Fixes issue where top sidebar was receiving left offset\n- **Menu** - Fixes z-index on fixed menu to exist just below modals\n- **Dropdown** - Fixes issue where last match was returned, not prioritizing value over text\n- **Form** - Fixes all validation input to be trimmed for whitespace\n\n### Version 0.11.0 - Dec 25, 2013\n\n### Merry Christmas!\n\n**Major Updates**\n\n-**Transition**: Transition has been completely rewritten, performance should be about 10x after first animation due to caching and use of request animation frame\n\n**New Features**\n\n-**Transition**: Transitions now work with **any display type** not just display: block, meaning transitions can be used on buttons and other inline elements without affecting display\n\n**Fixes**\n\n-**Transition**: Fixes typo in \"horizontal flip out\" causing opacity to be fading in\n\n-**Popup** - Fixes popup sometimes opening and closing when ``event:click`` is used and a user double clicks\n\n-**Modules**: Fixed error in all modules where calling invoke would modify instance outside of scope, making it impossible to access some data (for instance cached positions) from outside of module.\n\n-**Modal**: Fixes issues with modal in IE, IE11 can now use CSS animations with modals\n\n### Version 0.10.3 - Dec 22, 2013\n\n**Critical Fixes**\n- **Dropdown** - Fixes issue where dropdown animation does not occur sometimes (Thanks MohammadYounes)\n\n**Fixes**\n- **Popup** - Native browser popups no longer if using ``title`` attribute\n- **Grid** - Fixes issue where stackable grid was not working correctly when using (x) wide column\n- **Modal** - Fixes element detaching sometimes in case where it is already inside a dimmer\n- **Input** - Removes duplicate sizes\n\n### Version 0.10.2 - Dec 13, 2013\n\n**New**\n- **Button** - Adds VK button\n- **Input** - Action inputs now support button groups\n\n**Fixes**\n- **Rating** - Fixes vertical alignment with text\n- **Dropdown** - Fixes missing easing equations for dropdown javascript animations. Would cause an error when no css transitions were included and jquery easing was not available.\n\n### Version 0.10.1 - Dec 06, 2013\n\n**Fixes**\n- **Modal** - Fixes issue with modal animation regression in 0.10.0\n\n### Version 0.10.0 - Dec 05, 2013\n\n**New**\n- **Grid** - Adds ``doubling`` responsive variation which automatically formats content spacing based on device type\n- **Form Validation** - Adds two new parameters, to allow for changing of revalidation and delay on input\n\n**Updates**\n- **Grid** - Row padding is now EM not % based, this might shift layouts slightly\n- **Grid** - Grid columns not inside a row will automatically receive row padding now. This will allow for content to flow correctly when row count is unknown\n\n**Fixes**\n- **Grid** - Fixes margin on stackable grids\n- **Dropdown** - Value can be retrieved even in instances where forms arent used\n\n### Version 0.9.6 - Dec 04, 2013\n\n**Updates**\n- **Rating** - Ratings now receive class disabled when read only, instead of receiving ``active`` when rateable since active are much more common\n- **Grid** - Fixes some instances where grid column width ``x wide`` was being overruled by parent element ``x column``.\n- **Header, Grid, Segment** - Adds justified alignment\n- **Message** - Fixes issues with attached icon message (thanks overra)\n\n### Version 0.9.5 - Nov 25, 2013\n\n**New**\n- **Segment** - Segments now have a circular variation\n\n**Fixes**\n- LESS files now include vendor prefixes by default instead of only including them in css releases\n\n### Version 0.9.4 - Nov 24, 2013\n\n**Fixes**\n- **Dropdown** - Fixes issue where falsey value (i.e. 0) could not be selected\n- **Transition** - Fixes transition exists function from not being called\n- **Form** - Adds input type=\"url\" to forms\n- **Sidebar** - Fixes right sidebars to correctly allow for sizing (Thanks DveMac)\n- **Sidebar** - Typo in sidebar header (Thanks slobo)\n\n\n**Docs**\n- Fixes various typos and missing closing html tags\n\n### Version 0.9.3 - Nov 17, 2013\n\n**Fixes**\n- **Dropdown** - Fixes \"falsey\" values (like 0) not being processed correctly\n- **Segment** - Fixes segment text color when nested inside inverted segment\n- **Button** - Fixes improper active/visible state due to :not specificity (most noticeable in mousedown on a dropdown button)\n\n### Version 0.9.2 - Nov 8, 2013\n\n**Fixes** - Fixes popup not repositioning itself when offstage.\n\n### Version 0.9.1 - Nov 7, 2013\n\n**New**\n- **Popup** - Adds context option for popup (thanks jefmathiot)\n- **Accordion** - Adds formatting for nested accordions\n\n**Updates**\n- **Accordion** - Fixes issue with accordion events inside accordions\n\n### Version 0.9.0 - Nov 5, 2013\n\n**New**\n- **Button** - Basic icons now have inverted style\n- **Segment** - Segments can now be used with ``ui grid`` and ``ui grid column/row``\n- **List** - Adds animated list variation\n\n**Docs**\n- **Release** - Fixes issues with minification in grunt\n- **Examples** - Adds new homepage example to release zip\n- **Code Samples** - Updates ACE editor version\n\n**Updates**\n- **List** - Updated some list styles for greater flexibility\n- **Dropdown** - Dropdown now always receives pointer cursor in all types\n- **Form** - Darkens placeholder text color to be more visible\n- **Menu** - Dropdown position inside secondary menus should be more precise\n- **Input** - Labeled icons now have smaller corner labels\n- **Menu** - Floating dropdown menus now work inside menus\n- **Button** - UI buttons no longer have shadows, this helps match colored buttons in layouts\n\n**Fixes**\n- **Header** - Fixes alignment of solo icons in headers\n- **Button** - Fixes labeled icon placement in Chrome\n- **Modal** - Fixes use of unsupported comma separated :not selector\n- **Modal** - Fixes left/right ui content receiving modal styles inappropriately\n- **Menu** - Fixes some inverted menu stylings not applying correctly in some instances\n- **Grid** - Fixes comp/tablet/mobile only columns not working if not inside a row\n\n### Version 0.8.6 - Nov 2, 2013\n\n**Fixes**\n- **Modal** - Fixes issue with scrollable variation on mobile, updates mobile styles\n\n**Docs**\n- Fixes bug in jquery waypoint 2.0.3 causing menus to be lame\n\n### Version 0.8.5 - Nov 2, 2013\n\n**Fixes**\n- **Modal** - Fixed issue with modals not working in 0.8.4 due to mistake in transition invoke\n- **Modules** - Invoke now gives user's query in error message for method not found\n\n### Version 0.8.4 - Nov 1, 2013\n\n**Fixes**\n- **Modules** - Fixes bug where invoking a sentence behavior that has a single word match would always invoke single word match. I.e. ``show modal`` would mistakenly call ``show`` if it existed.\n- **Modules** - Adds CSS transition support detection to all modules using css transitions to allow for graceful degradation for IE8\n\n**Docs**\n- **Download** - Fixes issue where non minified source was being included with minified copy\n- **IE** - Fixed some issue with IE display in docs\n\n### Version 0.8.3 - Oct 30, 2013\n\n**Fixes**\n- **Modal** - Adds fixes for opening modals when other modals are opened, adds a few new API behaviors\n- **Form** - Fixes issues with form validation not escaping regex characters\n- **Form** - Errored fields now have their icons and corner labels colored appropriately\n- **Labels** - Fixes formatting of links inside labels\n\n### Version 0.8.2 - Oct 28, 2013\n\n**Fixes**\n- **Modal** - Quick Fix for modal events in IE\n- **Menu** - Fixes arrow direction on vertical menu dropdown\n- **Button** - Fixes button height issue with button groups including icon and normal buttons\n\n**Docs**\n- Fixes some missing closing tags\n\n### Version 0.8.1 - Oct 26, 2013\n\n**Fixes**\n- **Button** - Fixes colored version sometime losing white text color\n- **Button** - Fixes 1pixel jump on animated fade buttons\n\n**Docs**\n- Prefixer now used for prefixing in grunt\n- Spelling fixes\n\n### Version 0.8.0 - Oct 25, 2013\n\n**New**\n- **Button** - Default button styles have been significantly tweaked\n- **Button** - Evenly divided buttons can use number classes instead of words ``class=\"2 buttons\"``\n- **Button** - New animated button styles, fade, horizontal, and vertical\n\n**Fixes**\n- **Button** - Fixes \"or\" sizing to work for all sizes\n- **Dropdown** - Fixes border radius on non-selection dropdowns from changing on activation\n- **Input** - Action buttons now have tactile feedback like normal buttons\n\n**Docs**\n- Added more detailed contributing guide\n- Updates info on setting up server\n- Added new examples to button and input\n\n### Version 0.7.2 - Oct 23, 2013\n\n**Fixes**\n- **Modal** - Fixes issue with modal hiding twice onApprove\n\n### Version 0.7.1 - Oct 23, 2013\n\n**Fixes**\n- **Dropdown** - Fixes issue with dropdown icon position in chrome\n- **Popup** - Fixes issue with popup's using setting inline: true\n\n### Version 0.7.0 - Oct 22, 2013\n\n**New**\n- **Table** - Added awesome new responsive style to ui tables\n- **Button** - New social buttons for Instagram, LinkedIn, Google Plus, Pinterest\n- **List** - Adds documentation for module format\n- **List** - Adds onTabInit for local tabs on first load\n- **List** - Popups can now have a different target than itself\n- **Modal** - Modal hide can be cancelled from ``onApprove`` and ``onDeny`` by returning false from callback\n- **Transition** - onShow and onHide callbacks for visibility changing transitions\n- **Shape** - New 'cube' and 'text' shape type\n- **Shape** - Transition duration can now be set programatically\n- **Shape** - New beforeChange callback\n- **Sidebar** - Sidebar will now default to being exclusive and hiding other sidebars on show\n- **Sidebar** - Sidebar now has onChange, onShow, onHide callbacks\n- **Sidebar** - Sidebar now have several size variations, and a new styled variation that comes preformatted\n\n**Docs**\n- **Dimmer** - Adds more dimmer examples, fixes settings\n- **Modules** - New examples and docs for all modules\n- Adds sortable tables to docs\n- New tabbed doc style for modules\n- Code samples will now automatically format indention\n\n**Fixes**\n- **Button** - Fixes vertical fluid buttons not taking up full width\n- **Shape** - Shape now works with no additional stylings\n- **Shape** - Fixes calculation of next side size to work correctly by using offstage element\n- **Modules** - Fixed issue when altering settings using ``module('setting')`` with an object\n- **Dimmer** - Dimmer now obeys border radius of parent\n- **Dropdown** - Dropdown cannot display inside item image\n- **Dropdown** - Dropdown links were being prevented by event.preventDefault used for touch devices\n- **Dropdown** - Fixes issue with borders on selection dropdown\n- **Dropdown** - Fixes pointing dropdown to appear correctly in menu\n- **List** - Celled tables now have celled table headers\n- **Menu** - Fixes border radius on tabular menu, fixes one pixel jump on active state\n- **Menu** - Removes vertical label width missing units in menu\n- **Popup** - Popup .toggle() now always hides/shows popup correctly\n- **Popup** - Popup fixed a bug where \"top right\" placed popup might sometimes be too large\n- **Popup** - Popup will not reshow a visible popup on hover\n\n**Updates**\n- **Accordion** - Reduces vertical padding on basic accordion content\n- **Header** - Block header now uses RGBA instead of solid color by default\n- **Label** - Ribbon labels now have a shadow color\n- **List** - Horizontal padding on icon list slightly increased, fixes to icon position\n- **List** - Increased padding on attached labels\n- **List** - Leading on bulleted and ordered list slightly increased\n- **Message** - Increase opacity of icons on icon messages\n- **Modal** - Optimizes dimmer init on modal to occur on modal init and not modal show\n- **Popup** - Popup border now uses RGBA to look sexier on dark backgrounds\n- **Popup** - Popup default duration is now 200ms (slighty slower)\n- **Popup** - Popup metadata attribute arrowOffset is now offset for simplicities sake\n- **Popup** - Popup no-longer receives class name 'visible' on show, this allows popups to be used on dropdowns and other elements with a visible state\n- **Popup** - Popups are no longer inline by default\n- **Table** - Table headers are now darker to increase contrast with rainbow striped rows\n- **Sidebar** - Floating sidebar is slightly less heavily shadowed\n\n\n### Version 0.6.5 - Oct 18, 2013\n\n**Fixes**\n- Fixes issue where browser default action, like link clicking, was prevented on dropdown item click\n- Modal keyboard shortcuts now obey settings.closable (credit to luisrudge)\n\n\n### Version 0.6.4 - Oct 16, 2013\n\n**Fixes**\n- Fixes issue where browser default action, like link clicking, was prevented on dropdown item click\n\n### Version 0.6.3 - Oct 15, 2013\n\n**Deprecation**\n- Dropdown changeText and updateForm have been deprecated and will be removed in 1.0\n\n**Updates**\n- Dropdown hide no longer selects current item as active (useful for menus)\n- Simplified possible dropdown actions changeText and updateForm are now consolidated into activate which is the new default\n\n### Version 0.6.2 - Oct 15, 2013\n\n**Fixes**\n- Fixes touch+mouse like touchscreen laptops to work with dropdowns\n- Fixes input position inside menus with no other content\n- Fixes input sizing on small/large menus\n\n**Updates**\n- Dropdown vastly improved for touch, now can scroll with touch without closing dropdown\n- Dropdown active style now slightly more noticable\n\n### Version 0.6.1 - Oct 15, 2013\n\n**Updates**\n- Adds onApprove/onDeny callbacks to modal\n- Adds small/large sizing of modal, reformats default modal size to be slightly inset from page grid\n- Adds clockwise/counterclockwise rotated icon and default rotate\n- Adds orange label/segment\n- Adds automatic menu formatting for buttons inside menus\n- Dropdowns in vertical menu automatically receive proper triangle pointer direction\n\n**Fixes**\n- Fixes modal spacing on left/right content to match up with grid gutters\n- Fixes inheritance issues with rotated icon\n- Fixes tests not passing for modal/dimmer\n- Fixes overflow on item corner label\n- Fixes right menu formatting in secondary menus\n- Fixed shadow overlap on dropdown in menus\n\n### Version 0.6.0 - Oct 14, 2013\n\n**Updates**\n- Adds travis CI support with preliminary test coverage for all javascript modules\n\n**Fixes**\n- Minor Fixes caught with testing suite, related to ensuring proper destroy, init,\n- Minor fixes to edge cases with seting and retrieving internals/settings as default, init, or during run-time on some modules\n\n### Version 0.5.1 - Oct 11, 2013\n\n**Fixes**\n- Fixes issue with modal sometimes closing/opening multiple times caused by changes in 0.5.0\n\n**Updates**\n- Fixes vertical alignment of checkboxes\n\n### Version 0.5.0 - Oct 10, 2013\n\n**Critical Fixes**\n- Fixes in some UI modules, issue where settings being shared across elements initialized at the same time instead of each instance.\n- Fixes regression where popup was overriding variation class name on positioning\n\n**Fixes**\n- Fixes an issue where popup that was set to inline: false was being removed prematurely\n- Fixes inheritance issue where grid column may sometimes not appear the correct size\n- Fixes modal hide/show dependency issue where dimmer would not always hide modal and vice-versa\n\n**Updates**\n- Adds an example to popup where inline is set to false\n- Accordion now comes bundled with proper easing\n- Added onCreate to popup module\n\n### Version 0.4.3 - Oct 10, 2013\n\n**Fixes**\n- Updates dropdown to include proper invoke\n\n### Version 0.4.2 - Oct 9, 2013\n\n**Fixes**\n- Fixes issue with event bubbling being cancelled on dropdown item click\n\n### Version 0.4.1 - Oct 9, 2013\n\n**Fixes**\n- Fixes heart rating color\n\n### Version 0.4.0 - Oct 8, 2013\n\n**Updates**\n- Updated some checkbox stylings\n- Checkboxes markup now more semantic with default markup including only one label tag that can be inside ui checkbox\n\n### Version 0.3.8 - Oct 8, 2013\n\n**Fixes**\n- Display issues with accordion\n\n### Version 0.3.7 - Oct 8, 2013\n\n**Fixes**\n- Fixes modal show/hide action reversal in Webkit\n\n**Updates**\n- Dimmer can now take different durations for its show and hide\n\n### Version 0.3.6 - Oct 7, 2013\n\n**Fixes**\n- Fixes popup position sometimes appearing off-stage on second apperance\n- Fixes popup positions top left, top right, bottom left, bottom right being flipped\n\n**Docs**\n- Updates form and accordion docs\n\n**Updates**\n- Dropdown action default is now automatically determined based on type of dropdown, select dropdowns now will update form fields with default options\n- Adds fluid variation to accordion\n- Adds more html5 form support for forms (deneuxa)\n- Fields can include both field and another level of fields\n\n### Version 0.3.5 - Oct 2, 2013\n\n**Fixes**\n- Fixes radio checkboxes (again)\n- Fixes header content display in icon headers\n\n### Version 0.3.4 - Oct 2, 2013\n\n**Fixes**\n- Transitions now work in Safari versions that do not support animation-direction\n- Fixes accordion in safari styles getting stuck\n- Centering of content in icon header\n\n### Version 0.3.3 - Oct 2, 2013\n\n**Fixes**\n- Fixes modal not working due to destroy teardown in dimmer Issue #153\n- Fixes selector for checkbox to fix radio boxes Issue #154\n- Fixes issue with popup display in some edge cases Issue #128\n\n**Updates**\n- Headers and lists with icons now do not break with multiline content\n- Examples resize with browser width\n- Updates ACE editor library\n- Code samples now do not change after interacting with examples\n\n### Version 0.3.2 - Oct 2, 2013\n\n**Updates**\n- Dropdown now formats top and right arrow icons automatically with icon coupling with sub menus\n- Updates feed example with more feature examples\n- Adds more sizes to ratings\n- Makes active pagination item style more clear\n- Adds attach events method to modal for attaching modal events to other elements\n- Adds input focus/blur to modal, see Issue #124\n- Adds new methods to rating: 'get rating', 'clear rating', 'disable', 'enable', adds new setting 'clearable'\n\n**Fixes**\n- Fixes position of menu dropdowns in some cases\n- Updates modal to refocus elements after close\n- Right floated list content now receives left margin\n- List items display issues with icons + content\n- Fixes rating line height issue\n- Fixes rating not being sent as first callback parameter on 'onRate'\n- Lists items now auto clear floats\n- Fixes icon input inside a menu placement issues\n\n### Version 0.3.1 - Sep 30, 2013\n\n**Fixes**\n- Fixes Page Grid still receiving negative margin\n\n### Version 0.3.0 - Sep 30, 2013\n\n**Fixes**\n- Responsive Grid is now called \"Page Grid\". Responsive grids are now deprecated. This reduces confusion.\n- Negative margins are now automatically removed from grids that are descendents of body tag.\n\n### Version 0.2.5 - Sep 28, 2013\n\n**Fixes**\n- Fixes checkbox  selector issue with multiple inputs inside a checkbox\n- Modal no longer uses inline css to center when in fixed position mode\n- Fixes dropdown to now set active item to whatever hidden input field is when using action updateForm\n\n### Version 0.2.4 - Sep 28, 2013\n\n**Updates**\n\n- Fixes issue with display on Chromebook Pixel and some devices\n- Fixes issues with concatenated version receiving conflicted icon definitions causing icons to not function\n\n### Version 0.2.3 - Sep 28, 2013\n\n**Updates**\n\n- Fixes issues with modal not swapping to absoultely positioned from fixed when content cannot fit in viewport\n\n### Version 0.2.2 - Sep 28, 2013\n\n**Updates**\n\n- Fixes invoke returning found function instead of results of found function in dropdown, modal\n\n### Version 0.2.1 - Sep 28, 2013\n\n**Updates**\n\n- Modals can now have an icon in its left content that will be automatically formatted\n- Preserve 3D animations are now on by default for dimmers\n\n**Fixes**\n\n- Transition now forces browser repaint after animation\n- Refactored modal and dimmer components\n- Modal will now resize when browser window resizes if vertical height changes\n- Fixes issues with dimmer settings sticking between separate modals with the same dimmer.\n\n### Version 0.2.0 - Sep 28, 2013\n\n**New**\n\n- Adds responsive modal styling, modal always now sits with 5% gutters under page grid responsive styling\n- Adds basic modal variation\n\n**Fixes**\n\n- Issue with modal active state not being removed correctly from modals\n- Swaps modal and dropdown to use same variable naming pattern as rest of modules\n- Removed selector count from performance logs\n\n### Version 0.1.0 - Sep 25, 2013\n\n**New**\n\n- Added new font icon set using Font Awesome port\n- Adds dropdown icon sexiness to accordions, now with rotating pointing arrows\n- Added old icon set as a separate basic icon set\n- Added fluid input variation\n- Increased size of corner labels\n- Adds relaxed grid variation with increased gutters\n- Added relaxed and very relaxed list type with increased padding\n\n**Fixes**\n\n-  Rating icon missing font content with icon font update\n- Padding on side of rating\n- Adds horizontally padded, vertically padded menu item variations to allow menu items to remove padding\n- Added fixes to tabular menu especially with attached content\n- UI Loaders now positioned automatically in all circumstances, even with long text\n- Connected items no longer assume 3 items per row\n- Fixes display of left corner icon labels\n\n**Updates**\n\n- Updated documentation for sidebar, transition, and form validation\n- Updated list docs\n- Accordion settings documentation\n- Rating settings documentation\n"
  },
  {
    "path": "src/asset/semantic-ui/components/accordion.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Accordion\n*******************************/\n\n.ui.accordion,\n.ui.accordion .accordion {\n  max-width: 100%;\n}\n.ui.accordion .accordion {\n  margin: 1em 0em 0em;\n  padding: 0em;\n}\n\n/* Title */\n.ui.accordion .title,\n.ui.accordion .accordion .title {\n  cursor: pointer;\n}\n\n/* Default Styling */\n.ui.accordion .title:not(.ui) {\n  padding: 0.5em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Content */\n.ui.accordion .title ~ .content,\n.ui.accordion .accordion .title ~ .content {\n  display: none;\n}\n\n/* Default Styling */\n.ui.accordion:not(.styled) .title ~ .content:not(.ui),\n.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {\n  margin: '';\n  padding: 0.5em 0em 1em;\n}\n.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {\n  padding-bottom: 0em;\n}\n\n/* Arrow */\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  display: inline-block;\n  float: none;\n  opacity: 1;\n  width: 1.25em;\n  height: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n  padding: 0em;\n  font-size: 1em;\n  -webkit-transition: -webkit-transform 0.1s ease, opacity 0.1s ease;\n          transition: transform 0.1s ease, opacity 0.1s ease;\n  vertical-align: baseline;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n\n/* Menu */\n.ui.accordion.menu .item .title {\n  display: block;\n  padding: 0em;\n}\n.ui.accordion.menu .item .title > .dropdown.icon {\n  float: right;\n  margin: 0.21425em 0em 0em 1em;\n  -webkit-transform: rotate(180deg);\n      -ms-transform: rotate(180deg);\n          transform: rotate(180deg);\n}\n\n/* Header */\n.ui.accordion .ui.header .dropdown.icon {\n  font-size: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.accordion .active.title .dropdown.icon,\n.ui.accordion .accordion .active.title .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n.ui.accordion.menu .item .active.title > .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Styled\n---------------*/\n\n.ui.styled.accordion {\n  width: 600px;\n}\n.ui.styled.accordion,\n.ui.styled.accordion .accordion {\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15);\n}\n.ui.styled.accordion .title,\n.ui.styled.accordion .accordion .title {\n  margin: 0em;\n  padding: 0.75em 1em;\n  color: rgba(0, 0, 0, 0.4);\n  font-weight: bold;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n          transition: background 0.1s ease, color 0.1s ease;\n}\n.ui.styled.accordion > .title:first-child,\n.ui.styled.accordion .accordion .title:first-child {\n  border-top: none;\n}\n\n/* Content */\n.ui.styled.accordion .content,\n.ui.styled.accordion .accordion .content {\n  margin: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n.ui.styled.accordion .accordion .content {\n  padding: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n\n/* Hover */\n.ui.styled.accordion .title:hover,\n.ui.styled.accordion .active.title,\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Active */\n.ui.styled.accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n     Active\n---------------*/\n\n.ui.accordion .active.content,\n.ui.accordion .accordion .active.content {\n  display: block;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.accordion,\n.ui.fluid.accordion .accordion {\n  width: 100%;\n}\n\n/*--------------\n     Inverted\n---------------*/\n\n.ui.inverted.accordion .title:not(.ui) {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Accordion';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n/* Dropdown Icon */\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  font-family: Accordion;\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n.ui.accordion .title .dropdown.icon:before,\n.ui.accordion .accordion .title .dropdown.icon:before {\n  content: '\\f0da' /*rtl:'\\f0d9'*/;\n}\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/accordion.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.accordion = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.accordion.settings, parameters)\n          : $.extend({}, $.fn.accordion.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        $module  = $(this),\n        $title   = $module.find(selector.title),\n        $content = $module.find(selector.content),\n\n        element  = this,\n        instance = $module.data(moduleNamespace),\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous instance', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $title   = $module.find(selector.title);\n          $content = $module.find(selector.content);\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding delegated events');\n            $module\n              .on(settings.on + eventNamespace, selector.trigger, module.event.click)\n            ;\n          }\n        },\n\n        event: {\n          click: function() {\n            module.toggle.call(this);\n          }\n        },\n\n        toggle: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive && !isAnimating),\n            isOpening   = (!isActive && isAnimating)\n          ;\n          module.debug('Toggling visibility of content', $activeTitle);\n          if(isOpen || isOpening) {\n            if(settings.collapsible) {\n              module.close.call($activeTitle);\n            }\n            else {\n              module.debug('Cannot close accordion content collapsing is disabled');\n            }\n          }\n          else {\n            module.open.call($activeTitle);\n          }\n        },\n\n        open: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive || isAnimating)\n          ;\n          if(isOpen) {\n            module.debug('Accordion already open, skipping', $activeContent);\n            return;\n          }\n          module.debug('Opening accordion content', $activeTitle);\n          settings.onOpening.call($activeContent);\n          if(settings.exclusive) {\n            module.closeOthers.call($activeTitle);\n          }\n          $activeTitle\n            .addClass(className.active)\n          ;\n          $activeContent\n            .stop(true, true)\n            .addClass(className.animating)\n          ;\n          if(settings.animateChildren) {\n            if($.fn.transition !== undefined && $module.transition('is supported')) {\n              $activeContent\n                .children()\n                  .transition({\n                    animation   : 'fade in',\n                    queue       : false,\n                    useFailSafe : true,\n                    debug       : settings.debug,\n                    verbose     : settings.verbose,\n                    duration    : settings.duration\n                  })\n              ;\n            }\n            else {\n              $activeContent\n                .children()\n                  .stop(true, true)\n                  .animate({\n                    opacity: 1\n                  }, settings.duration, module.resetOpacity)\n              ;\n            }\n          }\n          $activeContent\n            .slideDown(settings.duration, settings.easing, function() {\n              $activeContent\n                .removeClass(className.animating)\n                .addClass(className.active)\n              ;\n              module.reset.display.call(this);\n              settings.onOpen.call(this);\n              settings.onChange.call(this);\n            })\n          ;\n        },\n\n        close: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating    = $activeContent.hasClass(className.animating),\n            isActive       = $activeContent.hasClass(className.active),\n            isOpening      = (!isActive && isAnimating),\n            isClosing      = (isActive && isAnimating)\n          ;\n          if((isActive || isOpening) && !isClosing) {\n            module.debug('Closing accordion content', $activeContent);\n            settings.onClosing.call($activeContent);\n            $activeTitle\n              .removeClass(className.active)\n            ;\n            $activeContent\n              .stop(true, true)\n              .addClass(className.animating)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $activeContent\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      queue       : false,\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $activeContent\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $activeContent\n              .slideUp(settings.duration, settings.easing, function() {\n                $activeContent\n                  .removeClass(className.animating)\n                  .removeClass(className.active)\n                ;\n                module.reset.display.call(this);\n                settings.onClose.call(this);\n                settings.onChange.call(this);\n              })\n            ;\n          }\n        },\n\n        closeOthers: function(index) {\n          var\n            $activeTitle = (index !== undefined)\n              ? $title.eq(index)\n              : $(this).closest(selector.title),\n            $parentTitles    = $activeTitle.parents(selector.content).prev(selector.title),\n            $activeAccordion = $activeTitle.closest(selector.accordion),\n            activeSelector   = selector.title + '.' + className.active + ':visible',\n            activeContent    = selector.content + '.' + className.active + ':visible',\n            $openTitles,\n            $nestedTitles,\n            $openContents\n          ;\n          if(settings.closeNested) {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $openContents = $openTitles.next($content);\n          }\n          else {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);\n            $openTitles   = $openTitles.not($nestedTitles);\n            $openContents = $openTitles.next($content);\n          }\n          if( ($openTitles.length > 0) ) {\n            module.debug('Exclusive enabled, closing other content', $openTitles);\n            $openTitles\n              .removeClass(className.active)\n            ;\n            $openContents\n              .removeClass(className.animating)\n              .stop(true, true)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $openContents\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $openContents\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $openContents\n              .slideUp(settings.duration , settings.easing, function() {\n                $(this).removeClass(className.active);\n                module.reset.display.call(this);\n              })\n            ;\n          }\n        },\n\n        reset: {\n\n          display: function() {\n            module.verbose('Removing inline display from element', this);\n            $(this).css('display', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n          opacity: function() {\n            module.verbose('Removing inline opacity from element', this);\n            $(this).css('opacity', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          module.debug('Changing internal', name, value);\n          if(value !== undefined) {\n            if( $.isPlainObject(name) ) {\n              $.extend(true, module, name);\n            }\n            else {\n              module[name] = value;\n            }\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.accordion.settings = {\n\n  name            : 'Accordion',\n  namespace       : 'accordion',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  on              : 'click', // event on title that opens accordion\n\n  observeChanges  : true,  // whether accordion should automatically refresh on DOM insertion\n\n  exclusive       : true,  // whether a single accordion content panel should be open at once\n  collapsible     : true,  // whether accordion content can be closed\n  closeNested     : false, // whether nested content should be closed when a panel is closed\n  animateChildren : true,  // whether children opacity should be animated\n\n  duration        : 350, // duration of animation\n  easing          : 'easeOutQuad', // easing equation for animation\n\n\n  onOpening       : function(){}, // callback before open animation\n  onOpen          : function(){}, // callback after open animation\n  onClosing       : function(){}, // callback before closing animation\n  onClose         : function(){}, // callback after closing animation\n  onChange        : function(){}, // callback after closing or opening animation\n\n  error: {\n    method : 'The method you called is not defined'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating'\n  },\n\n  selector    : {\n    accordion : '.accordion',\n    title     : '.title',\n    trigger   : '.title',\n    content   : '.content'\n  }\n\n};\n\n// Adds easing\n$.extend( $.easing, {\n  easeOutQuad: function (x, t, b, c, d) {\n    return -c *(t/=d)*(t-2) + b;\n  }\n});\n\n})( jQuery, window, document );\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/ad.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Ad\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2013 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n         Advertisement\n*******************************/\n\n.ui.ad {\n  display: block;\n  overflow: hidden;\n  margin: 1em 0em;\n}\n.ui.ad:first-child {\n  margin: 0em;\n}\n.ui.ad:last-child {\n  margin: 0em;\n}\n.ui.ad iframe {\n  margin: 0em;\n  padding: 0em;\n  border: none;\n  overflow: hidden;\n}\n\n/*--------------\n     Common\n---------------*/\n\n\n/* Leaderboard */\n.ui.leaderboard.ad {\n  width: 728px;\n  height: 90px;\n}\n\n/* Medium Rectangle */\n.ui[class*=\"medium rectangle\"].ad {\n  width: 300px;\n  height: 250px;\n}\n\n/* Large Rectangle */\n.ui[class*=\"large rectangle\"].ad {\n  width: 336px;\n  height: 280px;\n}\n\n/* Half Page */\n.ui[class*=\"half page\"].ad {\n  width: 300px;\n  height: 600px;\n}\n\n/*--------------\n     Square\n---------------*/\n\n\n/* Square */\n.ui.square.ad {\n  width: 250px;\n  height: 250px;\n}\n\n/* Small Square */\n.ui[class*=\"small square\"].ad {\n  width: 200px;\n  height: 200px;\n}\n\n/*--------------\n    Rectangle\n---------------*/\n\n\n/* Small Rectangle */\n.ui[class*=\"small rectangle\"].ad {\n  width: 180px;\n  height: 150px;\n}\n\n/* Vertical Rectangle */\n.ui[class*=\"vertical rectangle\"].ad {\n  width: 240px;\n  height: 400px;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.button.ad {\n  width: 120px;\n  height: 90px;\n}\n.ui[class*=\"square button\"].ad {\n  width: 125px;\n  height: 125px;\n}\n.ui[class*=\"small button\"].ad {\n  width: 120px;\n  height: 60px;\n}\n\n/*--------------\n   Skyscrapers\n---------------*/\n\n\n/* Skyscraper */\n.ui.skyscraper.ad {\n  width: 120px;\n  height: 600px;\n}\n\n/* Wide Skyscraper */\n.ui[class*=\"wide skyscraper\"].ad {\n  width: 160px;\n}\n\n/*--------------\n     Banners\n---------------*/\n\n\n/* Banner */\n.ui.banner.ad {\n  width: 468px;\n  height: 60px;\n}\n\n/* Vertical Banner */\n.ui[class*=\"vertical banner\"].ad {\n  width: 120px;\n  height: 240px;\n}\n\n/* Top Banner */\n.ui[class*=\"top banner\"].ad {\n  width: 930px;\n  height: 180px;\n}\n\n/* Half Banner */\n.ui[class*=\"half banner\"].ad {\n  width: 234px;\n  height: 60px;\n}\n\n/*--------------\n    Boards\n---------------*/\n\n\n/* Leaderboard */\n.ui[class*=\"large leaderboard\"].ad {\n  width: 970px;\n  height: 90px;\n}\n\n/* Billboard */\n.ui.billboard.ad {\n  width: 970px;\n  height: 250px;\n}\n\n/*--------------\n    Panorama\n---------------*/\n\n\n/* Panorama */\n.ui.panorama.ad {\n  width: 980px;\n  height: 120px;\n}\n\n/*--------------\n     Netboard\n---------------*/\n\n\n/* Netboard */\n.ui.netboard.ad {\n  width: 580px;\n  height: 400px;\n}\n\n/*--------------\n     Mobile\n---------------*/\n\n\n/* Large Mobile Banner */\n.ui[class*=\"large mobile banner\"].ad {\n  width: 320px;\n  height: 100px;\n}\n\n/* Mobile Leaderboard */\n.ui[class*=\"mobile leaderboard\"].ad {\n  width: 320px;\n  height: 50px;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/* Mobile Sizes */\n.ui.mobile.ad {\n  display: none;\n}\n@media only screen and (max-width: 767px) {\n  .ui.mobile.ad {\n    display: block;\n  }\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.centered.ad {\n  margin-left: auto;\n  margin-right: auto;\n}\n.ui.test.ad {\n  position: relative;\n  background: #545454;\n}\n.ui.test.ad:after {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  content: 'Ad';\n  color: #FFFFFF;\n  font-size: 1em;\n  font-weight: bold;\n}\n.ui.mobile.test.ad:after {\n  font-size: 0.85714286em;\n}\n.ui.test.ad[data-text]:after {\n  content: attr(data-text);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/api.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - API\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.api = $.fn.api = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n    moduleSelector = $allModules.selector || '',\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.api.settings, parameters)\n          : $.extend({}, $.fn.api.settings),\n\n        // internal aliases\n        namespace       = settings.namespace,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n        className       = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // element that creates request\n        $module         = $(this),\n        $form           = $module.closest(selector.form),\n\n        // context used for state\n        $context        = (settings.stateContext)\n          ? $(settings.stateContext)\n          : $module,\n\n        // request details\n        ajaxSettings,\n        requestSettings,\n        url,\n        data,\n        requestStartTime,\n\n        // standard module\n        element         = this,\n        context         = $context[0],\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          if(!methodInvoked) {\n            module.bind.events();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            var\n              triggerEvent = module.get.event()\n            ;\n            if( triggerEvent ) {\n              module.verbose('Attaching API events to element', triggerEvent);\n              $module\n                .on(triggerEvent + eventNamespace, module.event.trigger)\n              ;\n            }\n            else if(settings.on == 'now') {\n              module.debug('Querying API endpoint immediately');\n              module.query();\n            }\n          }\n        },\n\n        decode: {\n          json: function(response) {\n            if(response !== undefined && typeof response == 'string') {\n              try {\n               response = JSON.parse(response);\n              }\n              catch(e) {\n                // isnt json string\n              }\n            }\n            return response;\n          }\n        },\n\n        read: {\n          cachedResponse: function(url) {\n            var\n              response\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            response = sessionStorage.getItem(url);\n            module.debug('Using cached response', url, response);\n            response = module.decode.json(response);\n            return false;\n          }\n        },\n        write: {\n          cachedResponse: function(url, response) {\n            if(response && response === '') {\n              module.debug('Response empty, not caching', response);\n              return;\n            }\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            if( $.isPlainObject(response) ) {\n              response = JSON.stringify(response);\n            }\n            sessionStorage.setItem(url, response);\n            module.verbose('Storing cached response for url', url, response);\n          }\n        },\n\n        query: function() {\n\n          if(module.is.disabled()) {\n            module.debug('Element is disabled API request aborted');\n            return;\n          }\n\n          if(module.is.loading()) {\n            if(settings.interruptRequests) {\n              module.debug('Interrupting previous request');\n              module.abort();\n            }\n            else {\n              module.debug('Cancelling request, previous request is still pending');\n              return;\n            }\n          }\n\n          // pass element metadata to url (value, text)\n          if(settings.defaultData) {\n            $.extend(true, settings.urlData, module.get.defaultData());\n          }\n\n          // Add form content\n          if(settings.serializeForm) {\n            settings.data = module.add.formData(settings.data);\n          }\n\n          // call beforesend and get any settings changes\n          requestSettings = module.get.settings();\n\n          // check if before send cancelled request\n          if(requestSettings === false) {\n            module.cancelled = true;\n            module.error(error.beforeSend);\n            return;\n          }\n          else {\n            module.cancelled = false;\n          }\n\n          // get url\n          url = module.get.templatedURL();\n\n          if(!url && !module.is.mocked()) {\n            module.error(error.missingURL);\n            return;\n          }\n\n          // replace variables\n          url = module.add.urlData( url );\n\n          // missing url parameters\n          if( !url && !module.is.mocked()) {\n            return;\n          }\n\n\n          // look for jQuery ajax parameters in settings\n          ajaxSettings = $.extend(true, {}, settings, {\n            type       : settings.method || settings.type,\n            data       : data,\n            url        : settings.base + url,\n            beforeSend : settings.beforeXHR,\n            success    : function() {},\n            failure    : function() {},\n            complete   : function() {}\n          });\n\n          module.debug('Querying URL', ajaxSettings.url);\n          module.verbose('Using AJAX settings', ajaxSettings);\n\n          if(settings.cache === 'local' && module.read.cachedResponse(url)) {\n            module.debug('Response returned from local cache');\n            module.request = module.create.request();\n            module.request.resolveWith(context, [ module.read.cachedResponse(url) ]);\n            return;\n          }\n\n          if( !settings.throttle ) {\n            module.debug('Sending request', data, ajaxSettings.method);\n            module.send.request();\n          }\n          else {\n            if(!settings.throttleFirstRequest && !module.timer) {\n              module.debug('Sending request', data, ajaxSettings.method);\n              module.send.request();\n              module.timer = setTimeout(function(){}, settings.throttle);\n            }\n            else {\n              module.debug('Throttling request', settings.throttle);\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                if(module.timer) {\n                  delete module.timer;\n                }\n                module.debug('Sending throttled request', data, ajaxSettings.method);\n                module.send.request();\n              }, settings.throttle);\n            }\n          }\n\n        },\n\n        should: {\n          removeError: function() {\n            return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) );\n          }\n        },\n\n        is: {\n          disabled: function() {\n            return ($module.filter(selector.disabled).length > 0);\n          },\n          form: function() {\n            return $module.is('form') || $context.is('form');\n          },\n          mocked: function() {\n            return (settings.mockResponse || settings.mockResponseAsync);\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          loading: function() {\n            return (module.request && module.request.state() == 'pending');\n          },\n          abortedRequest: function(xhr) {\n            if(xhr && xhr.readyState !== undefined && xhr.readyState === 0) {\n              module.verbose('XHR request determined to be aborted');\n              return true;\n            }\n            else {\n              module.verbose('XHR request was not aborted');\n              return false;\n            }\n          },\n          validResponse: function(response) {\n            if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) {\n              module.verbose('Response is not JSON, skipping validation', settings.successTest, response);\n              return true;\n            }\n            module.debug('Checking JSON returned success', settings.successTest, response);\n            if( settings.successTest(response) ) {\n              module.debug('Response passed success test', response);\n              return true;\n            }\n            else {\n              module.debug('Response failed success test', response);\n              return false;\n            }\n          }\n        },\n\n        was: {\n          cancelled: function() {\n            return (module.cancelled || false);\n          },\n          succesful: function() {\n            return (module.request && module.request.state() == 'resolved');\n          },\n          failure: function() {\n            return (module.request && module.request.state() == 'rejected');\n          },\n          complete: function() {\n            return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') );\n          }\n        },\n\n        add: {\n          urlData: function(url, urlData) {\n            var\n              requiredVariables,\n              optionalVariables\n            ;\n            if(url) {\n              requiredVariables = url.match(settings.regExp.required);\n              optionalVariables = url.match(settings.regExp.optional);\n              urlData           = urlData || settings.urlData;\n              if(requiredVariables) {\n                module.debug('Looking for required URL variables', requiredVariables);\n                $.each(requiredVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(2, templatedString.length - 3)\n                      : templatedString.substr(1, templatedString.length - 2),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // remove value\n                  if(value === undefined) {\n                    module.error(error.requiredParameter, variable, url);\n                    url = false;\n                    return false;\n                  }\n                  else {\n                    module.verbose('Found required variable', variable, value);\n                    value = (settings.encodeParameters)\n                      ? module.get.urlEncodedValue(value)\n                      : value\n                    ;\n                    url = url.replace(templatedString, value);\n                  }\n                });\n              }\n              if(optionalVariables) {\n                module.debug('Looking for optional URL variables', requiredVariables);\n                $.each(optionalVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {/$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(3, templatedString.length - 4)\n                      : templatedString.substr(2, templatedString.length - 3),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // optional replacement\n                  if(value !== undefined) {\n                    module.verbose('Optional variable Found', variable, value);\n                    url = url.replace(templatedString, value);\n                  }\n                  else {\n                    module.verbose('Optional variable not found', variable);\n                    // remove preceding slash if set\n                    if(url.indexOf('/' + templatedString) !== -1) {\n                      url = url.replace('/' + templatedString, '');\n                    }\n                    else {\n                      url = url.replace(templatedString, '');\n                    }\n                  }\n                });\n              }\n            }\n            return url;\n          },\n          formData: function(data) {\n            var\n              canSerialize = ($.fn.serializeObject !== undefined),\n              formData     = (canSerialize)\n                ? $form.serializeObject()\n                : $form.serialize(),\n              hasOtherData\n            ;\n            data         = data || settings.data;\n            hasOtherData = $.isPlainObject(data);\n\n            if(hasOtherData) {\n              if(canSerialize) {\n                module.debug('Extending existing data with form data', data, formData);\n                data = $.extend(true, {}, data, formData);\n              }\n              else {\n                module.error(error.missingSerialize);\n                module.debug('Cant extend data. Replacing data with form data', data, formData);\n                data = formData;\n              }\n            }\n            else {\n              module.debug('Adding form data', formData);\n              data = formData;\n            }\n            return data;\n          }\n        },\n\n        send: {\n          request: function() {\n            module.set.loading();\n            module.request = module.create.request();\n            if( module.is.mocked() ) {\n              module.mockedXHR = module.create.mockedXHR();\n            }\n            else {\n              module.xhr = module.create.xhr();\n            }\n            settings.onRequest.call(context, module.request, module.xhr);\n          }\n        },\n\n        event: {\n          trigger: function(event) {\n            module.query();\n            if(event.type == 'submit' || event.type == 'click') {\n              event.preventDefault();\n            }\n          },\n          xhr: {\n            always: function() {\n              // nothing special\n            },\n            done: function(response, textStatus, xhr) {\n              var\n                context            = this,\n                elapsedTime        = (new Date().getTime() - requestStartTime),\n                timeLeft           = (settings.loadingDuration - elapsedTime),\n                translatedResponse = ( $.isFunction(settings.onResponse) )\n                  ? settings.onResponse.call(context, $.extend(true, {}, response))\n                  : false\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(translatedResponse) {\n                module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response);\n                response = translatedResponse;\n              }\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.validResponse(response) ) {\n                  module.request.resolveWith(context, [response, xhr]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'invalid']);\n                }\n              }, timeLeft);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                context     = this,\n                elapsedTime = (new Date().getTime() - requestStartTime),\n                timeLeft    = (settings.loadingDuration - elapsedTime)\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.abortedRequest(xhr) ) {\n                  module.request.rejectWith(context, [xhr, 'aborted', httpMessage]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'error', status, httpMessage]);\n                }\n              }, timeLeft);\n            }\n          },\n          request: {\n            done: function(response, xhr) {\n              module.debug('Successful API Response', response);\n              if(settings.cache === 'local' && url) {\n                module.write.cachedResponse(url, response);\n                module.debug('Saving server response locally', module.cache);\n              }\n              settings.onSuccess.call(context, response, $module, xhr);\n            },\n            complete: function(firstParameter, secondParameter) {\n              var\n                xhr,\n                response\n              ;\n              // have to guess callback parameters based on request success\n              if( module.was.succesful() ) {\n                response = firstParameter;\n                xhr      = secondParameter;\n              }\n              else {\n                xhr      = firstParameter;\n                response = module.get.responseFromXHR(xhr);\n              }\n              module.remove.loading();\n              settings.onComplete.call(context, response, $module, xhr);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                // pull response from xhr if available\n                response     = module.get.responseFromXHR(xhr),\n                errorMessage = module.get.errorFromRequest(response, status, httpMessage)\n              ;\n              if(status == 'aborted') {\n                module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);\n                settings.onAbort.call(context, status, $module, xhr);\n              }\n              else if(status == 'invalid') {\n                module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);\n              }\n              else if(status == 'error')  {\n                if(xhr !== undefined) {\n                  module.debug('XHR produced a server error', status, httpMessage);\n                  // make sure we have an error to display to console\n                  if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {\n                    module.error(error.statusMessage + httpMessage, ajaxSettings.url);\n                  }\n                  settings.onError.call(context, errorMessage, $module, xhr);\n                }\n              }\n\n              if(settings.errorDuration && status !== 'aborted') {\n                module.debug('Adding error state');\n                module.set.error();\n                if( module.should.removeError() ) {\n                  setTimeout(module.remove.error, settings.errorDuration);\n                }\n              }\n              module.debug('API Request failed', errorMessage, xhr);\n              settings.onFailure.call(context, response, $module, xhr);\n            }\n          }\n        },\n\n        create: {\n\n          request: function() {\n            // api request promise\n            return $.Deferred()\n              .always(module.event.request.complete)\n              .done(module.event.request.done)\n              .fail(module.event.request.fail)\n            ;\n          },\n\n          mockedXHR: function () {\n            var\n              // xhr does not simulate these properties of xhr but must return them\n              textStatus  = false,\n              status      = false,\n              httpMessage = false,\n              asyncCallback,\n              response,\n              mockedXHR\n            ;\n\n            mockedXHR = $.Deferred()\n              .always(module.event.xhr.complete)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n\n            if(settings.mockResponse) {\n              if( $.isFunction(settings.mockResponse) ) {\n                module.debug('Using mocked callback returning response', settings.mockResponse);\n                response = settings.mockResponse.call(context, settings);\n              }\n              else {\n                module.debug('Using specified response', settings.mockResponse);\n                response = settings.mockResponse;\n              }\n              // simulating response\n              mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n            }\n            else if( $.isFunction(settings.mockResponseAsync) ) {\n              asyncCallback = function(response) {\n                module.debug('Async callback returned response', response);\n\n                if(response) {\n                  mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n                }\n                else {\n                  mockedXHR.rejectWith(context, [{ responseText: response }, status, httpMessage]);\n                }\n              };\n              module.debug('Using async mocked response', settings.mockResponseAsync);\n              settings.mockResponseAsync.call(context, settings, asyncCallback);\n            }\n            return mockedXHR;\n          },\n\n          xhr: function() {\n            var\n              xhr\n            ;\n            // ajax request promise\n            xhr = $.ajax(ajaxSettings)\n              .always(module.event.xhr.always)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n            module.verbose('Created server request', xhr);\n            return xhr;\n          }\n        },\n\n        set: {\n          error: function() {\n            module.verbose('Adding error state to element', $context);\n            $context.addClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Adding loading state to element', $context);\n            $context.addClass(className.loading);\n            requestStartTime = new Date().getTime();\n          }\n        },\n\n        remove: {\n          error: function() {\n            module.verbose('Removing error state from element', $context);\n            $context.removeClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Removing loading state from element', $context);\n            $context.removeClass(className.loading);\n          }\n        },\n\n        get: {\n          responseFromXHR: function(xhr) {\n            return $.isPlainObject(xhr)\n              ? (settings.dataType == 'json' || settings.dataType == 'jsonp')\n                ? module.decode.json(xhr.responseText)\n                : xhr.responseText\n              : false\n            ;\n          },\n          errorFromRequest: function(response, status, httpMessage) {\n            return ($.isPlainObject(response) && response.error !== undefined)\n              ? response.error // use json error message\n              : (settings.error[status] !== undefined) // use server error message\n                ? settings.error[status]\n                : httpMessage\n            ;\n          },\n          request: function() {\n            return module.request || false;\n          },\n          xhr: function() {\n            return module.xhr || false;\n          },\n          settings: function() {\n            var\n              runSettings\n            ;\n            runSettings = settings.beforeSend.call(context, settings);\n            if(runSettings) {\n              if(runSettings.success !== undefined) {\n                module.debug('Legacy success callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.success);\n                runSettings.onSuccess = runSettings.success;\n              }\n              if(runSettings.failure !== undefined) {\n                module.debug('Legacy failure callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.failure);\n                runSettings.onFailure = runSettings.failure;\n              }\n              if(runSettings.complete !== undefined) {\n                module.debug('Legacy complete callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.complete);\n                runSettings.onComplete = runSettings.complete;\n              }\n            }\n            if(runSettings === undefined) {\n              module.error(error.noReturnedValue);\n            }\n            return (runSettings !== undefined)\n              ? runSettings\n              : settings\n            ;\n          },\n          urlEncodedValue: function(value) {\n            var\n              decodedValue   = window.decodeURIComponent(value),\n              encodedValue   = window.encodeURIComponent(value),\n              alreadyEncoded = (decodedValue !== value)\n            ;\n            if(alreadyEncoded) {\n              module.debug('URL value is already encoded, avoiding double encoding', value);\n              return value;\n            }\n            module.verbose('Encoding value using encodeURIComponent', value, encodedValue);\n            return encodedValue;\n          },\n          defaultData: function() {\n            var\n              data = {}\n            ;\n            if( !$.isWindow(element) ) {\n              if( module.is.input() ) {\n                data.value = $module.val();\n              }\n              else if( !module.is.form() ) {\n\n              }\n              else {\n                data.text = $module.text();\n              }\n            }\n            return data;\n          },\n          event: function() {\n            if( $.isWindow(element) || settings.on == 'now' ) {\n              module.debug('API called without element, no events attached');\n              return false;\n            }\n            else if(settings.on == 'auto') {\n              if( $module.is('input') ) {\n                return (element.oninput !== undefined)\n                  ? 'input'\n                  : (element.onpropertychange !== undefined)\n                    ? 'propertychange'\n                    : 'keyup'\n                ;\n              }\n              else if( $module.is('form') ) {\n                return 'submit';\n              }\n              else {\n                return 'click';\n              }\n            }\n            else {\n              return settings.on;\n            }\n          },\n          templatedURL: function(action) {\n            action = action || $module.data(metadata.action) || settings.action || false;\n            url    = $module.data(metadata.url) || settings.url || false;\n            if(url) {\n              module.debug('Using specified url', url);\n              return url;\n            }\n            if(action) {\n              module.debug('Looking up url for action', action, settings.api);\n              if(settings.api[action] === undefined && !module.is.mocked()) {\n                module.error(error.missingAction, settings.action, settings.api);\n                return;\n              }\n              url = settings.api[action];\n            }\n            else if( module.is.form() ) {\n              url = $module.attr('action') || $context.attr('action') || false;\n              module.debug('No url or action specified, defaulting to form action', url);\n            }\n            return url;\n          }\n        },\n\n        abort: function() {\n          var\n            xhr = module.get.xhr()\n          ;\n          if( xhr && xhr.state() !== 'resolved') {\n            module.debug('Cancelling API request');\n            xhr.abort();\n          }\n        },\n\n        // reset state\n        reset: function() {\n          module.remove.error();\n          module.remove.loading();\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                //'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.api.settings = {\n\n  name              : 'API',\n  namespace         : 'api',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  // object containing all templates endpoints\n  api               : {},\n\n  // whether to cache responses\n  cache             : true,\n\n  // whether new requests should abort previous requests\n  interruptRequests : true,\n\n  // event binding\n  on                : 'auto',\n\n  // context for applying state classes\n  stateContext      : false,\n\n  // duration for loading state\n  loadingDuration   : 0,\n\n  // whether to hide errors after a period of time\n  hideError         : 'auto',\n\n  // duration for error state\n  errorDuration     : 2000,\n\n  // whether parameters should be encoded with encodeURIComponent\n  encodeParameters  : true,\n\n  // API action to use\n  action            : false,\n\n  // templated URL to use\n  url               : false,\n\n  // base URL to apply to all endpoints\n  base              : '',\n\n  // data that will\n  urlData           : {},\n\n  // whether to add default data to url data\n  defaultData          : true,\n\n  // whether to serialize closest form\n  serializeForm        : false,\n\n  // how long to wait before request should occur\n  throttle             : 0,\n\n  // whether to throttle first request or only repeated\n  throttleFirstRequest : true,\n\n  // standard ajax settings\n  method            : 'get',\n  data              : {},\n  dataType          : 'json',\n\n  // mock response\n  mockResponse      : false,\n  mockResponseAsync : false,\n\n  // callbacks before request\n  beforeSend  : function(settings) { return settings; },\n  beforeXHR   : function(xhr) {},\n  onRequest   : function(promise, xhr) {},\n\n  // after request\n  onResponse  : false, // function(response) { },\n\n  // response was successful, if JSON passed validation\n  onSuccess   : function(response, $module) {},\n\n  // request finished without aborting\n  onComplete  : function(response, $module) {},\n\n  // failed JSON success test\n  onFailure   : function(response, $module) {},\n\n  // server error\n  onError     : function(errorMessage, $module) {},\n\n  // request aborted\n  onAbort     : function(errorMessage, $module) {},\n\n  successTest : false,\n\n  // errors\n  error : {\n    beforeSend        : 'The before send function has aborted the request',\n    error             : 'There was an error with your request',\n    exitConditions    : 'API Request Aborted. Exit conditions met',\n    JSONParse         : 'JSON could not be parsed during error handling',\n    legacyParameters  : 'You are using legacy API success callback names',\n    method            : 'The method you called is not defined',\n    missingAction     : 'API action used but no url was defined',\n    missingSerialize  : 'jquery-serialize-object is required to add form data to an existing data object',\n    missingURL        : 'No URL specified for api event',\n    noReturnedValue   : 'The beforeSend callback must return a settings object, beforeSend ignored.',\n    noStorage         : 'Caching responses locally requires session storage',\n    parseError        : 'There was an error parsing your request',\n    requiredParameter : 'Missing a required URL parameter: ',\n    statusMessage     : 'Server gave an error: ',\n    timeout           : 'Your request timed out'\n  },\n\n  regExp  : {\n    required : /\\{\\$*[A-z0-9]+\\}/g,\n    optional : /\\{\\/\\$*[A-z0-9]+\\}/g,\n  },\n\n  className: {\n    loading : 'loading',\n    error   : 'error'\n  },\n\n  selector: {\n    disabled : '.disabled',\n    form      : 'form'\n  },\n\n  metadata: {\n    action  : 'action',\n    url     : 'url'\n  }\n};\n\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/breadcrumb.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Breadcrumb\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Breadcrumb\n*******************************/\n\n.ui.breadcrumb {\n  line-height: 1;\n  display: inline-block;\n  margin: 0em 0em;\n  vertical-align: middle;\n}\n.ui.breadcrumb:first-child {\n  margin-top: 0em;\n}\n.ui.breadcrumb:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n          Content\n*******************************/\n\n\n/* Divider */\n.ui.breadcrumb .divider {\n  display: inline-block;\n  opacity: 0.7;\n  margin: 0em 0.21428571rem 0em;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n  vertical-align: baseline;\n}\n\n/* Link */\n.ui.breadcrumb a {\n  color: #4183C4;\n}\n.ui.breadcrumb a:hover {\n  color: #1e70bf;\n}\n\n/* Icon Divider */\n.ui.breadcrumb .icon.divider {\n  font-size: 0.85714286em;\n  vertical-align: baseline;\n}\n\n/* Section */\n.ui.breadcrumb a.section {\n  cursor: pointer;\n}\n.ui.breadcrumb .section {\n  display: inline-block;\n  margin: 0em;\n  padding: 0em;\n}\n\n/* Loose Coupling */\n.ui.breadcrumb.segment {\n  display: inline-block;\n  padding: 0.71428571em 1em;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.breadcrumb .active.section {\n  font-weight: bold;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.mini.breadcrumb {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.breadcrumb {\n  font-size: 0.85714286rem;\n}\n.ui.small.breadcrumb {\n  font-size: 0.92857143rem;\n}\n.ui.breadcrumb {\n  font-size: 1rem;\n}\n.ui.large.breadcrumb {\n  font-size: 1.14285714rem;\n}\n.ui.big.breadcrumb {\n  font-size: 1.28571429rem;\n}\n.ui.huge.breadcrumb {\n  font-size: 1.42857143rem;\n}\n.ui.massive.breadcrumb {\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/button.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Button\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Button\n*******************************/\n\n.ui.button {\n  cursor: pointer;\n  display: inline-block;\n  min-height: 1em;\n  outline: none;\n  border: none;\n  vertical-align: baseline;\n  background: #E0E1E2 none;\n  color: rgba(0, 0, 0, 0.6);\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em 0.25em 0em 0em;\n  padding: 0.78571429em 1.5em 0.78571429em;\n  text-transform: none;\n  text-shadow: none;\n  font-weight: bold;\n  line-height: 1em;\n  font-style: normal;\n  text-align: center;\n  text-decoration: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n          transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n  will-change: '';\n  -webkit-tap-highlight-color: transparent;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.button:hover {\n  background-color: #CACBCD;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.button:hover .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Focus\n---------------*/\n\n.ui.button:focus {\n  background-color: #CACBCD;\n  color: rgba(0, 0, 0, 0.8);\n  background-image: '' !important;\n  box-shadow: '' !important;\n}\n.ui.button:focus .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.button:active,\n.ui.active.button:active {\n  background-color: #BABBBC;\n  background-image: '';\n  color: rgba(0, 0, 0, 0.9);\n  box-shadow: 0px 0px 0px 1px transparent inset, none;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.button {\n  background-color: #C0C1C2;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.active.button:hover {\n  background-color: #C0C1C2;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.active.button:active {\n  background-color: #C0C1C2;\n  background-image: none;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n\n/* Specificity hack */\n.ui.loading.loading.loading.loading.loading.loading.button {\n  position: relative;\n  cursor: default;\n  text-shadow: none !important;\n  color: transparent !important;\n  opacity: 1;\n  pointer-events: auto;\n  -webkit-transition: all 0s linear, opacity 0.1s ease;\n          transition: all 0s linear, opacity 0.1s ease;\n}\n.ui.loading.button:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.15);\n}\n.ui.loading.button:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #FFFFFF transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n.ui.labeled.icon.loading.button .icon {\n  background-color: transparent;\n  box-shadow: none;\n}\n@-webkit-keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n.ui.basic.loading.button:not(.inverted):before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n.ui.basic.loading.button:not(.inverted):after {\n  border-top-color: #767676;\n}\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.buttons .disabled.button,\n.ui.disabled.button,\n.ui.button:disabled,\n.ui.disabled.button:hover,\n.ui.disabled.active.button {\n  cursor: default;\n  opacity: 0.45 !important;\n  background-image: none !important;\n  box-shadow: none !important;\n  pointer-events: none;\n}\n\n/* Basic Group With Disabled */\n.ui.basic.buttons .ui.disabled.button {\n  border-color: rgba(34, 36, 38, 0.5);\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.button {\n  position: relative;\n  overflow: hidden;\n  padding-right: 0em !important;\n  vertical-align: middle;\n  z-index: 1;\n}\n.ui.animated.button .content {\n  will-change: transform, opacity;\n}\n.ui.animated.button .visible.content {\n  position: relative;\n  margin-right: 1.5em;\n}\n.ui.animated.button .hidden.content {\n  position: absolute;\n  width: 100%;\n}\n\n/* Horizontal */\n.ui.animated.button .visible.content,\n.ui.animated.button .hidden.content {\n  -webkit-transition: right 0.3s ease 0s;\n          transition: right 0.3s ease 0s;\n}\n.ui.animated.button .visible.content {\n  left: auto;\n  right: 0%;\n}\n.ui.animated.button .hidden.content {\n  top: 50%;\n  left: auto;\n  right: -100%;\n  margin-top: -0.5em;\n}\n.ui.animated.button:focus .visible.content,\n.ui.animated.button:hover .visible.content {\n  left: auto;\n  right: 200%;\n}\n.ui.animated.button:focus .hidden.content,\n.ui.animated.button:hover .hidden.content {\n  left: auto;\n  right: 0%;\n}\n\n/* Vertical */\n.ui.vertical.animated.button .visible.content,\n.ui.vertical.animated.button .hidden.content {\n  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;\n          transition: top 0.3s ease, transform 0.3s ease;\n}\n.ui.vertical.animated.button .visible.content {\n  -webkit-transform: translateY(0%);\n      -ms-transform: translateY(0%);\n          transform: translateY(0%);\n  right: auto;\n}\n.ui.vertical.animated.button .hidden.content {\n  top: -50%;\n  left: 0%;\n  right: auto;\n}\n.ui.vertical.animated.button:focus .visible.content,\n.ui.vertical.animated.button:hover .visible.content {\n  -webkit-transform: translateY(200%);\n      -ms-transform: translateY(200%);\n          transform: translateY(200%);\n  right: auto;\n}\n.ui.vertical.animated.button:focus .hidden.content,\n.ui.vertical.animated.button:hover .hidden.content {\n  top: 50%;\n  right: auto;\n}\n\n/* Fade */\n.ui.fade.animated.button .visible.content,\n.ui.fade.animated.button .hidden.content {\n  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;\n          transition: opacity 0.3s ease, transform 0.3s ease;\n}\n.ui.fade.animated.button .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n      -ms-transform: scale(1);\n          transform: scale(1);\n}\n.ui.fade.animated.button .hidden.content {\n  opacity: 0;\n  left: 0%;\n  right: auto;\n  -webkit-transform: scale(1.5);\n      -ms-transform: scale(1.5);\n          transform: scale(1.5);\n}\n.ui.fade.animated.button:focus .visible.content,\n.ui.fade.animated.button:hover .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 0;\n  -webkit-transform: scale(0.75);\n      -ms-transform: scale(0.75);\n          transform: scale(0.75);\n}\n.ui.fade.animated.button:focus .hidden.content,\n.ui.fade.animated.button:hover .hidden.content {\n  left: 0%;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n      -ms-transform: scale(1);\n          transform: scale(1);\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.button {\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  background: transparent none;\n  color: #FFFFFF;\n  text-shadow: none !important;\n}\n\n/* Group */\n.ui.inverted.buttons .button {\n  margin: 0px 0px 0px -2px;\n}\n.ui.inverted.buttons .button:first-child {\n  margin-left: 0em;\n}\n.ui.inverted.vertical.buttons .button {\n  margin: 0px 0px -2px 0px;\n}\n.ui.inverted.vertical.buttons .button:first-child {\n  margin-top: 0em;\n}\n\n/* States */\n\n/* Hover */\n.ui.inverted.button:hover {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active / Focus */\n.ui.inverted.button:focus,\n.ui.inverted.button.active {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active Focus */\n.ui.inverted.button.active:focus {\n  background: #DCDDDE;\n  box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n    Labeled Button\n--------------------*/\n\n.ui.labeled.button:not(.icon) {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  background: none !important;\n  padding: 0px !important;\n  border: none !important;\n  box-shadow: none !important;\n}\n.ui.labeled.button > .button {\n  margin: 0px;\n}\n.ui.labeled.button > .label {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  margin: 0px 0px 0px -1px !important;\n  padding: '';\n  font-size: 1em;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Tag */\n.ui.labeled.button > .tag.label:before {\n  width: 1.85em;\n  height: 1.85em;\n}\n\n/* Right */\n.ui.labeled.button:not([class*=\"left labeled\"]) > .button {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n.ui.labeled.button:not([class*=\"left labeled\"]) > .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n/* Left Side */\n.ui[class*=\"left labeled\"].button > .button {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n.ui[class*=\"left labeled\"].button > .label {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n/*-------------------\n       Social\n--------------------*/\n\n\n/* Facebook */\n.ui.facebook.button {\n  background-color: #3B5998;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.facebook.button:hover {\n  background-color: #304d8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.facebook.button:active {\n  background-color: #2d4373;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Twitter */\n.ui.twitter.button {\n  background-color: #0084B4;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.twitter.button:hover {\n  background-color: #00719b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.twitter.button:active {\n  background-color: #005f81;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Google Plus */\n.ui.google.plus.button {\n  background-color: #DC4A38;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.google.plus.button:hover {\n  background-color: #de321d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.google.plus.button:active {\n  background-color: #bf3322;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Linked In */\n.ui.linkedin.button {\n  background-color: #1F88BE;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.linkedin.button:hover {\n  background-color: #147baf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.linkedin.button:active {\n  background-color: #186992;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* YouTube */\n.ui.youtube.button {\n  background-color: #CC181E;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.youtube.button:hover {\n  background-color: #bd0d13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.youtube.button:active {\n  background-color: #9e1317;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Instagram */\n.ui.instagram.button {\n  background-color: #49769C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.instagram.button:hover {\n  background-color: #3d698e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.instagram.button:active {\n  background-color: #395c79;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Pinterest */\n.ui.pinterest.button {\n  background-color: #00ACED;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.pinterest.button:hover {\n  background-color: #0099d4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pinterest.button:active {\n  background-color: #0087ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* VK */\n.ui.vk.button {\n  background-color: #4D7198;\n  color: #FFFFFF;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.vk.button:hover {\n  background-color: #41648a;\n  color: #FFFFFF;\n}\n.ui.vk.button:active {\n  background-color: #3c5876;\n  color: #FFFFFF;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.button > .icon:not(.button) {\n  height: 0.85714286em;\n  opacity: 0.8;\n  margin: 0em 0.42857143em 0em -0.21428571em;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n  vertical-align: '';\n  color: '';\n}\n.ui.button > .right.icon:not(.button) {\n  margin: 0em -0.21428571em 0em 0.42857143em;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui[class*=\"left floated\"].buttons,\n.ui[class*=\"left floated\"].button {\n  float: left;\n  margin-left: 0em;\n  margin-right: 0.25em;\n}\n.ui[class*=\"right floated\"].buttons,\n.ui[class*=\"right floated\"].button {\n  float: right;\n  margin-right: 0em;\n  margin-left: 0.25em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.buttons .button,\n.ui.compact.button {\n  padding: 0.58928571em 1.125em 0.58928571em;\n}\n.ui.compact.icon.buttons .button,\n.ui.compact.icon.button {\n  padding: 0.58928571em 0.58928571em 0.58928571em;\n}\n.ui.compact.labeled.icon.buttons .button,\n.ui.compact.labeled.icon.button {\n  padding: 0.58928571em 3.69642857em 0.58928571em;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.buttons .button,\n.ui.mini.buttons .or,\n.ui.mini.button {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.buttons .button,\n.ui.tiny.buttons .or,\n.ui.tiny.button {\n  font-size: 0.85714286rem;\n}\n.ui.small.buttons .button,\n.ui.small.buttons .or,\n.ui.small.button {\n  font-size: 0.92857143rem;\n}\n.ui.buttons .button,\n.ui.buttons .or,\n.ui.button {\n  font-size: 1rem;\n}\n.ui.large.buttons .button,\n.ui.large.buttons .or,\n.ui.large.button {\n  font-size: 1.14285714rem;\n}\n.ui.big.buttons .button,\n.ui.big.buttons .or,\n.ui.big.button {\n  font-size: 1.28571429rem;\n}\n.ui.huge.buttons .button,\n.ui.huge.buttons .or,\n.ui.huge.button {\n  font-size: 1.42857143rem;\n}\n.ui.massive.buttons .button,\n.ui.massive.buttons .or,\n.ui.massive.button {\n  font-size: 1.71428571rem;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n.ui.icon.buttons .button,\n.ui.icon.button {\n  padding: 0.78571429em 0.78571429em 0.78571429em;\n}\n.ui.icon.buttons .button > .icon,\n.ui.icon.button > .icon {\n  opacity: 0.9;\n  margin: 0em;\n  vertical-align: top;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.buttons .button,\n.ui.basic.button {\n  background: transparent none !important;\n  color: rgba(0, 0, 0, 0.6) !important;\n  font-weight: normal;\n  border-radius: 0.28571429rem;\n  text-transform: none;\n  text-shadow: none !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons {\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n.ui.basic.buttons .button {\n  border-radius: 0em;\n}\n.ui.basic.buttons .button:hover,\n.ui.basic.button:hover {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons .button:focus,\n.ui.basic.button:focus {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons .button:active,\n.ui.basic.button:active {\n  background: #F8F8F8 !important;\n  color: rgba(0, 0, 0, 0.9) !important;\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.basic.buttons .active.button,\n.ui.basic.active.button {\n  background: rgba(0, 0, 0, 0.05) !important;\n  box-shadow: '' !important;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: rgba(34, 36, 38, 0.35);\n}\n.ui.basic.buttons .active.button:hover,\n.ui.basic.active.button:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n/* Vertical */\n.ui.basic.buttons .button:hover {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n.ui.basic.buttons .button:active {\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n.ui.basic.buttons .active.button {\n  box-shadow: rgba(34, 36, 38, 0.35) inset;\n}\n\n/* Standard Basic Inverted */\n.ui.basic.inverted.buttons .button,\n.ui.basic.inverted.button {\n  background-color: transparent !important;\n  color: #F9FAFB !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n}\n.ui.basic.inverted.buttons .button:hover,\n.ui.basic.inverted.button:hover {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n.ui.basic.inverted.buttons .button:focus,\n.ui.basic.inverted.button:focus {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n.ui.basic.inverted.buttons .button:active,\n.ui.basic.inverted.button:active {\n  background-color: rgba(255, 255, 255, 0.08) !important;\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important;\n}\n.ui.basic.inverted.buttons .active.button,\n.ui.basic.inverted.active.button {\n  background-color: rgba(255, 255, 255, 0.08);\n  color: #FFFFFF;\n  text-shadow: none;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;\n}\n.ui.basic.inverted.buttons .active.button:hover,\n.ui.basic.inverted.active.button:hover {\n  background-color: rgba(255, 255, 255, 0.15);\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n/* Basic Group */\n.ui.basic.buttons .button {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n.ui.basic.vertical.buttons .button {\n  border-left: none;\n}\n.ui.basic.vertical.buttons .button {\n  border-left-width: 0px;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.basic.vertical.buttons .button:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Labeled Icon\n---------------*/\n\n.ui.labeled.icon.buttons .button,\n.ui.labeled.icon.button {\n  position: relative;\n  padding-left: 4.07142857em !important;\n  padding-right: 1.5em !important;\n}\n\n/* Left Labeled */\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  position: absolute;\n  height: 100%;\n  line-height: 1;\n  border-radius: 0px;\n  border-top-left-radius: inherit;\n  border-bottom-left-radius: inherit;\n  text-align: center;\n  margin: 0em;\n  width: 2.57142857em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: '';\n  box-shadow: -1px 0px 0px 0px transparent inset;\n}\n\n/* Left Labeled */\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  top: 0em;\n  left: 0em;\n}\n\n/* Right Labeled */\n.ui[class*=\"right labeled\"].icon.button {\n  padding-right: 4.07142857em !important;\n  padding-left: 1.5em !important;\n}\n.ui[class*=\"right labeled\"].icon.button > .icon {\n  left: auto;\n  right: 0em;\n  border-radius: 0px;\n  border-top-right-radius: inherit;\n  border-bottom-right-radius: inherit;\n  box-shadow: 1px 0px 0px 0px transparent inset;\n}\n.ui.labeled.icon.buttons > .button > .icon:before,\n.ui.labeled.icon.button > .icon:before,\n.ui.labeled.icon.buttons > .button > .icon:after,\n.ui.labeled.icon.button > .icon:after {\n  display: block;\n  position: absolute;\n  width: 100%;\n  top: 50%;\n  text-align: center;\n  -webkit-transform: translateY(-50%);\n      -ms-transform: translateY(-50%);\n          transform: translateY(-50%);\n}\n.ui.labeled.icon.buttons .button > .icon {\n  border-radius: 0em;\n}\n.ui.labeled.icon.buttons .button:first-child > .icon {\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n.ui.labeled.icon.buttons .button:last-child > .icon {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n.ui.vertical.labeled.icon.buttons .button:first-child > .icon {\n  border-radius: 0em;\n  border-top-left-radius: 0.28571429rem;\n}\n.ui.vertical.labeled.icon.buttons .button:last-child > .icon {\n  border-radius: 0em;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n/* Fluid Labeled */\n.ui.fluid[class*=\"left labeled\"].icon.button,\n.ui.fluid[class*=\"right labeled\"].icon.button {\n  padding-left: 1.5em !important;\n  padding-right: 1.5em !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n\n/* Toggle (Modifies active state to give affordances) */\n.ui.toggle.buttons .active.button,\n.ui.buttons .button.toggle.active,\n.ui.button.toggle.active {\n  background-color: #21BA45 !important;\n  box-shadow: none !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n.ui.button.toggle.active:hover {\n  background-color: #16ab39 !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.button {\n  border-radius: 10em;\n}\n.ui.circular.button > .icon {\n  width: 1em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n      Or Buttons\n--------------------*/\n\n.ui.buttons .or {\n  position: relative;\n  width: 0.3em;\n  height: 2.57142857em;\n  z-index: 3;\n}\n.ui.buttons .or:before {\n  position: absolute;\n  text-align: center;\n  border-radius: 500rem;\n  content: 'or';\n  top: 50%;\n  left: 50%;\n  background-color: #FFFFFF;\n  text-shadow: none;\n  margin-top: -0.89285714em;\n  margin-left: -0.89285714em;\n  width: 1.78571429em;\n  height: 1.78571429em;\n  line-height: 1.78571429em;\n  color: rgba(0, 0, 0, 0.4);\n  font-style: normal;\n  font-weight: bold;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n}\n.ui.buttons .or[data-text]:before {\n  content: attr(data-text);\n}\n\n/* Fluid Or */\n.ui.fluid.buttons .or {\n  width: 0em !important;\n}\n.ui.fluid.buttons .or:after {\n  display: none;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n\n/* Singular */\n.ui.attached.button {\n  position: relative;\n  display: block;\n  margin: 0em;\n  border-radius: 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;\n}\n\n/* Top / Bottom */\n.ui.attached.top.button {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.attached.bottom.button {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Left / Right */\n.ui.left.attached.button {\n  display: inline-block;\n  border-left: none;\n  text-align: right;\n  padding-right: 0.75em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui.right.attached.button {\n  display: inline-block;\n  text-align: left;\n  padding-left: 0.75em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/* Plural */\n.ui.attached.buttons {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  border-radius: 0em;\n  width: auto !important;\n  z-index: 2;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n.ui.attached.buttons .button {\n  margin: 0em;\n}\n.ui.attached.buttons .button:first-child {\n  border-radius: 0em;\n}\n.ui.attached.buttons .button:last-child {\n  border-radius: 0em;\n}\n\n/* Top / Bottom */\n.ui[class*=\"top attached\"].buttons {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui[class*=\"top attached\"].buttons .button:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui[class*=\"top attached\"].buttons .button:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui[class*=\"bottom attached\"].buttons {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].buttons .button:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].buttons .button:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Left / Right */\n.ui[class*=\"left attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-right: 0em;\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui[class*=\"left attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui[class*=\"left attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n.ui[class*=\"right attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-left: 0em;\n  margin-right: -1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui[class*=\"right attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui[class*=\"right attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.buttons,\n.ui.fluid.button {\n  width: 100%;\n}\n.ui.fluid.button {\n  display: block;\n}\n.ui.two.buttons {\n  width: 100%;\n}\n.ui.two.buttons > .button {\n  width: 50%;\n}\n.ui.three.buttons {\n  width: 100%;\n}\n.ui.three.buttons > .button {\n  width: 33.333%;\n}\n.ui.four.buttons {\n  width: 100%;\n}\n.ui.four.buttons > .button {\n  width: 25%;\n}\n.ui.five.buttons {\n  width: 100%;\n}\n.ui.five.buttons > .button {\n  width: 20%;\n}\n.ui.six.buttons {\n  width: 100%;\n}\n.ui.six.buttons > .button {\n  width: 16.666%;\n}\n.ui.seven.buttons {\n  width: 100%;\n}\n.ui.seven.buttons > .button {\n  width: 14.285%;\n}\n.ui.eight.buttons {\n  width: 100%;\n}\n.ui.eight.buttons > .button {\n  width: 12.500%;\n}\n.ui.nine.buttons {\n  width: 100%;\n}\n.ui.nine.buttons > .button {\n  width: 11.11%;\n}\n.ui.ten.buttons {\n  width: 100%;\n}\n.ui.ten.buttons > .button {\n  width: 10%;\n}\n.ui.eleven.buttons {\n  width: 100%;\n}\n.ui.eleven.buttons > .button {\n  width: 9.09%;\n}\n.ui.twelve.buttons {\n  width: 100%;\n}\n.ui.twelve.buttons > .button {\n  width: 8.3333%;\n}\n\n/* Fluid Vertical Buttons */\n.ui.fluid.vertical.buttons,\n.ui.fluid.vertical.buttons > .button {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: auto;\n}\n.ui.two.vertical.buttons > .button {\n  height: 50%;\n}\n.ui.three.vertical.buttons > .button {\n  height: 33.333%;\n}\n.ui.four.vertical.buttons > .button {\n  height: 25%;\n}\n.ui.five.vertical.buttons > .button {\n  height: 20%;\n}\n.ui.six.vertical.buttons > .button {\n  height: 16.666%;\n}\n.ui.seven.vertical.buttons > .button {\n  height: 14.285%;\n}\n.ui.eight.vertical.buttons > .button {\n  height: 12.500%;\n}\n.ui.nine.vertical.buttons > .button {\n  height: 11.11%;\n}\n.ui.ten.vertical.buttons > .button {\n  height: 10%;\n}\n.ui.eleven.vertical.buttons > .button {\n  height: 9.09%;\n}\n.ui.twelve.vertical.buttons > .button {\n  height: 8.3333%;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/*--- Black ---*/\n\n.ui.black.buttons .button,\n.ui.black.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.black.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.black.buttons .button:hover,\n.ui.black.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.black.buttons .button:focus,\n.ui.black.button:focus {\n  background-color: #2f3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.black.buttons .button:active,\n.ui.black.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.black.buttons .active.button,\n.ui.black.buttons .active.button:active,\n.ui.black.active.button,\n.ui.black.button .active.button:active {\n  background-color: #0f0f10;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.black.buttons .button,\n.ui.basic.black.button {\n  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;\n  color: #1B1C1D !important;\n}\n.ui.basic.black.buttons .button:hover,\n.ui.basic.black.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\n  color: #27292a !important;\n}\n.ui.basic.black.buttons .button:focus,\n.ui.basic.black.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #2f3032 inset !important;\n  color: #27292a !important;\n}\n.ui.basic.black.buttons .active.button,\n.ui.basic.black.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;\n  color: #343637 !important;\n}\n.ui.basic.black.buttons .button:active,\n.ui.basic.black.button:active {\n  box-shadow: 0px 0px 0px 1px #343637 inset !important;\n  color: #343637 !important;\n}\n.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.black.buttons .button,\n.ui.inverted.black.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover,\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus,\n.ui.inverted.black.buttons .button.active,\n.ui.inverted.black.button.active,\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover {\n  background-color: #000000;\n}\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus {\n  background-color: #000000;\n}\n.ui.inverted.black.buttons .active.button,\n.ui.inverted.black.active.button {\n  background-color: #000000;\n}\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  background-color: #000000;\n}\n\n/* Inverted Basic */\n.ui.inverted.black.basic.buttons .button,\n.ui.inverted.black.buttons .basic.button,\n.ui.inverted.black.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.black.basic.buttons .button:hover,\n.ui.inverted.black.buttons .basic.button:hover,\n.ui.inverted.black.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #545454 !important;\n}\n.ui.inverted.black.basic.buttons .active.button,\n.ui.inverted.black.buttons .basic.active.button,\n.ui.inverted.black.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.black.basic.buttons .button:active,\n.ui.inverted.black.buttons .basic.button:active,\n.ui.inverted.black.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.buttons .button,\n.ui.grey.button {\n  background-color: #767676;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.grey.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.grey.buttons .button:hover,\n.ui.grey.button:hover {\n  background-color: #838383;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.grey.buttons .button:focus,\n.ui.grey.button:focus {\n  background-color: #8a8a8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.grey.buttons .button:active,\n.ui.grey.button:active {\n  background-color: #909090;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.grey.buttons .active.button,\n.ui.grey.buttons .active.button:active,\n.ui.grey.active.button,\n.ui.grey.button .active.button:active {\n  background-color: #696969;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.grey.buttons .button,\n.ui.basic.grey.button {\n  box-shadow: 0px 0px 0px 1px #767676 inset !important;\n  color: #767676 !important;\n}\n.ui.basic.grey.buttons .button:hover,\n.ui.basic.grey.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #838383 inset !important;\n  color: #838383 !important;\n}\n.ui.basic.grey.buttons .button:focus,\n.ui.basic.grey.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8a8a8a inset !important;\n  color: #838383 !important;\n}\n.ui.basic.grey.buttons .active.button,\n.ui.basic.grey.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #696969 inset !important;\n  color: #909090 !important;\n}\n.ui.basic.grey.buttons .button:active,\n.ui.basic.grey.button:active {\n  box-shadow: 0px 0px 0px 1px #909090 inset !important;\n  color: #909090 !important;\n}\n.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.grey.buttons .button,\n.ui.inverted.grey.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover,\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus,\n.ui.inverted.grey.buttons .button.active,\n.ui.inverted.grey.button.active,\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover {\n  background-color: #cfd0d2;\n}\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus {\n  background-color: #c7c9cb;\n}\n.ui.inverted.grey.buttons .active.button,\n.ui.inverted.grey.active.button {\n  background-color: #cfd0d2;\n}\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  background-color: #c2c4c5;\n}\n\n/* Inverted Basic */\n.ui.inverted.grey.basic.buttons .button,\n.ui.inverted.grey.buttons .basic.button,\n.ui.inverted.grey.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.grey.basic.buttons .button:hover,\n.ui.inverted.grey.buttons .basic.button:hover,\n.ui.inverted.grey.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;\n  color: #DCDDDE !important;\n}\n.ui.inverted.grey.basic.buttons .active.button,\n.ui.inverted.grey.buttons .basic.active.button,\n.ui.inverted.grey.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.grey.basic.buttons .button:active,\n.ui.inverted.grey.buttons .basic.button:active,\n.ui.inverted.grey.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.buttons .button,\n.ui.brown.button {\n  background-color: #A5673F;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.brown.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.brown.buttons .button:hover,\n.ui.brown.button:hover {\n  background-color: #975b33;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.brown.buttons .button:focus,\n.ui.brown.button:focus {\n  background-color: #90532b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.brown.buttons .button:active,\n.ui.brown.button:active {\n  background-color: #805031;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.brown.buttons .active.button,\n.ui.brown.buttons .active.button:active,\n.ui.brown.active.button,\n.ui.brown.button .active.button:active {\n  background-color: #995a31;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.brown.buttons .button,\n.ui.basic.brown.button {\n  box-shadow: 0px 0px 0px 1px #A5673F inset !important;\n  color: #A5673F !important;\n}\n.ui.basic.brown.buttons .button:hover,\n.ui.basic.brown.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #975b33 inset !important;\n  color: #975b33 !important;\n}\n.ui.basic.brown.buttons .button:focus,\n.ui.basic.brown.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #90532b inset !important;\n  color: #975b33 !important;\n}\n.ui.basic.brown.buttons .active.button,\n.ui.basic.brown.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #995a31 inset !important;\n  color: #805031 !important;\n}\n.ui.basic.brown.buttons .button:active,\n.ui.basic.brown.button:active {\n  box-shadow: 0px 0px 0px 1px #805031 inset !important;\n  color: #805031 !important;\n}\n.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.brown.buttons .button,\n.ui.inverted.brown.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D67C1C inset !important;\n  color: #D67C1C;\n}\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover,\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus,\n.ui.inverted.brown.buttons .button.active,\n.ui.inverted.brown.button.active,\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover {\n  background-color: #c86f11;\n}\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus {\n  background-color: #c16808;\n}\n.ui.inverted.brown.buttons .active.button,\n.ui.inverted.brown.active.button {\n  background-color: #cc6f0d;\n}\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  background-color: #a96216;\n}\n\n/* Inverted Basic */\n.ui.inverted.brown.basic.buttons .button,\n.ui.inverted.brown.buttons .basic.button,\n.ui.inverted.brown.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.brown.basic.buttons .button:hover,\n.ui.inverted.brown.buttons .basic.button:hover,\n.ui.inverted.brown.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #c86f11 inset !important;\n  color: #D67C1C !important;\n}\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c16808 inset !important;\n  color: #D67C1C !important;\n}\n.ui.inverted.brown.basic.buttons .active.button,\n.ui.inverted.brown.buttons .basic.active.button,\n.ui.inverted.brown.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;\n  color: #D67C1C !important;\n}\n.ui.inverted.brown.basic.buttons .button:active,\n.ui.inverted.brown.buttons .basic.button:active,\n.ui.inverted.brown.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #a96216 inset !important;\n  color: #D67C1C !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.buttons .button,\n.ui.blue.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.blue.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.blue.buttons .button:hover,\n.ui.blue.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.blue.buttons .button:focus,\n.ui.blue.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.blue.buttons .button:active,\n.ui.blue.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.blue.buttons .active.button,\n.ui.blue.buttons .active.button:active,\n.ui.blue.active.button,\n.ui.blue.button .active.button:active {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.blue.buttons .button,\n.ui.basic.blue.button {\n  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;\n  color: #2185D0 !important;\n}\n.ui.basic.blue.buttons .button:hover,\n.ui.basic.blue.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;\n  color: #1678c2 !important;\n}\n.ui.basic.blue.buttons .button:focus,\n.ui.basic.blue.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;\n  color: #1678c2 !important;\n}\n.ui.basic.blue.buttons .active.button,\n.ui.basic.blue.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;\n  color: #1a69a4 !important;\n}\n.ui.basic.blue.buttons .button:active,\n.ui.basic.blue.button:active {\n  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;\n  color: #1a69a4 !important;\n}\n.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.blue.buttons .button,\n.ui.inverted.blue.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;\n  color: #54C8FF;\n}\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover,\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus,\n.ui.inverted.blue.buttons .button.active,\n.ui.inverted.blue.button.active,\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover {\n  background-color: #3ac0ff;\n}\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus {\n  background-color: #2bbbff;\n}\n.ui.inverted.blue.buttons .active.button,\n.ui.inverted.blue.active.button {\n  background-color: #3ac0ff;\n}\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  background-color: #21b8ff;\n}\n\n/* Inverted Basic */\n.ui.inverted.blue.basic.buttons .button,\n.ui.inverted.blue.buttons .basic.button,\n.ui.inverted.blue.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.blue.basic.buttons .button:hover,\n.ui.inverted.blue.buttons .basic.button:hover,\n.ui.inverted.blue.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;\n  color: #54C8FF !important;\n}\n.ui.inverted.blue.basic.buttons .active.button,\n.ui.inverted.blue.buttons .basic.active.button,\n.ui.inverted.blue.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n.ui.inverted.blue.basic.buttons .button:active,\n.ui.inverted.blue.buttons .basic.button:active,\n.ui.inverted.blue.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;\n  color: #54C8FF !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.buttons .button,\n.ui.green.button {\n  background-color: #21BA45;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.green.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.green.buttons .button:hover,\n.ui.green.button:hover {\n  background-color: #16ab39;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.green.buttons .button:focus,\n.ui.green.button:focus {\n  background-color: #0ea432;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.green.buttons .button:active,\n.ui.green.button:active {\n  background-color: #198f35;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.green.buttons .active.button,\n.ui.green.buttons .active.button:active,\n.ui.green.active.button,\n.ui.green.button .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.green.buttons .button,\n.ui.basic.green.button {\n  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;\n  color: #21BA45 !important;\n}\n.ui.basic.green.buttons .button:hover,\n.ui.basic.green.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;\n  color: #16ab39 !important;\n}\n.ui.basic.green.buttons .button:focus,\n.ui.basic.green.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;\n  color: #16ab39 !important;\n}\n.ui.basic.green.buttons .active.button,\n.ui.basic.green.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;\n  color: #198f35 !important;\n}\n.ui.basic.green.buttons .button:active,\n.ui.basic.green.button:active {\n  box-shadow: 0px 0px 0px 1px #198f35 inset !important;\n  color: #198f35 !important;\n}\n.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.green.buttons .button,\n.ui.inverted.green.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;\n  color: #2ECC40;\n}\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover,\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus,\n.ui.inverted.green.buttons .button.active,\n.ui.inverted.green.button.active,\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  box-shadlightOw: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover {\n  background-color: #22be34;\n}\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus {\n  background-color: #19b82b;\n}\n.ui.inverted.green.buttons .active.button,\n.ui.inverted.green.active.button {\n  background-color: #1fc231;\n}\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  background-color: #25a233;\n}\n\n/* Inverted Basic */\n.ui.inverted.green.basic.buttons .button,\n.ui.inverted.green.buttons .basic.button,\n.ui.inverted.green.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.green.basic.buttons .button:hover,\n.ui.inverted.green.buttons .basic.button:hover,\n.ui.inverted.green.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #22be34 inset !important;\n  color: #2ECC40 !important;\n}\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #19b82b inset !important;\n  color: #2ECC40 !important;\n}\n.ui.inverted.green.basic.buttons .active.button,\n.ui.inverted.green.buttons .basic.active.button,\n.ui.inverted.green.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #1fc231 inset !important;\n  color: #2ECC40 !important;\n}\n.ui.inverted.green.basic.buttons .button:active,\n.ui.inverted.green.buttons .basic.button:active,\n.ui.inverted.green.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #25a233 inset !important;\n  color: #2ECC40 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.buttons .button,\n.ui.orange.button {\n  background-color: #F2711C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.orange.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.orange.buttons .button:hover,\n.ui.orange.button:hover {\n  background-color: #f26202;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.orange.buttons .button:focus,\n.ui.orange.button:focus {\n  background-color: #e55b00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.orange.buttons .button:active,\n.ui.orange.button:active {\n  background-color: #cf590c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.orange.buttons .active.button,\n.ui.orange.buttons .active.button:active,\n.ui.orange.active.button,\n.ui.orange.button .active.button:active {\n  background-color: #f56100;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.orange.buttons .button,\n.ui.basic.orange.button {\n  box-shadow: 0px 0px 0px 1px #F2711C inset !important;\n  color: #F2711C !important;\n}\n.ui.basic.orange.buttons .button:hover,\n.ui.basic.orange.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f26202 inset !important;\n  color: #f26202 !important;\n}\n.ui.basic.orange.buttons .button:focus,\n.ui.basic.orange.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e55b00 inset !important;\n  color: #f26202 !important;\n}\n.ui.basic.orange.buttons .active.button,\n.ui.basic.orange.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f56100 inset !important;\n  color: #cf590c !important;\n}\n.ui.basic.orange.buttons .button:active,\n.ui.basic.orange.button:active {\n  box-shadow: 0px 0px 0px 1px #cf590c inset !important;\n  color: #cf590c !important;\n}\n.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.orange.buttons .button,\n.ui.inverted.orange.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF851B inset !important;\n  color: #FF851B;\n}\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover,\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus,\n.ui.inverted.orange.buttons .button.active,\n.ui.inverted.orange.button.active,\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover {\n  background-color: #ff7701;\n}\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus {\n  background-color: #f17000;\n}\n.ui.inverted.orange.buttons .active.button,\n.ui.inverted.orange.active.button {\n  background-color: #ff7701;\n}\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  background-color: #e76b00;\n}\n\n/* Inverted Basic */\n.ui.inverted.orange.basic.buttons .button,\n.ui.inverted.orange.buttons .basic.button,\n.ui.inverted.orange.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.orange.basic.buttons .button:hover,\n.ui.inverted.orange.buttons .basic.button:hover,\n.ui.inverted.orange.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f17000 inset !important;\n  color: #FF851B !important;\n}\n.ui.inverted.orange.basic.buttons .active.button,\n.ui.inverted.orange.buttons .basic.active.button,\n.ui.inverted.orange.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n.ui.inverted.orange.basic.buttons .button:active,\n.ui.inverted.orange.buttons .basic.button:active,\n.ui.inverted.orange.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #e76b00 inset !important;\n  color: #FF851B !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.buttons .button,\n.ui.pink.button {\n  background-color: #E03997;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.pink.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.pink.buttons .button:hover,\n.ui.pink.button:hover {\n  background-color: #e61a8d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pink.buttons .button:focus,\n.ui.pink.button:focus {\n  background-color: #e10f85;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pink.buttons .button:active,\n.ui.pink.button:active {\n  background-color: #c71f7e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.pink.buttons .active.button,\n.ui.pink.buttons .active.button:active,\n.ui.pink.active.button,\n.ui.pink.button .active.button:active {\n  background-color: #ea158d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.pink.buttons .button,\n.ui.basic.pink.button {\n  box-shadow: 0px 0px 0px 1px #E03997 inset !important;\n  color: #E03997 !important;\n}\n.ui.basic.pink.buttons .button:hover,\n.ui.basic.pink.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e61a8d inset !important;\n  color: #e61a8d !important;\n}\n.ui.basic.pink.buttons .button:focus,\n.ui.basic.pink.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e10f85 inset !important;\n  color: #e61a8d !important;\n}\n.ui.basic.pink.buttons .active.button,\n.ui.basic.pink.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ea158d inset !important;\n  color: #c71f7e !important;\n}\n.ui.basic.pink.buttons .button:active,\n.ui.basic.pink.button:active {\n  box-shadow: 0px 0px 0px 1px #c71f7e inset !important;\n  color: #c71f7e !important;\n}\n.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.pink.buttons .button,\n.ui.inverted.pink.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;\n  color: #FF8EDF;\n}\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover,\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus,\n.ui.inverted.pink.buttons .button.active,\n.ui.inverted.pink.button.active,\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover {\n  background-color: #ff74d8;\n}\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus {\n  background-color: #ff65d3;\n}\n.ui.inverted.pink.buttons .active.button,\n.ui.inverted.pink.active.button {\n  background-color: #ff74d8;\n}\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  background-color: #ff5bd1;\n}\n\n/* Inverted Basic */\n.ui.inverted.pink.basic.buttons .button,\n.ui.inverted.pink.buttons .basic.button,\n.ui.inverted.pink.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.pink.basic.buttons .button:hover,\n.ui.inverted.pink.buttons .basic.button:hover,\n.ui.inverted.pink.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;\n  color: #FF8EDF !important;\n}\n.ui.inverted.pink.basic.buttons .active.button,\n.ui.inverted.pink.buttons .basic.active.button,\n.ui.inverted.pink.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n.ui.inverted.pink.basic.buttons .button:active,\n.ui.inverted.pink.buttons .basic.button:active,\n.ui.inverted.pink.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;\n  color: #FF8EDF !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.buttons .button,\n.ui.violet.button {\n  background-color: #6435C9;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.violet.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.violet.buttons .button:hover,\n.ui.violet.button:hover {\n  background-color: #5829bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.violet.buttons .button:focus,\n.ui.violet.button:focus {\n  background-color: #4f20b5;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.violet.buttons .button:active,\n.ui.violet.button:active {\n  background-color: #502aa1;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.violet.buttons .active.button,\n.ui.violet.buttons .active.button:active,\n.ui.violet.active.button,\n.ui.violet.button .active.button:active {\n  background-color: #5626bf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.violet.buttons .button,\n.ui.basic.violet.button {\n  box-shadow: 0px 0px 0px 1px #6435C9 inset !important;\n  color: #6435C9 !important;\n}\n.ui.basic.violet.buttons .button:hover,\n.ui.basic.violet.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5829bb inset !important;\n  color: #5829bb !important;\n}\n.ui.basic.violet.buttons .button:focus,\n.ui.basic.violet.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #4f20b5 inset !important;\n  color: #5829bb !important;\n}\n.ui.basic.violet.buttons .active.button,\n.ui.basic.violet.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5626bf inset !important;\n  color: #502aa1 !important;\n}\n.ui.basic.violet.buttons .button:active,\n.ui.basic.violet.button:active {\n  box-shadow: 0px 0px 0px 1px #502aa1 inset !important;\n  color: #502aa1 !important;\n}\n.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.violet.buttons .button,\n.ui.inverted.violet.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #A291FB inset !important;\n  color: #A291FB;\n}\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover,\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus,\n.ui.inverted.violet.buttons .button.active,\n.ui.inverted.violet.button.active,\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover {\n  background-color: #8a73ff;\n}\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus {\n  background-color: #7d64ff;\n}\n.ui.inverted.violet.buttons .active.button,\n.ui.inverted.violet.active.button {\n  background-color: #8a73ff;\n}\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  background-color: #7860f9;\n}\n\n/* Inverted Basic */\n.ui.inverted.violet.basic.buttons .button,\n.ui.inverted.violet.buttons .basic.button,\n.ui.inverted.violet.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.violet.basic.buttons .button:hover,\n.ui.inverted.violet.buttons .basic.button:hover,\n.ui.inverted.violet.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #7d64ff inset !important;\n  color: #A291FB !important;\n}\n.ui.inverted.violet.basic.buttons .active.button,\n.ui.inverted.violet.buttons .basic.active.button,\n.ui.inverted.violet.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n.ui.inverted.violet.basic.buttons .button:active,\n.ui.inverted.violet.buttons .basic.button:active,\n.ui.inverted.violet.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #7860f9 inset !important;\n  color: #A291FB !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.buttons .button,\n.ui.purple.button {\n  background-color: #A333C8;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.purple.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.purple.buttons .button:hover,\n.ui.purple.button:hover {\n  background-color: #9627ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.purple.buttons .button:focus,\n.ui.purple.button:focus {\n  background-color: #8f1eb4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.purple.buttons .button:active,\n.ui.purple.button:active {\n  background-color: #82299f;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.purple.buttons .active.button,\n.ui.purple.buttons .active.button:active,\n.ui.purple.active.button,\n.ui.purple.button .active.button:active {\n  background-color: #9724be;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.purple.buttons .button,\n.ui.basic.purple.button {\n  box-shadow: 0px 0px 0px 1px #A333C8 inset !important;\n  color: #A333C8 !important;\n}\n.ui.basic.purple.buttons .button:hover,\n.ui.basic.purple.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9627ba inset !important;\n  color: #9627ba !important;\n}\n.ui.basic.purple.buttons .button:focus,\n.ui.basic.purple.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important;\n  color: #9627ba !important;\n}\n.ui.basic.purple.buttons .active.button,\n.ui.basic.purple.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9724be inset !important;\n  color: #82299f !important;\n}\n.ui.basic.purple.buttons .button:active,\n.ui.basic.purple.button:active {\n  box-shadow: 0px 0px 0px 1px #82299f inset !important;\n  color: #82299f !important;\n}\n.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.purple.buttons .button,\n.ui.inverted.purple.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #DC73FF inset !important;\n  color: #DC73FF;\n}\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover,\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus,\n.ui.inverted.purple.buttons .button.active,\n.ui.inverted.purple.button.active,\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover {\n  background-color: #d65aff;\n}\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus {\n  background-color: #d24aff;\n}\n.ui.inverted.purple.buttons .active.button,\n.ui.inverted.purple.active.button {\n  background-color: #d65aff;\n}\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  background-color: #cf40ff;\n}\n\n/* Inverted Basic */\n.ui.inverted.purple.basic.buttons .button,\n.ui.inverted.purple.buttons .basic.button,\n.ui.inverted.purple.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.purple.basic.buttons .button:hover,\n.ui.inverted.purple.buttons .basic.button:hover,\n.ui.inverted.purple.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #d24aff inset !important;\n  color: #DC73FF !important;\n}\n.ui.inverted.purple.basic.buttons .active.button,\n.ui.inverted.purple.buttons .basic.active.button,\n.ui.inverted.purple.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n.ui.inverted.purple.basic.buttons .button:active,\n.ui.inverted.purple.buttons .basic.button:active,\n.ui.inverted.purple.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;\n  color: #DC73FF !important;\n}\n\n/*--- Red ---*/\n\n.ui.red.buttons .button,\n.ui.red.button {\n  background-color: #DB2828;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.red.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.red.buttons .button:hover,\n.ui.red.button:hover {\n  background-color: #d01919;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.red.buttons .button:focus,\n.ui.red.button:focus {\n  background-color: #ca1010;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.red.buttons .button:active,\n.ui.red.button:active {\n  background-color: #b21e1e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.red.buttons .active.button,\n.ui.red.buttons .active.button:active,\n.ui.red.active.button,\n.ui.red.button .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.red.buttons .button,\n.ui.basic.red.button {\n  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;\n  color: #DB2828 !important;\n}\n.ui.basic.red.buttons .button:hover,\n.ui.basic.red.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d01919 inset !important;\n  color: #d01919 !important;\n}\n.ui.basic.red.buttons .button:focus,\n.ui.basic.red.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;\n  color: #d01919 !important;\n}\n.ui.basic.red.buttons .active.button,\n.ui.basic.red.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d41515 inset !important;\n  color: #b21e1e !important;\n}\n.ui.basic.red.buttons .button:active,\n.ui.basic.red.button:active {\n  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;\n  color: #b21e1e !important;\n}\n.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.red.buttons .button,\n.ui.inverted.red.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF695E inset !important;\n  color: #FF695E;\n}\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover,\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus,\n.ui.inverted.red.buttons .button.active,\n.ui.inverted.red.button.active,\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover {\n  background-color: #ff5144;\n}\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus {\n  background-color: #ff4335;\n}\n.ui.inverted.red.buttons .active.button,\n.ui.inverted.red.active.button {\n  background-color: #ff5144;\n}\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  background-color: #ff392b;\n}\n\n/* Inverted Basic */\n.ui.inverted.red.basic.buttons .button,\n.ui.inverted.red.buttons .basic.button,\n.ui.inverted.red.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.red.basic.buttons .button:hover,\n.ui.inverted.red.buttons .basic.button:hover,\n.ui.inverted.red.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;\n  color: #FF695E !important;\n}\n.ui.inverted.red.basic.buttons .active.button,\n.ui.inverted.red.buttons .basic.active.button,\n.ui.inverted.red.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n.ui.inverted.red.basic.buttons .button:active,\n.ui.inverted.red.buttons .basic.button:active,\n.ui.inverted.red.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff392b inset !important;\n  color: #FF695E !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.buttons .button,\n.ui.teal.button {\n  background-color: #00B5AD;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.teal.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.teal.buttons .button:hover,\n.ui.teal.button:hover {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.teal.buttons .button:focus,\n.ui.teal.button:focus {\n  background-color: #008c86;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.teal.buttons .button:active,\n.ui.teal.button:active {\n  background-color: #00827c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.teal.buttons .active.button,\n.ui.teal.buttons .active.button:active,\n.ui.teal.active.button,\n.ui.teal.button .active.button:active {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.teal.buttons .button,\n.ui.basic.teal.button {\n  box-shadow: 0px 0px 0px 1px #00B5AD inset !important;\n  color: #00B5AD !important;\n}\n.ui.basic.teal.buttons .button:hover,\n.ui.basic.teal.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #009c95 !important;\n}\n.ui.basic.teal.buttons .button:focus,\n.ui.basic.teal.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #008c86 inset !important;\n  color: #009c95 !important;\n}\n.ui.basic.teal.buttons .active.button,\n.ui.basic.teal.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #00827c !important;\n}\n.ui.basic.teal.buttons .button:active,\n.ui.basic.teal.button:active {\n  box-shadow: 0px 0px 0px 1px #00827c inset !important;\n  color: #00827c !important;\n}\n.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.teal.buttons .button,\n.ui.inverted.teal.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;\n  color: #6DFFFF;\n}\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover,\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus,\n.ui.inverted.teal.buttons .button.active,\n.ui.inverted.teal.button.active,\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover {\n  background-color: #54ffff;\n}\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus {\n  background-color: #44ffff;\n}\n.ui.inverted.teal.buttons .active.button,\n.ui.inverted.teal.active.button {\n  background-color: #54ffff;\n}\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  background-color: #3affff;\n}\n\n/* Inverted Basic */\n.ui.inverted.teal.basic.buttons .button,\n.ui.inverted.teal.buttons .basic.button,\n.ui.inverted.teal.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .button:hover,\n.ui.inverted.teal.buttons .basic.button:hover,\n.ui.inverted.teal.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #44ffff inset !important;\n  color: #6DFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .active.button,\n.ui.inverted.teal.buttons .basic.active.button,\n.ui.inverted.teal.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n.ui.inverted.teal.basic.buttons .button:active,\n.ui.inverted.teal.buttons .basic.button:active,\n.ui.inverted.teal.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #3affff inset !important;\n  color: #6DFFFF !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.buttons .button,\n.ui.olive.button {\n  background-color: #B5CC18;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.olive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.olive.buttons .button:hover,\n.ui.olive.button:hover {\n  background-color: #a7bd0d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.olive.buttons .button:focus,\n.ui.olive.button:focus {\n  background-color: #a0b605;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.olive.buttons .button:active,\n.ui.olive.button:active {\n  background-color: #8d9e13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.olive.buttons .active.button,\n.ui.olive.buttons .active.button:active,\n.ui.olive.active.button,\n.ui.olive.button .active.button:active {\n  background-color: #aac109;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.olive.buttons .button,\n.ui.basic.olive.button {\n  box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;\n  color: #B5CC18 !important;\n}\n.ui.basic.olive.buttons .button:hover,\n.ui.basic.olive.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a7bd0d inset !important;\n  color: #a7bd0d !important;\n}\n.ui.basic.olive.buttons .button:focus,\n.ui.basic.olive.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a0b605 inset !important;\n  color: #a7bd0d !important;\n}\n.ui.basic.olive.buttons .active.button,\n.ui.basic.olive.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #aac109 inset !important;\n  color: #8d9e13 !important;\n}\n.ui.basic.olive.buttons .button:active,\n.ui.basic.olive.button:active {\n  box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;\n  color: #8d9e13 !important;\n}\n.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.olive.buttons .button,\n.ui.inverted.olive.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D9E778 inset !important;\n  color: #D9E778;\n}\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover,\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus,\n.ui.inverted.olive.buttons .button.active,\n.ui.inverted.olive.button.active,\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover {\n  background-color: #d8ea5c;\n}\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus {\n  background-color: #daef47;\n}\n.ui.inverted.olive.buttons .active.button,\n.ui.inverted.olive.active.button {\n  background-color: #daed59;\n}\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  background-color: #cddf4d;\n}\n\n/* Inverted Basic */\n.ui.inverted.olive.basic.buttons .button,\n.ui.inverted.olive.buttons .basic.button,\n.ui.inverted.olive.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.olive.basic.buttons .button:hover,\n.ui.inverted.olive.buttons .basic.button:hover,\n.ui.inverted.olive.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;\n  color: #D9E778 !important;\n}\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #daef47 inset !important;\n  color: #D9E778 !important;\n}\n.ui.inverted.olive.basic.buttons .active.button,\n.ui.inverted.olive.buttons .basic.active.button,\n.ui.inverted.olive.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #daed59 inset !important;\n  color: #D9E778 !important;\n}\n.ui.inverted.olive.basic.buttons .button:active,\n.ui.inverted.olive.buttons .basic.button:active,\n.ui.inverted.olive.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;\n  color: #D9E778 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.buttons .button,\n.ui.yellow.button {\n  background-color: #FBBD08;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.yellow.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.yellow.buttons .button:hover,\n.ui.yellow.button:hover {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.yellow.buttons .button:focus,\n.ui.yellow.button:focus {\n  background-color: #daa300;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.yellow.buttons .button:active,\n.ui.yellow.button:active {\n  background-color: #cd9903;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.yellow.buttons .active.button,\n.ui.yellow.buttons .active.button:active,\n.ui.yellow.active.button,\n.ui.yellow.button .active.button:active {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n.ui.basic.yellow.buttons .button,\n.ui.basic.yellow.button {\n  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;\n  color: #FBBD08 !important;\n}\n.ui.basic.yellow.buttons .button:hover,\n.ui.basic.yellow.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #eaae00 !important;\n}\n.ui.basic.yellow.buttons .button:focus,\n.ui.basic.yellow.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #daa300 inset !important;\n  color: #eaae00 !important;\n}\n.ui.basic.yellow.buttons .active.button,\n.ui.basic.yellow.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #cd9903 !important;\n}\n.ui.basic.yellow.buttons .button:active,\n.ui.basic.yellow.button:active {\n  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;\n  color: #cd9903 !important;\n}\n.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n.ui.inverted.yellow.buttons .button,\n.ui.inverted.yellow.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;\n  color: #FFE21F;\n}\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover,\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus,\n.ui.inverted.yellow.buttons .button.active,\n.ui.inverted.yellow.button.active,\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover {\n  background-color: #ffdf05;\n}\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus {\n  background-color: #f5d500;\n}\n.ui.inverted.yellow.buttons .active.button,\n.ui.inverted.yellow.active.button {\n  background-color: #ffdf05;\n}\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  background-color: #ebcd00;\n}\n\n/* Inverted Basic */\n.ui.inverted.yellow.basic.buttons .button,\n.ui.inverted.yellow.buttons .basic.button,\n.ui.inverted.yellow.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n.ui.inverted.yellow.basic.buttons .button:hover,\n.ui.inverted.yellow.buttons .basic.button:hover,\n.ui.inverted.yellow.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;\n  color: #FFE21F !important;\n}\n.ui.inverted.yellow.basic.buttons .active.button,\n.ui.inverted.yellow.buttons .basic.active.button,\n.ui.inverted.yellow.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n.ui.inverted.yellow.basic.buttons .button:active,\n.ui.inverted.yellow.buttons .basic.button:active,\n.ui.inverted.yellow.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;\n  color: #FFE21F !important;\n}\n\n/*-------------------\n       Primary\n--------------------*/\n\n.ui.primary.buttons .button,\n.ui.primary.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.primary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.primary.buttons .button:hover,\n.ui.primary.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.primary.buttons .button:focus,\n.ui.primary.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.primary.buttons .button:active,\n.ui.primary.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.primary.buttons .active.button,\n.ui.primary.active.button {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*-------------------\n      Secondary\n--------------------*/\n\n.ui.secondary.buttons .button,\n.ui.secondary.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.secondary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.secondary.buttons .button:hover,\n.ui.secondary.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.secondary.buttons .button:focus,\n.ui.secondary.button:focus {\n  background-color: #2e3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.secondary.buttons .button:active,\n.ui.secondary.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.secondary.buttons .active.button,\n.ui.secondary.active.button {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n    Positive\n----------------*/\n\n.ui.positive.buttons .button,\n.ui.positive.button {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.positive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.positive.buttons .button:hover,\n.ui.positive.button:hover {\n  background-color: #16ab39 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.positive.buttons .button:focus,\n.ui.positive.button:focus {\n  background-color: #0ea432 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.positive.buttons .button:active,\n.ui.positive.button:active {\n  background-color: #198f35 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.positive.buttons .active.button,\n.ui.positive.active.button,\n.ui.positive.buttons .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n     Negative\n----------------*/\n\n.ui.negative.buttons .button,\n.ui.negative.button {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n.ui.negative.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.negative.buttons .button:hover,\n.ui.negative.button:hover {\n  background-color: #d01919 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.negative.buttons .button:focus,\n.ui.negative.button:focus {\n  background-color: #ca1010 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.negative.buttons .button:active,\n.ui.negative.button:active {\n  background-color: #b21e1e !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n.ui.negative.buttons .active.button,\n.ui.negative.active.button,\n.ui.negative.buttons .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n\n/*******************************\n            Groups\n*******************************/\n\n.ui.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  font-size: 0em;\n  vertical-align: baseline;\n  margin: 0em 0.25em 0em 0em;\n}\n.ui.buttons:not(.basic):not(.inverted) {\n  box-shadow: none;\n}\n\n/* Clearfix */\n.ui.buttons:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/* Standard Group */\n.ui.buttons .button {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  margin: 0em;\n  border-radius: 0em;\n  margin: 0px 0px 0px 0px;\n}\n.ui.buttons > .ui.button:not(.basic):not(.inverted),\n.ui.buttons:not(.basic):not(.inverted) > .button {\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n.ui.buttons .button:first-child {\n  border-left: none;\n  margin-left: 0em;\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n.ui.buttons .button:last-child {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n/* Vertical  Style */\n.ui.vertical.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n}\n.ui.vertical.buttons .button {\n  display: block;\n  float: none;\n  width: 100%;\n  margin: 0px 0px 0px 0px;\n  box-shadow: none;\n}\n.ui.vertical.buttons .button:first-child,\n.ui.vertical.buttons .mini.button:first-child,\n.ui.vertical.buttons .tiny.button:first-child,\n.ui.vertical.buttons .small.button:first-child,\n.ui.vertical.buttons .massive.button:first-child,\n.ui.vertical.buttons .huge.button:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n.ui.vertical.buttons .button:last-child,\n.ui.vertical.buttons .mini.button:last-child,\n.ui.vertical.buttons .tiny.button:last-child,\n.ui.vertical.buttons .small.button:last-child,\n.ui.vertical.buttons .massive.button:last-child,\n.ui.vertical.buttons .huge.button:last-child,\n.ui.vertical.buttons .gigantic.button:last-child {\n  margin-bottom: 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/card.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n      Card\n---------------*/\n\n.ui.cards > .card,\n.ui.card {\n  max-width: 100%;\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  width: 290px;\n  min-height: 0px;\n  background: #FFFFFF;\n  padding: 0em;\n  border: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;\n          transition: box-shadow 0.1s ease, transform 0.1s ease;\n  z-index: '';\n}\n.ui.card {\n  margin: 1em 0em;\n}\n.ui.cards > .card a,\n.ui.card a {\n  cursor: pointer;\n}\n.ui.card:first-child {\n  margin-top: 0em;\n}\n.ui.card:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Cards\n---------------*/\n\n.ui.cards {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: -0.875em -0.5em;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n}\n.ui.cards > .card {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 0.875em 0.5em;\n  float: none;\n}\n\n/* Clearing */\n.ui.cards:after,\n.ui.card:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n/* Consecutive Card Groups Preserve Row Spacing */\n.ui.cards ~ .ui.cards {\n  margin-top: 0.875em;\n}\n\n/*--------------\n  Rounded Edges\n---------------*/\n\n.ui.cards > .card > :first-child,\n.ui.card > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n  border-top: none !important;\n}\n.ui.cards > .card > :last-child,\n.ui.card > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n.ui.cards > .card > :only-child,\n.ui.card > :only-child {\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.cards > .card > .image,\n.ui.card > .image {\n  position: relative;\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  padding: 0em;\n  background: rgba(0, 0, 0, 0.05);\n}\n.ui.cards > .card > .image > img,\n.ui.card > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: inherit;\n}\n.ui.cards > .card > .image:not(.ui) > img,\n.ui.card > .image:not(.ui) > img {\n  border: none;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.cards > .card > .content,\n.ui.card > .content {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  background: none;\n  margin: 0em;\n  padding: 1em 1em;\n  box-shadow: none;\n  font-size: 1em;\n  border-radius: 0em;\n}\n.ui.cards > .card > .content:after,\n.ui.card > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.cards > .card > .content > .header,\n.ui.card > .content > .header {\n  display: block;\n  margin: '';\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n.ui.cards > .card > .content > .header:not(.ui),\n.ui.card > .content > .header:not(.ui) {\n  font-weight: bold;\n  font-size: 1.28571429em;\n  margin-top: -0.21425em;\n  line-height: 1.2857em;\n}\n.ui.cards > .card > .content > .meta + .description,\n.ui.cards > .card > .content > .header + .description,\n.ui.card > .content > .meta + .description,\n.ui.card > .content > .header + .description {\n  margin-top: 0.5em;\n}\n\n/*----------------\n Floated Content\n-----------------*/\n\n.ui.cards > .card [class*=\"left floated\"],\n.ui.card [class*=\"left floated\"] {\n  float: left;\n}\n.ui.cards > .card [class*=\"right floated\"],\n.ui.card [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n     Aligned\n---------------*/\n\n.ui.cards > .card [class*=\"left aligned\"],\n.ui.card [class*=\"left aligned\"] {\n  text-align: left;\n}\n.ui.cards > .card [class*=\"center aligned\"],\n.ui.card [class*=\"center aligned\"] {\n  text-align: center;\n}\n.ui.cards > .card [class*=\"right aligned\"],\n.ui.card [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.cards > .card .content img,\n.ui.card .content img {\n  display: inline-block;\n  vertical-align: middle;\n  width: '';\n}\n.ui.cards > .card img.avatar,\n.ui.cards > .card .avatar img,\n.ui.card img.avatar,\n.ui.card .avatar img {\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.cards > .card > .content > .description,\n.ui.card > .content > .description {\n  clear: both;\n  color: rgba(0, 0, 0, 0.68);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.cards > .card > .content p,\n.ui.card > .content p {\n  margin: 0em 0em 0.5em;\n}\n.ui.cards > .card > .content p:last-child,\n.ui.card > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.cards > .card .meta,\n.ui.card .meta {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.cards > .card .meta *,\n.ui.card .meta * {\n  margin-right: 0.3em;\n}\n.ui.cards > .card .meta :last-child,\n.ui.card .meta :last-child {\n  margin-right: 0em;\n}\n.ui.cards > .card .meta [class*=\"right floated\"],\n.ui.card .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n\n/* Generic */\n.ui.cards > .card > .content a:not(.ui),\n.ui.card > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .content a:not(.ui):hover,\n.ui.card > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n.ui.cards > .card > .content > a.header,\n.ui.card > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.cards > .card > .content > a.header:hover,\n.ui.card > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n.ui.cards > .card .meta > a:not(.ui),\n.ui.card .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.cards > .card .meta > a:not(.ui):hover,\n.ui.card .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Buttons\n---------------*/\n\n.ui.cards > .card > .buttons,\n.ui.card > .buttons,\n.ui.cards > .card > .button,\n.ui.card > .button {\n  margin: 0px -1px;\n  width: calc(100% +  2px );\n}\n\n/*--------------\n      Dimmer\n---------------*/\n\n.ui.cards > .card .dimmer,\n.ui.card .dimmer {\n  background-color: '';\n  z-index: 10;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n\n/*-----Star----- */\n\n\n/* Icon */\n.ui.cards > .card > .content .star.icon,\n.ui.card > .content .star.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .content .star.icon:hover,\n.ui.card > .content .star.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n.ui.cards > .card > .content .active.star.icon,\n.ui.card > .content .active.star.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n\n/* Icon */\n.ui.cards > .card > .content .like.icon,\n.ui.card > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .content .like.icon:hover,\n.ui.card > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n.ui.cards > .card > .content .active.like.icon,\n.ui.card > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.cards > .card > .extra,\n.ui.card > .extra {\n  max-width: 100%;\n  min-height: 0em !important;\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n      -ms-flex-positive: 0;\n          flex-grow: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;\n  position: static;\n  background: none;\n  width: auto;\n  margin: 0em 0em;\n  padding: 0.75em 1em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.cards > .card > .extra a:not(.ui),\n.ui.card > .extra a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.cards > .card > .extra a:not(.ui):hover,\n.ui.card > .extra a:not(.ui):hover {\n  color: #1e70bf;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Centered\n--------------------*/\n\n.ui.centered.cards {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n.ui.centered.card {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.card {\n  width: 100%;\n  max-width: 9999px;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.cards a.card,\n.ui.link.cards .card,\na.ui.card,\n.ui.link.card {\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n}\n.ui.cards a.card:hover,\n.ui.link.cards .card:hover,\na.ui.card:hover,\n.ui.link.card:hover {\n  cursor: pointer;\n  z-index: 5;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transform: translateY(-3px);\n      -ms-transform: translateY(-3px);\n          transform: translateY(-3px);\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\n.ui.red.cards > .card,\n.ui.cards > .red.card,\n.ui.red.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.red.cards > .card:hover,\n.ui.cards > .red.card:hover,\n.ui.red.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Orange */\n.ui.orange.cards > .card,\n.ui.cards > .orange.card,\n.ui.orange.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.orange.cards > .card:hover,\n.ui.cards > .orange.card:hover,\n.ui.orange.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Yellow */\n.ui.yellow.cards > .card,\n.ui.cards > .yellow.card,\n.ui.yellow.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.yellow.cards > .card:hover,\n.ui.cards > .yellow.card:hover,\n.ui.yellow.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Olive */\n.ui.olive.cards > .card,\n.ui.cards > .olive.card,\n.ui.olive.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.olive.cards > .card:hover,\n.ui.cards > .olive.card:hover,\n.ui.olive.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Green */\n.ui.green.cards > .card,\n.ui.cards > .green.card,\n.ui.green.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.green.cards > .card:hover,\n.ui.cards > .green.card:hover,\n.ui.green.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Teal */\n.ui.teal.cards > .card,\n.ui.cards > .teal.card,\n.ui.teal.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.teal.cards > .card:hover,\n.ui.cards > .teal.card:hover,\n.ui.teal.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Blue */\n.ui.blue.cards > .card,\n.ui.cards > .blue.card,\n.ui.blue.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.blue.cards > .card:hover,\n.ui.cards > .blue.card:hover,\n.ui.blue.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Violet */\n.ui.violet.cards > .card,\n.ui.cards > .violet.card,\n.ui.violet.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.violet.cards > .card:hover,\n.ui.cards > .violet.card:hover,\n.ui.violet.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Purple */\n.ui.purple.cards > .card,\n.ui.cards > .purple.card,\n.ui.purple.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.purple.cards > .card:hover,\n.ui.cards > .purple.card:hover,\n.ui.purple.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Pink */\n.ui.pink.cards > .card,\n.ui.cards > .pink.card,\n.ui.pink.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.pink.cards > .card:hover,\n.ui.cards > .pink.card:hover,\n.ui.pink.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Brown */\n.ui.brown.cards > .card,\n.ui.cards > .brown.card,\n.ui.brown.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.brown.cards > .card:hover,\n.ui.cards > .brown.card:hover,\n.ui.brown.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Grey */\n.ui.grey.cards > .card,\n.ui.cards > .grey.card,\n.ui.grey.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.grey.cards > .card:hover,\n.ui.cards > .grey.card:hover,\n.ui.grey.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Black */\n.ui.black.cards > .card,\n.ui.cards > .black.card,\n.ui.black.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5;\n}\n.ui.black.cards > .card:hover,\n.ui.cards > .black.card:hover,\n.ui.black.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD;\n}\n\n/*--------------\n   Card Count\n---------------*/\n\n.ui.one.cards {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n.ui.one.cards > .card {\n  width: 100%;\n}\n.ui.two.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n.ui.two.cards > .card {\n  width: calc( 50%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n.ui.three.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n.ui.three.cards > .card {\n  width: calc( 33.33333333%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n.ui.four.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n.ui.four.cards > .card {\n  width: calc( 25%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n.ui.five.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n.ui.five.cards > .card {\n  width: calc( 20%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n.ui.six.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n.ui.six.cards > .card {\n  width: calc( 16.66666667%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n.ui.seven.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.seven.cards > .card {\n  width: calc( 14.28571429%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n.ui.eight.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.eight.cards > .card {\n  width: calc( 12.5%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 11px;\n}\n.ui.nine.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.nine.cards > .card {\n  width: calc( 11.11111111%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 10px;\n}\n.ui.ten.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n.ui.ten.cards > .card {\n  width: calc( 10%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n\n/* Mobily Only */\n@media only screen and (max-width: 767px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.five.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.six.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.seven.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.seven.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.nine.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.nine.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.ten.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.ten.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n}\n\n/* Tablet Only */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.five.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.six.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n  .ui.eight.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n  .ui.eight.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n  .ui.nine.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n  .ui.nine.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n  .ui.ten.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n  .ui.ten.doubling.cards .card {\n    width: calc( 20%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.cards {\n    display: block !important;\n  }\n  .ui.stackable.cards .card:first-child {\n    margin-top: 0em !important;\n  }\n  .ui.stackable.cards > .card {\n    display: block !important;\n    height: auto !important;\n    margin: 1em 1em;\n    padding: 0 !important;\n    width: calc( 100%  -  2em ) !important;\n  }\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.cards > .card {\n  font-size: 1em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/checkbox.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Checkbox\n*******************************/\n\n\n/*--------------\n    Content\n---------------*/\n\n.ui.checkbox {\n  position: relative;\n  display: inline-block;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  outline: none;\n  vertical-align: baseline;\n  font-style: normal;\n  min-height: 17px;\n  font-size: 1rem;\n  line-height: 17px;\n  min-width: 17px;\n}\n\n/* HTML Checkbox */\n.ui.checkbox input[type=\"checkbox\"],\n.ui.checkbox input[type=\"radio\"] {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  opacity: 0 !important;\n  outline: none;\n  z-index: 3;\n  width: 17px;\n  height: 17px;\n}\n\n/*--------------\n      Box\n---------------*/\n\n.ui.checkbox .box,\n.ui.checkbox label {\n  cursor: auto;\n  position: relative;\n  display: block;\n  padding-left: 1.85714em;\n  outline: none;\n  font-size: 1em;\n}\n.ui.checkbox .box:before,\n.ui.checkbox label:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  content: '';\n  background: #FFFFFF;\n  border-radius: 0.21428571rem;\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n          transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n  border: 1px solid #D4D4D5;\n}\n\n/*--------------\n    Checkmark\n---------------*/\n\n.ui.checkbox .box:after,\n.ui.checkbox label:after {\n  position: absolute;\n  font-size: 14px;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  text-align: center;\n  opacity: 0;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n          transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n}\n\n/*--------------\n      Label\n---------------*/\n\n\n/* Inside */\n.ui.checkbox label,\n.ui.checkbox + label {\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n\n/* Outside */\n.ui.checkbox + label {\n  vertical-align: middle;\n}\n\n\n/*******************************\n           States\n*******************************/\n\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.checkbox .box:hover::before,\n.ui.checkbox label:hover::before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox label:hover,\n.ui.checkbox + label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.checkbox .box:active::before,\n.ui.checkbox label:active::before {\n  background: #F9FAFB;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox .box:active::after,\n.ui.checkbox label:active::after {\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.checkbox input:active ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Focus\n---------------*/\n\n.ui.checkbox input:focus ~ .box:before,\n.ui.checkbox input:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n.ui.checkbox input:focus ~ .box:after,\n.ui.checkbox input:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.checkbox input:focus ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.checkbox input:checked ~ .box:before,\n.ui.checkbox input:checked ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Indeterminate\n---------------*/\n\n.ui.checkbox input:indeterminate ~ .box:before,\n.ui.checkbox input:indeterminate ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Active Focus\n---------------*/\n\n.ui.checkbox input:indeterminate:focus ~ .box:before,\n.ui.checkbox input:indeterminate:focus ~ label:before,\n.ui.checkbox input:checked:focus ~ .box:before,\n.ui.checkbox input:checked:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n.ui.checkbox input:indeterminate:focus ~ .box:after,\n.ui.checkbox input:indeterminate:focus ~ label:after,\n.ui.checkbox input:checked:focus ~ .box:after,\n.ui.checkbox input:checked:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n    Read-Only\n---------------*/\n\n.ui.read-only.checkbox,\n.ui.read-only.checkbox label {\n  cursor: default;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.disabled.checkbox .box:after,\n.ui.disabled.checkbox label,\n.ui.checkbox input[disabled] ~ .box:after,\n.ui.checkbox input[disabled] ~ label {\n  cursor: default;\n  opacity: 0.5;\n  color: #000000;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n\n/* Initialized checkbox moves input below element\n to prevent manually triggering */\n.ui.checkbox input.hidden {\n  z-index: -1;\n}\n\n/* Selectable Label */\n.ui.checkbox input.hidden + label {\n  cursor: pointer;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n     Radio\n---------------*/\n\n.ui.radio.checkbox {\n  min-height: 15px;\n}\n.ui.radio.checkbox .box,\n.ui.radio.checkbox label {\n  padding-left: 1.85714em;\n}\n\n/* Box */\n.ui.radio.checkbox .box:before,\n.ui.radio.checkbox label:before {\n  content: '';\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  top: 1px;\n  left: 0px;\n}\n\n/* Bullet */\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  border: none;\n  content: '' !important;\n  width: 15px;\n  height: 15px;\n  line-height: 15px;\n}\n\n/* Radio Checkbox */\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  top: 1px;\n  left: 0px;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  -webkit-transform: scale(0.46666667);\n      -ms-transform: scale(0.46666667);\n          transform: scale(0.46666667);\n  background-color: rgba(0, 0, 0, 0.87);\n}\n\n/* Focus */\n.ui.radio.checkbox input:focus ~ .box:before,\n.ui.radio.checkbox input:focus ~ label:before {\n  background-color: #FFFFFF;\n}\n.ui.radio.checkbox input:focus ~ .box:after,\n.ui.radio.checkbox input:focus ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Indeterminate */\n.ui.radio.checkbox input:indeterminate ~ .box:after,\n.ui.radio.checkbox input:indeterminate ~ label:after {\n  opacity: 0;\n}\n\n/* Active */\n.ui.radio.checkbox input:checked ~ .box:before,\n.ui.radio.checkbox input:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n.ui.radio.checkbox input:checked ~ .box:after,\n.ui.radio.checkbox input:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Focus */\n.ui.radio.checkbox input:focus:checked ~ .box:before,\n.ui.radio.checkbox input:focus:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n.ui.radio.checkbox input:focus:checked ~ .box:after,\n.ui.radio.checkbox input:focus:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Slider\n---------------*/\n\n.ui.slider.checkbox {\n  min-height: 1.25rem;\n}\n\n/* Input */\n.ui.slider.checkbox input {\n  width: 3.5rem;\n  height: 1.25rem;\n}\n\n/* Label */\n.ui.slider.checkbox .box,\n.ui.slider.checkbox label {\n  padding-left: 4.5rem;\n  line-height: 1rem;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Line */\n.ui.slider.checkbox .box:before,\n.ui.slider.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  border: none !important;\n  left: 0em;\n  z-index: 1;\n  top: 0.4rem;\n  background-color: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 0.21428571rem;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease;\n          transition: background 0.3s ease;\n}\n\n/* Handle */\n.ui.slider.checkbox .box:after,\n.ui.slider.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: -0.25rem;\n  left: 0em;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  border-radius: 500rem;\n  -webkit-transition: left 0.3s ease;\n          transition: left 0.3s ease;\n}\n\n/* Focus */\n.ui.slider.checkbox input:focus ~ .box:before,\n.ui.slider.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n.ui.slider.checkbox .box:hover,\n.ui.slider.checkbox label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.slider.checkbox .box:hover::before,\n.ui.slider.checkbox label:hover::before {\n  background: rgba(0, 0, 0, 0.15);\n}\n\n/* Active */\n.ui.slider.checkbox input:checked ~ .box,\n.ui.slider.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.slider.checkbox input:checked ~ .box:before,\n.ui.slider.checkbox input:checked ~ label:before {\n  background-color: #545454 !important;\n}\n.ui.slider.checkbox input:checked ~ .box:after,\n.ui.slider.checkbox input:checked ~ label:after {\n  left: 2rem;\n}\n\n/* Active Focus */\n.ui.slider.checkbox input:focus:checked ~ .box,\n.ui.slider.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.slider.checkbox input:focus:checked ~ .box:before,\n.ui.slider.checkbox input:focus:checked ~ label:before {\n  background-color: #000000 !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n.ui.toggle.checkbox {\n  min-height: 1.5rem;\n}\n\n/* Input */\n.ui.toggle.checkbox input {\n  width: 3.5rem;\n  height: 1.5rem;\n}\n\n/* Label */\n.ui.toggle.checkbox .box,\n.ui.toggle.checkbox label {\n  min-height: 1.5rem;\n  padding-left: 4.5rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.toggle.checkbox label {\n  padding-top: 0.15em;\n}\n\n/* Switch */\n.ui.toggle.checkbox .box:before,\n.ui.toggle.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  z-index: 1;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  border: none;\n  top: 0rem;\n  background: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 1.5rem;\n  border-radius: 500rem;\n}\n\n/* Handle */\n.ui.toggle.checkbox .box:after,\n.ui.toggle.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: 0rem;\n  left: 0em;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease, left 0.3s ease;\n          transition: background 0.3s ease, left 0.3s ease;\n}\n.ui.toggle.checkbox input ~ .box:after,\n.ui.toggle.checkbox input ~ label:after {\n  left: -0.05rem;\n}\n\n/* Focus */\n.ui.toggle.checkbox input:focus ~ .box:before,\n.ui.toggle.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n.ui.toggle.checkbox .box:hover::before,\n.ui.toggle.checkbox label:hover::before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Active */\n.ui.toggle.checkbox input:checked ~ .box,\n.ui.toggle.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.toggle.checkbox input:checked ~ .box:before,\n.ui.toggle.checkbox input:checked ~ label:before {\n  background-color: #2185D0 !important;\n}\n.ui.toggle.checkbox input:checked ~ .box:after,\n.ui.toggle.checkbox input:checked ~ label:after {\n  left: 2.15rem;\n}\n\n/* Active Focus */\n.ui.toggle.checkbox input:focus:checked ~ .box,\n.ui.toggle.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.toggle.checkbox input:focus:checked ~ .box:before,\n.ui.toggle.checkbox input:focus:checked ~ label:before {\n  background-color: #0d71bb !important;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.checkbox .box,\n.ui.fitted.checkbox label {\n  padding-left: 0em !important;\n}\n.ui.fitted.toggle.checkbox,\n.ui.fitted.toggle.checkbox {\n  width: 3.5rem;\n}\n.ui.fitted.slider.checkbox,\n.ui.fitted.slider.checkbox {\n  width: 3.5rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Checkbox';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('truetype');\n}\n\n/* Checkmark */\n.ui.checkbox label:after,\n.ui.checkbox .box:after {\n  font-family: 'Checkbox';\n}\n\n/* Checked */\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  content: '\\e800';\n}\n\n/* Indeterminate */\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  font-size: 12px;\n  content: '\\e801';\n}\n/*  UTF Reference\n.check:before { content: '\\e800'; }\n.dash:before  { content: '\\e801'; }\n.plus:before { content: '\\e802'; }\n*/\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/checkbox.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.checkbox = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = $.extend(true, {}, $.fn.checkbox.settings, parameters),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $label          = $(this).children(selector.label),\n        $input          = $(this).children(selector.input),\n        input           = $input[0],\n\n        initialLoad     = false,\n        shortcutPressed = false,\n        instance        = $module.data(moduleNamespace),\n\n        observer,\n        element         = this,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.verbose('Initializing checkbox', settings);\n\n          module.create.label();\n          module.bind.events();\n\n          module.set.tabbable();\n          module.hide.input();\n\n          module.observeChanges();\n          module.instantiate();\n          module.setup();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying module');\n          module.unbind.events();\n          module.show.input();\n          $module.removeData(moduleNamespace);\n        },\n\n        fix: {\n          reference: function() {\n            if( $module.is(selector.input) ) {\n              module.debug('Behavior called on <input> adjusting invoked element');\n              $module = $module.closest(selector.checkbox);\n              module.refresh();\n            }\n          }\n        },\n\n        setup: function() {\n          module.set.initialLoad();\n          if( module.is.indeterminate() ) {\n            module.debug('Initial value is indeterminate');\n            module.indeterminate();\n          }\n          else if( module.is.checked() ) {\n            module.debug('Initial value is checked');\n            module.check();\n          }\n          else {\n            module.debug('Initial value is unchecked');\n            module.uncheck();\n          }\n          module.remove.initialLoad();\n        },\n\n        refresh: function() {\n          $label = $module.children(selector.label);\n          $input = $module.children(selector.input);\n          input  = $input[0];\n        },\n\n        hide: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be unselectable');\n            $input.addClass(className.hidden);\n          }\n        },\n        show: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be selectable');\n            $input.removeClass(className.hidden);\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $element = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($element.length > 0) {\n            module.debug('Attaching checkbox events to element', selector, event);\n            $element\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound);\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            if( $target.is(selector.input) ) {\n              module.verbose('Using default check action on initialized checkbox');\n              return;\n            }\n            if( $target.is(selector.link) ) {\n              module.debug('Clicking link inside checkbox, skipping toggle');\n              return;\n            }\n            module.toggle();\n            $input.focus();\n            event.preventDefault();\n          },\n          keydown: function(event) {\n            var\n              key     = event.which,\n              keyCode = {\n                enter  : 13,\n                space  : 32,\n                escape : 27\n              }\n            ;\n            if(key == keyCode.escape) {\n              module.verbose('Escape key pressed blurring field');\n              $input.blur();\n              shortcutPressed = true;\n            }\n            else if(!event.ctrlKey && ( key == keyCode.space || key == keyCode.enter) ) {\n              module.verbose('Enter/space key pressed, toggling checkbox');\n              module.toggle();\n              shortcutPressed = true;\n            }\n            else {\n              shortcutPressed = false;\n            }\n          },\n          keyup: function(event) {\n            if(shortcutPressed) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        check: function() {\n          if( !module.should.allowCheck() ) {\n            return;\n          }\n          module.debug('Checking checkbox', $input);\n          module.set.checked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onChecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        uncheck: function() {\n          if( !module.should.allowUncheck() ) {\n            return;\n          }\n          module.debug('Unchecking checkbox');\n          module.set.unchecked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onUnchecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        indeterminate: function() {\n          if( module.should.allowIndeterminate() ) {\n            module.debug('Checkbox is already indeterminate');\n            return;\n          }\n          module.debug('Making checkbox indeterminate');\n          module.set.indeterminate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onIndeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        determinate: function() {\n          if( module.should.allowDeterminate() ) {\n            module.debug('Checkbox is already determinate');\n            return;\n          }\n          module.debug('Making checkbox determinate');\n          module.set.determinate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onDeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        enable: function() {\n          if( module.is.enabled() ) {\n            module.debug('Checkbox is already enabled');\n            return;\n          }\n          module.debug('Enabling checkbox');\n          module.set.enabled();\n          settings.onEnable.call(input);\n        },\n\n        disable: function() {\n          if( module.is.disabled() ) {\n            module.debug('Checkbox is already disabled');\n            return;\n          }\n          module.debug('Disabling checkbox');\n          module.set.disabled();\n          settings.onDisable.call(input);\n        },\n\n        get: {\n          radios: function() {\n            var\n              name = module.get.name()\n            ;\n            return $('input[name=\"' + name + '\"]').closest(selector.checkbox);\n          },\n          otherRadios: function() {\n            return module.get.radios().not($module);\n          },\n          name: function() {\n            return $input.attr('name');\n          }\n        },\n\n        is: {\n          initialLoad: function() {\n            return initialLoad;\n          },\n          radio: function() {\n            return ($input.hasClass(className.radio) || $input.attr('type') == 'radio');\n          },\n          indeterminate: function() {\n            return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');\n          },\n          checked: function() {\n            return $input.prop('checked') !== undefined && $input.prop('checked');\n          },\n          disabled: function() {\n            return $input.prop('disabled') !== undefined && $input.prop('disabled');\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          determinate: function() {\n            return !module.is.indeterminate();\n          },\n          unchecked: function() {\n            return !module.is.checked();\n          }\n        },\n\n        should: {\n          allowCheck: function() {\n            if(module.is.determinate() && module.is.checked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow check, checkbox is already checked');\n              return false;\n            }\n            if(settings.beforeChecked.apply(input) === false) {\n              module.debug('Should not allow check, beforeChecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowUncheck: function() {\n            if(module.is.determinate() && module.is.unchecked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow uncheck, checkbox is already unchecked');\n              return false;\n            }\n            if(settings.beforeUnchecked.apply(input) === false) {\n              module.debug('Should not allow uncheck, beforeUnchecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowIndeterminate: function() {\n            if(module.is.indeterminate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow indeterminate, checkbox is already indeterminate');\n              return false;\n            }\n            if(settings.beforeIndeterminate.apply(input) === false) {\n              module.debug('Should not allow indeterminate, beforeIndeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowDeterminate: function() {\n            if(module.is.determinate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow determinate, checkbox is already determinate');\n              return false;\n            }\n            if(settings.beforeDeterminate.apply(input) === false) {\n              module.debug('Should not allow determinate, beforeDeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          forceCallbacks: function() {\n            return (module.is.initialLoad() && settings.fireOnInit);\n          },\n          ignoreCallbacks: function() {\n            return (initialLoad && !settings.fireOnInit);\n          }\n        },\n\n        can: {\n          change: function() {\n            return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') );\n          },\n          uncheck: function() {\n            return (typeof settings.uncheckable === 'boolean')\n              ? settings.uncheckable\n              : !module.is.radio()\n            ;\n          }\n        },\n\n        set: {\n          initialLoad: function() {\n            initialLoad = true;\n          },\n          checked: function() {\n            module.verbose('Setting class to checked');\n            $module\n              .removeClass(className.indeterminate)\n              .addClass(className.checked)\n            ;\n            if( module.is.radio() ) {\n              module.uncheckOthers();\n            }\n            if(!module.is.indeterminate() && module.is.checked()) {\n              module.debug('Input is already checked, skipping input property change');\n              return;\n            }\n            module.verbose('Setting state to checked', input);\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', true)\n            ;\n            module.trigger.change();\n          },\n          unchecked: function() {\n            module.verbose('Removing checked class');\n            $module\n              .removeClass(className.indeterminate)\n              .removeClass(className.checked)\n            ;\n            if(!module.is.indeterminate() &&  module.is.unchecked() ) {\n              module.debug('Input is already unchecked');\n              return;\n            }\n            module.debug('Setting state to unchecked');\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', false)\n            ;\n            module.trigger.change();\n          },\n          indeterminate: function() {\n            module.verbose('Setting class to indeterminate');\n            $module\n              .addClass(className.indeterminate)\n            ;\n            if( module.is.indeterminate() ) {\n              module.debug('Input is already indeterminate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to indeterminate');\n            $input\n              .prop('indeterminate', true)\n            ;\n            module.trigger.change();\n          },\n          determinate: function() {\n            module.verbose('Removing indeterminate class');\n            $module\n              .removeClass(className.indeterminate)\n            ;\n            if( module.is.determinate() ) {\n              module.debug('Input is already determinate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to determinate');\n            $input\n              .prop('indeterminate', false)\n            ;\n          },\n          disabled: function() {\n            module.verbose('Setting class to disabled');\n            $module\n              .addClass(className.disabled)\n            ;\n            if( module.is.disabled() ) {\n              module.debug('Input is already disabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to disabled');\n            $input\n              .prop('disabled', 'disabled')\n            ;\n            module.trigger.change();\n          },\n          enabled: function() {\n            module.verbose('Removing disabled class');\n            $module.removeClass(className.disabled);\n            if( module.is.enabled() ) {\n              module.debug('Input is already enabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to enabled');\n            $input\n              .prop('disabled', false)\n            ;\n            module.trigger.change();\n          },\n          tabbable: function() {\n            module.verbose('Adding tabindex to checkbox');\n            if( $input.attr('tabindex') === undefined) {\n              $input.attr('tabindex', 0);\n            }\n          }\n        },\n\n        remove: {\n          initialLoad: function() {\n            initialLoad = false;\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n\n        create: {\n          label: function() {\n            if($input.prevAll(selector.label).length > 0) {\n              $input.prev(selector.label).detach().insertAfter($input);\n              module.debug('Moving existing label', $label);\n            }\n            else if( !module.has.label() ) {\n              $label = $('<label>').insertAfter($input);\n              module.debug('Creating label', $label);\n            }\n          }\n        },\n\n        has: {\n          label: function() {\n            return ($label.length > 0);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching checkbox events');\n            $module\n              .on('click'   + eventNamespace, module.event.click)\n              .on('keydown' + eventNamespace, selector.input, module.event.keydown)\n              .on('keyup'   + eventNamespace, selector.input, module.event.keyup)\n            ;\n          }\n        },\n\n        unbind: {\n          events: function() {\n            module.debug('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        uncheckOthers: function() {\n          var\n            $radios = module.get.otherRadios()\n          ;\n          module.debug('Unchecking other radios', $radios);\n          $radios.removeClass(className.checked);\n        },\n\n        toggle: function() {\n          if( !module.can.change() ) {\n            if(!module.is.radio()) {\n              module.debug('Checkbox is read-only or disabled, ignoring toggle');\n            }\n            return;\n          }\n          if( module.is.indeterminate() || module.is.unchecked() ) {\n            module.debug('Currently unchecked');\n            module.check();\n          }\n          else if( module.is.checked() && module.can.uncheck() ) {\n            module.debug('Currently checked');\n            module.uncheck();\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.checkbox.settings = {\n\n  name                : 'Checkbox',\n  namespace           : 'checkbox',\n\n  debug               : false,\n  verbose             : true,\n  performance         : true,\n\n  // delegated event context\n  uncheckable         : 'auto',\n  fireOnInit          : false,\n\n  onChange            : function(){},\n\n  beforeChecked       : function(){},\n  beforeUnchecked     : function(){},\n  beforeDeterminate   : function(){},\n  beforeIndeterminate : function(){},\n\n  onChecked           : function(){},\n  onUnchecked         : function(){},\n\n  onDeterminate       : function() {},\n  onIndeterminate     : function() {},\n\n  onEnabled           : function(){},\n  onDisabled          : function(){},\n\n  className       : {\n    checked       : 'checked',\n    indeterminate : 'indeterminate',\n    disabled      : 'disabled',\n    hidden        : 'hidden',\n    radio         : 'radio',\n    readOnly      : 'read-only'\n  },\n\n  error     : {\n    method       : 'The method you called is not defined'\n  },\n\n  selector : {\n    checkbox : '.ui.checkbox',\n    label    : 'label, .box',\n    input    : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    link     : 'a[href]'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/colorize.js",
    "content": "/*!\n * # Semantic UI 2.0.0 - Colorize\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n  \"use strict\";\n\n  $.fn.colorize = function(parameters) {\n    var\n      settings          = ( $.isPlainObject(parameters) )\n        ? $.extend(true, {}, $.fn.colorize.settings, parameters)\n        : $.extend({}, $.fn.colorize.settings),\n      // hoist arguments\n      moduleArguments = arguments || false\n    ;\n    $(this)\n      .each(function(instanceIndex) {\n\n        var\n          $module         = $(this),\n\n          mainCanvas      = $('<canvas />')[0],\n          imageCanvas     = $('<canvas />')[0],\n          overlayCanvas   = $('<canvas />')[0],\n\n          backgroundImage = new Image(),\n\n          // defs\n          mainContext,\n          imageContext,\n          overlayContext,\n\n          image,\n          imageName,\n\n          width,\n          height,\n\n          // shortucts\n          colors    = settings.colors,\n          paths     = settings.paths,\n          namespace = settings.namespace,\n          error     = settings.error,\n\n          // boilerplate\n          instance   = $module.data('module-' + namespace),\n          module\n        ;\n\n        module = {\n\n          checkPreconditions: function() {\n            module.debug('Checking pre-conditions');\n\n            if( !$.isPlainObject(colors) || $.isEmptyObject(colors) ) {\n              module.error(error.undefinedColors);\n              return false;\n            }\n            return true;\n          },\n\n          async: function(callback) {\n            if(settings.async) {\n              setTimeout(callback, 0);\n            }\n            else {\n              callback();\n            }\n          },\n\n          getMetadata: function() {\n            module.debug('Grabbing metadata');\n            image     = $module.data('image') || settings.image || undefined;\n            imageName = $module.data('name')  || settings.name  || instanceIndex;\n            width     = settings.width        || $module.width();\n            height    = settings.height       || $module.height();\n            if(width === 0 || height === 0) {\n              module.error(error.undefinedSize);\n            }\n          },\n\n          initialize: function() {\n            module.debug('Initializing with colors', colors);\n            if( module.checkPreconditions() ) {\n\n              module.async(function() {\n                module.getMetadata();\n                module.canvas.create();\n\n                module.draw.image(function() {\n                  module.draw.colors();\n                  module.canvas.merge();\n                });\n                $module\n                  .data('module-' + namespace, module)\n                ;\n              });\n            }\n          },\n\n          redraw: function() {\n            module.debug('Redrawing image');\n            module.async(function() {\n              module.canvas.clear();\n              module.draw.colors();\n              module.canvas.merge();\n            });\n          },\n\n          change: {\n            color: function(colorName, color) {\n              module.debug('Changing color', colorName);\n              if(colors[colorName] === undefined) {\n                module.error(error.missingColor);\n                return false;\n              }\n              colors[colorName] = color;\n              module.redraw();\n            }\n          },\n\n          canvas: {\n            create: function() {\n              module.debug('Creating canvases');\n\n              mainCanvas.width     = width;\n              mainCanvas.height    = height;\n              imageCanvas.width    = width;\n              imageCanvas.height   = height;\n              overlayCanvas.width  = width;\n              overlayCanvas.height = height;\n\n              mainContext    = mainCanvas.getContext('2d');\n              imageContext   = imageCanvas.getContext('2d');\n              overlayContext = overlayCanvas.getContext('2d');\n\n              $module\n                .append( mainCanvas )\n              ;\n              mainContext    = $module.children('canvas')[0].getContext('2d');\n            },\n            clear: function(context) {\n              module.debug('Clearing canvas');\n              overlayContext.fillStyle = '#FFFFFF';\n              overlayContext.fillRect(0, 0, width, height);\n            },\n            merge: function() {\n              if( !$.isFunction(mainContext.blendOnto) ) {\n                module.error(error.missingPlugin);\n                return;\n              }\n              mainContext.putImageData( imageContext.getImageData(0, 0, width, height), 0, 0);\n              overlayContext.blendOnto(mainContext, 'multiply');\n            }\n          },\n\n          draw: {\n\n            image: function(callback) {\n              module.debug('Drawing image');\n              callback = callback || function(){};\n              if(image) {\n                backgroundImage.src    = image;\n                backgroundImage.onload = function() {\n                  imageContext.drawImage(backgroundImage, 0, 0);\n                  callback();\n                };\n              }\n              else {\n                module.error(error.noImage);\n                callback();\n              }\n            },\n\n            colors: function() {\n              module.debug('Drawing color overlays', colors);\n              $.each(colors, function(colorName, color) {\n                settings.onDraw(overlayContext, imageName, colorName, color);\n              });\n            }\n\n          },\n\n          debug: function(message, variableName) {\n            if(settings.debug) {\n              if(variableName !== undefined) {\n                console.info(settings.name + ': ' + message, variableName);\n              }\n              else {\n                console.info(settings.name + ': ' + message);\n              }\n            }\n          },\n          error: function(errorMessage) {\n            console.warn(settings.name + ': ' + errorMessage);\n          },\n          invoke: function(methodName, context, methodArguments) {\n            var\n              method\n            ;\n            methodArguments = methodArguments || Array.prototype.slice.call( arguments, 2 );\n\n            if(typeof methodName == 'string' && instance !== undefined) {\n              methodName = methodName.split('.');\n              $.each(methodName, function(index, name) {\n                if( $.isPlainObject( instance[name] ) ) {\n                  instance = instance[name];\n                  return true;\n                }\n                else if( $.isFunction( instance[name] ) ) {\n                  method = instance[name];\n                  return true;\n                }\n                module.error(settings.error.method);\n                return false;\n              });\n            }\n            return ( $.isFunction( method ) )\n              ? method.apply(context, methodArguments)\n              : false\n            ;\n          }\n\n        };\n        if(instance !== undefined && moduleArguments) {\n          // simpler than invoke realizing to invoke itself (and losing scope due prototype.call()\n          if(moduleArguments[0] == 'invoke') {\n            moduleArguments = Array.prototype.slice.call( moduleArguments, 1 );\n          }\n          return module.invoke(moduleArguments[0], this, Array.prototype.slice.call( moduleArguments, 1 ) );\n        }\n        // initializing\n        module.initialize();\n      })\n    ;\n    return this;\n  };\n\n  $.fn.colorize.settings = {\n    name      : 'Image Colorizer',\n    debug     : true,\n    namespace : 'colorize',\n\n    onDraw    : function(overlayContext, imageName, colorName, color) {},\n\n    // whether to block execution while updating canvas\n    async     : true,\n    // object containing names and default values of color regions\n    colors    : {},\n\n    metadata: {\n      image : 'image',\n      name  : 'name'\n    },\n\n    error: {\n      noImage         : 'No tracing image specified',\n      undefinedColors : 'No default colors specified.',\n      missingColor    : 'Attempted to change color that does not exist',\n      missingPlugin   : 'Blend onto plug-in must be included',\n      undefinedHeight : 'The width or height of image canvas could not be automatically determined. Please specify a height.'\n    }\n\n  };\n\n})( jQuery, window , document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/comment.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Comment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n    Comments\n---------------*/\n\n.ui.comments {\n  margin: 1.5em 0em;\n  max-width: 650px;\n}\n.ui.comments:first-child {\n  margin-top: 0em;\n}\n.ui.comments:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Comment\n---------------*/\n\n.ui.comments .comment {\n  position: relative;\n  background: none;\n  margin: 0.5em 0em 0em;\n  padding: 0.5em 0em 0em;\n  border: none;\n  border-top: none;\n  line-height: 1.2;\n}\n.ui.comments .comment:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\n\n/*--------------------\n    Nested Comments\n---------------------*/\n\n.ui.comments .comment .comments {\n  margin: 0em 0em 0.5em 0.5em;\n  padding: 1em 0em 1em 1em;\n}\n.ui.comments .comment .comments:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n.ui.comments .comment .comments .comment {\n  border: none;\n  border-top: none;\n  background: none;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.comments .comment .avatar {\n  display: block;\n  width: 2.5em;\n  height: auto;\n  float: left;\n  margin: 0.2em 0em 0em;\n}\n.ui.comments .comment img.avatar,\n.ui.comments .comment .avatar img {\n  display: block;\n  margin: 0em auto;\n  width: 100%;\n  height: 100%;\n  border-radius: 0.25rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.comments .comment > .content {\n  display: block;\n}\n\n/* If there is an avatar move content over */\n.ui.comments .comment > .avatar ~ .content {\n  margin-left: 3.5em;\n}\n\n/*--------------\n     Author\n---------------*/\n\n.ui.comments .comment .author {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n}\n.ui.comments .comment a.author {\n  cursor: pointer;\n}\n.ui.comments .comment a.author:hover {\n  color: #1e70bf;\n}\n\n/*--------------\n     Metadata\n---------------*/\n\n.ui.comments .comment .metadata {\n  display: inline-block;\n  margin-left: 0.5em;\n  color: rgba(0, 0, 0, 0.4);\n  font-size: 0.875em;\n}\n.ui.comments .comment .metadata > * {\n  display: inline-block;\n  margin: 0em 0.5em 0em 0em;\n}\n.ui.comments .comment .metadata > :last-child {\n  margin-right: 0em;\n}\n\n/*--------------------\n     Comment Text\n---------------------*/\n\n.ui.comments .comment .text {\n  margin: 0.25em 0em 0.5em;\n  font-size: 1em;\n  word-wrap: break-word;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.3;\n}\n\n/*--------------------\n     User Actions\n---------------------*/\n\n.ui.comments .comment .actions {\n  font-size: 0.875em;\n}\n.ui.comments .comment .actions a {\n  cursor: pointer;\n  display: inline-block;\n  margin: 0em 0.75em 0em 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.comments .comment .actions a:last-child {\n  margin-right: 0em;\n}\n.ui.comments .comment .actions a.active,\n.ui.comments .comment .actions a:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------------\n      Reply Form\n---------------------*/\n\n.ui.comments > .reply.form {\n  margin-top: 1em;\n}\n.ui.comments .comment .reply.form {\n  width: 100%;\n  margin-top: 1em;\n}\n.ui.comments .reply.form textarea {\n  font-size: 1em;\n  height: 12em;\n}\n\n\n/*******************************\n            State\n*******************************/\n\n.ui.collapsed.comments,\n.ui.comments .collapsed.comments,\n.ui.comments .collapsed.comment {\n  display: none;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------------\n        Threaded\n---------------------*/\n\n.ui.threaded.comments .comment .comments {\n  margin: -1.5em 0 -1em 1.25em;\n  padding: 3em 0em 2em 2.25em;\n  box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/*--------------------\n        Minimal\n---------------------*/\n\n.ui.minimal.comments .comment .actions {\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  -webkit-transition: opacity 0.2s ease;\n          transition: opacity 0.2s ease;\n  -webkit-transition-delay: 0.1s;\n          transition-delay: 0.1s;\n}\n.ui.minimal.comments .comment > .content:hover > .actions {\n  opacity: 1;\n}\n\n/*--------------------\n       Sizes\n---------------------*/\n\n.ui.small.comments {\n  font-size: 0.9em;\n}\n.ui.comments {\n  font-size: 1em;\n}\n.ui.large.comments {\n  font-size: 1.1em;\n}\n.ui.huge.comments {\n  font-size: 1.2em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/container.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Container\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Container\n*******************************/\n\n\n/* All Sizes */\n.ui.container {\n  display: block;\n  max-width: 100% !important;\n}\n\n/* Mobile */\n@media only screen and (max-width: 767px) {\n  .ui.container {\n    width: auto !important;\n    margin-left: 1em !important;\n    margin-right: 1em !important;\n  }\n  .ui.grid.container {\n    width: auto !important;\n  }\n  .ui.relaxed.grid.container {\n    width: auto !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: auto !important;\n  }\n}\n\n/* Tablet */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.container {\n    width: 723px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .ui.grid.container {\n    width: calc( 723px  +  2rem ) !important;\n  }\n  .ui.relaxed.grid.container {\n    width: calc( 723px  +  3rem ) !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: calc( 723px  +  5rem ) !important;\n  }\n}\n\n/* Small Monitor */\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.container {\n    width: 933px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .ui.grid.container {\n    width: calc( 933px  +  2rem ) !important;\n  }\n  .ui.relaxed.grid.container {\n    width: calc( 933px  +  3rem ) !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: calc( 933px  +  5rem ) !important;\n  }\n}\n\n/* Large Monitor */\n@media only screen and (min-width: 1200px) {\n  .ui.container {\n    width: 1127px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n  .ui.grid.container {\n    width: calc( 1127px  +  2rem ) !important;\n  }\n  .ui.relaxed.grid.container {\n    width: calc( 1127px  +  3rem ) !important;\n  }\n  .ui.very.relaxed.grid.container {\n    width: calc( 1127px  +  5rem ) !important;\n  }\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/* Text Container */\n.ui.text.container {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  max-width: 700px !important;\n  line-height: 1.5;\n}\n.ui.text.container {\n  font-size: 1.14285714rem;\n}\n\n/* Fluid */\n.ui.fluid.container {\n  width: 100%;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n.ui[class*=\"left aligned\"].container {\n  text-align: left;\n}\n.ui[class*=\"center aligned\"].container {\n  text-align: center;\n}\n.ui[class*=\"right aligned\"].container {\n  text-align: right;\n}\n.ui.justified.container {\n  text-align: justify;\n  -webkit-hyphens: auto;\n     -moz-hyphens: auto;\n      -ms-hyphens: auto;\n          hyphens: auto;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/dimmer.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Dimmer\n*******************************/\n\n.dimmable {\n  position: relative;\n}\n.ui.dimmer {\n  display: none;\n  position: absolute;\n  top: 0em !important;\n  left: 0em !important;\n  width: 100%;\n  height: 100%;\n  text-align: center;\n  vertical-align: middle;\n  background-color: rgba(0, 0, 0, 0.85);\n  opacity: 0;\n  line-height: 1;\n  -webkit-animation-fill-mode: both;\n          animation-fill-mode: both;\n  -webkit-animation-duration: 0.5s;\n          animation-duration: 0.5s;\n  -webkit-transition: background-color 0.5s linear;\n          transition: background-color 0.5s linear;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/* Dimmer Content */\n.ui.dimmer > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n}\n.ui.dimmer > .content > * {\n  display: table-cell;\n  vertical-align: middle;\n  color: #FFFFFF;\n}\n\n/* Loose Coupling */\n.ui.segment > .ui.dimmer {\n  border-radius: inherit !important;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.animating.dimmable:not(body),\n.dimmed.dimmable:not(body) {\n  overflow: hidden;\n}\n.dimmed.dimmable > .ui.animating.dimmer,\n.dimmed.dimmable > .ui.visible.dimmer,\n.ui.active.dimmer {\n  display: block;\n  opacity: 1;\n}\n.ui.disabled.dimmer {\n  width: 0 !important;\n  height: 0 !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n      Page\n---------------*/\n\n.ui.page.dimmer {\n  position: fixed;\n  -webkit-transform-style: '';\n          transform-style: '';\n  -webkit-perspective: 2000px;\n          perspective: 2000px;\n  -webkit-transform-origin: center center;\n      -ms-transform-origin: center center;\n          transform-origin: center center;\n}\nbody.animating.in.dimmable,\nbody.dimmed.dimmable {\n  overflow: hidden;\n}\nbody.dimmable > .dimmer {\n  position: fixed;\n}\n\n/*--------------\n    Blurring\n---------------*/\n\n.blurring.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(0px) grayscale(0);\n          filter: blur(0px) grayscale(0);\n  -webkit-transition: 800ms -webkit-filter ease, 800ms filter ease;\n          transition: 800ms filter ease;\n}\n.blurring.dimmed.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(5px) grayscale(0.7);\n          filter: blur(5px) grayscale(0.7);\n}\n\n/* Dimmer Color */\n.blurring.dimmable > .dimmer {\n  background-color: rgba(0, 0, 0, 0.6);\n}\n.blurring.dimmable > .inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.6);\n}\n\n/*--------------\n    Aligned\n---------------*/\n\n.ui.dimmer > .top.aligned.content > * {\n  vertical-align: top;\n}\n.ui.dimmer > .bottom.aligned.content > * {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n.ui.inverted.dimmer > .content > * {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Simple\n---------------*/\n\n\n/* Displays without javascript */\n.ui.simple.dimmer {\n  display: block;\n  overflow: hidden;\n  opacity: 1;\n  width: 0%;\n  height: 0%;\n  z-index: -100;\n  background-color: rgba(0, 0, 0, 0);\n}\n.dimmed.dimmable > .ui.simple.dimmer {\n  overflow: visible;\n  opacity: 1;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.85);\n  z-index: 1;\n}\n.ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0);\n}\n.dimmed.dimmable > .ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/dimmer.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dimmer = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dimmer.settings, parameters)\n          : $.extend({}, $.fn.dimmer.settings),\n\n        selector        = settings.selector,\n        namespace       = settings.namespace,\n        className       = settings.className,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        clickEvent      = ('ontouchstart' in document.documentElement)\n          ? 'touchstart'\n          : 'click',\n\n        $module = $(this),\n        $dimmer,\n        $dimmable,\n\n        element   = this,\n        instance  = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        preinitialize: function() {\n          if( module.is.dimmer() ) {\n\n            $dimmable = $module.parent();\n            $dimmer   = $module;\n          }\n          else {\n            $dimmable = $module;\n            if( module.has.dimmer() ) {\n              if(settings.dimmerName) {\n                $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);\n              }\n              else {\n                $dimmer = $dimmable.find(selector.dimmer);\n              }\n            }\n            else {\n              $dimmer = module.create();\n            }\n          }\n        },\n\n        initialize: function() {\n          module.debug('Initializing dimmer', settings);\n\n          module.bind.events();\n          module.set.dimmable();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', $dimmer);\n          module.unbind.events();\n          module.remove.variation();\n          $dimmable\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            if(settings.on == 'hover') {\n              $dimmable\n                .on('mouseenter' + eventNamespace, module.show)\n                .on('mouseleave' + eventNamespace, module.hide)\n              ;\n            }\n            else if(settings.on == 'click') {\n              $dimmable\n                .on(clickEvent + eventNamespace, module.toggle)\n              ;\n            }\n            if( module.is.page() ) {\n              module.debug('Setting as a page dimmer', $dimmable);\n              module.set.pageDimmer();\n            }\n\n            if( module.is.closable() ) {\n              module.verbose('Adding dimmer close event', $dimmer);\n              $dimmable\n                .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          events: function() {\n            $module\n              .removeData(moduleNamespace)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            module.verbose('Determining if event occured on dimmer', event);\n            if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {\n              module.hide();\n              event.stopImmediatePropagation();\n            }\n          }\n        },\n\n        addContent: function(element) {\n          var\n            $content = $(element)\n          ;\n          module.debug('Add content to dimmer', $content);\n          if($content.parent()[0] !== $dimmer[0]) {\n            $content.detach().appendTo($dimmer);\n          }\n        },\n\n        create: function() {\n          var\n            $element = $( settings.template.dimmer() )\n          ;\n          if(settings.variation) {\n            module.debug('Creating dimmer with variation', settings.variation);\n            $element.addClass(settings.variation);\n          }\n          if(settings.dimmerName) {\n            module.debug('Creating named dimmer', settings.dimmerName);\n            $element.addClass(settings.dimmerName);\n          }\n          $element\n            .appendTo($dimmable)\n          ;\n          return $element;\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Showing dimmer', $dimmer, settings);\n          if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {\n            module.animate.show(callback);\n            settings.onShow.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is already shown or disabled');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.dimmed() || module.is.animating() ) {\n            module.debug('Hiding dimmer', $dimmer);\n            module.animate.hide(callback);\n            settings.onHide.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is not visible');\n          }\n        },\n\n        toggle: function() {\n          module.verbose('Toggling dimmer visibility', $dimmer);\n          if( !module.is.dimmed() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              if(settings.opacity !== 'auto') {\n                module.set.opacity();\n              }\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' in',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.set.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.set.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Showing dimmer animation with javascript');\n              module.set.dimmed();\n              if(settings.opacity == 'auto') {\n                settings.opacity = 0.8;\n              }\n              $dimmer\n                .stop()\n                .css({\n                  opacity : 0,\n                  width   : '100%',\n                  height  : '100%'\n                })\n                .fadeTo(module.get.duration(), settings.opacity, function() {\n                  $dimmer.removeAttr('style');\n                  module.set.active();\n                  callback();\n                })\n              ;\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              module.verbose('Hiding dimmer with css');\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' out',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.remove.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.remove.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Hiding dimmer with javascript');\n              module.remove.dimmed();\n              $dimmer\n                .stop()\n                .fadeOut(module.get.duration(), function() {\n                  module.remove.active();\n                  $dimmer.removeAttr('style');\n                  callback();\n                })\n              ;\n            }\n          }\n        },\n\n        get: {\n          dimmer: function() {\n            return $dimmer;\n          },\n          duration: function() {\n            if(typeof settings.duration == 'object') {\n              if( module.is.active() ) {\n                return settings.duration.hide;\n              }\n              else {\n                return settings.duration.show;\n              }\n            }\n            return settings.duration;\n          }\n        },\n\n        has: {\n          dimmer: function() {\n            if(settings.dimmerName) {\n              return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);\n            }\n            else {\n              return ( $module.find(selector.dimmer).length > 0 );\n            }\n          }\n        },\n\n        is: {\n          active: function() {\n            return $dimmer.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );\n          },\n          closable: function() {\n            if(settings.closable == 'auto') {\n              if(settings.on == 'hover') {\n                return false;\n              }\n              return true;\n            }\n            return settings.closable;\n          },\n          dimmer: function() {\n            return $module.hasClass(className.dimmer);\n          },\n          dimmable: function() {\n            return $module.hasClass(className.dimmable);\n          },\n          dimmed: function() {\n            return $dimmable.hasClass(className.dimmed);\n          },\n          disabled: function() {\n            return $dimmable.hasClass(className.disabled);\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          page: function () {\n            return $dimmable.is('body');\n          },\n          pageDimmer: function() {\n            return $dimmer.hasClass(className.pageDimmer);\n          }\n        },\n\n        can: {\n          show: function() {\n            return !$dimmer.hasClass(className.disabled);\n          }\n        },\n\n        set: {\n          opacity: function(opacity) {\n            var\n              color      = $dimmer.css('background-color'),\n              colorArray = color.split(','),\n              isRGBA     = (colorArray && colorArray.length == 4)\n            ;\n            opacity    = settings.opacity === 0 ? 0 : settings.opacity || opacity;\n            if(isRGBA) {\n              colorArray[3] = opacity + ')';\n              color         = colorArray.join(',');\n            }\n            else {\n              color = 'rgba(0, 0, 0, ' + opacity + ')';\n            }\n            module.debug('Setting opacity to', opacity);\n            $dimmer.css('background-color', color);\n          },\n          active: function() {\n            $dimmer.addClass(className.active);\n          },\n          dimmable: function() {\n            $dimmable.addClass(className.dimmable);\n          },\n          dimmed: function() {\n            $dimmable.addClass(className.dimmed);\n          },\n          pageDimmer: function() {\n            $dimmer.addClass(className.pageDimmer);\n          },\n          disabled: function() {\n            $dimmer.addClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.addClass(variation);\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $dimmer\n              .removeClass(className.active)\n            ;\n          },\n          dimmed: function() {\n            $dimmable.removeClass(className.dimmed);\n          },\n          disabled: function() {\n            $dimmer.removeClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.removeClass(variation);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      module.preinitialize();\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.dimmer.settings = {\n\n  name        : 'Dimmer',\n  namespace   : 'dimmer',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  // name to distinguish between multiple dimmers in context\n  dimmerName  : false,\n\n  // whether to add a variation type\n  variation   : false,\n\n  // whether to bind close events\n  closable    : 'auto',\n\n  // whether to use css animations\n  useCSS      : true,\n\n  // css animation to use\n  transition  : 'fade',\n\n  // event to bind to\n  on          : false,\n\n  // overriding opacity value\n  opacity     : 'auto',\n\n  // transition durations\n  duration    : {\n    show : 500,\n    hide : 500\n  },\n\n  onChange    : function(){},\n  onShow      : function(){},\n  onHide      : function(){},\n\n  error   : {\n    method   : 'The method you called is not defined.'\n  },\n\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    dimmable   : 'dimmable',\n    dimmed     : 'dimmed',\n    dimmer     : 'dimmer',\n    disabled   : 'disabled',\n    hide       : 'hide',\n    pageDimmer : 'page',\n    show       : 'show'\n  },\n\n  selector: {\n    dimmer   : '> .ui.dimmer',\n    content  : '.ui.dimmer > .content, .ui.dimmer > .content > .center'\n  },\n\n  template: {\n    dimmer: function() {\n     return $('<div />').attr('class', 'ui dimmer');\n    }\n  }\n\n};\n\n})( jQuery, window, document );"
  },
  {
    "path": "src/asset/semantic-ui/components/divider.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Divider\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Divider\n*******************************/\n\n.ui.divider {\n  margin: 1rem 0rem;\n  line-height: 1;\n  height: 0em;\n  font-weight: bold;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: rgba(0, 0, 0, 0.85);\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.divider:not(.vertical):not(.horizontal) {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n\n/* Allow divider between each column row */\n.ui.grid > .column + .divider,\n.ui.grid > .row > .column + .divider {\n  left: auto;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.divider {\n  display: table;\n  white-space: nowrap;\n  height: auto;\n  margin: '';\n  overflow: hidden;\n  line-height: 1;\n  text-align: center;\n}\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  content: '';\n  display: table-cell;\n  position: relative;\n  top: 50%;\n  width: 50%;\n  background-repeat: no-repeat;\n}\n.ui.horizontal.divider:before {\n  background-position: right 1em top 50%;\n}\n.ui.horizontal.divider:after {\n  background-position: left 1em top 50%;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.divider {\n  position: absolute;\n  z-index: 2;\n  top: 50%;\n  left: 50%;\n  margin: 0rem;\n  padding: 0em;\n  width: auto;\n  height: 50%;\n  line-height: 0em;\n  text-align: center;\n  -webkit-transform: translateX(-50%);\n      -ms-transform: translateX(-50%);\n          transform: translateX(-50%);\n}\n.ui.vertical.divider:before,\n.ui.vertical.divider:after {\n  position: absolute;\n  left: 50%;\n  content: '';\n  z-index: 3;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(255, 255, 255, 0.1);\n  width: 0%;\n  height: calc(100% -  1rem );\n}\n.ui.vertical.divider:before {\n  top: -100%;\n}\n.ui.vertical.divider:after {\n  top: auto;\n  bottom: 0px;\n}\n\n/* Inside grid */\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider,\n  .ui.grid .stackable.row .ui.vertical.divider {\n    display: table;\n    white-space: nowrap;\n    height: auto;\n    margin: '';\n    overflow: hidden;\n    line-height: 1;\n    text-align: center;\n    position: static;\n    top: 0;\n    left: 0;\n    -webkit-transform: none;\n        -ms-transform: none;\n            transform: none;\n  }\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    position: static;\n    left: 0;\n    border-left: none;\n    border-right: none;\n    content: '';\n    display: table-cell;\n    position: relative;\n    top: 50%;\n    width: 50%;\n    background-repeat: no-repeat;\n  }\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before {\n    background-position: right 1em top 50%;\n  }\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-position: left 1em top 50%;\n  }\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.divider > .icon {\n  margin: 0rem;\n  font-size: 1rem;\n  height: 1em;\n  vertical-align: middle;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n    Hidden\n---------------*/\n\n.ui.hidden.divider {\n  border-color: transparent !important;\n}\n.ui.hidden.divider:before,\n.ui.hidden.divider:after {\n  display: none;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.divider.inverted,\n.ui.vertical.inverted.divider,\n.ui.horizontal.inverted.divider {\n  color: #FFFFFF;\n}\n.ui.divider.inverted,\n.ui.divider.inverted:after,\n.ui.divider.inverted:before {\n  border-top-color: rgba(34, 36, 38, 0.15) !important;\n  border-left-color: rgba(34, 36, 38, 0.15) !important;\n  border-bottom-color: rgba(255, 255, 255, 0.15) !important;\n  border-right-color: rgba(255, 255, 255, 0.15) !important;\n}\n\n/*--------------\n    Fitted\n---------------*/\n\n.ui.fitted.divider {\n  margin: 0em;\n}\n\n/*--------------\n    Clearing\n---------------*/\n\n.ui.clearing.divider {\n  clear: both;\n}\n\n/*--------------\n    Section\n---------------*/\n\n.ui.section.divider {\n  margin-top: 2rem;\n  margin-bottom: 2rem;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.divider {\n  font-size: 1rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');\n}\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC');\n  }\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/dropdown.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Dropdown\n*******************************/\n\n.ui.dropdown {\n  cursor: pointer;\n  position: relative;\n  display: inline-block;\n  outline: none;\n  text-align: left;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n          transition: box-shadow 0.1s ease, width 0.1s ease;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.dropdown .menu {\n  cursor: auto;\n  position: absolute;\n  display: none;\n  outline: none;\n  top: 100%;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  margin: 0em;\n  padding: 0em 0em;\n  background: #FFFFFF;\n  font-size: 1em;\n  text-shadow: none;\n  text-align: left;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n  z-index: 11;\n  will-change: transform, opacity;\n}\n.ui.dropdown .menu > * {\n  white-space: nowrap;\n}\n\n/*--------------\n  Hidden Input\n---------------*/\n\n.ui.dropdown > input:not(.search):first-child,\n.ui.dropdown > select {\n  display: none !important;\n}\n\n/*--------------\n Dropdown Icon\n---------------*/\n\n.ui.dropdown > .dropdown.icon {\n  position: relative;\n  width: auto;\n  font-size: 0.85714286em;\n  margin: 0em 0em 0em 1em;\n}\n.ui.dropdown .menu > .item .dropdown.icon {\n  width: auto;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n.ui.dropdown .menu > .item .dropdown.icon + .text {\n  margin-right: 1em;\n}\n\n/*--------------\n      Text\n---------------*/\n\n.ui.dropdown > .text {\n  display: inline-block;\n  -webkit-transition: none;\n          transition: none;\n}\n\n/*--------------\n    Menu Item\n---------------*/\n\n.ui.dropdown .menu > .item {\n  position: relative;\n  cursor: pointer;\n  display: block;\n  border: none;\n  height: auto;\n  text-align: left;\n  border-top: none;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571rem 1.14285714rem !important;\n  font-size: 1rem;\n  text-transform: none;\n  font-weight: normal;\n  box-shadow: none;\n  -webkit-touch-callout: none;\n}\n.ui.dropdown .menu > .item:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Floated Content\n---------------*/\n\n.ui.dropdown > .text > [class*=\"right floated\"],\n.ui.dropdown .menu .item > [class*=\"right floated\"] {\n  float: right !important;\n  margin-right: 0em !important;\n  margin-left: 1em !important;\n}\n.ui.dropdown > .text > [class*=\"left floated\"],\n.ui.dropdown .menu .item > [class*=\"left floated\"] {\n  float: left !important;\n  margin-left: 0em !important;\n  margin-right: 1em !important;\n}\n.ui.dropdown .menu .item > .icon.floated,\n.ui.dropdown .menu .item > .flag.floated,\n.ui.dropdown .menu .item > .image.floated,\n.ui.dropdown .menu .item > img.floated {\n  margin-top: 0em;\n}\n\n/*--------------\n  Menu Divider\n---------------*/\n\n.ui.dropdown .menu > .header {\n  margin: 1rem 0rem 0.75rem;\n  padding: 0em 1.14285714rem;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.78571429em;\n  font-weight: bold;\n  text-transform: uppercase;\n}\n.ui.dropdown .menu > .divider {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  height: 0em;\n  margin: 0.5em 0em;\n}\n.ui.dropdown .menu > .input {\n  width: auto;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1.14285714rem 0.71428571rem;\n  min-width: 10rem;\n}\n.ui.dropdown .menu > .header + .input {\n  margin-top: 0em;\n}\n.ui.dropdown .menu > .input:not(.transparent) input {\n  padding: 0.5em 1em;\n}\n.ui.dropdown .menu > .input:not(.transparent) .button,\n.ui.dropdown .menu > .input:not(.transparent) .icon,\n.ui.dropdown .menu > .input:not(.transparent) .label {\n  padding-top: 0.5em;\n  padding-bottom: 0.5em;\n}\n\n/*-----------------\n  Item Description\n-------------------*/\n\n.ui.dropdown > .text > .description,\n.ui.dropdown .menu > .item > .description {\n  float: right;\n  margin: 0em 0em 0em 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*-----------------\n       Message\n-------------------*/\n\n.ui.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n  font-weight: normal;\n}\n.ui.dropdown .menu > .message:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n    Sub Menu\n---------------*/\n\n.ui.dropdown .menu .menu {\n  top: 0% !important;\n  left: 100% !important;\n  right: auto !important;\n  margin: 0em 0em 0em -0.5em !important;\n  border-radius: 0.28571429rem !important;\n  z-index: 21 !important;\n}\n\n/* Hide Arrow */\n.ui.dropdown .menu .menu:after {\n  display: none;\n}\n\n/*--------------\n   Sub Elements\n---------------*/\n\n\n/* Icons / Flags / Labels / Image */\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image {\n  margin-top: 0em;\n}\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-top: 0em;\n}\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-left: 0em;\n  float: none;\n  margin-right: 0.71428571rem;\n}\n\n/*--------------\n     Image\n---------------*/\n\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  display: inline-block;\n  vertical-align: middle;\n  width: auto;\n  max-height: 2em;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n\n/*--------------\n      Menu\n---------------*/\n\n\n/* Remove Menu Item Divider */\n.ui.dropdown .ui.menu > .item:before,\n.ui.menu .ui.dropdown .menu > .item:before {\n  display: none;\n}\n\n/* Prevent Menu Item Border */\n.ui.menu .ui.dropdown .menu .active.item {\n  border-left: none;\n}\n\n/* Automatically float dropdown menu right on last menu item */\n.ui.menu .right.menu .dropdown:last-child .menu,\n.ui.menu .right.dropdown.item .menu,\n.ui.buttons > .ui.dropdown:last-child .menu {\n  left: auto;\n  right: 0em;\n}\n\n/*--------------\n      Label\n---------------*/\n\n\n/* Dropdown Menu */\n.ui.label.dropdown .menu {\n  min-width: 100%;\n}\n\n/*--------------\n     Button\n---------------*/\n\n\n/* No Margin On Icon Button */\n.ui.dropdown.icon.button > .dropdown.icon {\n  margin: 0em;\n}\n.ui.button.dropdown .menu {\n  min-width: 100%;\n}\n\n\n/*******************************\n              Types\n*******************************/\n\n\n/*--------------\n    Selection\n---------------*/\n\n\n/* Displays like a select box */\n.ui.selection.dropdown {\n  cursor: pointer;\n  word-wrap: break-word;\n  line-height: 1em;\n  white-space: normal;\n  outline: 0;\n  -webkit-transform: rotateZ(0deg);\n          transform: rotateZ(0deg);\n  min-width: 14em;\n  min-height: 2.7142em;\n  background: #FFFFFF;\n  display: inline-block;\n  padding: 0.78571429em 2.6em 0.78571429em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n          transition: box-shadow 0.1s ease, width 0.1s ease;\n}\n.ui.selection.dropdown.visible,\n.ui.selection.dropdown.active {\n  z-index: 10;\n}\nselect.ui.dropdown {\n  height: 38px;\n  padding: 0.5em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  visibility: visible;\n}\n.ui.selection.dropdown > .search.icon,\n.ui.selection.dropdown > .delete.icon,\n.ui.selection.dropdown > .dropdown.icon {\n  cursor: pointer;\n  position: absolute;\n  top: auto;\n  width: auto;\n  z-index: 3;\n  margin: -0.78571429em;\n  padding: 0.78571429em;\n  right: 1em;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n\n/* Compact */\n.ui.compact.selection.dropdown {\n  min-width: 0px;\n}\n\n/*  Selection Menu */\n.ui.selection.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  border-top-width: 0px !important;\n  width: auto;\n  outline: none;\n  margin: 0px -1px;\n  min-width: calc(100% +  2px );\n  width: calc(100% +  2px );\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n.ui.selection.dropdown .menu:after,\n.ui.selection.dropdown .menu:before {\n  display: none;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.selection.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n}\n@media only screen and (max-width: 767px) {\n  .ui.selection.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.selection.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.selection.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.selection.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/* Menu Item */\n.ui.selection.dropdown .menu > .item {\n  border-top: 1px solid #FAFAFA;\n  padding: 0.71428571rem 1.14285714rem !important;\n  white-space: normal;\n  word-wrap: normal;\n}\n\n/* Hover */\n.ui.selection.dropdown:hover {\n  border-color: rgba(34, 36, 38, 0.35);\n  box-shadow: none;\n}\n\n/* Active */\n.ui.selection.active.dropdown {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n.ui.selection.active.dropdown .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Focus */\n.ui.selection.dropdown:focus {\n  border-color: #96C8DA;\n  box-shadow: none;\n}\n.ui.selection.dropdown:focus .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible */\n.ui.selection.visible.dropdown > .text:not(.default) {\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Visible Hover */\n.ui.selection.active.dropdown:hover {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n.ui.selection.active.dropdown:hover .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Dropdown Icon */\n.ui.active.selection.dropdown > .dropdown.icon,\n.ui.visible.selection.dropdown > .dropdown.icon {\n  opacity: 1;\n  z-index: 3;\n}\n\n/* Connecting Border */\n.ui.active.selection.dropdown {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n\n/*--------------\n   Searchable\n---------------*/\n\n\n/* Search Selection */\n.ui.search.dropdown {\n  min-width: '';\n}\n\n/* Search Dropdown */\n.ui.search.dropdown > input.search {\n  background: none transparent !important;\n  border: none !important;\n  box-shadow: none !important;\n  cursor: pointer;\n  top: 0em;\n  left: 0em;\n  width: 100%;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: inherit;\n}\n\n/* Text Layering */\n.ui.search.dropdown > input.search {\n  position: absolute;\n  z-index: 2;\n}\n.ui.search.dropdown > .text {\n  cursor: text;\n  position: relative;\n  z-index: 3;\n}\n\n/* Search Selection */\n.ui.search.selection.dropdown > input.search {\n  line-height: 1.2142em;\n  padding: 0.67861429em 2.6em 0.67861429em 1em;\n}\n\n/* Active/Visible Search */\n.ui.search.dropdown.active > input.search,\n.ui.search.dropdown.visible > input.search {\n  cursor: auto;\n}\n.ui.search.dropdown.active > .text,\n.ui.search.dropdown.visible > .text {\n  pointer-events: none;\n}\n\n/* Filtered Text */\n.ui.active.search.dropdown input.search:focus + .text .icon,\n.ui.active.search.dropdown input.search:focus + .text .flag {\n  opacity: 0.45;\n}\n.ui.active.search.dropdown input.search:focus + .text {\n  color: rgba(0, 0, 0, 0.4) !important;\n}\n\n/* Search Menu */\n.ui.search.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n@media only screen and (max-width: 767px) {\n  .ui.search.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.search.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.search.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.search.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/*--------------\n    Multiple\n---------------*/\n\n\n/* Multiple Selection */\n.ui.multiple.dropdown {\n  padding: 0.22620476em 2.6em 0.22620476em 0.28571429em;\n}\n.ui.multiple.dropdown .menu {\n  cursor: auto;\n}\n\n/* Multiple Search Selection */\n.ui.multiple.search.dropdown,\n.ui.multiple.search.dropdown > input.search {\n  cursor: text;\n}\n\n/* Selection Label */\n.ui.multiple.dropdown > .label {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  display: inline-block;\n  vertical-align: top;\n  white-space: normal;\n  font-size: 1em;\n  padding: 0.35714286em 0.71428571em;\n  margin: 0.21428571em 0.28571429rem 0.21428571em 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n\n/* Dropdown Icon */\n.ui.multiple.dropdown .dropdown.icon {\n  margin: 0em -0.71428571em 0em 0em;\n  padding: 0.5em;\n}\n\n/* Text */\n.ui.multiple.dropdown > .text {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n.ui.multiple.dropdown > .label ~ .text {\n  display: none;\n}\n\n/*-----------------\n  Multiple Search\n-----------------*/\n\n\n/* Prompt Text */\n.ui.multiple.search.dropdown > .text {\n  display: inline-block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  padding: inherit;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n.ui.multiple.search.dropdown > .label ~ .text {\n  display: none;\n}\n\n/* Search */\n.ui.multiple.search.dropdown > input.search {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  width: 2.2em;\n  line-height: 1.2142em;\n}\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.dropdown {\n  cursor: pointer;\n  display: inline-block;\n  color: inherit;\n}\n.ui.inline.dropdown .dropdown.icon {\n  margin: 0em 0.5em 0em 0.25em;\n  vertical-align: baseline;\n}\n.ui.inline.dropdown > .text {\n  font-weight: bold;\n}\n.ui.inline.dropdown .menu {\n  cursor: auto;\n  margin-top: 0.25em;\n  border-radius: 0.28571429rem;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n        Active\n----------------------*/\n\n\n/* Menu Item Active */\n.ui.dropdown .menu .active.item {\n  background: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n  z-index: 12;\n}\n\n/*--------------------\n        Hover\n----------------------*/\n\n\n/* Menu Item Hover */\n.ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  z-index: 13;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n\n/* Positioning */\n.ui.loading.dropdown > i.icon:before,\n.ui.loading.dropdown > i.icon:after {\n  left: 30% !important;\n}\n.ui.loading.dropdown > i.icon {\n  top: 50% !important;\n}\n.ui.multiple.loading.dropdown > i.icon:before,\n.ui.multiple.loading.dropdown > i.icon:after {\n  top: 0% !important;\n  left: 0% !important;\n}\n.ui.loading.dropdown > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.loading.dropdown > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  box-shadow: 0px 0px 0px 1px transparent;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: dropdown-spin 0.6s linear;\n          animation: dropdown-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n}\n\n/* Coupling */\n.ui.loading.dropdown.button > i.icon:before,\n.ui.loading.dropdown.button > i.icon:after {\n  display: none;\n}\n@-webkit-keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n/*--------------------\n     Default Text\n----------------------*/\n\n.ui.dropdown > .default.text,\n.ui.default.dropdown > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n.ui.dropdown:hover > .default.text,\n.ui.default.dropdown:hover > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n\n/*--------------------\n        Loading\n----------------------*/\n\n.ui.loading.dropdown > .text {\n  -webkit-transition: none;\n          transition: none;\n}\n\n/* Used To Check Position */\n.ui.dropdown .loading.menu {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n\n/*--------------------\n    Keyboard Select\n----------------------*/\n\n\n/* Selected Item */\n.ui.dropdown.selected,\n.ui.dropdown .menu .selected.item {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n    Search Filtered\n----------------------*/\n\n\n/* Filtered Item */\n.ui.dropdown > .filtered.text {\n  visibility: hidden;\n}\n.ui.dropdown .filtered.item {\n  display: none !important;\n}\n\n/*--------------------\n        Error\n----------------------*/\n\n.ui.dropdown.error,\n.ui.dropdown.error > .text,\n.ui.dropdown.error > .default.text {\n  color: #9F3A38;\n}\n.ui.selection.dropdown.error {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n.ui.selection.dropdown.error:hover {\n  border-color: #E0B4B4;\n}\n.ui.dropdown.error > .menu,\n.ui.dropdown.error > .menu .menu {\n  border-color: #E0B4B4;\n}\n.ui.dropdown.error > .menu > .item {\n  color: #9F3A38;\n}\n.ui.multiple.selection.error.dropdown > .label {\n  border-color: #E0B4B4;\n}\n\n/* Item Hover */\n.ui.dropdown.error > .menu > .item:hover {\n  background-color: #FFF2F2;\n}\n\n/* Item Active */\n.ui.dropdown.error > .menu .active.item {\n  background-color: #FDCFCF;\n}\n\n/*--------------------\n        Disabled\n----------------------*/\n\n\n/* Disabled */\n.ui.disabled.dropdown,\n.ui.dropdown .menu > .disabled.item {\n  cursor: default;\n  pointer-events: none;\n  opacity: 0.45;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Direction\n---------------*/\n\n\n/* Flyout Direction */\n.ui.dropdown .menu {\n  left: 0px;\n}\n\n/* Default Side (Right) */\n.ui.dropdown .right.menu > .menu,\n.ui.dropdown .menu .right.menu {\n  left: 100% !important;\n  right: auto !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/* Left Flyout Menu */\n.ui.dropdown > .left.menu .menu,\n.ui.dropdown .menu .left.menu {\n  left: auto !important;\n  right: 100% !important;\n  border-radius: 0.28571429rem !important;\n}\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n.ui.dropdown .item .left.dropdown.icon + .text,\n.ui.dropdown .left.menu .item .dropdown.icon + .text {\n  margin-left: 1em;\n}\n\n/*--------------\n     Upward\n---------------*/\n\n\n/* Upward Main Menu */\n.ui.upward.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Upward Sub Menu */\n.ui.dropdown .upward.menu {\n  top: auto !important;\n  bottom: 0 !important;\n}\n\n/* Active Upward */\n.ui.simple.upward.active.dropdown,\n.ui.simple.upward.dropdown:hover {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n}\n.ui.upward.dropdown.button:not(.pointing):not(.floating).active {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Selection */\n.ui.upward.selection.dropdown .menu {\n  border-top-width: 1px !important;\n  border-bottom-width: 0px !important;\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n.ui.upward.selection.dropdown:hover {\n  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);\n}\n\n/* Active Upward */\n.ui.active.upward.selection.dropdown {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Upward */\n.ui.upward.selection.dropdown.visible {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Hover Upward */\n.ui.upward.active.selection.dropdown:hover {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05);\n}\n.ui.upward.active.selection.dropdown:hover .menu {\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n\n/*--------------\n     Simple\n---------------*/\n\n\n/*  Selection Menu */\n.ui.scrolling.dropdown .menu,\n.ui.dropdown .scrolling.menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n.ui.scrolling.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  min-width: 100% !important;\n  width: auto !important;\n}\n.ui.dropdown .scrolling.menu {\n  position: static;\n  overflow-y: auto;\n  border: none;\n  box-shadow: none !important;\n  border-radius: 0 !important;\n  margin: 0 !important;\n  min-width: 100% !important;\n  width: auto !important;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.scrolling.dropdown .menu .item.item.item,\n.ui.dropdown .scrolling.menu > .item.item.item {\n  border-top: none;\n  padding-right: calc( 1.14285714rem  +  17px ) !important;\n}\n.ui.scrolling.dropdown .menu .item:first-child,\n.ui.dropdown .scrolling.menu .item:first-child {\n  border-top: none;\n}\n.ui.dropdown > .animating.menu .scrolling.menu,\n.ui.dropdown > .visible.menu .scrolling.menu {\n  display: block;\n}\n\n/* Scrollbar in IE */\n@media all and (-ms-high-contrast: none) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    min-width: calc(100% -  17px );\n  }\n}\n@media only screen and (max-width: 767px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 9.71428571rem;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 14.57142857rem;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n\n/*--------------\n     Simple\n---------------*/\n\n\n/* Displays without javascript */\n.ui.simple.dropdown .menu:before,\n.ui.simple.dropdown .menu:after {\n  display: none;\n}\n.ui.simple.dropdown .menu {\n  position: absolute;\n  display: block;\n  overflow: hidden;\n  top: -9999px !important;\n  opacity: 0;\n  width: 0;\n  height: 0;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n.ui.simple.active.dropdown,\n.ui.simple.dropdown:hover {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n.ui.simple.active.dropdown > .menu,\n.ui.simple.dropdown:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 100% !important;\n  opacity: 1;\n}\n.ui.simple.dropdown > .menu > .item:active > .menu,\n.ui.simple.dropdown:hover > .menu > .item:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 0% !important;\n  left: 100% !important;\n  opacity: 1;\n}\n.ui.simple.disabled.dropdown:hover .menu {\n  display: none;\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n}\n\n/* Visible */\n.ui.simple.visible.dropdown > .menu {\n  display: block;\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n.ui.fluid.dropdown {\n  display: block;\n  width: 100%;\n  min-width: 0em;\n}\n.ui.fluid.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.dropdown .menu {\n  left: 0;\n  right: auto;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important;\n  border-radius: 0.28571429rem !important;\n}\n.ui.floating.dropdown > .menu {\n  margin-top: 0.5em !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Pointing\n---------------*/\n\n.ui.pointing.dropdown > .menu {\n  top: 100%;\n  margin-top: 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n.ui.pointing.dropdown > .menu:after {\n  display: block;\n  position: absolute;\n  pointer-events: none;\n  content: '';\n  visibility: visible;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\n  background: #FFFFFF;\n  z-index: 2;\n}\n.ui.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 50%;\n  margin: 0em 0em 0em -0.25em;\n}\n\n/* Top Left Pointing */\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n.ui.top.left.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 1em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n}\n\n/* Top Right  Pointing */\n.ui.top.right.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  right: 0%;\n  left: auto;\n  margin: 1em 0em 0em;\n}\n.ui.top.right.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: auto;\n  right: 1em;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n}\n\n/* Left Pointing */\n.ui.left.pointing.dropdown > .menu {\n  top: 0%;\n  left: 100%;\n  right: auto;\n  margin: 0em 0em 0em 1em;\n}\n.ui.left.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(-45deg);\n      -ms-transform: rotate(-45deg);\n          transform: rotate(-45deg);\n}\n\n/* Right Pointing */\n.ui.right.pointing.dropdown > .menu {\n  top: 0%;\n  left: auto;\n  right: 100%;\n  margin: 0em 1em 0em 0em;\n}\n.ui.right.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: auto;\n  right: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(135deg);\n      -ms-transform: rotate(135deg);\n          transform: rotate(135deg);\n}\n\n/* Bottom Pointing */\n.ui.bottom.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  left: 0%;\n  right: auto;\n  margin: 0em 0em 1em;\n}\n.ui.bottom.pointing.dropdown > .menu:after {\n  top: auto;\n  bottom: -0.25em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(-135deg);\n      -ms-transform: rotate(-135deg);\n          transform: rotate(-135deg);\n}\n\n/* Reverse Sub-Menu Direction */\n.ui.bottom.pointing.dropdown > .menu .menu {\n  top: auto !important;\n  bottom: 0px !important;\n}\n\n/* Bottom Left */\n.ui.bottom.left.pointing.dropdown > .menu {\n  left: 0%;\n  right: auto;\n}\n.ui.bottom.left.pointing.dropdown > .menu:after {\n  left: 1em;\n  right: auto;\n}\n\n/* Bottom Right */\n.ui.bottom.right.pointing.dropdown > .menu {\n  right: 0%;\n  left: auto;\n}\n.ui.bottom.right.pointing.dropdown > .menu:after {\n  left: auto;\n  right: 1em;\n}\n\n/* Upward pointing */\n.ui.upward.pointing.dropdown > .menu,\n.ui.upward.top.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  margin: 0em 0em 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n.ui.upward.pointing.dropdown > .menu:after,\n.ui.upward.top.pointing.dropdown > .menu:after {\n  top: 100%;\n  bottom: auto;\n  box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15);\n  margin: -0.25em 0em 0em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n/* Dropdown Carets */\n@font-face {\n  font-family: 'Dropdown';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA) format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n.ui.dropdown > .dropdown.icon {\n  font-family: 'Dropdown';\n  line-height: 1;\n  height: 1em;\n  width: 1.23em;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n.ui.dropdown > .dropdown.icon {\n  width: auto;\n}\n.ui.dropdown > .dropdown.icon:before {\n  content: '\\f0d7';\n}\n\n/* Sub Menu */\n.ui.dropdown .menu .item .dropdown.icon:before {\n  content: '\\f0da' /*rtl:'\\f0d9'*/;\n}\n.ui.dropdown .item .left.dropdown.icon:before,\n.ui.dropdown .left.menu .item .dropdown.icon:before {\n  content: \"\\f0d9\" /*rtl:\"\\f0da\"*/;\n}\n\n/* Vertical Menu Dropdown */\n.ui.vertical.menu .dropdown.item > .dropdown.icon:before {\n  content: \"\\f0da\" /*rtl:\"\\f0d9\"*/;\n}\n/* Icons for Reference\n.dropdown.down.icon {\n  content: \"\\f0d7\";\n}\n.dropdown.up.icon {\n  content: \"\\f0d8\";\n}\n.dropdown.left.icon {\n  content: \"\\f0d9\";\n}\n.dropdown.icon.icon {\n  content: \"\\f0da\";\n}\n*/\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/dropdown.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dropdown = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = ('ontouchstart' in document.documentElement),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function(elementIndex) {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dropdown.settings, parameters)\n          : $.extend({}, $.fn.dropdown.settings),\n\n        className       = settings.className,\n        message         = settings.message,\n        fields          = settings.fields,\n        keys            = settings.keys,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        selector        = settings.selector,\n        error           = settings.error,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $text           = $module.find(selector.text),\n        $search         = $module.find(selector.search),\n        $input          = $module.find(selector.input),\n        $icon           = $module.find(selector.icon),\n\n        $combo = ($module.prev().find(selector.text).length > 0)\n          ? $module.prev().find(selector.text)\n          : $module.prev(),\n\n        $menu           = $module.children(selector.menu),\n        $item           = $menu.find(selector.item),\n\n        activated       = false,\n        itemActivated   = false,\n        internalChange  = false,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        initialLoad,\n        pageLostFocus,\n        elementNamespace,\n        id,\n        selectObserver,\n        menuObserver,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing dropdown', settings);\n\n          if( module.is.alreadySetup() ) {\n            module.setup.reference();\n          }\n          else {\n            module.setup.layout();\n            module.refreshData();\n\n            module.save.defaults();\n            module.restore.selected();\n\n            module.create.id();\n            module.bind.events();\n\n            module.observeChanges();\n            module.instantiate();\n          }\n\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of dropdown', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous dropdown', $module);\n          module.remove.tabbable();\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          $menu\n            .off(eventNamespace)\n          ;\n          $document\n            .off(elementNamespace)\n          ;\n          if(selectObserver) {\n            selectObserver.disconnect();\n          }\n          if(menuObserver) {\n            menuObserver.disconnect();\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            selectObserver = new MutationObserver(function(mutations) {\n              module.debug('<select> modified, recreating menu');\n              module.setup.select();\n            });\n            menuObserver = new MutationObserver(function(mutations) {\n              module.debug('Menu modified, updating selector cache');\n              module.refresh();\n            });\n            if(module.has.input()) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            if(module.has.menu()) {\n              menuObserver.observe($menu[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            module.debug('Setting up mutation observer', selectObserver, menuObserver);\n          }\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2, 8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          },\n          userChoice: function(values) {\n            var\n              $userChoices,\n              $userChoice,\n              isUserValue,\n              html\n            ;\n            values = values || module.get.userValues();\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            $.each(values, function(index, value) {\n              if(module.get.item(value) === false) {\n                html         = settings.templates.addition( module.add.variables(message.addResult, value) );\n                $userChoice  = $('<div />')\n                  .html(html)\n                  .attr('data-' + metadata.value, value)\n                  .attr('data-' + metadata.text, value)\n                  .addClass(className.addition)\n                  .addClass(className.item)\n                ;\n                $userChoices = ($userChoices === undefined)\n                  ? $userChoice\n                  : $userChoices.add($userChoice)\n                ;\n                module.verbose('Creating user choices for value', value, $userChoice);\n              }\n            });\n            return $userChoices;\n          },\n          userLabels: function(value) {\n            var\n              userValues = module.get.userValues()\n            ;\n            if(userValues) {\n              module.debug('Adding user labels', userValues);\n              $.each(userValues, function(index, value) {\n                module.verbose('Adding custom user value');\n                module.add.label(value, value);\n              });\n            }\n          },\n          menu: function() {\n            $menu = $('<div />')\n              .addClass(className.menu)\n              .appendTo($module)\n            ;\n          }\n        },\n\n        search: function(query) {\n          query = (query !== undefined)\n            ? query\n            : module.get.query()\n          ;\n          module.verbose('Searching for query', query);\n          module.filter(query);\n        },\n\n        select: {\n          firstUnfiltered: function() {\n            module.verbose('Selecting first non-filtered element');\n            module.remove.selectedItem();\n            $item\n              .not(selector.unselectable)\n                .eq(0)\n                .addClass(className.selected)\n            ;\n          },\n          nextAvailable: function($selected) {\n            $selected = $selected.eq(0);\n            var\n              $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0),\n              $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0),\n              hasNext        = ($nextAvailable.length > 0)\n            ;\n            if(hasNext) {\n              module.verbose('Moving selection to', $nextAvailable);\n              $nextAvailable.addClass(className.selected);\n            }\n            else {\n              module.verbose('Moving selection to', $prevAvailable);\n              $prevAvailable.addClass(className.selected);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug : settings.debug,\n                on    : false\n              }\n            ;\n            module.verbose('First request, initializing API');\n            $module\n              .api(apiSettings)\n            ;\n          },\n          layout: function() {\n            if( $module.is('select') ) {\n              module.setup.select();\n              module.setup.returnedObject();\n            }\n            if( !module.has.menu() ) {\n              module.create.menu();\n            }\n            if( module.is.search() && !module.has.search() ) {\n              module.verbose('Adding search input');\n              $search = $('<input />')\n                .addClass(className.search)\n                .prop('autocomplete', 'off')\n                .insertBefore($text)\n              ;\n            }\n            if(settings.allowTab) {\n              module.set.tabbable();\n            }\n          },\n          select: function() {\n            var\n              selectValues  = module.get.selectValues()\n            ;\n            module.debug('Dropdown initialized on a select', selectValues);\n            if( $module.is('select') ) {\n              $input = $module;\n            }\n            // see if select is placed correctly already\n            if($input.parent(selector.dropdown).length > 0) {\n              module.debug('UI dropdown already exists. Creating dropdown menu only');\n              $module = $input.closest(selector.dropdown);\n              if( !module.has.menu() ) {\n                module.create.menu();\n              }\n              $menu = $module.children(selector.menu);\n              module.setup.menu(selectValues);\n            }\n            else {\n              module.debug('Creating entire dropdown from select');\n              $module = $('<div />')\n                .attr('class', $input.attr('class') )\n                .addClass(className.selection)\n                .addClass(className.dropdown)\n                .html( templates.dropdown(selectValues) )\n                .insertBefore($input)\n              ;\n              if($input.hasClass(className.multiple) && $input.prop('multiple') === false) {\n                module.error(error.missingMultiple);\n                $input.prop('multiple', true);\n              }\n              if($input.is('[multiple]')) {\n                module.set.multiple();\n              }\n              if ($input.prop('disabled')) {\n                module.debug('Disabling dropdown')\n                $module.addClass(className.disabled)\n              }\n              $input\n                .removeAttr('class')\n                .detach()\n                .prependTo($module)\n              ;\n            }\n            module.refresh();\n          },\n          menu: function(values) {\n            $menu.html( templates.menu(values, fields));\n            $item = $menu.find(selector.item);\n          },\n          reference: function() {\n            module.debug('Dropdown behavior was called on select, replacing with closest dropdown');\n            // replace module reference\n            $module = $module.parent(selector.dropdown);\n            module.refresh();\n            module.setup.returnedObject();\n            // invoke method in context of current instance\n            if(methodInvoked) {\n              instance = module;\n              module.invoke(query);\n            }\n          },\n          returnedObject: function() {\n            var\n              $firstModules = $allModules.slice(0, elementIndex),\n              $lastModules = $allModules.slice(elementIndex + 1)\n            ;\n            // adjust all modules to use correct reference\n            $allModules = $firstModules.add($module).add($lastModules);\n          }\n        },\n\n        refresh: function() {\n          module.refreshSelectors();\n          module.refreshData();\n        },\n\n        refreshSelectors: function() {\n          module.verbose('Refreshing selector cache');\n          $text   = $module.find(selector.text);\n          $search = $module.find(selector.search);\n          $input  = $module.find(selector.input);\n          $icon   = $module.find(selector.icon);\n          $combo  = ($module.prev().find(selector.text).length > 0)\n            ? $module.prev().find(selector.text)\n            : $module.prev()\n          ;\n          $menu    = $module.children(selector.menu);\n          $item    = $menu.find(selector.item);\n        },\n\n        refreshData: function() {\n          module.verbose('Refreshing cached metadata');\n          $item\n            .removeData(metadata.text)\n            .removeData(metadata.value)\n          ;\n          $module\n            .removeData(metadata.defaultText)\n            .removeData(metadata.defaultValue)\n            .removeData(metadata.placeholderText)\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Toggling menu visibility');\n          if( !module.is.active() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.can.show() && !module.is.active() ) {\n            module.debug('Showing dropdown');\n            if(module.is.multiple() && !module.has.search() && module.is.allFiltered()) {\n              return true;\n            }\n            if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) {\n              module.remove.message();\n            }\n            if(settings.onShow.call(element) !== false) {\n              module.animate.show(function() {\n                if( module.can.click() ) {\n                  module.bind.intent();\n                }\n                module.set.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.active() ) {\n            module.debug('Hiding dropdown');\n            if(settings.onHide.call(element) !== false) {\n              module.animate.hide(function() {\n                module.remove.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hideOthers: function() {\n          module.verbose('Finding other dropdowns to hide');\n          $allModules\n            .not($module)\n              .has(selector.menu + '.' + className.visible)\n                .dropdown('hide')\n          ;\n        },\n\n        hideMenu: function() {\n          module.verbose('Hiding menu  instantaneously');\n          module.remove.active();\n          module.remove.visible();\n          $menu.transition('hide');\n        },\n\n        hideSubMenus: function() {\n          var\n            $subMenus = $menu.children(selector.item).find(selector.menu)\n          ;\n          module.verbose('Hiding sub menus', $subMenus);\n          $subMenus.transition('hide');\n        },\n\n        bind: {\n          events: function() {\n            if(hasTouch) {\n              module.bind.touchEvents();\n            }\n            module.bind.keyboardEvents();\n            module.bind.inputEvents();\n            module.bind.mouseEvents();\n          },\n          touchEvents: function() {\n            module.debug('Touch device detected binding additional touch events');\n            if( module.is.searchSelection() ) {\n              // do nothing special yet\n            }\n            else if( module.is.single() ) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.test.toggle)\n              ;\n            }\n            $menu\n              .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)\n            ;\n          },\n          keyboardEvents: function() {\n            module.verbose('Binding keyboard events');\n            $module\n              .on('keydown' + eventNamespace, module.event.keydown)\n            ;\n            if( module.has.search() ) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input)\n              ;\n            }\n            if( module.is.multiple() ) {\n              $document\n                .on('keydown' + elementNamespace, module.event.document.keydown)\n              ;\n            }\n          },\n          inputEvents: function() {\n            module.verbose('Binding input change events');\n            $module\n              .on('change' + eventNamespace, selector.input, module.event.change)\n            ;\n          },\n          mouseEvents: function() {\n            module.verbose('Binding mouse events');\n            if(module.is.multiple()) {\n              $module\n                .on('click'   + eventNamespace, selector.label,  module.event.label.click)\n                .on('click'   + eventNamespace, selector.remove, module.event.remove.click)\n              ;\n            }\n            if( module.is.searchSelection() ) {\n              $module\n                .on('mousedown' + eventNamespace, selector.menu,   module.event.menu.mousedown)\n                .on('mouseup'   + eventNamespace, selector.menu,   module.event.menu.mouseup)\n                .on('click'     + eventNamespace, selector.icon,   module.event.icon.click)\n                .on('click'     + eventNamespace, selector.search, module.show)\n                .on('focus'     + eventNamespace, selector.search, module.event.search.focus)\n                .on('blur'      + eventNamespace, selector.search, module.event.search.blur)\n                .on('click'     + eventNamespace, selector.text,   module.event.text.focus)\n              ;\n              if(module.is.multiple()) {\n                $module\n                  .on('click' + eventNamespace, module.event.click)\n                ;\n              }\n            }\n            else {\n              if(settings.on == 'click') {\n                $module\n                  .on('click' + eventNamespace, selector.icon, module.event.icon.click)\n                  .on('click' + eventNamespace, module.event.test.toggle)\n                ;\n              }\n              else if(settings.on == 'hover') {\n                $module\n                  .on('mouseenter' + eventNamespace, module.delay.show)\n                  .on('mouseleave' + eventNamespace, module.delay.hide)\n                ;\n              }\n              else {\n                $module\n                  .on(settings.on + eventNamespace, module.toggle)\n                ;\n              }\n              $module\n                .on('mousedown' + eventNamespace, module.event.mousedown)\n                .on('mouseup'   + eventNamespace, module.event.mouseup)\n                .on('focus'     + eventNamespace, module.event.focus)\n                .on('blur'      + eventNamespace, module.event.blur)\n              ;\n            }\n            $menu\n              .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)\n              .on('click'      + eventNamespace, selector.item, module.event.item.click)\n            ;\n          },\n          intent: function() {\n            module.verbose('Binding hide intent event to document');\n            if(hasTouch) {\n              $document\n                .on('touchstart' + elementNamespace, module.event.test.touch)\n                .on('touchmove'  + elementNamespace, module.event.test.touch)\n              ;\n            }\n            $document\n              .on('click' + elementNamespace, module.event.test.hide)\n            ;\n          }\n        },\n\n        unbind: {\n          intent: function() {\n            module.verbose('Removing hide intent event from document');\n            if(hasTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n                .off('touchmove' + elementNamespace)\n              ;\n            }\n            $document\n              .off('click' + elementNamespace)\n            ;\n          }\n        },\n\n        filter: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            afterFiltered = function() {\n              if(module.is.multiple()) {\n                module.filterActive();\n              }\n              module.select.firstUnfiltered();\n              if( module.has.allResultsFiltered() ) {\n                if( settings.onNoResults.call(element, searchTerm) ) {\n                  if(!settings.allowAdditions) {\n                    module.verbose('All items filtered, showing message', searchTerm);\n                    module.add.message(message.noResults);\n                  }\n                }\n                else {\n                  module.verbose('All items filtered, hiding dropdown', searchTerm);\n                  module.hideMenu();\n                }\n              }\n              else {\n                module.remove.message();\n              }\n              if(settings.allowAdditions) {\n                module.add.userSuggestion(query);\n              }\n              if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) {\n                module.show();\n              }\n            }\n          ;\n          if(settings.useLabels && module.has.maxSelections()) {\n            return;\n          }\n          if(settings.apiSettings) {\n            if( module.can.useAPI() ) {\n              module.queryRemote(searchTerm, function() {\n                afterFiltered();\n              });\n            }\n            else {\n              module.error(error.noAPI);\n            }\n          }\n          else {\n            module.filterItems(searchTerm);\n            afterFiltered();\n          }\n        },\n\n        queryRemote: function(query, callback) {\n          var\n            apiSettings = {\n              errorDuration        : false,\n              throttle             : settings.throttle,\n              urlData              : {\n                query: query\n              },\n              onError: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onFailure: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onSuccess : function(response) {\n                module.remove.message();\n                module.setup.menu({\n                  values: response[fields.remoteValues]\n                });\n                callback();\n              }\n            }\n          ;\n          if( !$module.api('get request') ) {\n            module.setup.api();\n          }\n          apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings);\n          $module\n            .api('setting', apiSettings)\n            .api('query')\n          ;\n        },\n\n        filterItems: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            results          =  null,\n            escapedTerm      = module.escape.regExp(searchTerm),\n            beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm')\n          ;\n          // avoid loop if we're matching nothing\n          if( module.has.query() ) {\n            results = [];\n\n            module.verbose('Searching for matching values', searchTerm);\n            $item\n              .each(function(){\n                var\n                  $choice = $(this),\n                  text,\n                  value\n                ;\n                if(settings.match == 'both' || settings.match == 'text') {\n                  text = String(module.get.choiceText($choice, false));\n                  if(text.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, text)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n                if(settings.match == 'both' || settings.match == 'value') {\n                  value = String(module.get.choiceValue($choice, text));\n\n                  if(value.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, value)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n              })\n            ;\n          }\n          module.debug('Showing only matched items', searchTerm);\n          module.remove.filteredItem();\n          if(results) {\n            $item\n              .not(results)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        filterActive: function() {\n          if(settings.useLabels) {\n            $item.filter('.' + className.active)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        focusSearch: function() {\n          if( module.is.search() && !module.is.focusedOnSearch() ) {\n            $search[0].focus();\n          }\n        },\n\n        forceSelection: function() {\n          var\n            $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0),\n            $activeItem        = $item.not(className.filtered).filter('.' + className.active).eq(0),\n            $selectedItem      = ($currentlySelected.length > 0)\n              ? $currentlySelected\n              : $activeItem,\n            hasSelected = ($selectedItem.size() > 0)\n          ;\n          if( module.has.query() ) {\n            if(hasSelected) {\n              module.debug('Forcing partial selection to selected item', $selectedItem);\n              module.event.item.click.call($selectedItem);\n              return;\n            }\n            else {\n              module.remove.searchTerm();\n            }\n          }\n          module.hide();\n        },\n\n        event: {\n          change: function() {\n            if(!internalChange) {\n              module.debug('Input changed, updating selection');\n              module.set.selected();\n            }\n          },\n          focus: function() {\n            if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) {\n              module.show();\n            }\n          },\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            // focus search\n            if($target.is($module) && !module.is.focusedOnSearch()) {\n              module.focusSearch();\n            }\n          },\n          blur: function(event) {\n            pageLostFocus = (document.activeElement === this);\n            if(!activated && !pageLostFocus) {\n              module.remove.activeLabel();\n              module.hide();\n            }\n          },\n          // prevents focus callback from occurring on mousedown\n          mousedown: function() {\n            activated = true;\n          },\n          mouseup: function() {\n            activated = false;\n          },\n          search: {\n            focus: function() {\n              activated = true;\n              if(module.is.multiple()) {\n                module.remove.activeLabel();\n              }\n              if(settings.showOnFocus) {\n                module.search();\n                module.show();\n              }\n            },\n            blur: function(event) {\n              pageLostFocus = (document.activeElement === this);\n              if(!itemActivated && !pageLostFocus) {\n                if(module.is.multiple()) {\n                  module.remove.activeLabel();\n                  module.hide();\n                }\n                else if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n                else {\n                  module.hide();\n                }\n              }\n              else if(pageLostFocus) {\n                if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n              }\n            }\n          },\n          icon: {\n            click: function(event) {\n              module.toggle();\n              event.stopPropagation();\n            }\n          },\n          text: {\n            focus: function(event) {\n              activated = true;\n              module.focusSearch();\n            }\n          },\n          input: function(event) {\n            if(module.is.multiple() || module.is.searchSelection()) {\n              module.set.filtered();\n            }\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.search, settings.delay.search);\n          },\n          label: {\n            click: function(event) {\n              var\n                $label        = $(this),\n                $labels       = $module.find(selector.label),\n                $activeLabels = $labels.filter('.' + className.active),\n                $nextActive   = $label.nextAll('.' + className.active),\n                $prevActive   = $label.prevAll('.' + className.active),\n                $range = ($nextActive.length > 0)\n                  ? $label.nextUntil($nextActive).add($activeLabels).add($label)\n                  : $label.prevUntil($prevActive).add($activeLabels).add($label)\n              ;\n              if(event.shiftKey) {\n                $activeLabels.removeClass(className.active);\n                $range.addClass(className.active);\n              }\n              else if(event.ctrlKey) {\n                $label.toggleClass(className.active);\n              }\n              else {\n                $activeLabels.removeClass(className.active);\n                $label.addClass(className.active);\n              }\n              settings.onLabelSelect.apply(this, $labels.filter('.' + className.active));\n            }\n          },\n          remove: {\n            click: function() {\n              var\n                $label = $(this).parent()\n              ;\n              if( $label.hasClass(className.active) ) {\n                // remove all selected labels\n                module.remove.activeLabels();\n              }\n              else {\n                // remove this label only\n                module.remove.activeLabels( $label );\n              }\n            }\n          },\n          test: {\n            toggle: function(event) {\n              var\n                toggleBehavior = (module.is.multiple())\n                  ? module.show\n                  : module.toggle\n              ;\n              if( module.determine.eventOnElement(event, toggleBehavior) ) {\n                event.preventDefault();\n              }\n            },\n            touch: function(event) {\n              module.determine.eventOnElement(event, function() {\n                if(event.type == 'touchstart') {\n                  module.timer = setTimeout(function() {\n                    module.hide();\n                  }, settings.delay.touch);\n                }\n                else if(event.type == 'touchmove') {\n                  clearTimeout(module.timer);\n                }\n              });\n              event.stopPropagation();\n            },\n            hide: function(event) {\n              module.determine.eventInModule(event, module.hide);\n            }\n          },\n          menu: {\n            mousedown: function() {\n              itemActivated = true;\n            },\n            mouseup: function() {\n              itemActivated = false;\n            }\n          },\n          item: {\n            mouseenter: function(event) {\n              var\n                $subMenu    = $(this).children(selector.menu),\n                $otherMenus = $(this).siblings(selector.item).children(selector.menu)\n              ;\n              if( $subMenu.length > 0 ) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Showing sub-menu', $subMenu);\n                  $.each($otherMenus, function() {\n                    module.animate.hide(false, $(this));\n                  });\n                  module.animate.show(false,  $subMenu);\n                }, settings.delay.show);\n                event.preventDefault();\n              }\n            },\n            mouseleave: function(event) {\n              var\n                $subMenu = $(this).children(selector.menu)\n              ;\n              if($subMenu.length > 0) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Hiding sub-menu', $subMenu);\n                  module.animate.hide(false,  $subMenu);\n                }, settings.delay.hide);\n              }\n            },\n            touchend: function() {\n            },\n            click: function (event) {\n              var\n                $choice        = $(this),\n                $target        = (event)\n                  ? $(event.target)\n                  : $(''),\n                $subMenu       = $choice.find(selector.menu),\n                text           = module.get.choiceText($choice),\n                value          = module.get.choiceValue($choice, text),\n                hasSubMenu     = ($subMenu.length > 0),\n                isBubbledEvent = ($subMenu.find($target).length > 0)\n              ;\n              if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) {\n                if(!settings.useLabels) {\n                  module.remove.filteredItem();\n                  module.remove.searchTerm();\n                  module.set.scrollPosition($choice);\n                }\n                module.determine.selectAction.call(this, text, value);\n              }\n            }\n          },\n\n          document: {\n            // label selection should occur even when element has no focus\n            keydown: function(event) {\n              var\n                pressedKey    = event.which,\n                isShortcutKey = module.is.inObject(pressedKey, keys)\n              ;\n              if(isShortcutKey) {\n                var\n                  $label            = $module.find(selector.label),\n                  $activeLabel      = $label.filter('.' + className.active),\n                  activeValue       = $activeLabel.data(metadata.value),\n                  labelIndex        = $label.index($activeLabel),\n                  labelCount        = $label.length,\n                  hasActiveLabel    = ($activeLabel.length > 0),\n                  hasMultipleActive = ($activeLabel.length > 1),\n                  isFirstLabel      = (labelIndex === 0),\n                  isLastLabel       = (labelIndex + 1 == labelCount),\n                  isSearch          = module.is.searchSelection(),\n                  isFocusedOnSearch = module.is.focusedOnSearch(),\n                  isFocused         = module.is.focused(),\n                  caretAtStart      = (isFocusedOnSearch && module.get.caretPosition() === 0),\n                  $nextLabel\n                ;\n                if(isSearch && !hasActiveLabel && !isFocusedOnSearch) {\n                  return;\n                }\n\n                if(pressedKey == keys.leftArrow) {\n                  // activate previous label\n                  if((isFocused || caretAtStart) && !hasActiveLabel) {\n                    module.verbose('Selecting previous label');\n                    $label.last().addClass(className.active);\n                  }\n                  else if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting previous label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding previous label to selection');\n                    }\n                    if(isFirstLabel && !hasMultipleActive) {\n                      $activeLabel.addClass(className.active);\n                    }\n                    else {\n                      $activeLabel.prev(selector.siblingLabel)\n                        .addClass(className.active)\n                        .end()\n                      ;\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.rightArrow) {\n                  // activate first label\n                  if(isFocused && !hasActiveLabel) {\n                    $label.first().addClass(className.active);\n                  }\n                  // activate next label\n                  if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting next label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding next label to selection');\n                    }\n                    if(isLastLabel) {\n                      if(isSearch) {\n                        if(!isFocusedOnSearch) {\n                          module.focusSearch();\n                        }\n                        else {\n                          $label.removeClass(className.active);\n                        }\n                      }\n                      else if(hasMultipleActive) {\n                        $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                      }\n                      else {\n                        $activeLabel.addClass(className.active);\n                      }\n                    }\n                    else {\n                      $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) {\n                  if(hasActiveLabel) {\n                    module.verbose('Removing active labels');\n                    if(isLastLabel) {\n                      if(isSearch && !isFocusedOnSearch) {\n                        module.focusSearch();\n                      }\n                    }\n                    $activeLabel.last().next(selector.siblingLabel).addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                    event.preventDefault();\n                  }\n                  else if(caretAtStart && !hasActiveLabel && pressedKey == keys.backspace) {\n                    module.verbose('Removing last label on input backspace');\n                    $activeLabel = $label.last().addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                  }\n                }\n                else {\n                  $activeLabel.removeClass(className.active);\n                }\n              }\n            }\n          },\n\n          keydown: function(event) {\n            var\n              pressedKey    = event.which,\n              isShortcutKey = module.is.inObject(pressedKey, keys)\n            ;\n            if(isShortcutKey) {\n              var\n                $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0),\n                $activeItem        = $menu.children('.' + className.active).eq(0),\n                $selectedItem      = ($currentlySelected.length > 0)\n                  ? $currentlySelected\n                  : $activeItem,\n                $visibleItems = ($selectedItem.length > 0)\n                  ? $selectedItem.siblings(':not(.' + className.filtered +')').andSelf()\n                  : $menu.children(':not(.' + className.filtered +')'),\n                $subMenu             = $selectedItem.children(selector.menu),\n                $parentMenu          = $selectedItem.closest(selector.menu),\n                inVisibleMenu        = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0),\n                hasSubMenu           = ($subMenu.length> 0),\n                hasSelectedItem      = ($selectedItem.length > 0),\n                selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),\n                delimiterPressed     = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()),\n                $nextItem,\n                isSubMenuItem,\n                newIndex\n              ;\n              // visible menu keyboard shortcuts\n              if( module.is.visible() ) {\n\n                // enter (select or open sub-menu)\n                if(pressedKey == keys.enter || delimiterPressed) {\n                  if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {\n                    module.verbose('Pressed enter on unselectable category, opening sub menu');\n                    pressedKey = keys.rightArrow;\n                  }\n                  else if(selectedIsSelectable) {\n                    module.verbose('Selecting item from keyboard shortcut', $selectedItem);\n                    module.event.item.click.call($selectedItem, event);\n                    if(module.is.searchSelection()) {\n                      module.remove.searchTerm();\n                    }\n                  }\n                  event.preventDefault();\n                }\n\n                // left arrow (hide sub-menu)\n                if(pressedKey == keys.leftArrow) {\n\n                  isSubMenuItem = ($parentMenu[0] !== $menu[0]);\n\n                  if(isSubMenuItem) {\n                    module.verbose('Left key pressed, closing sub-menu');\n                    module.animate.hide(false,  $parentMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $parentMenu\n                      .closest(selector.item)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // right arrow (show sub-menu)\n                if(pressedKey == keys.rightArrow) {\n                  if(hasSubMenu) {\n                    module.verbose('Right key pressed, opening sub-menu');\n                    module.animate.show(false,  $subMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $subMenu\n                      .find(selector.item).eq(0)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // up arrow (traverse menu up)\n                if(pressedKey == keys.upArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($visibleItems.index( $nextItem ) < 0) {\n                    module.verbose('Up key pressed but reached top of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Up key pressed, changing active item');\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // down arrow (traverse menu down)\n                if(pressedKey == keys.downArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($nextItem.length === 0) {\n                    module.verbose('Down key pressed but reached bottom of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Down key pressed, changing active item');\n                    $item\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // page down (show next page)\n                if(pressedKey == keys.pageUp) {\n                  module.scrollPage('up');\n                  event.preventDefault();\n                }\n                if(pressedKey == keys.pageDown) {\n                  module.scrollPage('down');\n                  event.preventDefault();\n                }\n\n                // escape (close menu)\n                if(pressedKey == keys.escape) {\n                  module.verbose('Escape key pressed, closing dropdown');\n                  module.hide();\n                }\n\n              }\n              else {\n                // delimiter key\n                if(delimiterPressed) {\n                  event.preventDefault();\n                }\n                // down arrow (open menu)\n                if(pressedKey == keys.downArrow) {\n                  module.verbose('Down key pressed, showing dropdown');\n                  module.show();\n                  event.preventDefault();\n                }\n              }\n            }\n            else {\n              if( module.is.selection() && !module.is.search() ) {\n                module.set.selectedLetter( String.fromCharCode(pressedKey) );\n              }\n            }\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        determine: {\n          selectAction: function(text, value) {\n            module.verbose('Determining action', settings.action);\n            if( $.isFunction( module.action[settings.action] ) ) {\n              module.verbose('Triggering preset action', settings.action, text, value);\n              module.action[ settings.action ].call(this, text, value);\n            }\n            else if( $.isFunction(settings.action) ) {\n              module.verbose('Triggering user action', settings.action, text, value);\n              settings.action.call(this, text, value);\n            }\n            else {\n              module.error(error.action, settings.action);\n            }\n          },\n          eventInModule: function(event, callback) {\n            var\n              $target    = $(event.target),\n              inDocument = ($target.closest(document.documentElement).length > 0),\n              inModule   = ($target.closest($module).length > 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(inDocument && !inModule) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown, canceling callback');\n              return false;\n            }\n          },\n          eventOnElement: function(event, callback) {\n            var\n              $target    = $(event.target),\n              $label     = $target.closest(selector.siblingLabel),\n              notOnLabel = ($module.find($label).length === 0),\n              notInMenu  = ($target.closest($menu).length === 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(notOnLabel && notInMenu) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown menu, canceling callback');\n              return false;\n            }\n          }\n        },\n\n        action: {\n\n          nothing: function() {},\n\n          activate: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            if( module.can.activate( $(this) ) ) {\n              module.set.selected(value, $(this));\n              if(module.is.multiple() && !module.is.allFiltered()) {\n                return;\n              }\n              else {\n                module.hideAndClear();\n              }\n            }\n          },\n\n          select: function(text, value) {\n            // mimics action.activate but does not select text\n            module.action.activate.call(this);\n          },\n\n          combo: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            module.set.selected(value, $(this));\n            module.hideAndClear();\n          },\n\n          hide: function(text, value) {\n            module.set.value(value);\n            module.hideAndClear();\n          }\n\n        },\n\n        get: {\n          id: function() {\n            return id;\n          },\n          defaultText: function() {\n            return $module.data(metadata.defaultText);\n          },\n          defaultValue: function() {\n            return $module.data(metadata.defaultValue);\n          },\n          placeholderText: function() {\n            return $module.data(metadata.placeholderText) || '';\n          },\n          text: function() {\n            return $text.text();\n          },\n          query: function() {\n            return $.trim($search.val());\n          },\n          searchWidth: function(characterCount) {\n            return (characterCount * settings.glyphWidth) + 'em';\n          },\n          selectionCount: function() {\n            var\n              values = module.get.values(),\n              count\n            ;\n            count = ( module.is.multiple() )\n              ? $.isArray(values)\n                ? values.length\n                : 0\n              : (module.get.value() !== '')\n                ? 1\n                : 0\n            ;\n            return count;\n          },\n          transition: function($subMenu) {\n            return (settings.transition == 'auto')\n              ? module.is.upward($subMenu)\n                ? 'slide up'\n                : 'slide down'\n              : settings.transition\n            ;\n          },\n          userValues: function() {\n            var\n              values = module.get.values()\n            ;\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            return $.grep(values, function(value) {\n              return (module.get.item(value) === false);\n            });\n          },\n          uniqueArray: function(array) {\n            return $.grep(array, function (value, index) {\n                return $.inArray(value, array) === index;\n            });\n          },\n          caretPosition: function() {\n            var\n              input = $search.get(0),\n              range,\n              rangeLength\n            ;\n            if('selectionStart' in input) {\n              return input.selectionStart;\n            }\n            else if (document.selection) {\n              input.focus();\n              range       = document.selection.createRange();\n              rangeLength = range.text.length;\n              range.moveStart('character', -input.value.length);\n              return range.text.length - rangeLength;\n            }\n          },\n          value: function() {\n            var\n              value = ($input.length > 0)\n                ? $input.val()\n                : $module.data(metadata.value)\n            ;\n            // prevents placeholder element from being selected when multiple\n            if($.isArray(value) && value.length === 1 && value[0] === '') {\n              return '';\n            }\n            return value;\n          },\n          values: function() {\n            var\n              value = module.get.value()\n            ;\n            if(value === '') {\n              return '';\n            }\n            return ( !module.has.selectInput() && module.is.multiple() )\n              ? (typeof value == 'string') // delimited string\n                ? value.split(settings.delimiter)\n                : ''\n              : value\n            ;\n          },\n          remoteValues: function() {\n            var\n              values = module.get.values(),\n              remoteValues = false\n            ;\n            if(values) {\n              if(typeof values == 'string') {\n                values = [values];\n              }\n              remoteValues = {};\n              $.each(values, function(index, value) {\n                var\n                  name = module.read.remoteData(value)\n                ;\n                module.verbose('Restoring value from session data', name, value);\n                remoteValues[value] = (name)\n                  ? name\n                  : value\n                ;\n              });\n            }\n            return remoteValues;\n          },\n          choiceText: function($choice, preserveHTML) {\n            preserveHTML = (preserveHTML !== undefined)\n              ? preserveHTML\n              : settings.preserveHTML\n            ;\n            if($choice) {\n              if($choice.find(selector.menu).length > 0) {\n                module.verbose('Retreiving text of element with sub-menu');\n                $choice = $choice.clone();\n                $choice.find(selector.menu).remove();\n                $choice.find(selector.menuIcon).remove();\n              }\n              return ($choice.data(metadata.text) !== undefined)\n                ? $choice.data(metadata.text)\n                : (preserveHTML)\n                  ? $.trim($choice.html())\n                  : $.trim($choice.text())\n              ;\n            }\n          },\n          choiceValue: function($choice, choiceText) {\n            choiceText = choiceText || module.get.choiceText($choice);\n            if(!$choice) {\n              return false;\n            }\n            return ($choice.data(metadata.value) !== undefined)\n              ? String( $choice.data(metadata.value) )\n              : (typeof choiceText === 'string')\n                ? $.trim(choiceText.toLowerCase())\n                : String(choiceText)\n            ;\n          },\n          inputEvent: function() {\n            var\n              input = $search[0]\n            ;\n            if(input) {\n              return (input.oninput !== undefined)\n                ? 'input'\n                : (input.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n              ;\n            }\n            return false;\n          },\n          selectValues: function() {\n            var\n              select = {}\n            ;\n            select.values = [];\n            $module\n              .find('option')\n                .each(function() {\n                  var\n                    $option  = $(this),\n                    name     = $option.html(),\n                    disabled = $option.attr('disabled'),\n                    value    = ( $option.attr('value') !== undefined )\n                      ? $option.attr('value')\n                      : name\n                  ;\n                  if(settings.placeholder === 'auto' && value === '') {\n                    select.placeholder = name;\n                  }\n                  else {\n                    select.values.push({\n                      name     : name,\n                      value    : value,\n                      disabled : disabled\n                    });\n                  }\n                })\n            ;\n            if(settings.placeholder && settings.placeholder !== 'auto') {\n              module.debug('Setting placeholder value to', settings.placeholder);\n              select.placeholder = settings.placeholder;\n            }\n            if(settings.sortSelect) {\n              select.values.sort(function(a, b) {\n                return (a.name > b.name)\n                  ? 1\n                  : -1\n                ;\n              });\n              module.debug('Retrieved and sorted values from select', select);\n            }\n            else {\n              module.debug('Retreived values from select', select);\n            }\n            return select;\n          },\n          activeItem: function() {\n            return $item.filter('.'  + className.active);\n          },\n          selectedItem: function() {\n            var\n              $selectedItem = $item.not(selector.unselectable).filter('.'  + className.selected)\n            ;\n            return ($selectedItem.length > 0)\n              ? $selectedItem\n              : $item.eq(0)\n            ;\n          },\n          itemWithAdditions: function(value) {\n            var\n              $items       = module.get.item(value),\n              $userItems   = module.create.userChoice(value),\n              hasUserItems = ($userItems && $userItems.length > 0)\n            ;\n            if(hasUserItems) {\n              $items = ($items.length > 0)\n                ? $items.add($userItems)\n                : $userItems\n              ;\n            }\n            return $items;\n          },\n          item: function(value, strict) {\n            var\n              $selectedItem = false,\n              shouldSearch,\n              isMultiple\n            ;\n            value = (value !== undefined)\n              ? value\n              : ( module.get.values() !== undefined)\n                ? module.get.values()\n                : module.get.text()\n            ;\n            shouldSearch = (isMultiple)\n              ? (value.length > 0)\n              : (value !== undefined && value !== null)\n            ;\n            isMultiple = (module.is.multiple() && $.isArray(value));\n            strict     = (value === '' || value === 0)\n              ? true\n              : strict || false\n            ;\n            if(shouldSearch) {\n              $item\n                .each(function() {\n                  var\n                    $choice       = $(this),\n                    optionText    = module.get.choiceText($choice),\n                    optionValue   = module.get.choiceValue($choice, optionText)\n                  ;\n                  // safe early exit\n                  if(optionValue === null || optionValue === undefined) {\n                    return;\n                  }\n                  if(isMultiple) {\n                    if($.inArray( String(optionValue), value) !== -1 || $.inArray(optionText, value) !== -1) {\n                      $selectedItem = ($selectedItem)\n                        ? $selectedItem.add($choice)\n                        : $choice\n                      ;\n                    }\n                  }\n                  else if(strict) {\n                    module.verbose('Ambiguous dropdown value using strict type check', $choice, value);\n                    if( optionValue === value || optionText === value) {\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                  else {\n                    if( String(optionValue) == String(value) || optionText == value) {\n                      module.verbose('Found select item by value', optionValue, value);\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                })\n              ;\n            }\n            return $selectedItem;\n          }\n        },\n\n        check: {\n          maxSelections: function(selectionCount) {\n            if(settings.maxSelections) {\n              selectionCount = (selectionCount !== undefined)\n                ? selectionCount\n                : module.get.selectionCount()\n              ;\n              if(selectionCount >= settings.maxSelections) {\n                module.debug('Maximum selection count reached');\n                if(settings.useLabels) {\n                  $item.addClass(className.filtered);\n                  module.add.message(message.maxSelections);\n                }\n                return true;\n              }\n              else {\n                module.verbose('No longer at maximum selection count');\n                module.remove.message();\n                module.remove.filteredItem();\n                if(module.is.searchSelection()) {\n                  module.filterItems();\n                }\n                return false;\n              }\n            }\n            return true;\n          }\n        },\n\n        restore: {\n          defaults: function() {\n            module.clear();\n            module.restore.defaultText();\n            module.restore.defaultValue();\n          },\n          defaultText: function() {\n            var\n              defaultText     = module.get.defaultText(),\n              placeholderText = module.get.placeholderText\n            ;\n            if(defaultText === placeholderText) {\n              module.debug('Restoring default placeholder text', defaultText);\n              module.set.placeholderText(defaultText);\n            }\n            else {\n              module.debug('Restoring default text', defaultText);\n              module.set.text(defaultText);\n            }\n          },\n          defaultValue: function() {\n            var\n              defaultValue = module.get.defaultValue()\n            ;\n            if(defaultValue !== undefined) {\n              module.debug('Restoring default value', defaultValue);\n              if(defaultValue !== '') {\n                module.set.value(defaultValue);\n                module.set.selected();\n              }\n              else {\n                module.remove.activeItem();\n                module.remove.selectedItem();\n              }\n            }\n          },\n          labels: function() {\n            if(settings.allowAdditions) {\n              if(!settings.useLabels) {\n                module.error(error.labels);\n                settings.useLabels = true;\n              }\n              module.debug('Restoring selected values');\n              module.create.userLabels();\n            }\n            module.check.maxSelections();\n          },\n          selected: function() {\n            module.restore.values();\n            if(module.is.multiple()) {\n              module.debug('Restoring previously selected values and labels');\n              module.restore.labels();\n            }\n            else {\n              module.debug('Restoring previously selected values');\n            }\n          },\n          values: function() {\n            // prevents callbacks from occuring on initial load\n            module.set.initialLoad();\n            if(settings.apiSettings) {\n              if(settings.saveRemoteData) {\n                module.restore.remoteValues();\n              }\n              else {\n                module.clearValue();\n              }\n            }\n            else {\n              module.set.selected();\n            }\n            module.remove.initialLoad();\n          },\n          remoteValues: function() {\n            var\n              values = module.get.remoteValues()\n            ;\n            module.debug('Recreating selected from session data', values);\n            if(values) {\n              if( module.is.single() ) {\n                $.each(values, function(value, name) {\n                  module.set.text(name);\n                });\n              }\n              else {\n                $.each(values, function(value, name) {\n                  module.add.label(value, name);\n                });\n              }\n            }\n          }\n        },\n\n        read: {\n          remoteData: function(value) {\n            var\n              name\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            name = sessionStorage.getItem(value);\n            return (name !== undefined)\n              ? name\n              : false\n            ;\n          }\n        },\n\n        save: {\n          defaults: function() {\n            module.save.defaultText();\n            module.save.placeholderText();\n            module.save.defaultValue();\n          },\n          defaultValue: function() {\n            var\n              value = module.get.value()\n            ;\n            module.verbose('Saving default value as', value);\n            $module.data(metadata.defaultValue, value);\n          },\n          defaultText: function() {\n            var\n              text = module.get.text()\n            ;\n            module.verbose('Saving default text as', text);\n            $module.data(metadata.defaultText, text);\n          },\n          placeholderText: function() {\n            var\n              text\n            ;\n            if(settings.placeholder !== false && $text.hasClass(className.placeholder)) {\n              text = module.get.text();\n              module.verbose('Saving placeholder text as', text);\n              $module.data(metadata.placeholderText, text);\n            }\n          },\n          remoteData: function(name, value) {\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            module.verbose('Saving remote data to session storage', value, name);\n            sessionStorage.setItem(value, name);\n          }\n        },\n\n        clear: function() {\n          if(module.is.multiple()) {\n            module.remove.labels();\n          }\n          else {\n            module.remove.activeItem();\n            module.remove.selectedItem();\n          }\n          module.set.placeholderText();\n          module.clearValue();\n        },\n\n        clearValue: function() {\n          module.set.value('');\n        },\n\n        scrollPage: function(direction, $selectedItem) {\n          var\n            $currentItem  = $selectedItem || module.get.selectedItem(),\n            $menu         = $currentItem.closest(selector.menu),\n            menuHeight    = $menu.outerHeight(),\n            currentScroll = $menu.scrollTop(),\n            itemHeight    = $item.eq(0).outerHeight(),\n            itemsPerPage  = Math.floor(menuHeight / itemHeight),\n            maxScroll     = $menu.prop('scrollHeight'),\n            newScroll     = (direction == 'up')\n              ? currentScroll - (itemHeight * itemsPerPage)\n              : currentScroll + (itemHeight * itemsPerPage),\n            $selectableItem = $item.not(selector.unselectable),\n            isWithinRange,\n            $nextSelectedItem,\n            elementIndex\n          ;\n          elementIndex      = (direction == 'up')\n            ? $selectableItem.index($currentItem) - itemsPerPage\n            : $selectableItem.index($currentItem) + itemsPerPage\n          ;\n          isWithinRange = (direction == 'up')\n            ? (elementIndex >= 0)\n            : (elementIndex < $selectableItem.length)\n          ;\n          $nextSelectedItem = (isWithinRange)\n            ? $selectableItem.eq(elementIndex)\n            : (direction == 'up')\n              ? $selectableItem.first()\n              : $selectableItem.last()\n          ;\n          if($nextSelectedItem.length > 0) {\n            module.debug('Scrolling page', direction, $nextSelectedItem);\n            $currentItem\n              .removeClass(className.selected)\n            ;\n            $nextSelectedItem\n              .addClass(className.selected)\n            ;\n            $menu\n              .scrollTop(newScroll)\n            ;\n          }\n        },\n\n        set: {\n          filtered: function() {\n            var\n              isMultiple       = module.is.multiple(),\n              isSearch         = module.is.searchSelection(),\n              isSearchMultiple = (isMultiple && isSearch),\n              searchValue      = (isSearch)\n                ? module.get.query()\n                : '',\n              hasSearchValue   = (typeof searchValue === 'string' && searchValue.length > 0),\n              searchWidth      = module.get.searchWidth(searchValue.length),\n              valueIsSet       = searchValue !== ''\n            ;\n            if(isMultiple && hasSearchValue) {\n              module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);\n              $search.css('width', searchWidth);\n            }\n            if(hasSearchValue || (isSearchMultiple && valueIsSet)) {\n              module.verbose('Hiding placeholder text');\n              $text.addClass(className.filtered);\n            }\n            else if(!isMultiple || (isSearchMultiple && !valueIsSet)) {\n              module.verbose('Showing placeholder text');\n              $text.removeClass(className.filtered);\n            }\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          placeholderText: function(text) {\n            text = text || module.get.placeholderText();\n            module.debug('Setting placeholder text', text);\n            module.set.text(text);\n            $text.addClass(className.placeholder);\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Added tabindex to searchable dropdown');\n              $search\n                .val('')\n                .attr('tabindex', 0)\n              ;\n              $menu\n                .attr('tabindex', -1)\n              ;\n            }\n            else {\n              module.debug('Added tabindex to dropdown');\n              if( $module.attr('tabindex') === undefined) {\n                $module\n                  .attr('tabindex', 0)\n                ;\n                $menu\n                  .attr('tabindex', -1)\n                ;\n              }\n            }\n          },\n          initialLoad: function() {\n            module.verbose('Setting initial load');\n            initialLoad = true;\n          },\n          activeItem: function($item) {\n            if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) {\n              $item.addClass(className.filtered);\n            }\n            else {\n              $item.addClass(className.active);\n            }\n          },\n          scrollPosition: function($item, forceScroll) {\n            var\n              edgeTolerance = 5,\n              $menu,\n              hasActive,\n              offset,\n              itemHeight,\n              itemOffset,\n              menuOffset,\n              menuScroll,\n              menuHeight,\n              abovePage,\n              belowPage\n            ;\n\n            $item       = $item || module.get.selectedItem();\n            $menu       = $item.closest(selector.menu);\n            hasActive   = ($item && $item.length > 0);\n            forceScroll = (forceScroll !== undefined)\n              ? forceScroll\n              : false\n            ;\n            if($item && $menu.length > 0 && hasActive) {\n              itemOffset = $item.position().top;\n\n              $menu.addClass(className.loading);\n              menuScroll = $menu.scrollTop();\n              menuOffset = $menu.offset().top;\n              itemOffset = $item.offset().top;\n              offset     = menuScroll - menuOffset + itemOffset;\n              if(!forceScroll) {\n                menuHeight = $menu.height();\n                belowPage  = menuScroll + menuHeight < (offset + edgeTolerance);\n                abovePage  = ((offset - edgeTolerance) < menuScroll);\n              }\n              module.debug('Scrolling to active item', offset);\n              if(forceScroll || abovePage || belowPage) {\n                $menu.scrollTop(offset);\n              }\n              $menu.removeClass(className.loading);\n            }\n          },\n          text: function(text) {\n            if(settings.action !== 'select') {\n              if(settings.action == 'combo') {\n                module.debug('Changing combo button text', text, $combo);\n                if(settings.preserveHTML) {\n                  $combo.html(text);\n                }\n                else {\n                  $combo.text(text);\n                }\n              }\n              else {\n                if(text !== module.get.placeholderText()) {\n                  $text.removeClass(className.placeholder);\n                }\n                module.debug('Changing text', text, $text);\n                $text\n                  .removeClass(className.filtered)\n                ;\n                if(settings.preserveHTML) {\n                  $text.html(text);\n                }\n                else {\n                  $text.text(text);\n                }\n              }\n            }\n          },\n          selectedLetter: function(letter) {\n            var\n              $selectedItem         = $item.filter('.' + className.selected),\n              alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),\n              $nextValue            = false,\n              $nextItem\n            ;\n            // check next of same letter\n            if(alreadySelectedLetter) {\n              $nextItem = $selectedItem.nextAll($item).eq(0);\n              if( module.has.firstLetter($nextItem, letter) ) {\n                $nextValue  = $nextItem;\n              }\n            }\n            // check all values\n            if(!$nextValue) {\n              $item\n                .each(function(){\n                  if(module.has.firstLetter($(this), letter)) {\n                    $nextValue = $(this);\n                    return false;\n                  }\n                })\n              ;\n            }\n            // set next value\n            if($nextValue) {\n              module.verbose('Scrolling to next value with letter', letter);\n              module.set.scrollPosition($nextValue);\n              $selectedItem.removeClass(className.selected);\n              $nextValue.addClass(className.selected);\n            }\n          },\n          direction: function($menu) {\n            if(settings.direction == 'auto') {\n              if(module.is.onScreen($menu)) {\n                module.remove.upward($menu);\n              }\n              else {\n                module.set.upward($menu);\n              }\n            }\n            else if(settings.direction == 'upward') {\n              module.set.upward($menu);\n            }\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.addClass(className.upward);\n          },\n          value: function(value, text, $selected) {\n            var\n              hasInput     = ($input.length > 0),\n              isAddition   = !module.has.value(value),\n              currentValue = module.get.values(),\n              stringValue  = (value !== undefined)\n                ? String(value)\n                : value,\n              newValue\n            ;\n            if(hasInput) {\n              if(stringValue == currentValue) {\n                module.verbose('Skipping value update already same value', value, currentValue);\n                if(!module.is.initialLoad()) {\n                  return;\n                }\n              }\n\n              if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) {\n                module.debug('Adding user option', value);\n                module.add.optionValue(value);\n              }\n              module.debug('Updating input value', value, currentValue);\n              internalChange = true;\n              $input\n                .val(value)\n              ;\n              if(settings.fireOnInit === false && module.is.initialLoad()) {\n                module.debug('Input native change event ignored on initial load');\n              }\n              else {\n                module.trigger.change();\n              }\n              internalChange = false;\n            }\n            else {\n              module.verbose('Storing value in metadata', value, $input);\n              if(value !== currentValue) {\n                $module.data(metadata.value, stringValue);\n              }\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onChange);\n            }\n            else {\n              settings.onChange.call(element, value, text, $selected);\n            }\n          },\n          active: function() {\n            $module\n              .addClass(className.active)\n            ;\n          },\n          multiple: function() {\n            $module.addClass(className.multiple);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          exactly: function(value, $selectedItem) {\n            module.debug('Setting selected to exact values');\n            module.clear();\n            module.set.selected(value, $selectedItem);\n          },\n          selected: function(value, $selectedItem) {\n            var\n              isMultiple = module.is.multiple(),\n              $userSelectedItem\n            ;\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n            if(!$selectedItem) {\n              return;\n            }\n            module.debug('Setting selected menu item to', $selectedItem);\n            if(module.is.single()) {\n              module.remove.activeItem();\n              module.remove.selectedItem();\n            }\n            else if(settings.useLabels) {\n              module.remove.selectedItem();\n            }\n            // select each item\n            $selectedItem\n              .each(function() {\n                var\n                  $selected      = $(this),\n                  selectedText   = module.get.choiceText($selected),\n                  selectedValue  = module.get.choiceValue($selected, selectedText),\n\n                  isFiltered     = $selected.hasClass(className.filtered),\n                  isActive       = $selected.hasClass(className.active),\n                  isUserValue    = $selected.hasClass(className.addition),\n                  shouldAnimate  = (isMultiple && $selectedItem.length == 1)\n                ;\n                if(isMultiple) {\n                  if(!isActive || isUserValue) {\n                    if(settings.apiSettings && settings.saveRemoteData) {\n                      module.save.remoteData(selectedText, selectedValue);\n                    }\n                    if(settings.useLabels) {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.add.label(selectedValue, selectedText, shouldAnimate);\n                      module.set.activeItem($selected);\n                      module.filterActive();\n                      module.select.nextAvailable($selectedItem);\n                    }\n                    else {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.set.text(module.add.variables(message.count));\n                      module.set.activeItem($selected);\n                    }\n                  }\n                  else if(!isFiltered) {\n                    module.debug('Selected active value, removing label');\n                    module.remove.selected(selectedValue);\n                  }\n                }\n                else {\n                  if(settings.apiSettings && settings.saveRemoteData) {\n                    module.save.remoteData(selectedText, selectedValue);\n                  }\n                  module.set.text(selectedText);\n                  module.set.value(selectedValue, selectedText, $selected);\n                  $selected\n                    .addClass(className.active)\n                    .addClass(className.selected)\n                  ;\n                }\n              })\n            ;\n          }\n        },\n\n        add: {\n          label: function(value, text, shouldAnimate) {\n            var\n              $next  = module.is.searchSelection()\n                ? $search\n                : $text,\n              $label\n            ;\n            $label =  $('<a />')\n              .addClass(className.label)\n              .attr('data-value', value)\n              .html(templates.label(value, text))\n            ;\n            $label = settings.onLabelCreate.call($label, value, text);\n\n            if(module.has.label(value)) {\n              module.debug('Label already exists, skipping', value);\n              return;\n            }\n            if(settings.label.variation) {\n              $label.addClass(settings.label.variation);\n            }\n            if(shouldAnimate === true) {\n              module.debug('Animating in label', $label);\n              $label\n                .addClass(className.hidden)\n                .insertBefore($next)\n                .transition(settings.label.transition, settings.label.duration)\n              ;\n            }\n            else {\n              module.debug('Adding selection label', $label);\n              $label\n                .insertBefore($next)\n              ;\n            }\n          },\n          message: function(message) {\n            var\n              $message = $menu.children(selector.message),\n              html     = settings.templates.message(module.add.variables(message))\n            ;\n            if($message.length > 0) {\n              $message\n                .html(html)\n              ;\n            }\n            else {\n              $message = $('<div/>')\n                .html(html)\n                .addClass(className.message)\n                .appendTo($menu)\n              ;\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(hasOption) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            if( module.is.single() ) {\n              module.verbose('Removing previous user addition');\n              $input.find('option.' + className.addition).remove();\n            }\n            $('<option/>')\n              .prop('value', value)\n              .addClass(className.addition)\n              .html(value)\n              .appendTo($input)\n            ;\n            module.verbose('Adding user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          userSuggestion: function(value) {\n            var\n              $addition         = $menu.children(selector.addition),\n              $existingItem     = module.get.item(value),\n              alreadyHasValue   = $existingItem && $existingItem.not(selector.addition).length,\n              hasUserSuggestion = $addition.length > 0,\n              html\n            ;\n            if(settings.useLabels && module.has.maxSelections()) {\n              return;\n            }\n            if(value === '' || alreadyHasValue) {\n              $addition.remove();\n              return;\n            }\n            $item\n              .removeClass(className.selected)\n            ;\n            if(hasUserSuggestion) {\n              html = settings.templates.addition( module.add.variables(message.addResult, value) );\n              $addition\n                .html(html)\n                .attr('data-' + metadata.value, value)\n                .attr('data-' + metadata.text, value)\n                .removeClass(className.filtered)\n                .addClass(className.selected)\n              ;\n              module.verbose('Replacing user suggestion with new value', $addition);\n            }\n            else {\n              $addition = module.create.userChoice(value);\n              $addition\n                .prependTo($menu)\n                .addClass(className.selected)\n              ;\n              module.verbose('Adding item choice to menu corresponding with user choice addition', $addition);\n            }\n          },\n          variables: function(message, term) {\n            var\n              hasCount    = (message.search('{count}') !== -1),\n              hasMaxCount = (message.search('{maxCount}') !== -1),\n              hasTerm     = (message.search('{term}') !== -1),\n              values,\n              count,\n              query\n            ;\n            module.verbose('Adding templated variables to message', message);\n            if(hasCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{count}', count);\n            }\n            if(hasMaxCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{maxCount}', settings.maxSelections);\n            }\n            if(hasTerm) {\n              query   = term || module.get.query();\n              message = message.replace('{term}', query);\n            }\n            return message;\n          },\n          value: function(addedValue, addedText, $selectedItem) {\n            var\n              currentValue = module.get.values(),\n              newValue\n            ;\n            if(addedValue === '') {\n              module.debug('Cannot select blank values from multiselect');\n              return;\n            }\n            // extend current array\n            if($.isArray(currentValue)) {\n              newValue = currentValue.concat([addedValue]);\n              newValue = module.get.uniqueArray(newValue);\n            }\n            else {\n              newValue = [addedValue];\n            }\n            // add values\n            if( module.has.selectInput() ) {\n              if(module.can.extendSelect()) {\n                module.debug('Adding value to select', addedValue, newValue, $input);\n                module.add.optionValue(addedValue);\n              }\n            }\n            else {\n              newValue = newValue.join(settings.delimiter);\n              module.debug('Setting hidden input to delimited value', newValue, $input);\n            }\n\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('Skipping onadd callback on initial load', settings.onAdd);\n            }\n            else {\n              settings.onAdd.call(element, addedValue, addedText, $selectedItem);\n            }\n            module.set.value(newValue, addedValue, addedText, $selectedItem);\n            module.check.maxSelections();\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          activeLabel: function() {\n            $module.find(selector.label).removeClass(className.active);\n          },\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          initialLoad: function() {\n            initialLoad = false;\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.removeClass(className.upward);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          activeItem: function() {\n            $item.removeClass(className.active);\n          },\n          filteredItem: function() {\n            if(settings.useLabels && module.has.maxSelections() ) {\n              return;\n            }\n            if(settings.useLabels && module.is.multiple()) {\n              $item.not('.' + className.active).removeClass(className.filtered);\n            }\n            else {\n              $item.removeClass(className.filtered);\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(!hasOption || !$option.hasClass(className.addition)) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            $option.remove();\n            module.verbose('Removing user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          message: function() {\n            $menu.children(selector.message).remove();\n          },\n          searchTerm: function() {\n            module.verbose('Cleared search term');\n            $search.val('');\n            module.set.filtered();\n          },\n          selected: function(value, $selectedItem) {\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n\n            if(!$selectedItem) {\n              return false;\n            }\n\n            $selectedItem\n              .each(function() {\n                var\n                  $selected     = $(this),\n                  selectedText  = module.get.choiceText($selected),\n                  selectedValue = module.get.choiceValue($selected, selectedText)\n                ;\n                if(module.is.multiple()) {\n                  if(settings.useLabels) {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    module.remove.label(selectedValue);\n                  }\n                  else {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    if(module.get.selectionCount() === 0) {\n                      module.set.placeholderText();\n                    }\n                    else {\n                      module.set.text(module.add.variables(message.count));\n                    }\n                  }\n                }\n                else {\n                  module.remove.value(selectedValue, selectedText, $selected);\n                }\n                $selected\n                  .removeClass(className.filtered)\n                  .removeClass(className.active)\n                ;\n                if(settings.useLabels) {\n                  $selected.removeClass(className.selected);\n                }\n              })\n            ;\n          },\n          selectedItem: function() {\n            $item.removeClass(className.selected);\n          },\n          value: function(removedValue, removedText, $removedItem) {\n            var\n              values = module.get.values(),\n              newValue\n            ;\n            if( module.has.selectInput() ) {\n              module.verbose('Input is <select> removing selected option', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              module.remove.optionValue(removedValue);\n            }\n            else {\n              module.verbose('Removing from delimited values', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              newValue = newValue.join(settings.delimiter);\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onRemove);\n            }\n            else {\n              settings.onRemove.call(element, removedValue, removedText, $removedItem);\n            }\n            module.set.value(newValue, removedText, $removedItem);\n            module.check.maxSelections();\n          },\n          arrayValue: function(removedValue, values) {\n            if( !$.isArray(values) ) {\n              values = [values];\n            }\n            values = $.grep(values, function(value){\n              return (removedValue != value);\n            });\n            module.verbose('Removed value from delimited string', removedValue, values);\n            return values;\n          },\n          label: function(value, shouldAnimate) {\n            var\n              $labels       = $module.find(selector.label),\n              $removedLabel = $labels.filter('[data-value=\"' + value +'\"]')\n            ;\n            module.verbose('Removing label', $removedLabel);\n            $removedLabel.remove();\n          },\n          activeLabels: function($activeLabels) {\n            $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active);\n            module.verbose('Removing active label selections', $activeLabels);\n            module.remove.labels($activeLabels);\n          },\n          labels: function($labels) {\n            $labels = $labels || $module.find(selector.label);\n            module.verbose('Removing labels', $labels);\n            $labels\n              .each(function(){\n                var\n                  $label      = $(this),\n                  value       = $label.data(metadata.value),\n                  stringValue = (value !== undefined)\n                    ? String(value)\n                    : value,\n                  isUserValue = module.is.userValue(stringValue)\n                ;\n                if(settings.onLabelRemove.call($label, value) === false) {\n                  module.debug('Label remove callback cancelled removal');\n                  return;\n                }\n                if(isUserValue) {\n                  module.remove.value(stringValue);\n                  module.remove.label(stringValue);\n                }\n                else {\n                  // selected will also remove label\n                  module.remove.selected(stringValue);\n                }\n              })\n            ;\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Searchable dropdown initialized');\n              $search\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n            else {\n              module.debug('Simple selection dropdown initialized');\n              $module\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n          }\n        },\n\n        has: {\n          search: function() {\n            return ($search.length > 0);\n          },\n          selectInput: function() {\n            return ( $input.is('select') );\n          },\n          firstLetter: function($item, letter) {\n            var\n              text,\n              firstLetter\n            ;\n            if(!$item || $item.length === 0 || typeof letter !== 'string') {\n              return false;\n            }\n            text        = module.get.choiceText($item, false);\n            letter      = letter.toLowerCase();\n            firstLetter = String(text).charAt(0).toLowerCase();\n            return (letter == firstLetter);\n          },\n          input: function() {\n            return ($input.length > 0);\n          },\n          items: function() {\n            return ($item.length > 0);\n          },\n          menu: function() {\n            return ($menu.length > 0);\n          },\n          message: function() {\n            return ($menu.children(selector.message).length !== 0);\n          },\n          label: function(value) {\n            var\n              $labels = $module.find(selector.label)\n            ;\n            return ($labels.filter('[data-value=\"' + value +'\"]').length > 0);\n          },\n          maxSelections: function() {\n            return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections);\n          },\n          allResultsFiltered: function() {\n            return ($item.filter(selector.unselectable).length === $item.length);\n          },\n          query: function() {\n            return (module.get.query() !== '');\n          },\n          value: function(value) {\n            var\n              values   = module.get.values(),\n              hasValue = $.isArray(values)\n               ? values && ($.inArray(value, values) !== -1)\n               : (values == value)\n            ;\n            return (hasValue)\n              ? true\n              : false\n            ;\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          alreadySetup: function() {\n            return ($module.is('select') && $module.parent(selector.dropdown).length > 0  && $module.prev().length === 0);\n          },\n          animating: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.transition && $subMenu.transition('is animating')\n              : $menu.transition    && $menu.transition('is animating')\n            ;\n          },\n          disabled: function() {\n            return $module.hasClass(className.disabled);\n          },\n          focused: function() {\n            return (document.activeElement === $module[0]);\n          },\n          focusedOnSearch: function() {\n            return (document.activeElement === $search[0]);\n          },\n          allFiltered: function() {\n            return( (module.is.multiple() || module.has.search()) && !module.has.message() && module.has.allResultsFiltered() );\n          },\n          hidden: function($subMenu) {\n            return !module.is.visible($subMenu);\n          },\n          initialLoad: function() {\n            return initialLoad;\n          },\n          onScreen: function($subMenu) {\n            var\n              $currentMenu   = $subMenu || $menu,\n              canOpenDownward = true,\n              onScreen = {},\n              calculations\n            ;\n            $currentMenu.addClass(className.loading);\n            calculations = {\n              context: {\n                scrollTop : $context.scrollTop(),\n                height    : $context.outerHeight()\n              },\n              menu : {\n                offset: $currentMenu.offset(),\n                height: $currentMenu.outerHeight()\n              }\n            };\n            onScreen = {\n              above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.menu.height,\n              below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top + calculations.menu.height\n            };\n            if(onScreen.below) {\n              module.verbose('Dropdown can fit in context downward', onScreen);\n              canOpenDownward = true;\n            }\n            else if(!onScreen.below && !onScreen.above) {\n              module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen);\n              canOpenDownward = true;\n            }\n            else {\n              module.verbose('Dropdown cannot fit below, opening upward', onScreen);\n              canOpenDownward = false;\n            }\n            $currentMenu.removeClass(className.loading);\n            return canOpenDownward;\n          },\n          inObject: function(needle, object) {\n            var\n              found = false\n            ;\n            $.each(object, function(index, property) {\n              if(property == needle) {\n                found = true;\n                return true;\n              }\n            });\n            return found;\n          },\n          multiple: function() {\n            return $module.hasClass(className.multiple);\n          },\n          single: function() {\n            return !module.is.multiple();\n          },\n          selectMutation: function(mutations) {\n            var\n              selectChanged = false\n            ;\n            $.each(mutations, function(index, mutation) {\n              if(mutation.target && $(mutation.target).is('select')) {\n                selectChanged = true;\n                return true;\n              }\n            });\n            return selectChanged;\n          },\n          search: function() {\n            return $module.hasClass(className.search);\n          },\n          searchSelection: function() {\n            return ( module.has.search() && $search.parent(selector.dropdown).length === 1 );\n          },\n          selection: function() {\n            return $module.hasClass(className.selection);\n          },\n          userValue: function(value) {\n            return ($.inArray(value, module.get.userValues()) !== -1);\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            return $element.hasClass(className.upward);\n          },\n          visible: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.hasClass(className.visible)\n              : $menu.hasClass(className.visible)\n            ;\n          }\n        },\n\n        can: {\n          activate: function($item) {\n            if(settings.useLabels) {\n              return true;\n            }\n            if(!module.has.maxSelections()) {\n              return true;\n            }\n            if(module.has.maxSelections() && $item.hasClass(className.active)) {\n              return true;\n            }\n            return false;\n          },\n          click: function() {\n            return (hasTouch || settings.on == 'click');\n          },\n          extendSelect: function() {\n            return settings.allowAdditions || settings.apiSettings;\n          },\n          show: function() {\n            return !module.is.disabled() && (module.has.items() || module.has.message());\n          },\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          }\n        },\n\n        animate: {\n          show: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  module.hideSubMenus();\n                  module.hideOthers();\n                  module.set.active();\n                },\n              transition\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            module.verbose('Doing menu show animation', $currentMenu);\n            module.set.direction($subMenu);\n            transition = module.get.transition($subMenu);\n            if( module.is.selection() ) {\n              module.set.scrollPosition(module.get.selectedItem(), true);\n            }\n            if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('show');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' in',\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    duration   : settings.duration,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition, transition);\n              }\n            }\n          },\n          hide: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              duration = ($subMenu)\n                ? (settings.duration * 0.9)\n                : settings.duration,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  if( module.can.click() ) {\n                    module.unbind.intent();\n                  }\n                  module.remove.active();\n                },\n              transition = module.get.transition($subMenu)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {\n              module.verbose('Doing menu hide animation', $currentMenu);\n\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('hide');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' out',\n                    duration   : settings.duration,\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      if(settings.direction == 'auto') {\n                        module.remove.upward($subMenu);\n                      }\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.transition);\n              }\n            }\n          }\n        },\n\n        hideAndClear: function() {\n          module.remove.searchTerm();\n          if( module.has.maxSelections() ) {\n            return;\n          }\n          if(module.has.search()) {\n            module.hide(function() {\n              module.remove.filteredItem();\n            });\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        delay: {\n          show: function() {\n            module.verbose('Delaying show event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.show, settings.delay.show);\n          },\n          hide: function() {\n            module.verbose('Delaying hide event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.hide, settings.delay.hide);\n          }\n        },\n\n        escape: {\n          regExp: function(text) {\n            text =  String(text);\n            return text.replace(regExp.escape, '\\\\$&');\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : $allModules\n  ;\n};\n\n$.fn.dropdown.settings = {\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  on                     : 'click',    // what event should show menu action on item selection\n  action                 : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){})\n\n\n  apiSettings            : false,\n  saveRemoteData         : true,      // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh\n  throttle               : 200,       // How long to wait after last user input to search remotely\n\n  context                : window,      // Context to use when determining if on screen\n  direction              : 'auto',     // Whether dropdown should always open in one direction\n  keepOnScreen           : true,       // Whether dropdown should check whether it is on screen before showing\n\n  match                  : 'both',     // what to match against with search selection (both, text, or label)\n  fullTextSearch         : false,      // search anywhere in value\n\n  placeholder            : 'auto',     // whether to convert blank <select> values to placeholder text\n  preserveHTML           : true,       // preserve html when selecting value\n  sortSelect             : false,      // sort selection on init\n\n  forceSelection         : true,       // force a choice on blur with search selection\n  allowAdditions         : false,      // whether multiple select should allow user added values\n\n  maxSelections          : false,      // When set to a number limits the number of selections to this count\n  useLabels              : true,       // whether multiple select should filter currently active selections from choices\n  delimiter              : ',',        // when multiselect uses normal <input> the values will be delimited with this character\n\n  showOnFocus            : true,       // show menu on focus\n  allowTab               : true,       // add tabindex to element\n  allowCategorySelection : false,      // allow elements with sub-menus to be selected\n\n  fireOnInit             : false,      // Whether callbacks should fire when initializing dropdown values\n\n  transition             : 'auto',     // auto transition will slide down or up based on direction\n  duration               : 200,        // duration of transition\n\n  glyphWidth             : 1.0714,     // widest glyph width in em (W is 1.0714 em) used to calculate multiselect input width\n\n  // label settings on multi-select\n  label: {\n    transition : 'scale',\n    duration   : 200,\n    variation  : false\n  },\n\n  // delay before event\n  delay : {\n    hide   : 300,\n    show   : 200,\n    search : 20,\n    touch  : 50\n  },\n\n  /* Callbacks */\n  onChange      : function(value, text, $selected){},\n  onAdd         : function(value, text, $selected){},\n  onRemove      : function(value, text, $selected){},\n\n  onLabelSelect : function($selectedLabels){},\n  onLabelCreate : function(value, text) { return $(this); },\n  onLabelRemove : function(value) { return true; },\n  onNoResults   : function(searchTerm) { return true; },\n  onShow        : function(){},\n  onHide        : function(){},\n\n  /* Component */\n  name           : 'Dropdown',\n  namespace      : 'dropdown',\n\n  message: {\n    addResult     : 'Add <b>{term}</b>',\n    count         : '{count} selected',\n    maxSelections : 'Max {maxCount} selections',\n    noResults     : 'No results found.',\n    serverError   : 'There was an error contacting the server'\n  },\n\n  error : {\n    action          : 'You called a dropdown action that was not defined',\n    alreadySetup    : 'Once a select has been initialized behaviors must be called on the created ui dropdown',\n    labels          : 'Allowing user additions currently requires the use of labels.',\n    missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values',\n    method          : 'The method you called is not defined.',\n    noAPI           : 'The API module is required to load resources remotely',\n    noStorage       : 'Saving remote data requires session storage',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>'\n  },\n\n  regExp : {\n    escape   : /[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\n  },\n\n  metadata : {\n    defaultText     : 'defaultText',\n    defaultValue    : 'defaultValue',\n    placeholderText : 'placeholder',\n    text            : 'text',\n    value           : 'value'\n  },\n\n  // property names for remote query\n  fields: {\n    remoteValues : 'results', // grouping for api results\n    values       : 'values', // grouping for all dropdown values\n    name         : 'name',   // displayed dropdown text\n    value        : 'value'   // actual dropdown value\n  },\n\n  keys : {\n    backspace  : 8,\n    delimiter  : 188, // comma\n    deleteKey  : 46,\n    enter      : 13,\n    escape     : 27,\n    pageUp     : 33,\n    pageDown   : 34,\n    leftArrow  : 37,\n    upArrow    : 38,\n    rightArrow : 39,\n    downArrow  : 40\n  },\n\n  selector : {\n    addition     : '.addition',\n    dropdown     : '.ui.dropdown',\n    icon         : '> .dropdown.icon',\n    input        : '> input[type=\"hidden\"], > select',\n    item         : '.item',\n    label        : '> .label',\n    remove       : '> .label > .delete.icon',\n    siblingLabel : '.label',\n    menu         : '.menu',\n    message      : '.message',\n    menuIcon     : '.dropdown.icon',\n    search       : 'input.search, .menu > .search > input',\n    text         : '> .text:not(.icon)',\n    unselectable : '.disabled, .filtered'\n  },\n\n  className : {\n    active      : 'active',\n    addition    : 'addition',\n    animating   : 'animating',\n    disabled    : 'disabled',\n    dropdown    : 'ui dropdown',\n    filtered    : 'filtered',\n    hidden      : 'hidden transition',\n    item        : 'item',\n    label       : 'ui label',\n    loading     : 'loading',\n    menu        : 'menu',\n    message     : 'message',\n    multiple    : 'multiple',\n    placeholder : 'default',\n    search      : 'search',\n    selected    : 'selected',\n    selection   : 'selection',\n    upward      : 'upward',\n    visible     : 'visible'\n  }\n\n};\n\n/* Templates */\n$.fn.dropdown.settings.templates = {\n\n  // generates dropdown from select values\n  dropdown: function(select) {\n    var\n      placeholder = select.placeholder || false,\n      values      = select.values || {},\n      html        = ''\n    ;\n    html +=  '<i class=\"dropdown icon\"></i>';\n    if(select.placeholder) {\n      html += '<div class=\"default text\">' + placeholder + '</div>';\n    }\n    else {\n      html += '<div class=\"text\"></div>';\n    }\n    html += '<div class=\"menu\">';\n    $.each(select.values, function(index, option) {\n      html += (option.disabled)\n        ? '<div class=\"disabled item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n        : '<div class=\"item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n      ;\n    });\n    html += '</div>';\n    return html;\n  },\n\n  // generates just menu from select\n  menu: function(response, fields) {\n    var\n      values = response[fields.values] || {},\n      html   = ''\n    ;\n    $.each(values, function(index, option) {\n      html += '<div class=\"item\" data-value=\"' + option[fields.value] + '\">' + option[fields.name] + '</div>';\n    });\n    return html;\n  },\n\n  // generates label for multiselect\n  label: function(value, text) {\n    return text + '<i class=\"delete icon\"></i>';\n  },\n\n\n  // generates messages like \"No results\"\n  message: function(message) {\n    return message;\n  },\n\n  // generates user addition to selection menu\n  addition: function(choice) {\n    return choice;\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/embed.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Types\n*******************************/\n\n.ui.embed {\n  position: relative;\n  max-width: 100%;\n  height: 0px;\n  overflow: hidden;\n  background: #DCDDDE;\n  padding-bottom: 56.25%;\n}\n\n/*-----------------\n  Embedded Content\n------------------*/\n\n.ui.embed iframe,\n.ui.embed embed,\n.ui.embed object {\n  position: absolute;\n  border: none;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  margin: 0em;\n  padding: 0em;\n}\n\n/*-----------------\n      Embed\n------------------*/\n\n.ui.embed > .embed {\n  display: none;\n}\n\n/*--------------\n   Placeholder\n---------------*/\n\n.ui.embed > .placeholder {\n  position: absolute;\n  cursor: pointer;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.embed > .icon {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n  z-index: 2;\n}\n.ui.embed > .icon:after {\n  position: absolute;\n  top: 0%;\n  left: 0%;\n  width: 100%;\n  height: 100%;\n  z-index: 3;\n  content: '';\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 0.5;\n  -webkit-transition: opacity 0.5s ease;\n          transition: opacity 0.5s ease;\n}\n.ui.embed > .icon:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 4;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  color: #FFFFFF;\n  font-size: 6rem;\n  text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2);\n  -webkit-transition: opacity 0.5s ease, color 0.5s ease;\n          transition: opacity 0.5s ease, color 0.5s ease;\n  z-index: 10;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n     Hover\n---------------*/\n\n.ui.embed .icon:hover:after {\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 1;\n}\n.ui.embed .icon:hover:before {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.embed > .icon,\n.ui.active.embed > .placeholder {\n  display: none;\n}\n.ui.active.embed > .embed {\n  display: block;\n}\n\n\n/*******************************\n        Video Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.square.embed {\n  padding-bottom: 100%;\n}\n.ui[class*=\"4:3\"].embed {\n  padding-bottom: 75%;\n}\n.ui[class*=\"16:9\"].embed {\n  padding-bottom: 56.25%;\n}\n.ui[class*=\"21:9\"].embed {\n  padding-bottom: 42.85714286%;\n}\n"
  },
  {
    "path": "src/asset/semantic-ui/components/embed.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.embed = function(parameters) {\n\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.embed.settings, parameters)\n          : $.extend({}, $.fn.embed.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        sources         = settings.sources,\n        error           = settings.error,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n        $module         = $(this),\n        $placeholder    = $module.find(selector.placeholder),\n        $icon           = $module.find(selector.icon),\n        $embed          = $module.find(selector.embed),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing embed');\n          module.determine.autoplay();\n          module.create();\n          module.bind.events();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance of embed');\n          module.reset();\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $placeholder = $module.find(selector.placeholder);\n          $icon        = $module.find(selector.icon);\n          $embed       = $module.find(selector.embed);\n        },\n\n        bind: {\n          events: function() {\n            if( module.has.placeholder() ) {\n              module.debug('Adding placeholder events');\n              $module\n                .on('click' + eventNamespace, selector.placeholder, module.createAndShow)\n                .on('click' + eventNamespace, selector.icon, module.createAndShow)\n              ;\n            }\n          }\n        },\n\n        create: function() {\n          var\n            placeholder = module.get.placeholder()\n          ;\n          if(placeholder) {\n            module.createPlaceholder();\n          }\n          else {\n            module.createAndShow();\n          }\n        },\n\n        createPlaceholder: function(placeholder) {\n          var\n            icon  = module.get.icon(),\n            url   = module.get.url(),\n            embed = module.generate.embed(url)\n          ;\n          placeholder = placeholder || module.get.placeholder();\n          $module.html( templates.placeholder(placeholder, icon) );\n          module.debug('Creating placeholder for embed', placeholder, icon);\n        },\n\n        createEmbed: function(url) {\n          module.refresh();\n          url = url || module.get.url();\n          $embed = $('<div/>')\n            .addClass(className.embed)\n            .html( module.generate.embed(url) )\n            .appendTo($module)\n          ;\n          settings.onCreate.call(element, url);\n          module.debug('Creating embed object', $embed);\n        },\n\n        createAndShow: function() {\n          module.createEmbed();\n          module.show();\n        },\n\n        // sets new embed\n        change: function(source, id, url) {\n          module.debug('Changing video to ', source, id, url);\n          $module\n            .data(metadata.source, source)\n            .data(metadata.id, id)\n            .data(metadata.url, url)\n          ;\n          module.create();\n        },\n\n        // clears embed\n        reset: function() {\n          module.debug('Clearing embed and showing placeholder');\n          module.remove.active();\n          module.remove.embed();\n          module.showPlaceholder();\n          settings.onReset.call(element);\n        },\n\n        // shows current embed\n        show: function() {\n          module.debug('Showing embed');\n          module.set.active();\n          settings.onDisplay.call(element);\n        },\n\n        hide: function() {\n          module.debug('Hiding embed');\n          module.showPlaceholder();\n        },\n\n        showPlaceholder: function() {\n          module.debug('Showing placeholder image');\n          module.remove.active();\n          settings.onPlaceholderDisplay.call(element);\n        },\n\n        get: {\n          id: function() {\n            return settings.id || $module.data(metadata.id);\n          },\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          },\n          icon: function() {\n            return (settings.icon)\n              ? settings.icon\n              : ($module.data(metadata.icon) !== undefined)\n                ? $module.data(metadata.icon)\n                : module.determine.icon()\n            ;\n          },\n          source: function(url) {\n            return (settings.source)\n              ? settings.source\n              : ($module.data(metadata.source) !== undefined)\n                ? $module.data(metadata.source)\n                : module.determine.source()\n            ;\n          },\n          type: function() {\n            var source = module.get.source();\n            return (sources[source] !== undefined)\n              ? sources[source].type\n              : false\n            ;\n          },\n          url: function() {\n            return (settings.url)\n              ? settings.url\n              : ($module.data(metadata.url) !== undefined)\n                ? $module.data(metadata.url)\n                : module.determine.url()\n            ;\n          }\n        },\n\n        determine: {\n          autoplay: function() {\n            if(module.should.autoplay()) {\n              settings.autoplay = true;\n            }\n          },\n          source: function(url) {\n            var\n              matchedSource = false\n            ;\n            url = url || module.get.url();\n            if(url) {\n              $.each(sources, function(name, source) {\n                if(url.search(source.domain) !== -1) {\n                  matchedSource = name;\n                  return false;\n                }\n              });\n            }\n            return matchedSource;\n          },\n          icon: function() {\n            var\n              source = module.get.source()\n            ;\n            return (sources[source] !== undefined)\n              ? sources[source].icon\n              : false\n            ;\n          },\n          url: function() {\n            var\n              id     = settings.id     || $module.data(metadata.id),\n              source = settings.source || $module.data(metadata.source),\n              url\n            ;\n            url = (sources[source] !== undefined)\n              ? sources[source].url.replace('{id}', id)\n              : false\n            ;\n            if(url) {\n              $module.data(metadata.url, url);\n            }\n            return url;\n          }\n        },\n\n\n        set: {\n          active: function() {\n            $module.addClass(className.active);\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          embed: function() {\n            $embed.empty();\n          }\n        },\n\n        encode: {\n          parameters: function(parameters) {\n            var\n              urlString = [],\n              index\n            ;\n            for (index in parameters) {\n              urlString.push( encodeURIComponent(index) + '=' + encodeURIComponent( parameters[index] ) );\n            }\n            return urlString.join('&amp;');\n          }\n        },\n\n        generate: {\n          embed: function(url) {\n            module.debug('Generating embed html');\n            var\n              source = module.get.source(),\n              html,\n              parameters\n            ;\n            url = module.get.url(url);\n            if(url) {\n              parameters = module.generate.parameters(source);\n              html       = templates.iframe(url, parameters);\n            }\n            else {\n              module.error(error.noURL, $module);\n            }\n            return html;\n          },\n          parameters: function(source, extraParameters) {\n            var\n              parameters = (sources[source] && sources[source].parameters !== undefined)\n                ? sources[source].parameters(settings)\n                : {}\n            ;\n            extraParameters = extraParameters || settings.parameters;\n            if(extraParameters) {\n              parameters = $.extend({}, parameters, extraParameters);\n            }\n            parameters = settings.onEmbed(parameters);\n            return module.encode.parameters(parameters);\n          }\n        },\n\n        has: {\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          }\n        },\n\n        should: {\n          autoplay: function() {\n            return (settings.autoplay === 'auto')\n              ? (settings.placeholder || $module.data(metadata.placeholder) !== undefined)\n              : settings.autoplay\n            ;\n          }\n        },\n\n        is: {\n          video: function() {\n            return module.get.type() == 'video';\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.embed.settings = {\n\n  name        : 'Embed',\n  namespace   : 'embed',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  icon     : false,\n  source   : false,\n  url      : false,\n  id       : false,\n\n  // standard video settings\n  autoplay  : 'auto',\n  color     : '#444444',\n  hd        : true,\n  brandedUI : false,\n\n  // additional parameters to include with the embed\n  parameters: false,\n\n  onDisplay            : function() {},\n  onPlaceholderDisplay : function() {},\n  onReset              : function() {},\n  onCreate             : function(url) {},\n  onEmbed              : function(parameters) {\n    return parameters;\n  },\n\n  metadata    : {\n    id          : 'id',\n    icon        : 'icon',\n    placeholder : 'placeholder',\n    source      : 'source',\n    url         : 'url'\n  },\n\n  error : {\n    noURL  : 'No URL specified',\n    method : 'The method you called is not defined'\n  },\n\n  className : {\n    active : 'active',\n    embed  : 'embed'\n  },\n\n  selector : {\n    embed       : '.embed',\n    placeholder : '.placeholder',\n    icon        : '.icon'\n  },\n\n  sources: {\n    youtube: {\n      name   : 'youtube',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'youtube.com',\n      url    : '//www.youtube.com/embed/{id}',\n      parameters: function(settings) {\n        return {\n          autohide       : !settings.brandedUI,\n          autoplay       : settings.autoplay,\n          color          : settings.colors || undefined,\n          hq             : settings.hd,\n          jsapi          : settings.api,\n          modestbranding : !settings.brandedUI\n        };\n      }\n    },\n    vimeo: {\n      name   : 'vimeo',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'vimeo.com',\n      url    : '//player.vimeo.com/video/{id}',\n      parameters: function(settings) {\n        return {\n          api      : settings.api,\n          autoplay : settings.autoplay,\n          byline   : settings.brandedUI,\n          color    : settings.colors || undefined,\n          portrait : settings.brandedUI,\n          title    : settings.brandedUI\n        };\n      }\n    }\n  },\n\n  templates: {\n    iframe : function(url, parameters) {\n      return ''\n        + '<iframe src=\"' + url + '?' + parameters + '\"'\n        + ' width=\"100%\" height=\"100%\"'\n        + ' frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n      ;\n    },\n    placeholder : function(image, icon) {\n      var\n        html = ''\n      ;\n      if(icon) {\n        html += '<i class=\"' + icon + ' icon\"></i>';\n      }\n      if(image) {\n        html += '<img class=\"placeholder\" src=\"' + image + '\">';\n      }\n      return html;\n    }\n  },\n\n  // NOT YET IMPLEMENTED\n  api     : true,\n  onPause : function() {},\n  onPlay  : function() {},\n  onStop  : function() {}\n\n};\n\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/feed.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Feed\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n         Activity Feed\n*******************************/\n\n.ui.feed {\n  margin: 1em 0em;\n}\n.ui.feed:first-child {\n  margin-top: 0em;\n}\n.ui.feed:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* Event */\n.ui.feed > .event {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  width: 100%;\n  padding: 0.21428571rem 0em;\n  margin: 0em;\n  background: none;\n  border-top: none;\n}\n.ui.feed > .event:first-child {\n  border-top: 0px;\n  padding-top: 0em;\n}\n.ui.feed > .event:last-child {\n  padding-bottom: 0em;\n}\n\n/* Event Label */\n.ui.feed > .event > .label {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  width: 2.5em;\n  height: auto;\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n  text-align: left;\n}\n.ui.feed > .event > .label .icon {\n  opacity: 1;\n  font-size: 1.5em;\n  width: 100%;\n  padding: 0.25em;\n  background: none;\n  border: none;\n  border-radius: none;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.feed > .event > .label img {\n  width: 100%;\n  height: auto;\n  border-radius: 500rem;\n}\n.ui.feed > .event > .label + .content {\n  margin: 0.5em 0em 0.35714286em 1.14285714em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n\n/* Content */\n.ui.feed > .event > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n  text-align: left;\n  word-wrap: break-word;\n}\n.ui.feed > .event:last-child > .content {\n  padding-bottom: 0em;\n}\n\n/* Link */\n.ui.feed > .event > .content a {\n  cursor: pointer;\n}\n\n/*--------------\n      Date\n---------------*/\n\n.ui.feed > .event > .content .date {\n  margin: -0.5rem 0em 0em;\n  padding: 0em;\n  font-weight: normal;\n  font-size: 1em;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n     Summary\n---------------*/\n\n.ui.feed > .event > .content .summary {\n  margin: 0em;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Summary Image */\n.ui.feed > .event > .content .summary img {\n  display: inline-block;\n  width: auto;\n  height: 10em;\n  margin: -0.25em 0.25em 0em 0em;\n  border-radius: 0.25em;\n  vertical-align: middle;\n}\n\n/*--------------\n      User\n---------------*/\n\n.ui.feed > .event > .content .user {\n  display: inline-block;\n  font-weight: bold;\n  margin-right: 0em;\n  vertical-align: baseline;\n}\n.ui.feed > .event > .content .user img {\n  margin: -0.25em 0.25em 0em 0em;\n  width: auto;\n  height: 10em;\n  vertical-align: middle;\n}\n\n/*--------------\n   Inline Date\n---------------*/\n\n\n/* Date inside Summary */\n.ui.feed > .event > .content .summary > .date {\n  display: inline-block;\n  float: none;\n  font-weight: normal;\n  font-size: 0.85714286em;\n  font-style: normal;\n  margin: 0em 0em 0em 0.5em;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n  Extra Summary\n---------------*/\n\n.ui.feed > .event > .content .extra {\n  margin: 0.5em 0em 0em;\n  background: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Images */\n.ui.feed > .event > .content .extra.images img {\n  display: inline-block;\n  margin: 0em 0.25em 0em 0em;\n  width: 6em;\n}\n\n/* Text */\n.ui.feed > .event > .content .extra.text {\n  padding: 0em;\n  border-left: none;\n  font-size: 1em;\n  max-width: 500px;\n  line-height: 1.4285em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.feed > .event > .content .meta {\n  display: inline-block;\n  font-size: 0.85714286em;\n  margin: 0.5em 0em 0em;\n  background: none;\n  border: none;\n  border-radius: 0;\n  box-shadow: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.feed > .event > .content .meta > * {\n  position: relative;\n  margin-left: 0.75em;\n}\n.ui.feed > .event > .content .meta > *:after {\n  content: '';\n  color: rgba(0, 0, 0, 0.2);\n  top: 0em;\n  left: -1em;\n  opacity: 1;\n  position: absolute;\n  vertical-align: top;\n}\n.ui.feed > .event > .content .meta .like {\n  color: '';\n  -webkit-transition: 0.2s color ease;\n          transition: 0.2s color ease;\n}\n.ui.feed > .event > .content .meta .like:hover .icon {\n  color: #FF2733;\n}\n.ui.feed > .event > .content .meta .active.like .icon {\n  color: #EF404A;\n}\n\n/* First element */\n.ui.feed > .event > .content .meta > :first-child {\n  margin-left: 0em;\n}\n.ui.feed > .event > .content .meta > :first-child::after {\n  display: none;\n}\n\n/* Action */\n.ui.feed > .event > .content .meta a,\n.ui.feed > .event > .content .meta > .icon {\n  cursor: pointer;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.5);\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.feed > .event > .content .meta a:hover,\n.ui.feed > .event > .content .meta a:hover .icon,\n.ui.feed > .event > .content .meta > .icon:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n.ui.small.feed {\n  font-size: 0.92857143rem;\n}\n.ui.feed {\n  font-size: 1rem;\n}\n.ui.large.feed {\n  font-size: 1.14285714rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/flag.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Flag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Flag\n*******************************/\n\ni.flag:not(.icon) {\n  display: inline-block;\n  width: 16px;\n  height: 11px;\n  line-height: 11px;\n  vertical-align: baseline;\n  margin: 0em 0.5em 0em 0em;\n  text-decoration: inherit;\n  speak: none;\n  font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n\n/* Sprite */\ni.flag:not(.icon):before {\n  display: inline-block;\n  content: '';\n  background: url(\"../themes/default/assets/images/flags.png\") no-repeat 0px 0px;\n  width: 16px;\n  height: 11px;\n}\n\n/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\ni.flag.ad:before,\ni.flag.andorra:before {\n  background-position: 0px 0px;\n}\ni.flag.ae:before,\ni.flag.united.arab.emirates:before,\ni.flag.uae:before {\n  background-position: 0px -26px;\n}\ni.flag.af:before,\ni.flag.afghanistan:before {\n  background-position: 0px -52px;\n}\ni.flag.ag:before,\ni.flag.antigua:before {\n  background-position: 0px -78px;\n}\ni.flag.ai:before,\ni.flag.anguilla:before {\n  background-position: 0px -104px;\n}\ni.flag.al:before,\ni.flag.albania:before {\n  background-position: 0px -130px;\n}\ni.flag.am:before,\ni.flag.armenia:before {\n  background-position: 0px -156px;\n}\ni.flag.an:before,\ni.flag.netherlands.antilles:before {\n  background-position: 0px -182px;\n}\ni.flag.ao:before,\ni.flag.angola:before {\n  background-position: 0px -208px;\n}\ni.flag.ar:before,\ni.flag.argentina:before {\n  background-position: 0px -234px;\n}\ni.flag.as:before,\ni.flag.american.samoa:before {\n  background-position: 0px -260px;\n}\ni.flag.at:before,\ni.flag.austria:before {\n  background-position: 0px -286px;\n}\ni.flag.au:before,\ni.flag.australia:before {\n  background-position: 0px -312px;\n}\ni.flag.aw:before,\ni.flag.aruba:before {\n  background-position: 0px -338px;\n}\ni.flag.ax:before,\ni.flag.aland.islands:before {\n  background-position: 0px -364px;\n}\ni.flag.az:before,\ni.flag.azerbaijan:before {\n  background-position: 0px -390px;\n}\ni.flag.ba:before,\ni.flag.bosnia:before {\n  background-position: 0px -416px;\n}\ni.flag.bb:before,\ni.flag.barbados:before {\n  background-position: 0px -442px;\n}\ni.flag.bd:before,\ni.flag.bangladesh:before {\n  background-position: 0px -468px;\n}\ni.flag.be:before,\ni.flag.belgium:before {\n  background-position: 0px -494px;\n}\ni.flag.bf:before,\ni.flag.burkina.faso:before {\n  background-position: 0px -520px;\n}\ni.flag.bg:before,\ni.flag.bulgaria:before {\n  background-position: 0px -546px;\n}\ni.flag.bh:before,\ni.flag.bahrain:before {\n  background-position: 0px -572px;\n}\ni.flag.bi:before,\ni.flag.burundi:before {\n  background-position: 0px -598px;\n}\ni.flag.bj:before,\ni.flag.benin:before {\n  background-position: 0px -624px;\n}\ni.flag.bm:before,\ni.flag.bermuda:before {\n  background-position: 0px -650px;\n}\ni.flag.bn:before,\ni.flag.brunei:before {\n  background-position: 0px -676px;\n}\ni.flag.bo:before,\ni.flag.bolivia:before {\n  background-position: 0px -702px;\n}\ni.flag.br:before,\ni.flag.brazil:before {\n  background-position: 0px -728px;\n}\ni.flag.bs:before,\ni.flag.bahamas:before {\n  background-position: 0px -754px;\n}\ni.flag.bt:before,\ni.flag.bhutan:before {\n  background-position: 0px -780px;\n}\ni.flag.bv:before,\ni.flag.bouvet.island:before {\n  background-position: 0px -806px;\n}\ni.flag.bw:before,\ni.flag.botswana:before {\n  background-position: 0px -832px;\n}\ni.flag.by:before,\ni.flag.belarus:before {\n  background-position: 0px -858px;\n}\ni.flag.bz:before,\ni.flag.belize:before {\n  background-position: 0px -884px;\n}\ni.flag.ca:before,\ni.flag.canada:before {\n  background-position: 0px -910px;\n}\ni.flag.cc:before,\ni.flag.cocos.islands:before {\n  background-position: 0px -962px;\n}\ni.flag.cd:before,\ni.flag.congo:before {\n  background-position: 0px -988px;\n}\ni.flag.cf:before,\ni.flag.central.african.republic:before {\n  background-position: 0px -1014px;\n}\ni.flag.cg:before,\ni.flag.congo.brazzaville:before {\n  background-position: 0px -1040px;\n}\ni.flag.ch:before,\ni.flag.switzerland:before {\n  background-position: 0px -1066px;\n}\ni.flag.ci:before,\ni.flag.cote.divoire:before {\n  background-position: 0px -1092px;\n}\ni.flag.ck:before,\ni.flag.cook.islands:before {\n  background-position: 0px -1118px;\n}\ni.flag.cl:before,\ni.flag.chile:before {\n  background-position: 0px -1144px;\n}\ni.flag.cm:before,\ni.flag.cameroon:before {\n  background-position: 0px -1170px;\n}\ni.flag.cn:before,\ni.flag.china:before {\n  background-position: 0px -1196px;\n}\ni.flag.co:before,\ni.flag.colombia:before {\n  background-position: 0px -1222px;\n}\ni.flag.cr:before,\ni.flag.costa.rica:before {\n  background-position: 0px -1248px;\n}\ni.flag.cs:before,\ni.flag.serbia:before {\n  background-position: 0px -1274px;\n}\ni.flag.cu:before,\ni.flag.cuba:before {\n  background-position: 0px -1300px;\n}\ni.flag.cv:before,\ni.flag.cape.verde:before {\n  background-position: 0px -1326px;\n}\ni.flag.cx:before,\ni.flag.christmas.island:before {\n  background-position: 0px -1352px;\n}\ni.flag.cy:before,\ni.flag.cyprus:before {\n  background-position: 0px -1378px;\n}\ni.flag.cz:before,\ni.flag.czech.republic:before {\n  background-position: 0px -1404px;\n}\ni.flag.de:before,\ni.flag.germany:before {\n  background-position: 0px -1430px;\n}\ni.flag.dj:before,\ni.flag.djibouti:before {\n  background-position: 0px -1456px;\n}\ni.flag.dk:before,\ni.flag.denmark:before {\n  background-position: 0px -1482px;\n}\ni.flag.dm:before,\ni.flag.dominica:before {\n  background-position: 0px -1508px;\n}\ni.flag.do:before,\ni.flag.dominican.republic:before {\n  background-position: 0px -1534px;\n}\ni.flag.dz:before,\ni.flag.algeria:before {\n  background-position: 0px -1560px;\n}\ni.flag.ec:before,\ni.flag.ecuador:before {\n  background-position: 0px -1586px;\n}\ni.flag.ee:before,\ni.flag.estonia:before {\n  background-position: 0px -1612px;\n}\ni.flag.eg:before,\ni.flag.egypt:before {\n  background-position: 0px -1638px;\n}\ni.flag.eh:before,\ni.flag.western.sahara:before {\n  background-position: 0px -1664px;\n}\ni.flag.er:before,\ni.flag.eritrea:before {\n  background-position: 0px -1716px;\n}\ni.flag.es:before,\ni.flag.spain:before {\n  background-position: 0px -1742px;\n}\ni.flag.et:before,\ni.flag.ethiopia:before {\n  background-position: 0px -1768px;\n}\ni.flag.eu:before,\ni.flag.european.union:before {\n  background-position: 0px -1794px;\n}\ni.flag.fi:before,\ni.flag.finland:before {\n  background-position: 0px -1846px;\n}\ni.flag.fj:before,\ni.flag.fiji:before {\n  background-position: 0px -1872px;\n}\ni.flag.fk:before,\ni.flag.falkland.islands:before {\n  background-position: 0px -1898px;\n}\ni.flag.fm:before,\ni.flag.micronesia:before {\n  background-position: 0px -1924px;\n}\ni.flag.fo:before,\ni.flag.faroe.islands:before {\n  background-position: 0px -1950px;\n}\ni.flag.fr:before,\ni.flag.france:before {\n  background-position: 0px -1976px;\n}\ni.flag.ga:before,\ni.flag.gabon:before {\n  background-position: -36px 0px;\n}\ni.flag.gb:before,\ni.flag.united.kingdom:before {\n  background-position: -36px -26px;\n}\ni.flag.gd:before,\ni.flag.grenada:before {\n  background-position: -36px -52px;\n}\ni.flag.ge:before,\ni.flag.georgia:before {\n  background-position: -36px -78px;\n}\ni.flag.gf:before,\ni.flag.french.guiana:before {\n  background-position: -36px -104px;\n}\ni.flag.gh:before,\ni.flag.ghana:before {\n  background-position: -36px -130px;\n}\ni.flag.gi:before,\ni.flag.gibraltar:before {\n  background-position: -36px -156px;\n}\ni.flag.gl:before,\ni.flag.greenland:before {\n  background-position: -36px -182px;\n}\ni.flag.gm:before,\ni.flag.gambia:before {\n  background-position: -36px -208px;\n}\ni.flag.gn:before,\ni.flag.guinea:before {\n  background-position: -36px -234px;\n}\ni.flag.gp:before,\ni.flag.guadeloupe:before {\n  background-position: -36px -260px;\n}\ni.flag.gq:before,\ni.flag.equatorial.guinea:before {\n  background-position: -36px -286px;\n}\ni.flag.gr:before,\ni.flag.greece:before {\n  background-position: -36px -312px;\n}\ni.flag.gs:before,\ni.flag.sandwich.islands:before {\n  background-position: -36px -338px;\n}\ni.flag.gt:before,\ni.flag.guatemala:before {\n  background-position: -36px -364px;\n}\ni.flag.gu:before,\ni.flag.guam:before {\n  background-position: -36px -390px;\n}\ni.flag.gw:before,\ni.flag.guinea-bissau:before {\n  background-position: -36px -416px;\n}\ni.flag.gy:before,\ni.flag.guyana:before {\n  background-position: -36px -442px;\n}\ni.flag.hk:before,\ni.flag.hong.kong:before {\n  background-position: -36px -468px;\n}\ni.flag.hm:before,\ni.flag.heard.island:before {\n  background-position: -36px -494px;\n}\ni.flag.hn:before,\ni.flag.honduras:before {\n  background-position: -36px -520px;\n}\ni.flag.hr:before,\ni.flag.croatia:before {\n  background-position: -36px -546px;\n}\ni.flag.ht:before,\ni.flag.haiti:before {\n  background-position: -36px -572px;\n}\ni.flag.hu:before,\ni.flag.hungary:before {\n  background-position: -36px -598px;\n}\ni.flag.id:before,\ni.flag.indonesia:before {\n  background-position: -36px -624px;\n}\ni.flag.ie:before,\ni.flag.ireland:before {\n  background-position: -36px -650px;\n}\ni.flag.il:before,\ni.flag.israel:before {\n  background-position: -36px -676px;\n}\ni.flag.in:before,\ni.flag.india:before {\n  background-position: -36px -702px;\n}\ni.flag.io:before,\ni.flag.indian.ocean.territory:before {\n  background-position: -36px -728px;\n}\ni.flag.iq:before,\ni.flag.iraq:before {\n  background-position: -36px -754px;\n}\ni.flag.ir:before,\ni.flag.iran:before {\n  background-position: -36px -780px;\n}\ni.flag.is:before,\ni.flag.iceland:before {\n  background-position: -36px -806px;\n}\ni.flag.it:before,\ni.flag.italy:before {\n  background-position: -36px -832px;\n}\ni.flag.jm:before,\ni.flag.jamaica:before {\n  background-position: -36px -858px;\n}\ni.flag.jo:before,\ni.flag.jordan:before {\n  background-position: -36px -884px;\n}\ni.flag.jp:before,\ni.flag.japan:before {\n  background-position: -36px -910px;\n}\ni.flag.ke:before,\ni.flag.kenya:before {\n  background-position: -36px -936px;\n}\ni.flag.kg:before,\ni.flag.kyrgyzstan:before {\n  background-position: -36px -962px;\n}\ni.flag.kh:before,\ni.flag.cambodia:before {\n  background-position: -36px -988px;\n}\ni.flag.ki:before,\ni.flag.kiribati:before {\n  background-position: -36px -1014px;\n}\ni.flag.km:before,\ni.flag.comoros:before {\n  background-position: -36px -1040px;\n}\ni.flag.kn:before,\ni.flag.saint.kitts.and.nevis:before {\n  background-position: -36px -1066px;\n}\ni.flag.kp:before,\ni.flag.north.korea:before {\n  background-position: -36px -1092px;\n}\ni.flag.kr:before,\ni.flag.south.korea:before {\n  background-position: -36px -1118px;\n}\ni.flag.kw:before,\ni.flag.kuwait:before {\n  background-position: -36px -1144px;\n}\ni.flag.ky:before,\ni.flag.cayman.islands:before {\n  background-position: -36px -1170px;\n}\ni.flag.kz:before,\ni.flag.kazakhstan:before {\n  background-position: -36px -1196px;\n}\ni.flag.la:before,\ni.flag.laos:before {\n  background-position: -36px -1222px;\n}\ni.flag.lb:before,\ni.flag.lebanon:before {\n  background-position: -36px -1248px;\n}\ni.flag.lc:before,\ni.flag.saint.lucia:before {\n  background-position: -36px -1274px;\n}\ni.flag.li:before,\ni.flag.liechtenstein:before {\n  background-position: -36px -1300px;\n}\ni.flag.lk:before,\ni.flag.sri.lanka:before {\n  background-position: -36px -1326px;\n}\ni.flag.lr:before,\ni.flag.liberia:before {\n  background-position: -36px -1352px;\n}\ni.flag.ls:before,\ni.flag.lesotho:before {\n  background-position: -36px -1378px;\n}\ni.flag.lt:before,\ni.flag.lithuania:before {\n  background-position: -36px -1404px;\n}\ni.flag.lu:before,\ni.flag.luxembourg:before {\n  background-position: -36px -1430px;\n}\ni.flag.lv:before,\ni.flag.latvia:before {\n  background-position: -36px -1456px;\n}\ni.flag.ly:before,\ni.flag.libya:before {\n  background-position: -36px -1482px;\n}\ni.flag.ma:before,\ni.flag.morocco:before {\n  background-position: -36px -1508px;\n}\ni.flag.mc:before,\ni.flag.monaco:before {\n  background-position: -36px -1534px;\n}\ni.flag.md:before,\ni.flag.moldova:before {\n  background-position: -36px -1560px;\n}\ni.flag.me:before,\ni.flag.montenegro:before {\n  background-position: -36px -1586px;\n}\ni.flag.mg:before,\ni.flag.madagascar:before {\n  background-position: -36px -1613px;\n}\ni.flag.mh:before,\ni.flag.marshall.islands:before {\n  background-position: -36px -1639px;\n}\ni.flag.mk:before,\ni.flag.macedonia:before {\n  background-position: -36px -1665px;\n}\ni.flag.ml:before,\ni.flag.mali:before {\n  background-position: -36px -1691px;\n}\ni.flag.mm:before,\ni.flag.myanmar:before,\ni.flag.burma:before {\n  background-position: -36px -1717px;\n}\ni.flag.mn:before,\ni.flag.mongolia:before {\n  background-position: -36px -1743px;\n}\ni.flag.mo:before,\ni.flag.macau:before {\n  background-position: -36px -1769px;\n}\ni.flag.mp:before,\ni.flag.northern.mariana.islands:before {\n  background-position: -36px -1795px;\n}\ni.flag.mq:before,\ni.flag.martinique:before {\n  background-position: -36px -1821px;\n}\ni.flag.mr:before,\ni.flag.mauritania:before {\n  background-position: -36px -1847px;\n}\ni.flag.ms:before,\ni.flag.montserrat:before {\n  background-position: -36px -1873px;\n}\ni.flag.mt:before,\ni.flag.malta:before {\n  background-position: -36px -1899px;\n}\ni.flag.mu:before,\ni.flag.mauritius:before {\n  background-position: -36px -1925px;\n}\ni.flag.mv:before,\ni.flag.maldives:before {\n  background-position: -36px -1951px;\n}\ni.flag.mw:before,\ni.flag.malawi:before {\n  background-position: -36px -1977px;\n}\ni.flag.mx:before,\ni.flag.mexico:before {\n  background-position: -72px 0px;\n}\ni.flag.my:before,\ni.flag.malaysia:before {\n  background-position: -72px -26px;\n}\ni.flag.mz:before,\ni.flag.mozambique:before {\n  background-position: -72px -52px;\n}\ni.flag.na:before,\ni.flag.namibia:before {\n  background-position: -72px -78px;\n}\ni.flag.nc:before,\ni.flag.new.caledonia:before {\n  background-position: -72px -104px;\n}\ni.flag.ne:before,\ni.flag.niger:before {\n  background-position: -72px -130px;\n}\ni.flag.nf:before,\ni.flag.norfolk.island:before {\n  background-position: -72px -156px;\n}\ni.flag.ng:before,\ni.flag.nigeria:before {\n  background-position: -72px -182px;\n}\ni.flag.ni:before,\ni.flag.nicaragua:before {\n  background-position: -72px -208px;\n}\ni.flag.nl:before,\ni.flag.netherlands:before {\n  background-position: -72px -234px;\n}\ni.flag.no:before,\ni.flag.norway:before {\n  background-position: -72px -260px;\n}\ni.flag.np:before,\ni.flag.nepal:before {\n  background-position: -72px -286px;\n}\ni.flag.nr:before,\ni.flag.nauru:before {\n  background-position: -72px -312px;\n}\ni.flag.nu:before,\ni.flag.niue:before {\n  background-position: -72px -338px;\n}\ni.flag.nz:before,\ni.flag.new.zealand:before {\n  background-position: -72px -364px;\n}\ni.flag.om:before,\ni.flag.oman:before {\n  background-position: -72px -390px;\n}\ni.flag.pa:before,\ni.flag.panama:before {\n  background-position: -72px -416px;\n}\ni.flag.pe:before,\ni.flag.peru:before {\n  background-position: -72px -442px;\n}\ni.flag.pf:before,\ni.flag.french.polynesia:before {\n  background-position: -72px -468px;\n}\ni.flag.pg:before,\ni.flag.new.guinea:before {\n  background-position: -72px -494px;\n}\ni.flag.ph:before,\ni.flag.philippines:before {\n  background-position: -72px -520px;\n}\ni.flag.pk:before,\ni.flag.pakistan:before {\n  background-position: -72px -546px;\n}\ni.flag.pl:before,\ni.flag.poland:before {\n  background-position: -72px -572px;\n}\ni.flag.pm:before,\ni.flag.saint.pierre:before {\n  background-position: -72px -598px;\n}\ni.flag.pn:before,\ni.flag.pitcairn.islands:before {\n  background-position: -72px -624px;\n}\ni.flag.pr:before,\ni.flag.puerto.rico:before {\n  background-position: -72px -650px;\n}\ni.flag.ps:before,\ni.flag.palestine:before {\n  background-position: -72px -676px;\n}\ni.flag.pt:before,\ni.flag.portugal:before {\n  background-position: -72px -702px;\n}\ni.flag.pw:before,\ni.flag.palau:before {\n  background-position: -72px -728px;\n}\ni.flag.py:before,\ni.flag.paraguay:before {\n  background-position: -72px -754px;\n}\ni.flag.qa:before,\ni.flag.qatar:before {\n  background-position: -72px -780px;\n}\ni.flag.re:before,\ni.flag.reunion:before {\n  background-position: -72px -806px;\n}\ni.flag.ro:before,\ni.flag.romania:before {\n  background-position: -72px -832px;\n}\ni.flag.rs:before,\ni.flag.serbia:before {\n  background-position: -72px -858px;\n}\ni.flag.ru:before,\ni.flag.russia:before {\n  background-position: -72px -884px;\n}\ni.flag.rw:before,\ni.flag.rwanda:before {\n  background-position: -72px -910px;\n}\ni.flag.sa:before,\ni.flag.saudi.arabia:before {\n  background-position: -72px -936px;\n}\ni.flag.sb:before,\ni.flag.solomon.islands:before {\n  background-position: -72px -962px;\n}\ni.flag.sc:before,\ni.flag.seychelles:before {\n  background-position: -72px -988px;\n}\ni.flag.sd:before,\ni.flag.sudan:before {\n  background-position: -72px -1040px;\n}\ni.flag.se:before,\ni.flag.sweden:before {\n  background-position: -72px -1066px;\n}\ni.flag.sg:before,\ni.flag.singapore:before {\n  background-position: -72px -1092px;\n}\ni.flag.sh:before,\ni.flag.saint.helena:before {\n  background-position: -72px -1118px;\n}\ni.flag.si:before,\ni.flag.slovenia:before {\n  background-position: -72px -1144px;\n}\ni.flag.sj:before,\ni.flag.svalbard:before,\ni.flag.jan.mayen:before {\n  background-position: -72px -1170px;\n}\ni.flag.sk:before,\ni.flag.slovakia:before {\n  background-position: -72px -1196px;\n}\ni.flag.sl:before,\ni.flag.sierra.leone:before {\n  background-position: -72px -1222px;\n}\ni.flag.sm:before,\ni.flag.san.marino:before {\n  background-position: -72px -1248px;\n}\ni.flag.sn:before,\ni.flag.senegal:before {\n  background-position: -72px -1274px;\n}\ni.flag.so:before,\ni.flag.somalia:before {\n  background-position: -72px -1300px;\n}\ni.flag.sr:before,\ni.flag.suriname:before {\n  background-position: -72px -1326px;\n}\ni.flag.st:before,\ni.flag.sao.tome:before {\n  background-position: -72px -1352px;\n}\ni.flag.sv:before,\ni.flag.el.salvador:before {\n  background-position: -72px -1378px;\n}\ni.flag.sy:before,\ni.flag.syria:before {\n  background-position: -72px -1404px;\n}\ni.flag.sz:before,\ni.flag.swaziland:before {\n  background-position: -72px -1430px;\n}\ni.flag.tc:before,\ni.flag.caicos.islands:before {\n  background-position: -72px -1456px;\n}\ni.flag.td:before,\ni.flag.chad:before {\n  background-position: -72px -1482px;\n}\ni.flag.tf:before,\ni.flag.french.territories:before {\n  background-position: -72px -1508px;\n}\ni.flag.tg:before,\ni.flag.togo:before {\n  background-position: -72px -1534px;\n}\ni.flag.th:before,\ni.flag.thailand:before {\n  background-position: -72px -1560px;\n}\ni.flag.tj:before,\ni.flag.tajikistan:before {\n  background-position: -72px -1586px;\n}\ni.flag.tk:before,\ni.flag.tokelau:before {\n  background-position: -72px -1612px;\n}\ni.flag.tl:before,\ni.flag.timorleste:before {\n  background-position: -72px -1638px;\n}\ni.flag.tm:before,\ni.flag.turkmenistan:before {\n  background-position: -72px -1664px;\n}\ni.flag.tn:before,\ni.flag.tunisia:before {\n  background-position: -72px -1690px;\n}\ni.flag.to:before,\ni.flag.tonga:before {\n  background-position: -72px -1716px;\n}\ni.flag.tr:before,\ni.flag.turkey:before {\n  background-position: -72px -1742px;\n}\ni.flag.tt:before,\ni.flag.trinidad:before {\n  background-position: -72px -1768px;\n}\ni.flag.tv:before,\ni.flag.tuvalu:before {\n  background-position: -72px -1794px;\n}\ni.flag.tw:before,\ni.flag.taiwan:before {\n  background-position: -72px -1820px;\n}\ni.flag.tz:before,\ni.flag.tanzania:before {\n  background-position: -72px -1846px;\n}\ni.flag.ua:before,\ni.flag.ukraine:before {\n  background-position: -72px -1872px;\n}\ni.flag.ug:before,\ni.flag.uganda:before {\n  background-position: -72px -1898px;\n}\ni.flag.um:before,\ni.flag.us.minor.islands:before {\n  background-position: -72px -1924px;\n}\ni.flag.us:before,\ni.flag.america:before,\ni.flag.united.states:before {\n  background-position: -72px -1950px;\n}\ni.flag.uy:before,\ni.flag.uruguay:before {\n  background-position: -72px -1976px;\n}\ni.flag.uz:before,\ni.flag.uzbekistan:before {\n  background-position: -108px 0px;\n}\ni.flag.va:before,\ni.flag.vatican.city:before {\n  background-position: -108px -26px;\n}\ni.flag.vc:before,\ni.flag.saint.vincent:before {\n  background-position: -108px -52px;\n}\ni.flag.ve:before,\ni.flag.venezuela:before {\n  background-position: -108px -78px;\n}\ni.flag.vg:before,\ni.flag.british.virgin.islands:before {\n  background-position: -108px -104px;\n}\ni.flag.vi:before,\ni.flag.us.virgin.islands:before {\n  background-position: -108px -130px;\n}\ni.flag.vn:before,\ni.flag.vietnam:before {\n  background-position: -108px -156px;\n}\ni.flag.vu:before,\ni.flag.vanuatu:before {\n  background-position: -108px -182px;\n}\ni.flag.wf:before,\ni.flag.wallis.and.futuna:before {\n  background-position: -108px -234px;\n}\ni.flag.ws:before,\ni.flag.samoa:before {\n  background-position: -108px -260px;\n}\ni.flag.ye:before,\ni.flag.yemen:before {\n  background-position: -108px -286px;\n}\ni.flag.yt:before,\ni.flag.mayotte:before {\n  background-position: -108px -312px;\n}\ni.flag.za:before,\ni.flag.south.africa:before {\n  background-position: -108px -338px;\n}\ni.flag.zm:before,\ni.flag.zambia:before {\n  background-position: -108px -364px;\n}\ni.flag.zw:before,\ni.flag.zimbabwe:before {\n  background-position: -108px -390px;\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/form.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Form\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Elements\n*******************************/\n\n\n/*--------------------\n        Form\n---------------------*/\n\n.ui.form {\n  position: relative;\n  max-width: 100%;\n}\n\n/*--------------------\n        Content\n---------------------*/\n\n.ui.form > p {\n  margin: 1em 0em;\n}\n\n/*--------------------\n        Field\n---------------------*/\n\n.ui.form .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n.ui.form .field:last-child,\n.ui.form .fields:last-child .field {\n  margin-bottom: 0em;\n}\n.ui.form .fields .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n\n/*--------------------\n        Labels\n---------------------*/\n\n.ui.form .field > label {\n  display: block;\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n\n/*--------------------\n    Standard Inputs\n---------------------*/\n\n.ui.form textarea,\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  width: 100%;\n  vertical-align: top;\n}\n\n/* Set max height on unusual input */\n.ui.form ::-webkit-datetime-edit,\n.ui.form ::-webkit-inner-spin-button {\n  height: 1.2142em;\n}\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n          transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/* Text Area */\n.ui.form textarea {\n  margin: 0em;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: 0.78571429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  outline: none;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n          transition: color 0.1s ease, border-color 0.1s ease;\n  font-size: 1em;\n  line-height: 1.2857;\n  resize: vertical;\n}\n.ui.form textarea:not([rows]) {\n  height: 12em;\n  min-height: 8em;\n  max-height: 24em;\n}\n.ui.form textarea,\n.ui.form input[type=\"checkbox\"] {\n  vertical-align: top;\n}\n\n/*--------------------------\n  Input w/ attached Button\n---------------------------*/\n\n.ui.form input.attached {\n  width: auto;\n}\n\n/*--------------------\n     Basic Select\n---------------------*/\n\n.ui.form select {\n  display: block;\n  height: auto;\n  width: 100%;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  padding: 0.62em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n          transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/*--------------------\n       Dropdown\n---------------------*/\n\n\n/* Block */\n.ui.form .field > .selection.dropdown {\n  width: 100%;\n}\n.ui.form .field > .selection.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/* Inline */\n.ui.form .inline.fields .field > .selection.dropdown,\n.ui.form .inline.field > .selection.dropdown {\n  width: auto;\n}\n.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,\n.ui.form .inline.field > .selection.dropdown > .dropdown.icon {\n  float: none;\n}\n\n/*--------------------\n       UI Input\n---------------------*/\n\n\n/* Block */\n.ui.form .field .ui.input,\n.ui.form .fields .field .ui.input,\n.ui.form .wide.field .ui.input {\n  width: 100%;\n}\n\n/* Inline  */\n.ui.form .inline.fields .field:not(.wide) .ui.input,\n.ui.form .inline.field:not(.wide) .ui.input {\n  width: auto;\n  vertical-align: middle;\n}\n\n/* Auto Input */\n.ui.form .fields .field .ui.input input,\n.ui.form .field .ui.input input {\n  width: auto;\n}\n\n/* Full Width Input */\n.ui.form .ten.fields .ui.input input,\n.ui.form .nine.fields .ui.input input,\n.ui.form .eight.fields .ui.input input,\n.ui.form .seven.fields .ui.input input,\n.ui.form .six.fields .ui.input input,\n.ui.form .five.fields .ui.input input,\n.ui.form .four.fields .ui.input input,\n.ui.form .three.fields .ui.input input,\n.ui.form .two.fields .ui.input input,\n.ui.form .wide.field .ui.input input {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  width: 0px;\n}\n\n/*--------------------\n   Types of Messages\n---------------------*/\n\n.ui.form .success.message,\n.ui.form .warning.message,\n.ui.form .error.message {\n  display: none;\n}\n\n/* Assumptions */\n.ui.form .message:first-child {\n  margin-top: 0px;\n}\n\n/*--------------------\n   Validation Prompt\n---------------------*/\n\n.ui.form .field .prompt.label {\n  white-space: normal;\n  background: #FFFFFF !important;\n  border: 1px solid #E0B4B4 !important;\n  color: #9F3A38 !important;\n}\n.ui.form .inline.fields .field .prompt,\n.ui.form .inline.field .prompt {\n  vertical-align: top;\n  margin: -0.25em 0em -0.5em 0.5em;\n}\n.ui.form .inline.fields .field .prompt:before,\n.ui.form .inline.field .prompt:before {\n  border-width: 0px 0px 1px 1px;\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n      Autofilled\n---------------------*/\n\n.ui.form .field.field input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #E5DFA1 !important;\n}\n\n/* Focus */\n.ui.form .field.field input:-webkit-autofill:focus {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #D5C315 !important;\n}\n\n/* Error */\n.ui.form .error.error input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important;\n  border-color: #E0B4B4 !important;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n\n/* browsers require these rules separate */\n.ui.form ::-webkit-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n.ui.form ::-ms-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n.ui.form ::-moz-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n.ui.form :focus::-webkit-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n.ui.form :focus::-ms-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n.ui.form :focus::-moz-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n/* Error Placeholder */\n.ui.form .error ::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n.ui.form .error ::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n.ui.form .error ::-moz-placeholder {\n  color: #e7bdbc;\n}\n.ui.form .error :focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n.ui.form .error :focus::-ms-input-placeholder {\n  color: #da9796;\n}\n.ui.form .error :focus::-moz-placeholder {\n  color: #da9796;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.form input:not([type]):focus,\n.ui.form input[type=\"date\"]:focus,\n.ui.form input[type=\"datetime-local\"]:focus,\n.ui.form input[type=\"email\"]:focus,\n.ui.form input[type=\"number\"]:focus,\n.ui.form input[type=\"password\"]:focus,\n.ui.form input[type=\"search\"]:focus,\n.ui.form input[type=\"tel\"]:focus,\n.ui.form input[type=\"time\"]:focus,\n.ui.form input[type=\"text\"]:focus,\n.ui.form input[type=\"url\"]:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n}\n.ui.form textarea:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n  -webkit-appearance: none;\n}\n\n/*--------------------\n        Success\n---------------------*/\n\n\n/* On Form */\n.ui.form.success .success.message:not(:empty) {\n  display: block;\n}\n.ui.form.success .icon.success.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Warning\n---------------------*/\n\n\n/* On Form */\n.ui.form.warning .warning.message:not(:empty) {\n  display: block;\n}\n.ui.form.warning .icon.warning.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n\n/* On Form */\n.ui.form.error .error.message:not(:empty) {\n  display: block;\n}\n.ui.form.error .icon.error.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/* On Field(s) */\n.ui.form .fields.error .field label,\n.ui.form .field.error label,\n.ui.form .fields.error .field .input,\n.ui.form .field.error .input {\n  color: #9F3A38;\n}\n.ui.form .fields.error .field .corner.label,\n.ui.form .field.error .corner.label {\n  border-color: #9F3A38;\n  color: #FFFFFF;\n}\n.ui.form .fields.error .field textarea,\n.ui.form .fields.error .field select,\n.ui.form .fields.error .field input:not([type]),\n.ui.form .fields.error .field input[type=\"date\"],\n.ui.form .fields.error .field input[type=\"datetime-local\"],\n.ui.form .fields.error .field input[type=\"email\"],\n.ui.form .fields.error .field input[type=\"number\"],\n.ui.form .fields.error .field input[type=\"password\"],\n.ui.form .fields.error .field input[type=\"search\"],\n.ui.form .fields.error .field input[type=\"tel\"],\n.ui.form .fields.error .field input[type=\"time\"],\n.ui.form .fields.error .field input[type=\"text\"],\n.ui.form .fields.error .field input[type=\"url\"],\n.ui.form .field.error textarea,\n.ui.form .field.error select,\n.ui.form .field.error input:not([type]),\n.ui.form .field.error input[type=\"date\"],\n.ui.form .field.error input[type=\"datetime-local\"],\n.ui.form .field.error input[type=\"email\"],\n.ui.form .field.error input[type=\"number\"],\n.ui.form .field.error input[type=\"password\"],\n.ui.form .field.error input[type=\"search\"],\n.ui.form .field.error input[type=\"tel\"],\n.ui.form .field.error input[type=\"time\"],\n.ui.form .field.error input[type=\"text\"],\n.ui.form .field.error input[type=\"url\"] {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  border-radius: '';\n  box-shadow: none;\n}\n.ui.form .field.error textarea:focus,\n.ui.form .field.error select:focus,\n.ui.form .field.error input:not([type]):focus,\n.ui.form .field.error input[type=\"date\"]:focus,\n.ui.form .field.error input[type=\"datetime-local\"]:focus,\n.ui.form .field.error input[type=\"email\"]:focus,\n.ui.form .field.error input[type=\"number\"]:focus,\n.ui.form .field.error input[type=\"password\"]:focus,\n.ui.form .field.error input[type=\"search\"]:focus,\n.ui.form .field.error input[type=\"tel\"]:focus,\n.ui.form .field.error input[type=\"time\"]:focus,\n.ui.form .field.error input[type=\"text\"]:focus,\n.ui.form .field.error input[type=\"url\"]:focus {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  -webkit-appearance: none;\n  box-shadow: none;\n}\n\n/* Preserve Native Select Stylings */\n.ui.form .field.error select {\n  -webkit-appearance: menulist-button;\n}\n\n/*------------------\n    Dropdown Error\n--------------------*/\n\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .fields.error .field .ui.dropdown .item,\n.ui.form .field.error .ui.dropdown,\n.ui.form .field.error .ui.dropdown .text,\n.ui.form .field.error .ui.dropdown .item {\n  background: #FFF6F6;\n  color: #9F3A38;\n}\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .field.error .ui.dropdown {\n  border-color: #E0B4B4 !important;\n}\n.ui.form .fields.error .field .ui.dropdown:hover,\n.ui.form .field.error .ui.dropdown:hover {\n  border-color: #E0B4B4 !important;\n}\n.ui.form .fields.error .field .ui.dropdown:hover .menu,\n.ui.form .field.error .ui.dropdown:hover .menu {\n  border-color: #E0B4B4;\n}\n.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,\n.ui.form .field.error .ui.multiple.selection.dropdown > .label {\n  background-color: #EACBCB;\n  color: #9F3A38;\n}\n\n/* Hover */\n.ui.form .fields.error .field .ui.dropdown .menu .item:hover,\n.ui.form .field.error .ui.dropdown .menu .item:hover {\n  background-color: #FBE7E7;\n}\n\n/* Selected */\n.ui.form .fields.error .field .ui.dropdown .menu .selected.item,\n.ui.form .field.error .ui.dropdown .menu .selected.item {\n  background-color: #FBE7E7;\n}\n\n/* Active */\n.ui.form .fields.error .field .ui.dropdown .menu .active.item,\n.ui.form .field.error .ui.dropdown .menu .active.item {\n  background-color: #FDCFCF !important;\n}\n\n/*--------------------\n    Checkbox Error\n---------------------*/\n\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {\n  color: #9F3A38;\n}\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n.ui.form .fields.error .field .checkbox label:after,\n.ui.form .field.error .checkbox label:after,\n.ui.form .fields.error .field .checkbox .box:after,\n.ui.form .field.error .checkbox .box:after {\n  color: #9F3A38;\n}\n\n/*--------------------\n       Disabled\n---------------------*/\n\n.ui.form .disabled.fields .field,\n.ui.form .disabled.field,\n.ui.form .field :disabled {\n  pointer-events: none;\n  opacity: 0.45;\n}\n.ui.form .field.disabled label {\n  opacity: 0.45;\n}\n.ui.form .field.disabled :disabled {\n  opacity: 1;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.form {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n          transition: all 0s linear;\n  z-index: 100;\n}\n.ui.loading.form:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  z-index: 100;\n}\n.ui.loading.form:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: form-spin 0.6s linear;\n          animation: form-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n@-webkit-keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n\n/*******************************\n         Element Types\n*******************************/\n\n\n/*--------------------\n     Required Field\n---------------------*/\n\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after,\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  margin: -0.2em 0em 0em 0.2em;\n  content: '*';\n  color: #DB2828;\n}\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after {\n  display: inline-block;\n  vertical-align: top;\n}\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  position: absolute;\n  top: 0%;\n  left: 100%;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------------\n    Inverted Colors\n---------------------*/\n\n.ui.inverted.form label,\n.ui.form .inverted.segment label,\n.ui.form .inverted.segment .ui.checkbox label,\n.ui.form .inverted.segment .ui.checkbox .box,\n.ui.inverted.form .ui.checkbox label,\n.ui.inverted.form .ui.checkbox .box {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Inverted Field */\n.ui.inverted.form input:not([type]),\n.ui.inverted.form input[type=\"date\"],\n.ui.inverted.form input[type=\"datetime-local\"],\n.ui.inverted.form input[type=\"email\"],\n.ui.inverted.form input[type=\"number\"],\n.ui.inverted.form input[type=\"password\"],\n.ui.inverted.form input[type=\"search\"],\n.ui.inverted.form input[type=\"tel\"],\n.ui.inverted.form input[type=\"time\"],\n.ui.inverted.form input[type=\"text\"],\n.ui.inverted.form input[type=\"url\"] {\n  background: #FFFFFF;\n  border-color: rgba(255, 255, 255, 0.1);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n     Field Groups\n---------------------*/\n\n\n/* Grouped Vertically */\n.ui.form .grouped.fields {\n  display: block;\n  margin: 0em 0em 1em;\n}\n.ui.form .grouped.fields:last-child {\n  margin-bottom: 0em;\n}\n.ui.form .grouped.fields > label {\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n.ui.form .grouped.fields .field,\n.ui.form .grouped.inline.fields .field {\n  display: block;\n  margin: 0.5em 0em;\n  padding: 0em;\n}\n\n/*--------------------\n        Fields\n---------------------*/\n\n\n/* Split fields */\n.ui.form .fields {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n}\n.ui.form .fields > .field {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n.ui.form .fields > .field:first-child {\n  border-left: none;\n  box-shadow: none;\n}\n\n/* Other Combinations */\n.ui.form .two.fields > .fields,\n.ui.form .two.fields > .field {\n  width: 50%;\n}\n.ui.form .three.fields > .fields,\n.ui.form .three.fields > .field {\n  width: 33.33333333%;\n}\n.ui.form .four.fields > .fields,\n.ui.form .four.fields > .field {\n  width: 25%;\n}\n.ui.form .five.fields > .fields,\n.ui.form .five.fields > .field {\n  width: 20%;\n}\n.ui.form .six.fields > .fields,\n.ui.form .six.fields > .field {\n  width: 16.66666667%;\n}\n.ui.form .seven.fields > .fields,\n.ui.form .seven.fields > .field {\n  width: 14.28571429%;\n}\n.ui.form .eight.fields > .fields,\n.ui.form .eight.fields > .field {\n  width: 12.5%;\n}\n.ui.form .nine.fields > .fields,\n.ui.form .nine.fields > .field {\n  width: 11.11111111%;\n}\n.ui.form .ten.fields > .fields,\n.ui.form .ten.fields > .field {\n  width: 10%;\n}\n\n/* Swap to full width on mobile */\n@media only screen and (max-width: 767px) {\n  .ui.form .fields {\n    -webkit-flex-wrap: wrap;\n        -ms-flex-wrap: wrap;\n            flex-wrap: wrap;\n  }\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .six.fields > .fields,\n  .ui.form .six.fields > .field,\n  .ui.form .seven.fields > .fields,\n  .ui.form .seven.fields > .field,\n  .ui.form .eight.fields > .fields,\n  .ui.form .eight.fields > .field,\n  .ui.form .nine.fields > .fields,\n  .ui.form .nine.fields > .field,\n  .ui.form .ten.fields > .fields,\n  .ui.form .ten.fields > .field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n.ui.form .fields .field:first-child {\n  padding-left: 0%;\n}\n.ui.form .fields .field:last-child {\n  padding-right: 0%;\n}\n\n/* Sizing Combinations */\n.ui.form .fields .wide.field {\n  width: 6.25%;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n.ui.form .fields .wide.field:first-child {\n  padding-left: 0%;\n}\n.ui.form .fields .wide.field:last-child {\n  padding-right: 0%;\n}\n.ui.form .one.wide.field {\n  width: 6.25% !important;\n}\n.ui.form .two.wide.field {\n  width: 12.5% !important;\n}\n.ui.form .three.wide.field {\n  width: 18.75% !important;\n}\n.ui.form .four.wide.field {\n  width: 25% !important;\n}\n.ui.form .five.wide.field {\n  width: 31.25% !important;\n}\n.ui.form .six.wide.field {\n  width: 37.5% !important;\n}\n.ui.form .seven.wide.field {\n  width: 43.75% !important;\n}\n.ui.form .eight.wide.field {\n  width: 50% !important;\n}\n.ui.form .nine.wide.field {\n  width: 56.25% !important;\n}\n.ui.form .ten.wide.field {\n  width: 62.5% !important;\n}\n.ui.form .eleven.wide.field {\n  width: 68.75% !important;\n}\n.ui.form .twelve.wide.field {\n  width: 75% !important;\n}\n.ui.form .thirteen.wide.field {\n  width: 81.25% !important;\n}\n.ui.form .fourteen.wide.field {\n  width: 87.5% !important;\n}\n.ui.form .fifteen.wide.field {\n  width: 93.75% !important;\n}\n.ui.form .sixteen.wide.field {\n  width: 100% !important;\n}\n\n/* Swap to full width on mobile */\n@media only screen and (max-width: 767px) {\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .fields > .two.wide.field,\n  .ui.form .fields > .three.wide.field,\n  .ui.form .fields > .four.wide.field,\n  .ui.form .fields > .five.wide.field,\n  .ui.form .fields > .six.wide.field,\n  .ui.form .fields > .seven.wide.field,\n  .ui.form .fields > .eight.wide.field,\n  .ui.form .fields > .nine.wide.field,\n  .ui.form .fields > .ten.wide.field,\n  .ui.form .fields > .eleven.wide.field,\n  .ui.form .fields > .twelve.wide.field,\n  .ui.form .fields > .thirteen.wide.field,\n  .ui.form .fields > .fourteen.wide.field,\n  .ui.form .fields > .fifteen.wide.field,\n  .ui.form .fields > .sixteen.wide.field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n\n/*--------------------\n     Equal Width\n---------------------*/\n\n.ui[class*=\"equal width\"].form .fields > .field,\n.ui.form [class*=\"equal width\"].fields > .field {\n  width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n}\n\n/*--------------------\n    Inline Fields\n---------------------*/\n\n.ui.form .inline.fields {\n  margin: 0em 0em 1em;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.form .inline.fields .field {\n  margin: 0em;\n  padding: 0em 1em 0em 0em;\n}\n\n/* Inline Label */\n.ui.form .inline.fields > label,\n.ui.form .inline.fields .field > label,\n.ui.form .inline.fields .field > p,\n.ui.form .inline.field > label,\n.ui.form .inline.field > p {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: baseline;\n  font-size: 0.92857143em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: none;\n}\n\n/* Grouped Inline Label */\n.ui.form .inline.fields > label {\n  margin: 0.035714em 1em 0em 0em;\n}\n\n/* Inline Input */\n.ui.form .inline.fields .field > input,\n.ui.form .inline.fields .field > select,\n.ui.form .inline.field > input,\n.ui.form .inline.field > select {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: middle;\n  font-size: 1em;\n}\n\n/* Label */\n.ui.form .inline.fields .field > :first-child,\n.ui.form .inline.field > :first-child {\n  margin: 0em 0.85714286em 0em 0em;\n}\n.ui.form .inline.fields .field > :only-child,\n.ui.form .inline.field > :only-child {\n  margin: 0em;\n}\n\n/* Wide */\n.ui.form .inline.fields .wide.field {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.form .inline.fields .wide.field > input,\n.ui.form .inline.fields .wide.field > select {\n  width: 100%;\n}\n\n/*--------------------\n        Sizes\n---------------------*/\n\n\n/* Standard */\n.ui.small.form {\n  font-size: 0.92857143rem;\n}\n\n/* Medium */\n.ui.form {\n  font-size: 1rem;\n}\n\n/* Large */\n.ui.large.form {\n  font-size: 1.14285714rem;\n}\n\n/* Huge */\n.ui.huge.form {\n  font-size: 1.42857143rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/form.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Form Validation\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.form = function(parameters) {\n  var\n    $allModules      = $(this),\n    moduleSelector   = $allModules.selector || '',\n\n    time             = new Date().getTime(),\n    performance      = [],\n\n    query            = arguments[0],\n    legacyParameters = arguments[1],\n    methodInvoked    = (typeof query == 'string'),\n    queryArguments   = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        $module     = $(this),\n        element     = this,\n\n        formErrors  = [],\n        keyHeldDown = false,\n\n        // set at run-time\n        $field,\n        $group,\n        $message,\n        $prompt,\n        $submit,\n        $clear,\n        $reset,\n\n        settings,\n        validation,\n\n        metadata,\n        selector,\n        className,\n        error,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n\n        instance,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          // settings grabbed at run time\n          module.get.settings();\n          if(methodInvoked) {\n            if(instance === undefined) {\n              module.instantiate();\n            }\n            module.invoke(query);\n          }\n          else {\n            module.verbose('Initializing form validation', $module, settings);\n            module.bindEvents();\n            module.set.defaults();\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          module.removeEvents();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $field      = $module.find(selector.field);\n          $group      = $module.find(selector.group);\n          $message    = $module.find(selector.message);\n          $prompt     = $module.find(selector.prompt);\n\n          $submit     = $module.find(selector.submit);\n          $clear      = $module.find(selector.clear);\n          $reset      = $module.find(selector.reset);\n        },\n\n        submit: function() {\n          module.verbose('Submitting form', $module);\n          $module\n            .submit()\n          ;\n        },\n\n        attachEvents: function(selector, action) {\n          action = action || 'submit';\n          $(selector)\n            .on('click' + eventNamespace, function(event) {\n              module[action]();\n              event.preventDefault();\n            })\n          ;\n        },\n\n        bindEvents: function() {\n          module.verbose('Attaching form events');\n          $module\n            .on('submit' + eventNamespace, module.validate.form)\n            .on('blur'   + eventNamespace, selector.field, module.event.field.blur)\n            .on('click'  + eventNamespace, selector.submit, module.submit)\n            .on('click'  + eventNamespace, selector.reset, module.reset)\n            .on('click'  + eventNamespace, selector.clear, module.clear)\n          ;\n          if(settings.keyboardShortcuts) {\n            $module\n              .on('keydown' + eventNamespace, selector.field, module.event.field.keydown)\n            ;\n          }\n          $field\n            .each(function() {\n              var\n                $input     = $(this),\n                type       = $input.prop('type'),\n                inputEvent = module.get.changeEvent(type, $input)\n              ;\n              $(this)\n                .on(inputEvent + eventNamespace, module.event.field.change)\n              ;\n            })\n          ;\n        },\n\n        clear: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue) || '',\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('clear');\n              }\n              else if(isCheckbox) {\n                $field.prop('checked', false);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val('');\n              }\n            })\n          ;\n        },\n\n        reset: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue),\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(defaultValue === undefined) {\n                return;\n              }\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('restore defaults');\n              }\n              else if(isCheckbox) {\n                module.verbose('Resetting checkbox value', $element, defaultValue);\n                $field.prop('checked', defaultValue);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val(defaultValue);\n              }\n            })\n          ;\n        },\n\n        is: {\n          bracketedRule: function(rule) {\n            return (rule.type && rule.type.match(settings.regExp.bracket));\n          },\n          valid: function() {\n            var\n              allValid = true\n            ;\n            module.verbose('Checking if form is valid');\n            $.each(validation, function(fieldName, field) {\n              if( !( module.validate.field(field, fieldName) ) ) {\n                allValid = false;\n              }\n            });\n            return allValid;\n          }\n        },\n\n        removeEvents: function() {\n          $module\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n          $submit\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n        },\n\n        event: {\n          field: {\n            keydown: function(event) {\n              var\n                $field  = $(this),\n                key     = event.which,\n                keyCode = {\n                  enter  : 13,\n                  escape : 27\n                }\n              ;\n              if( key == keyCode.escape) {\n                module.verbose('Escape key pressed blurring field');\n                $field\n                  .blur()\n                ;\n              }\n              if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).length > 0 ) {\n                if(!keyHeldDown) {\n                  $field\n                    .one('keyup' + eventNamespace, module.event.field.keyup)\n                  ;\n                  module.submit();\n                  module.debug('Enter pressed on input submitting form');\n                }\n                keyHeldDown = true;\n              }\n            },\n            keyup: function() {\n              keyHeldDown = false;\n            },\n            blur: function(event) {\n              var\n                $field          = $(this),\n                $fieldGroup     = $field.closest($group),\n                validationRules = module.get.validation($field)\n              ;\n              if( $fieldGroup.hasClass(className.error) ) {\n                module.debug('Revalidating field', $field, validationRules);\n                module.validate.form.call(module, event, true);\n              }\n              else if(settings.on == 'blur' || settings.on == 'change') {\n                if(validationRules) {\n                  module.validate.field( validationRules );\n                }\n              }\n            },\n            change: function(event) {\n              var\n                $field      = $(this),\n                $fieldGroup = $field.closest($group)\n              ;\n              if(settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) ) {\n                clearTimeout(module.timer);\n                module.timer = setTimeout(function() {\n                  module.debug('Revalidating field', $field,  module.get.validation($field));\n                  module.validate.form.call(module, event, true);\n                }, settings.delay);\n              }\n            }\n          }\n\n        },\n\n        get: {\n          ancillaryValue: function(rule) {\n            if(!rule.type || !module.is.bracketedRule(rule)) {\n              return false;\n            }\n            return rule.type.match(settings.regExp.bracket)[1] + '';\n          },\n          ruleName: function(rule) {\n            if( module.is.bracketedRule(rule) ) {\n              return rule.type.replace(rule.type.match(settings.regExp.bracket)[0], '');\n            }\n            return rule.type;\n          },\n          changeEvent: function(type, $input) {\n            if(type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {\n              return 'change';\n            }\n            else {\n              return module.get.inputEvent();\n            }\n          },\n          inputEvent: function() {\n            return (document.createElement('input').oninput !== undefined)\n              ? 'input'\n              : (document.createElement('input').onpropertychange !== undefined)\n                ? 'propertychange'\n                : 'keyup'\n            ;\n          },\n          prompt: function(rule, field) {\n            var\n              ruleName      = module.get.ruleName(rule),\n              ancillary     = module.get.ancillaryValue(rule),\n              prompt        = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,\n              requiresValue = (prompt.search('{value}') !== -1),\n              requiresName  = (prompt.search('{name}') !== -1),\n              $label,\n              $field,\n              name\n            ;\n            if(requiresName || requiresValue) {\n              $field = module.get.field(field.identifier);\n            }\n            if(requiresValue) {\n              prompt = prompt.replace('{value}', $field.val());\n            }\n            if(requiresName) {\n              $label = $field.closest(selector.group).find('label').eq(0);\n              name = ($label.size() == 1)\n                ? $label.text()\n                : $field.prop('placeholder') || settings.text.unspecifiedField\n              ;\n              prompt = prompt.replace('{name}', name);\n            }\n            prompt = prompt.replace('{identifier}', field.identifier);\n            prompt = prompt.replace('{ruleValue}', ancillary);\n            if(!rule.prompt) {\n              module.verbose('Using default validation prompt for type', prompt, ruleName);\n            }\n            return prompt;\n          },\n          settings: function() {\n            if($.isPlainObject(parameters)) {\n              var\n                keys     = Object.keys(parameters),\n                isLegacySettings = (keys.length > 0)\n                  ? (parameters[keys[0]].identifier !== undefined && parameters[keys[0]].rules !== undefined)\n                  : false,\n                ruleKeys\n              ;\n              if(isLegacySettings) {\n                // 1.x (ducktyped)\n                settings   = $.extend(true, {}, $.fn.form.settings, legacyParameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, parameters);\n                module.error(settings.error.oldSyntax, element);\n                module.verbose('Extending settings from legacy parameters', validation, settings);\n              }\n              else {\n                // 2.x\n                if(parameters.fields) {\n                  ruleKeys = Object.keys(parameters.fields);\n                  if( typeof parameters.fields[ruleKeys[0]] == 'string' || $.isArray(parameters.fields[ruleKeys[0]]) ) {\n                    $.each(parameters.fields, function(name, rules) {\n                      if(typeof rules == 'string') {\n                        rules = [rules];\n                      }\n                      parameters.fields[name] = {\n                        rules: []\n                      };\n                      $.each(rules, function(index, rule) {\n                        parameters.fields[name].rules.push({ type: rule });\n                      });\n                    });\n                  }\n                }\n\n                settings   = $.extend(true, {}, $.fn.form.settings, parameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, settings.fields);\n                module.verbose('Extending settings', validation, settings);\n              }\n            }\n            else {\n              settings   = $.fn.form.settings;\n              validation = $.fn.form.settings.defaults;\n              module.verbose('Using default form validation', validation, settings);\n            }\n\n            // shorthand\n            namespace       = settings.namespace;\n            metadata        = settings.metadata;\n            selector        = settings.selector;\n            className       = settings.className;\n            error           = settings.error;\n            moduleNamespace = 'module-' + namespace;\n            eventNamespace  = '.' + namespace;\n\n            // grab instance\n            instance = $module.data(moduleNamespace);\n\n            // refresh selector cache\n            module.refresh();\n          },\n          field: function(identifier) {\n            module.verbose('Finding field with identifier', identifier);\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return $field.filter('#' + identifier);\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'\"]');\n            }\n            else if( $field.filter('[name=\"' + identifier +'[]\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'[]\"]');\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]');\n            }\n            return $('<input/>');\n          },\n          fields: function(fields) {\n            var\n              $fields = $()\n            ;\n            $.each(fields, function(index, name) {\n              $fields = $fields.add( module.get.field(name) );\n            });\n            return $fields;\n          },\n          validation: function($field) {\n            var\n              fieldValidation,\n              identifier\n            ;\n            if(!validation) {\n              return false;\n            }\n            $.each(validation, function(fieldName, field) {\n              identifier = field.identifier || fieldName;\n              if( module.get.field(identifier)[0] == $field[0] ) {\n                field.identifier = identifier;\n                fieldValidation = field;\n              }\n            });\n            return fieldValidation || false;\n          },\n          value: function (field) {\n            var\n              fields = [],\n              results\n            ;\n            fields.push(field);\n            results = module.get.values.call(element, fields);\n            return results[field];\n          },\n          values: function (fields) {\n            var\n              $fields = $.isArray(fields)\n                ? module.get.fields(fields)\n                : $field,\n              values = {}\n            ;\n            $fields.each(function(index, field) {\n              var\n                $field     = $(field),\n                type       = $field.prop('type'),\n                name       = $field.prop('name'),\n                value      = $field.val(),\n                isCheckbox = $field.is(selector.checkbox),\n                isRadio    = $field.is(selector.radio),\n                isMultiple = (name.indexOf('[]') !== -1),\n                isChecked  = (isCheckbox)\n                  ? $field.is(':checked')\n                  : false\n              ;\n              if(name) {\n                if(isMultiple) {\n                  name = name.replace('[]', '');\n                  if(!values[name]) {\n                    values[name] = [];\n                  }\n                  if(isCheckbox) {\n                    if(isChecked) {\n                      values[name].push(value || true);\n                    }\n                    else {\n                      values[name].push(false);\n                    }\n                  }\n                  else {\n                    values[name].push(value);\n                  }\n                }\n                else {\n                  if(isRadio) {\n                    if(isChecked) {\n                      values[name] = value;\n                    }\n                  }\n                  else if(isCheckbox) {\n                    if(isChecked) {\n                      values[name] = value || true;\n                    }\n                    else {\n                      values[name] = false;\n                    }\n                  }\n                  else {\n                    values[name] = value;\n                  }\n                }\n              }\n            });\n            return values;\n          }\n        },\n\n        has: {\n\n          field: function(identifier) {\n            module.verbose('Checking for existence of a field with identifier', identifier);\n            if(typeof identifier !== 'string') {\n              module.error(error.identifier, identifier);\n            }\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            return false;\n          }\n\n        },\n\n        add: {\n          prompt: function(identifier, errors) {\n            var\n              $field       = module.get.field(identifier),\n              $fieldGroup  = $field.closest($group),\n              $prompt      = $fieldGroup.children(selector.prompt),\n              promptExists = ($prompt.length !== 0)\n            ;\n            errors = (typeof errors == 'string')\n              ? [errors]\n              : errors\n            ;\n            module.verbose('Adding field error state', identifier);\n            $fieldGroup\n              .addClass(className.error)\n            ;\n            if(settings.inline) {\n              if(!promptExists) {\n                $prompt = settings.templates.prompt(errors);\n                $prompt\n                  .appendTo($fieldGroup)\n                ;\n              }\n              $prompt\n                .html(errors[0])\n              ;\n              if(!promptExists) {\n                if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                  module.verbose('Displaying error with css transition', settings.transition);\n                  $prompt.transition(settings.transition + ' in', settings.duration);\n                }\n                else {\n                  module.verbose('Displaying error with fallback javascript animation');\n                  $prompt\n                    .fadeIn(settings.duration)\n                  ;\n                }\n              }\n              else {\n                module.verbose('Inline errors are disabled, no inline error added', identifier);\n              }\n            }\n          },\n          errors: function(errors) {\n            module.debug('Adding form error messages', errors);\n            module.set.error();\n            $message\n              .html( settings.templates.error(errors) )\n            ;\n          }\n        },\n\n        remove: {\n          prompt: function(identifier) {\n            var\n              $field      = module.get.field(identifier),\n              $fieldGroup = $field.closest($group),\n              $prompt     = $fieldGroup.children(selector.prompt)\n            ;\n            $fieldGroup\n              .removeClass(className.error)\n            ;\n            if(settings.inline && $prompt.is(':visible')) {\n              module.verbose('Removing prompt for field', identifier);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                $prompt.transition(settings.transition + ' out', settings.duration, function() {\n                  $prompt.remove();\n                });\n              }\n              else {\n                $prompt\n                  .fadeOut(settings.duration, function(){\n                    $prompt.remove();\n                  })\n                ;\n              }\n            }\n          }\n        },\n\n        set: {\n          success: function() {\n            $module\n              .removeClass(className.error)\n              .addClass(className.success)\n            ;\n          },\n          defaults: function () {\n            $field\n              .each(function () {\n                var\n                  $field     = $(this),\n                  isCheckbox = ($field.filter(selector.checkbox).length > 0),\n                  value      = (isCheckbox)\n                    ? $field.is(':checked')\n                    : $field.val()\n                ;\n                $field.data(metadata.defaultValue, value);\n              })\n            ;\n          },\n          error: function() {\n            $module\n              .removeClass(className.success)\n              .addClass(className.error)\n            ;\n          },\n          value: function (field, value) {\n            var\n              fields = {}\n            ;\n            fields[field] = value;\n            return module.set.values.call(element, fields);\n          },\n          values: function (fields) {\n            if($.isEmptyObject(fields)) {\n              return;\n            }\n            $.each(fields, function(key, value) {\n              var\n                $field      = module.get.field(key),\n                $element    = $field.parent(),\n                isMultiple  = $.isArray(value),\n                isCheckbox  = $element.is(selector.uiCheckbox),\n                isDropdown  = $element.is(selector.uiDropdown),\n                isRadio     = ($field.is(selector.radio) && isCheckbox),\n                fieldExists = ($field.length > 0),\n                $multipleField\n              ;\n              if(fieldExists) {\n                if(isMultiple && isCheckbox) {\n                  module.verbose('Selecting multiple', value, $field);\n                  $element.checkbox('uncheck');\n                  $.each(value, function(index, value) {\n                    $multipleField = $field.filter('[value=\"' + value + '\"]');\n                    $element       = $multipleField.parent();\n                    if($multipleField.length > 0) {\n                      $element.checkbox('check');\n                    }\n                  });\n                }\n                else if(isRadio) {\n                  module.verbose('Selecting radio value', value, $field);\n                  $field.filter('[value=\"' + value + '\"]')\n                    .parent(selector.uiCheckbox)\n                      .checkbox('check')\n                  ;\n                }\n                else if(isCheckbox) {\n                  module.verbose('Setting checkbox value', value, $element);\n                  if(value === true) {\n                    $element.checkbox('check');\n                  }\n                  else {\n                    $element.checkbox('uncheck');\n                  }\n                }\n                else if(isDropdown) {\n                  module.verbose('Setting dropdown value', value, $element);\n                  $element.dropdown('set selected', value);\n                }\n                else {\n                  module.verbose('Setting field value', value, $field);\n                  $field.val(value);\n                }\n              }\n            });\n          }\n        },\n\n        validate: {\n\n          form: function(event, ignoreCallbacks) {\n            var\n              values = module.get.values(),\n              apiRequest\n            ;\n\n            // input keydown event will fire submit repeatedly by browser default\n            if(keyHeldDown) {\n              return false;\n            }\n\n            // reset errors\n            formErrors = [];\n            if( module.is.valid() ) {\n              module.debug('Form has no validation errors, submitting');\n              module.set.success();\n              if(ignoreCallbacks !== true) {\n                return settings.onSuccess.call(element, event, values);\n              }\n            }\n            else {\n              module.debug('Form has errors');\n              module.set.error();\n              if(!settings.inline) {\n                module.add.errors(formErrors);\n              }\n              // prevent ajax submit\n              if($module.data('moduleApi') !== undefined) {\n                event.stopImmediatePropagation();\n              }\n              if(ignoreCallbacks !== true) {\n                return settings.onFailure.call(element, formErrors, values);\n              }\n            }\n          },\n\n          // takes a validation object and returns whether field passes validation\n          field: function(field, fieldName) {\n            var\n              identifier  = field.identifier || fieldName,\n              $field      = module.get.field(identifier),\n              fieldValid  = true,\n              fieldErrors = []\n            ;\n            if(!field.identifier) {\n              module.debug('Using field name as identifier', identifier);\n              field.identifier = identifier;\n            }\n            if($field.prop('disabled')) {\n              module.debug('Field is disabled. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.optional && $.trim($field.val()) === ''){\n              module.debug('Field is optional and empty. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.rules !== undefined) {\n              $.each(field.rules, function(index, rule) {\n                if( module.has.field(identifier) && !( module.validate.rule(field, rule) ) ) {\n                  module.debug('Field is invalid', identifier, rule.type);\n                  fieldErrors.push(module.get.prompt(rule, field));\n                  fieldValid = false;\n                }\n              });\n            }\n            if(fieldValid) {\n              module.remove.prompt(identifier, fieldErrors);\n              settings.onValid.call($field);\n            }\n            else {\n              formErrors = formErrors.concat(fieldErrors);\n              module.add.prompt(identifier, fieldErrors);\n              settings.onInvalid.call($field, fieldErrors);\n              return false;\n            }\n            return true;\n          },\n\n          // takes validation rule and returns whether field passes rule\n          rule: function(field, rule) {\n            var\n              $field       = module.get.field(field.identifier),\n              type         = rule.type,\n              value        = $field.val(),\n              isValid      = true,\n              ancillary    = module.get.ancillaryValue(rule),\n              ruleName     = module.get.ruleName(rule),\n              ruleFunction = settings.rules[ruleName]\n            ;\n            if( !$.isFunction(ruleFunction) ) {\n              module.error(error.noRule, ruleName);\n              return;\n            }\n            // cast to string avoiding encoding special values\n            value = (value === undefined || value === '' || value === null)\n              ? ''\n              : $.trim(value + '')\n            ;\n            return ruleFunction.call($field, value, ancillary);\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      module.initialize();\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.form.settings = {\n\n  name              : 'Form',\n  namespace         : 'form',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  fields            : false,\n\n  keyboardShortcuts : true,\n  on                : 'submit',\n  inline            : false,\n\n  delay             : 200,\n  revalidate        : true,\n\n  transition        : 'scale',\n  duration          : 200,\n\n  onValid           : function() {},\n  onInvalid         : function() {},\n  onSuccess         : function() { return true; },\n  onFailure         : function() { return false; },\n\n  metadata : {\n    defaultValue : 'default',\n    validate     : 'validate'\n  },\n\n  regExp: {\n    bracket : /\\[(.*)\\]/i,\n    decimal : /^\\d*(\\.)\\d+/,\n    email   : \"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\",\n    escape  : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    flags   : /^\\/(.*)\\/(.*)?/,\n    integer : /^\\-?\\d+$/,\n    number  : /^\\-?\\d*(\\.\\d+)?$/,\n    url     : /(https?:\\/\\/(?:www\\.|(?!www))[^\\s\\.]+\\.[^\\s]{2,}|www\\.[^\\s]+\\.[^\\s]{2,})/i\n  },\n\n  text: {\n    unspecifiedRule  : 'Please enter a valid value',\n    unspecifiedField : 'This field'\n  },\n\n  prompt: {\n    empty                : '{name} must have a value',\n    checked              : '{name} must be checked',\n    email                : '{name} must be a valid e-mail',\n    url                  : '{name} must be a valid url',\n    regExp               : '{name} is not formatted correctly',\n    integer              : '{name} must be an integer',\n    decimal              : '{name} must be a decimal number',\n    number               : '{name} must be set to a number',\n    is                   : '{name} must be \"{ruleValue}\"',\n    isExactly            : '{name} must be exactly \"{ruleValue}\"',\n    not                  : '{name} cannot be set to \"{ruleValue}\"',\n    notExactly           : '{name} cannot be set to exactly \"{ruleValue}\"',\n    contain              : '{name} cannot contain \"{ruleValue}\"',\n    containExactly       : '{name} cannot contain exactly \"{ruleValue}\"',\n    doesntContain        : '{name} must contain  \"{ruleValue}\"',\n    doesntContainExactly : '{name} must contain exactly \"{ruleValue}\"',\n    minLength            : '{name} must be at least {ruleValue} characters',\n    length               : '{name} must be at least {ruleValue} characters',\n    exactLength          : '{name} must be exactly {ruleValue} characters',\n    maxLength            : '{name} cannot be longer than {ruleValue} characters',\n    match                : '{name} must match {ruleValue} field',\n    different            : '{name} must have a different value than {ruleValue} field',\n    creditCard           : '{name} must be a valid credit card number',\n    minCount             : '{name} must have at least {ruleValue} choices',\n    exactCount           : '{name} must have exactly {ruleValue} choices',\n    maxCount             : '{name} must have {ruleValue} or less choices'\n  },\n\n  selector : {\n    checkbox   : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    clear      : '.clear',\n    field      : 'input, textarea, select',\n    group      : '.field',\n    input      : 'input',\n    message    : '.error.message',\n    prompt     : '.prompt.label',\n    radio      : 'input[type=\"radio\"]',\n    reset      : '.reset:not([type=\"reset\"])',\n    submit     : '.submit:not([type=\"submit\"])',\n    uiCheckbox : '.ui.checkbox',\n    uiDropdown : '.ui.dropdown'\n  },\n\n  className : {\n    error   : 'error',\n    label   : 'ui prompt label',\n    pressed : 'down',\n    success : 'success'\n  },\n\n  error: {\n    identifier : 'You must specify a string identifier for each field',\n    method     : 'The method you called is not defined.',\n    noRule     : 'There is no rule matching the one you specified',\n    oldSyntax  : 'Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically.'\n  },\n\n  templates: {\n\n    // template that produces error message\n    error: function(errors) {\n      var\n        html = '<ul class=\"list\">'\n      ;\n      $.each(errors, function(index, value) {\n        html += '<li>' + value + '</li>';\n      });\n      html += '</ul>';\n      return $(html);\n    },\n\n    // template that produces label\n    prompt: function(errors) {\n      return $('<div/>')\n        .addClass('ui basic red pointing prompt label')\n        .html(errors[0])\n      ;\n    }\n  },\n\n  rules: {\n\n    // is not empty or blank string\n    empty: function(value) {\n      return !(value === undefined || '' === value || $.isArray(value) && value.length === 0);\n    },\n\n    // checkbox checked\n    checked: function() {\n      return ($(this).filter(':checked').length > 0);\n    },\n\n    // is most likely an email\n    email: function(value){\n      var\n        emailRegExp = new RegExp($.fn.form.settings.regExp.email, 'i')\n      ;\n      return emailRegExp.test(value);\n    },\n\n    // value is most likely url\n    url: function(value) {\n      return $.fn.form.settings.regExp.url.test(value);\n    },\n\n    // matches specified regExp\n    regExp: function(value, regExp) {\n      var\n        regExpParts = regExp.match($.fn.form.settings.regExp.flags),\n        flags\n      ;\n      // regular expression specified as /baz/gi (flags)\n      if(regExpParts) {\n        regExp = (regExpParts.length >= 2)\n          ? regExpParts[1]\n          : regExp\n        ;\n        flags = (regExpParts.length >= 3)\n          ? regExpParts[2]\n          : ''\n        ;\n      }\n      return value.match( new RegExp(regExp, flags) );\n    },\n\n    // is valid integer or matches range\n    integer: function(value, range) {\n      var\n        intRegExp = $.fn.form.settings.regExp.integer,\n        min,\n        max,\n        parts\n      ;\n      if( !range || ['', '..'].indexOf(range) !== -1) {\n        // do nothing\n      }\n      else if(range.indexOf('..') == -1) {\n        if(intRegExp.test(range)) {\n          min = max = range - 0;\n        }\n      }\n      else {\n        parts = range.split('..', 2);\n        if(intRegExp.test(parts[0])) {\n          min = parts[0] - 0;\n        }\n        if(intRegExp.test(parts[1])) {\n          max = parts[1] - 0;\n        }\n      }\n      return (\n        intRegExp.test(value) &&\n        (min === undefined || value >= min) &&\n        (max === undefined || value <= max)\n      );\n    },\n\n    // is valid number (with decimal)\n    decimal: function(value) {\n      return $.fn.form.settings.regExp.decimal.test(value);\n    },\n\n    // is valid number\n    number: function(value) {\n      return $.fn.form.settings.regExp.number.test(value);\n    },\n\n    // is value (case insensitive)\n    is: function(value, text) {\n      text = (typeof text == 'string')\n        ? text.toLowerCase()\n        : text\n      ;\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      return (value == text);\n    },\n\n    // is value\n    isExactly: function(value, text) {\n      return (value == text);\n    },\n\n    // value is not another value (case insensitive)\n    not: function(value, notValue) {\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      notValue = (typeof notValue == 'string')\n        ? notValue.toLowerCase()\n        : notValue\n      ;\n      return (value != notValue);\n    },\n\n    // value is not another value (case sensitive)\n    notExactly: function(value, notValue) {\n      return (value != notValue);\n    },\n\n    // value contains text (insensitive)\n    contains: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) !== -1);\n    },\n\n    // value contains text (case sensitive)\n    containsExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) !== -1);\n    },\n\n    // value contains text (insensitive)\n    doesntContain: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) === -1);\n    },\n\n    // value contains text (case sensitive)\n    doesntContainExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) === -1);\n    },\n\n    // is at least string length\n    minLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // see rls notes for 2.0.6 (this is a duplicate of minLength)\n    length: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // is exactly length\n    exactLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length == requiredLength)\n        : false\n      ;\n    },\n\n    // is less than length\n    maxLength: function(value, maxLength) {\n      return (value !== undefined)\n        ? (value.length <= maxLength)\n        : false\n      ;\n    },\n\n    // matches another field\n    match: function(value, identifier) {\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() == matchingValue.toString() )\n        : false\n      ;\n    },\n\n    // different than another field\n    different: function(value, identifier) {\n      // use either id or name of field\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() !== matchingValue.toString() )\n        : false\n      ;\n    },\n\n    creditCard: function(cardNumber, cardTypes) {\n      var\n        cards = {\n          visa: {\n            pattern : /^4/,\n            length  : [16]\n          },\n          amex: {\n            pattern : /^3[47]/,\n            length  : [15]\n          },\n          mastercard: {\n            pattern : /^5[1-5]/,\n            length  : [16]\n          },\n          discover: {\n            pattern : /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,\n            length  : [16]\n          },\n          unionPay: {\n            pattern : /^(62|88)/,\n            length  : [16, 17, 18, 19]\n          },\n          jcb: {\n            pattern : /^35(2[89]|[3-8][0-9])/,\n            length  : [16]\n          },\n          maestro: {\n            pattern : /^(5018|5020|5038|6304|6759|676[1-3])/,\n            length  : [12, 13, 14, 15, 16, 17, 18, 19]\n          },\n          dinersClub: {\n            pattern : /^(30[0-5]|^36)/,\n            length  : [14]\n          },\n          laser: {\n            pattern : /^(6304|670[69]|6771)/,\n            length  : [16, 17, 18, 19]\n          },\n          visaElectron: {\n            pattern : /^(4026|417500|4508|4844|491(3|7))/,\n            length  : [16]\n          }\n        },\n        valid         = {},\n        validCard     = false,\n        requiredTypes = (typeof cardTypes == 'string')\n          ? cardTypes.split(',')\n          : false,\n        unionPay,\n        validation\n      ;\n\n      if(typeof cardNumber !== 'string' || cardNumber.length === 0) {\n        return;\n      }\n\n      // verify card types\n      if(requiredTypes) {\n        $.each(requiredTypes, function(index, type){\n          // verify each card type\n          validation = cards[type];\n          if(validation) {\n            valid = {\n              length  : ($.inArray(cardNumber.length, validation.length) !== -1),\n              pattern : (cardNumber.search(validation.pattern) !== -1)\n            };\n            if(valid.length && valid.pattern) {\n              validCard = true;\n            }\n          }\n        });\n\n        if(!validCard) {\n          return false;\n        }\n      }\n\n      // skip luhn for UnionPay\n      unionPay = {\n        number  : ($.inArray(cardNumber.length, cards.unionPay.length) !== -1),\n        pattern : (cardNumber.search(cards.unionPay.pattern) !== -1)\n      };\n      if(unionPay.number && unionPay.pattern) {\n        return true;\n      }\n\n      // verify luhn, adapted from  <https://gist.github.com/2134376>\n      var\n        length        = cardNumber.length,\n        multiple      = 0,\n        producedValue = [\n          [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n          [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]\n        ],\n        sum           = 0\n      ;\n      while (length--) {\n        sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];\n        multiple ^= 1;\n      }\n      return (sum % 10 === 0 && sum > 0);\n    },\n\n    minCount: function(value, minCount) {\n      if(minCount == 0) {\n        return true;\n      }\n      if(minCount == 1) {\n        return (value !== '');\n      }\n      return (value.split(',').length >= minCount);\n    },\n\n    exactCount: function(value, exactCount) {\n      if(exactCount == 0) {\n        return (value === '');\n      }\n      if(exactCount == 1) {\n        return (value !== '' && value.search(',') === -1);\n      }\n      return (value.split(',').length == exactCount);\n    },\n\n    maxCount: function(value, maxCount) {\n      if(maxCount == 0) {\n        return false;\n      }\n      if(maxCount == 1) {\n        return (value.search(',') === -1);\n      }\n      return (value.split(',').length <= maxCount);\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/grid.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Grid\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n.ui.grid {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch;\n  padding: 0em;\n}\n\n/*----------------------\n      Remove Gutters\n-----------------------*/\n\n.ui.grid {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  margin-left: -1rem;\n  margin-right: -1rem;\n}\n.ui.relaxed.grid {\n  margin-left: -1.5rem;\n  margin-right: -1.5rem;\n}\n.ui[class*=\"very relaxed\"].grid {\n  margin-left: -2.5rem;\n  margin-right: -2.5rem;\n}\n\n/* Preserve Rows Spacing on Consecutive Grids */\n.ui.grid + .grid {\n  margin-top: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n\n/* Standard 16 column */\n.ui.grid > .column:not(.row),\n.ui.grid > .row > .column {\n  position: relative;\n  display: inline-block;\n  width: 6.25%;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  vertical-align: top;\n}\n.ui.grid > * {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/*-------------------\n        Rows\n--------------------*/\n\n.ui.grid > .row {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-box-pack: inherit;\n  -webkit-justify-content: inherit;\n      -ms-flex-pack: inherit;\n          justify-content: inherit;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch;\n  width: 100% !important;\n  padding: 0rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n\n/* Vertical padding when no rows */\n.ui.grid > .column:not(.row) {\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n.ui.grid > .row > .column {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/*-------------------\n      Content\n--------------------*/\n\n.ui.grid > .row > img,\n.ui.grid > .row > .column > img {\n  max-width: 100%;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n\n/* Collapse Margin on Consecutive Grid */\n.ui.grid > .ui.grid:first-child {\n  margin-top: 0em;\n}\n.ui.grid > .ui.grid:last-child {\n  margin-bottom: 0em;\n}\n\n/* Segment inside Aligned Grid */\n.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),\n.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {\n  width: 100%;\n}\n\n/* Align Dividers with Gutter */\n.ui.grid .row + .ui.divider {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n  margin: 1rem 1rem;\n}\n.ui.grid .column + .ui.vertical.divider {\n  height: calc(50% -  1rem );\n}\n\n/* Remove Border on Last Horizontal Segment */\n.ui.grid > .row > .column:last-child > .horizontal.segment,\n.ui.grid > .column:last-child > .horizontal.segment {\n  box-shadow: none;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-----------------------\n       Page Grid\n-------------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.page.grid {\n    width: auto;\n    padding-left: 0em;\n    padding-right: 0em;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n}\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 2em;\n    padding-right: 2em;\n  }\n}\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 3%;\n    padding-right: 3%;\n  }\n}\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 15%;\n    padding-right: 15%;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 23%;\n    padding-right: 23%;\n  }\n}\n\n/*-------------------\n     Column Count\n--------------------*/\n\n\n/* Assume full width with one column */\n.ui.grid > .column:only-child,\n.ui.grid > .row > .column:only-child {\n  width: 100%;\n}\n\n/* Grid Based */\n.ui[class*=\"one column\"].grid > .row > .column,\n.ui[class*=\"one column\"].grid > .column:not(.row) {\n  width: 100%;\n}\n.ui[class*=\"two column\"].grid > .row > .column,\n.ui[class*=\"two column\"].grid > .column:not(.row) {\n  width: 50%;\n}\n.ui[class*=\"three column\"].grid > .row > .column,\n.ui[class*=\"three column\"].grid > .column:not(.row) {\n  width: 33.33333333%;\n}\n.ui[class*=\"four column\"].grid > .row > .column,\n.ui[class*=\"four column\"].grid > .column:not(.row) {\n  width: 25%;\n}\n.ui[class*=\"five column\"].grid > .row > .column,\n.ui[class*=\"five column\"].grid > .column:not(.row) {\n  width: 20%;\n}\n.ui[class*=\"six column\"].grid > .row > .column,\n.ui[class*=\"six column\"].grid > .column:not(.row) {\n  width: 16.66666667%;\n}\n.ui[class*=\"seven column\"].grid > .row > .column,\n.ui[class*=\"seven column\"].grid > .column:not(.row) {\n  width: 14.28571429%;\n}\n.ui[class*=\"eight column\"].grid > .row > .column,\n.ui[class*=\"eight column\"].grid > .column:not(.row) {\n  width: 12.5%;\n}\n.ui[class*=\"nine column\"].grid > .row > .column,\n.ui[class*=\"nine column\"].grid > .column:not(.row) {\n  width: 11.11111111%;\n}\n.ui[class*=\"ten column\"].grid > .row > .column,\n.ui[class*=\"ten column\"].grid > .column:not(.row) {\n  width: 10%;\n}\n.ui[class*=\"eleven column\"].grid > .row > .column,\n.ui[class*=\"eleven column\"].grid > .column:not(.row) {\n  width: 9.09090909%;\n}\n.ui[class*=\"twelve column\"].grid > .row > .column,\n.ui[class*=\"twelve column\"].grid > .column:not(.row) {\n  width: 8.33333333%;\n}\n.ui[class*=\"thirteen column\"].grid > .row > .column,\n.ui[class*=\"thirteen column\"].grid > .column:not(.row) {\n  width: 7.69230769%;\n}\n.ui[class*=\"fourteen column\"].grid > .row > .column,\n.ui[class*=\"fourteen column\"].grid > .column:not(.row) {\n  width: 7.14285714%;\n}\n.ui[class*=\"fifteen column\"].grid > .row > .column,\n.ui[class*=\"fifteen column\"].grid > .column:not(.row) {\n  width: 6.66666667%;\n}\n.ui[class*=\"sixteen column\"].grid > .row > .column,\n.ui[class*=\"sixteen column\"].grid > .column:not(.row) {\n  width: 6.25%;\n}\n\n/* Row Based Overrides */\n.ui.grid > [class*=\"one column\"].row > .column {\n  width: 100% !important;\n}\n.ui.grid > [class*=\"two column\"].row > .column {\n  width: 50% !important;\n}\n.ui.grid > [class*=\"three column\"].row > .column {\n  width: 33.33333333% !important;\n}\n.ui.grid > [class*=\"four column\"].row > .column {\n  width: 25% !important;\n}\n.ui.grid > [class*=\"five column\"].row > .column {\n  width: 20% !important;\n}\n.ui.grid > [class*=\"six column\"].row > .column {\n  width: 16.66666667% !important;\n}\n.ui.grid > [class*=\"seven column\"].row > .column {\n  width: 14.28571429% !important;\n}\n.ui.grid > [class*=\"eight column\"].row > .column {\n  width: 12.5% !important;\n}\n.ui.grid > [class*=\"nine column\"].row > .column {\n  width: 11.11111111% !important;\n}\n.ui.grid > [class*=\"ten column\"].row > .column {\n  width: 10% !important;\n}\n.ui.grid > [class*=\"eleven column\"].row > .column {\n  width: 9.09090909% !important;\n}\n.ui.grid > [class*=\"twelve column\"].row > .column {\n  width: 8.33333333% !important;\n}\n.ui.grid > [class*=\"thirteen column\"].row > .column {\n  width: 7.69230769% !important;\n}\n.ui.grid > [class*=\"fourteen column\"].row > .column {\n  width: 7.14285714% !important;\n}\n.ui.grid > [class*=\"fifteen column\"].row > .column {\n  width: 6.66666667% !important;\n}\n.ui.grid > [class*=\"sixteen column\"].row > .column {\n  width: 6.25% !important;\n}\n\n/* Celled Page */\n.ui.celled.page.grid {\n  box-shadow: none;\n}\n\n/*-------------------\n    Column Width\n--------------------*/\n\n\n/* Sizing Combinations */\n.ui.grid > .row > [class*=\"one wide\"].column,\n.ui.grid > .column.row > [class*=\"one wide\"].column,\n.ui.grid > [class*=\"one wide\"].column,\n.ui.column.grid > [class*=\"one wide\"].column {\n  width: 6.25% !important;\n}\n.ui.grid > .row > [class*=\"two wide\"].column,\n.ui.grid > .column.row > [class*=\"two wide\"].column,\n.ui.grid > [class*=\"two wide\"].column,\n.ui.column.grid > [class*=\"two wide\"].column {\n  width: 12.5% !important;\n}\n.ui.grid > .row > [class*=\"three wide\"].column,\n.ui.grid > .column.row > [class*=\"three wide\"].column,\n.ui.grid > [class*=\"three wide\"].column,\n.ui.column.grid > [class*=\"three wide\"].column {\n  width: 18.75% !important;\n}\n.ui.grid > .row > [class*=\"four wide\"].column,\n.ui.grid > .column.row > [class*=\"four wide\"].column,\n.ui.grid > [class*=\"four wide\"].column,\n.ui.column.grid > [class*=\"four wide\"].column {\n  width: 25% !important;\n}\n.ui.grid > .row > [class*=\"five wide\"].column,\n.ui.grid > .column.row > [class*=\"five wide\"].column,\n.ui.grid > [class*=\"five wide\"].column,\n.ui.column.grid > [class*=\"five wide\"].column {\n  width: 31.25% !important;\n}\n.ui.grid > .row > [class*=\"six wide\"].column,\n.ui.grid > .column.row > [class*=\"six wide\"].column,\n.ui.grid > [class*=\"six wide\"].column,\n.ui.column.grid > [class*=\"six wide\"].column {\n  width: 37.5% !important;\n}\n.ui.grid > .row > [class*=\"seven wide\"].column,\n.ui.grid > .column.row > [class*=\"seven wide\"].column,\n.ui.grid > [class*=\"seven wide\"].column,\n.ui.column.grid > [class*=\"seven wide\"].column {\n  width: 43.75% !important;\n}\n.ui.grid > .row > [class*=\"eight wide\"].column,\n.ui.grid > .column.row > [class*=\"eight wide\"].column,\n.ui.grid > [class*=\"eight wide\"].column,\n.ui.column.grid > [class*=\"eight wide\"].column {\n  width: 50% !important;\n}\n.ui.grid > .row > [class*=\"nine wide\"].column,\n.ui.grid > .column.row > [class*=\"nine wide\"].column,\n.ui.grid > [class*=\"nine wide\"].column,\n.ui.column.grid > [class*=\"nine wide\"].column {\n  width: 56.25% !important;\n}\n.ui.grid > .row > [class*=\"ten wide\"].column,\n.ui.grid > .column.row > [class*=\"ten wide\"].column,\n.ui.grid > [class*=\"ten wide\"].column,\n.ui.column.grid > [class*=\"ten wide\"].column {\n  width: 62.5% !important;\n}\n.ui.grid > .row > [class*=\"eleven wide\"].column,\n.ui.grid > .column.row > [class*=\"eleven wide\"].column,\n.ui.grid > [class*=\"eleven wide\"].column,\n.ui.column.grid > [class*=\"eleven wide\"].column {\n  width: 68.75% !important;\n}\n.ui.grid > .row > [class*=\"twelve wide\"].column,\n.ui.grid > .column.row > [class*=\"twelve wide\"].column,\n.ui.grid > [class*=\"twelve wide\"].column,\n.ui.column.grid > [class*=\"twelve wide\"].column {\n  width: 75% !important;\n}\n.ui.grid > .row > [class*=\"thirteen wide\"].column,\n.ui.grid > .column.row > [class*=\"thirteen wide\"].column,\n.ui.grid > [class*=\"thirteen wide\"].column,\n.ui.column.grid > [class*=\"thirteen wide\"].column {\n  width: 81.25% !important;\n}\n.ui.grid > .row > [class*=\"fourteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fourteen wide\"].column,\n.ui.grid > [class*=\"fourteen wide\"].column,\n.ui.column.grid > [class*=\"fourteen wide\"].column {\n  width: 87.5% !important;\n}\n.ui.grid > .row > [class*=\"fifteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fifteen wide\"].column,\n.ui.grid > [class*=\"fifteen wide\"].column,\n.ui.column.grid > [class*=\"fifteen wide\"].column {\n  width: 93.75% !important;\n}\n.ui.grid > .row > [class*=\"sixteen wide\"].column,\n.ui.grid > .column.row > [class*=\"sixteen wide\"].column,\n.ui.grid > [class*=\"sixteen wide\"].column,\n.ui.column.grid > [class*=\"sixteen wide\"].column {\n  width: 100% !important;\n}\n\n/*----------------------\n    Width per Device\n-----------------------*/\n\n\n/* Mobile Sizing Combinations */\n@media only screen and (min-width: 320px) and (max-width: 767px) {\n  .ui.grid > .row > [class*=\"one wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"one wide mobile\"].column,\n  .ui.grid > [class*=\"one wide mobile\"].column,\n  .ui.column.grid > [class*=\"one wide mobile\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"two wide mobile\"].column,\n  .ui.grid > [class*=\"two wide mobile\"].column,\n  .ui.column.grid > [class*=\"two wide mobile\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"three wide mobile\"].column,\n  .ui.grid > [class*=\"three wide mobile\"].column,\n  .ui.column.grid > [class*=\"three wide mobile\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"four wide mobile\"].column,\n  .ui.grid > [class*=\"four wide mobile\"].column,\n  .ui.column.grid > [class*=\"four wide mobile\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"five wide mobile\"].column,\n  .ui.grid > [class*=\"five wide mobile\"].column,\n  .ui.column.grid > [class*=\"five wide mobile\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"six wide mobile\"].column,\n  .ui.grid > [class*=\"six wide mobile\"].column,\n  .ui.column.grid > [class*=\"six wide mobile\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > [class*=\"seven wide mobile\"].column,\n  .ui.column.grid > [class*=\"seven wide mobile\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > [class*=\"eight wide mobile\"].column,\n  .ui.column.grid > [class*=\"eight wide mobile\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > [class*=\"nine wide mobile\"].column,\n  .ui.column.grid > [class*=\"nine wide mobile\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > [class*=\"ten wide mobile\"].column,\n  .ui.column.grid > [class*=\"ten wide mobile\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > [class*=\"eleven wide mobile\"].column,\n  .ui.column.grid > [class*=\"eleven wide mobile\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > [class*=\"twelve wide mobile\"].column,\n  .ui.column.grid > [class*=\"twelve wide mobile\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > [class*=\"thirteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"thirteen wide mobile\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > [class*=\"fourteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fourteen wide mobile\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > [class*=\"fifteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fifteen wide mobile\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > [class*=\"sixteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"sixteen wide mobile\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Tablet Sizing Combinations */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.grid > .row > [class*=\"one wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"one wide tablet\"].column,\n  .ui.grid > [class*=\"one wide tablet\"].column,\n  .ui.column.grid > [class*=\"one wide tablet\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"two wide tablet\"].column,\n  .ui.grid > [class*=\"two wide tablet\"].column,\n  .ui.column.grid > [class*=\"two wide tablet\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"three wide tablet\"].column,\n  .ui.grid > [class*=\"three wide tablet\"].column,\n  .ui.column.grid > [class*=\"three wide tablet\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"four wide tablet\"].column,\n  .ui.grid > [class*=\"four wide tablet\"].column,\n  .ui.column.grid > [class*=\"four wide tablet\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"five wide tablet\"].column,\n  .ui.grid > [class*=\"five wide tablet\"].column,\n  .ui.column.grid > [class*=\"five wide tablet\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"six wide tablet\"].column,\n  .ui.grid > [class*=\"six wide tablet\"].column,\n  .ui.column.grid > [class*=\"six wide tablet\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > [class*=\"seven wide tablet\"].column,\n  .ui.column.grid > [class*=\"seven wide tablet\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > [class*=\"eight wide tablet\"].column,\n  .ui.column.grid > [class*=\"eight wide tablet\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > [class*=\"nine wide tablet\"].column,\n  .ui.column.grid > [class*=\"nine wide tablet\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > [class*=\"ten wide tablet\"].column,\n  .ui.column.grid > [class*=\"ten wide tablet\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > [class*=\"eleven wide tablet\"].column,\n  .ui.column.grid > [class*=\"eleven wide tablet\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > [class*=\"twelve wide tablet\"].column,\n  .ui.column.grid > [class*=\"twelve wide tablet\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > [class*=\"thirteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"thirteen wide tablet\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > [class*=\"fourteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fourteen wide tablet\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > [class*=\"fifteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fifteen wide tablet\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > [class*=\"sixteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"sixteen wide tablet\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Computer/Desktop Sizing Combinations */\n@media only screen and (min-width: 992px) {\n  .ui.grid > .row > [class*=\"one wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"one wide computer\"].column,\n  .ui.grid > [class*=\"one wide computer\"].column,\n  .ui.column.grid > [class*=\"one wide computer\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"two wide computer\"].column,\n  .ui.grid > [class*=\"two wide computer\"].column,\n  .ui.column.grid > [class*=\"two wide computer\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"three wide computer\"].column,\n  .ui.grid > [class*=\"three wide computer\"].column,\n  .ui.column.grid > [class*=\"three wide computer\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"four wide computer\"].column,\n  .ui.grid > [class*=\"four wide computer\"].column,\n  .ui.column.grid > [class*=\"four wide computer\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"five wide computer\"].column,\n  .ui.grid > [class*=\"five wide computer\"].column,\n  .ui.column.grid > [class*=\"five wide computer\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"six wide computer\"].column,\n  .ui.grid > [class*=\"six wide computer\"].column,\n  .ui.column.grid > [class*=\"six wide computer\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide computer\"].column,\n  .ui.grid > [class*=\"seven wide computer\"].column,\n  .ui.column.grid > [class*=\"seven wide computer\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide computer\"].column,\n  .ui.grid > [class*=\"eight wide computer\"].column,\n  .ui.column.grid > [class*=\"eight wide computer\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide computer\"].column,\n  .ui.grid > [class*=\"nine wide computer\"].column,\n  .ui.column.grid > [class*=\"nine wide computer\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide computer\"].column,\n  .ui.grid > [class*=\"ten wide computer\"].column,\n  .ui.column.grid > [class*=\"ten wide computer\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > [class*=\"eleven wide computer\"].column,\n  .ui.column.grid > [class*=\"eleven wide computer\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > [class*=\"twelve wide computer\"].column,\n  .ui.column.grid > [class*=\"twelve wide computer\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > [class*=\"thirteen wide computer\"].column,\n  .ui.column.grid > [class*=\"thirteen wide computer\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > [class*=\"fourteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fourteen wide computer\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > [class*=\"fifteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fifteen wide computer\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > [class*=\"sixteen wide computer\"].column,\n  .ui.column.grid > [class*=\"sixteen wide computer\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Large Monitor Sizing Combinations */\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.grid > .row > [class*=\"one wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide large screen\"].column,\n  .ui.grid > [class*=\"one wide large screen\"].column,\n  .ui.column.grid > [class*=\"one wide large screen\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide large screen\"].column,\n  .ui.grid > [class*=\"two wide large screen\"].column,\n  .ui.column.grid > [class*=\"two wide large screen\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide large screen\"].column,\n  .ui.grid > [class*=\"three wide large screen\"].column,\n  .ui.column.grid > [class*=\"three wide large screen\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide large screen\"].column,\n  .ui.grid > [class*=\"four wide large screen\"].column,\n  .ui.column.grid > [class*=\"four wide large screen\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide large screen\"].column,\n  .ui.grid > [class*=\"five wide large screen\"].column,\n  .ui.column.grid > [class*=\"five wide large screen\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide large screen\"].column,\n  .ui.grid > [class*=\"six wide large screen\"].column,\n  .ui.column.grid > [class*=\"six wide large screen\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > [class*=\"seven wide large screen\"].column,\n  .ui.column.grid > [class*=\"seven wide large screen\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > [class*=\"eight wide large screen\"].column,\n  .ui.column.grid > [class*=\"eight wide large screen\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > [class*=\"nine wide large screen\"].column,\n  .ui.column.grid > [class*=\"nine wide large screen\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > [class*=\"ten wide large screen\"].column,\n  .ui.column.grid > [class*=\"ten wide large screen\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > [class*=\"eleven wide large screen\"].column,\n  .ui.column.grid > [class*=\"eleven wide large screen\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > [class*=\"twelve wide large screen\"].column,\n  .ui.column.grid > [class*=\"twelve wide large screen\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > [class*=\"thirteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide large screen\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > [class*=\"fourteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide large screen\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > [class*=\"fifteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide large screen\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > [class*=\"sixteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide large screen\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Widescreen Sizing Combinations */\n@media only screen and (min-width: 1920px) {\n  .ui.grid > .row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > [class*=\"one wide widescreen\"].column,\n  .ui.column.grid > [class*=\"one wide widescreen\"].column {\n    width: 6.25% !important;\n  }\n  .ui.grid > .row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > [class*=\"two wide widescreen\"].column,\n  .ui.column.grid > [class*=\"two wide widescreen\"].column {\n    width: 12.5% !important;\n  }\n  .ui.grid > .row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > [class*=\"three wide widescreen\"].column,\n  .ui.column.grid > [class*=\"three wide widescreen\"].column {\n    width: 18.75% !important;\n  }\n  .ui.grid > .row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > [class*=\"four wide widescreen\"].column,\n  .ui.column.grid > [class*=\"four wide widescreen\"].column {\n    width: 25% !important;\n  }\n  .ui.grid > .row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > [class*=\"five wide widescreen\"].column,\n  .ui.column.grid > [class*=\"five wide widescreen\"].column {\n    width: 31.25% !important;\n  }\n  .ui.grid > .row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > [class*=\"six wide widescreen\"].column,\n  .ui.column.grid > [class*=\"six wide widescreen\"].column {\n    width: 37.5% !important;\n  }\n  .ui.grid > .row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > [class*=\"seven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"seven wide widescreen\"].column {\n    width: 43.75% !important;\n  }\n  .ui.grid > .row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > [class*=\"eight wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eight wide widescreen\"].column {\n    width: 50% !important;\n  }\n  .ui.grid > .row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > [class*=\"nine wide widescreen\"].column,\n  .ui.column.grid > [class*=\"nine wide widescreen\"].column {\n    width: 56.25% !important;\n  }\n  .ui.grid > .row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > [class*=\"ten wide widescreen\"].column,\n  .ui.column.grid > [class*=\"ten wide widescreen\"].column {\n    width: 62.5% !important;\n  }\n  .ui.grid > .row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > [class*=\"eleven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eleven wide widescreen\"].column {\n    width: 68.75% !important;\n  }\n  .ui.grid > .row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > [class*=\"twelve wide widescreen\"].column,\n  .ui.column.grid > [class*=\"twelve wide widescreen\"].column {\n    width: 75% !important;\n  }\n  .ui.grid > .row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > [class*=\"thirteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide widescreen\"].column {\n    width: 81.25% !important;\n  }\n  .ui.grid > .row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fourteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide widescreen\"].column {\n    width: 87.5% !important;\n  }\n  .ui.grid > .row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fifteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide widescreen\"].column {\n    width: 93.75% !important;\n  }\n  .ui.grid > .row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > [class*=\"sixteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide widescreen\"].column {\n    width: 100% !important;\n  }\n}\n\n/*----------------------\n        Centered\n-----------------------*/\n\n.ui.centered.grid,\n.ui.centered.grid > .row,\n.ui.grid > .centered.row {\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n.ui.centered.grid > .column:not(.aligned):not(.row),\n.ui.centered.grid > .row > .column:not(.aligned),\n.ui.grid .centered.row > .column:not(.aligned) {\n  text-align: left;\n}\n.ui.grid > .centered.column,\n.ui.grid > .row > .centered.column {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*----------------------\n        Relaxed\n-----------------------*/\n\n.ui.relaxed.grid > .column:not(.row),\n.ui.relaxed.grid > .row > .column,\n.ui.grid > .relaxed.row > .column {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n.ui[class*=\"very relaxed\"].grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].grid > .row > .column,\n.ui.grid > [class*=\"very relaxed\"].row > .column {\n  padding-left: 2.5rem;\n  padding-right: 2.5rem;\n}\n\n/* Coupling with UI Divider */\n.ui.relaxed.grid .row + .ui.divider,\n.ui.grid .relaxed.row + .ui.divider {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n}\n.ui[class*=\"very relaxed\"].grid .row + .ui.divider,\n.ui.grid [class*=\"very relaxed\"].row + .ui.divider {\n  margin-left: 2.5rem;\n  margin-right: 2.5rem;\n}\n\n/*----------------------\n        Padded\n-----------------------*/\n\n.ui.padded.grid:not(.vertically):not(.horizontally) {\n  margin: 0em !important;\n}\n[class*=\"horizontally padded\"].ui.grid {\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n}\n[class*=\"vertically padded\"].ui.grid {\n  margin-top: 0em !important;\n  margin-bottom: 0em !important;\n}\n\n/*----------------------\n       \"Floated\"\n-----------------------*/\n\n.ui.grid [class*=\"left floated\"].column {\n  margin-right: auto;\n}\n.ui.grid [class*=\"right floated\"].column {\n  margin-left: auto;\n}\n\n/*----------------------\n        Divided\n-----------------------*/\n\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Swap from padding to margin on columns to have dividers align */\n.ui[class*=\"vertically divided\"].grid > .column:not(.row),\n.ui[class*=\"vertically divided\"].grid > .row > .column {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  padding-top: 0rem;\n  padding-bottom: 0rem;\n}\n.ui[class*=\"vertically divided\"].grid > .row {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/* No divider on first column on row */\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Divided Row */\n.ui.grid > .divided.row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n.ui.grid > .divided.row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Vertically Divided */\n.ui[class*=\"vertically divided\"].grid > .row {\n  position: relative;\n}\n.ui[class*=\"vertically divided\"].grid > .row:before {\n  position: absolute;\n  content: \"\";\n  top: 0em;\n  left: 0px;\n  width: calc(100% -  2rem );\n  height: 1px;\n  margin: 0% 1rem;\n  box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Padded Horizontally Divided */\n[class*=\"horizontally padded\"].ui.divided.grid,\n.ui.padded.divided.grid:not(.vertically):not(.horizontally) {\n  width: 100%;\n}\n\n/* First Row Vertically Divided */\n.ui[class*=\"vertically divided\"].grid > .row:first-child:before {\n  box-shadow: none;\n}\n\n/* Inverted Divided */\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);\n}\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row):first-child,\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n.ui.inverted[class*=\"vertically divided\"].grid > .row:before {\n  box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1);\n}\n\n/* Relaxed */\n.ui.relaxed[class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n  width: calc(100% -  3rem );\n}\n.ui[class*=\"very relaxed\"][class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 5rem;\n  margin-right: 5rem;\n  width: calc(100% -  5rem );\n}\n\n/*----------------------\n         Celled\n-----------------------*/\n\n.ui.celled.grid {\n  width: 100%;\n  margin: 1em 0em;\n  box-shadow: 0px 0px 0px 1px #D4D4D5;\n}\n.ui.celled.grid > .row {\n  width: 100% !important;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: 0px -1px 0px 0px #D4D4D5;\n}\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  box-shadow: -1px 0px 0px 0px #D4D4D5;\n}\n.ui.celled.grid > .column:first-child,\n.ui.celled.grid > .row > .column:first-child {\n  box-shadow: none;\n}\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  padding: 1em;\n}\n.ui.relaxed.celled.grid > .column:not(.row),\n.ui.relaxed.celled.grid > .row > .column {\n  padding: 1.5em;\n}\n.ui[class*=\"very relaxed\"].celled.grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].celled.grid > .row > .column {\n  padding: 2em;\n}\n\n/* Internally Celled */\n.ui[class*=\"internally celled\"].grid {\n  box-shadow: none;\n  margin: 0em;\n}\n.ui[class*=\"internally celled\"].grid > .row:first-child {\n  box-shadow: none;\n}\n.ui[class*=\"internally celled\"].grid > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/*----------------------\n   Vertically Aligned\n-----------------------*/\n\n\n/* Top Aligned */\n.ui[class*=\"top aligned\"].grid > .column:not(.row),\n.ui[class*=\"top aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"top aligned\"].row > .column,\n.ui.grid > [class*=\"top aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"top aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  vertical-align: top;\n  -webkit-align-self: flex-start !important;\n      -ms-flex-item-align: start !important;\n          align-self: flex-start !important;\n}\n\n/* Middle Aligned */\n.ui[class*=\"middle aligned\"].grid > .column:not(.row),\n.ui[class*=\"middle aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"middle aligned\"].row > .column,\n.ui.grid > [class*=\"middle aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"middle aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  vertical-align: middle;\n  -webkit-align-self: center !important;\n      -ms-flex-item-align: center !important;\n          align-self: center !important;\n}\n\n/* Bottom Aligned */\n.ui[class*=\"bottom aligned\"].grid > .column:not(.row),\n.ui[class*=\"bottom aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"bottom aligned\"].row > .column,\n.ui.grid > [class*=\"bottom aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"bottom aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  vertical-align: bottom;\n  -webkit-align-self: flex-end !important;\n      -ms-flex-item-align: end !important;\n          align-self: flex-end !important;\n}\n\n/* Stretched */\n.ui.stretched.grid > .row > .column,\n.ui.stretched.grid > .column,\n.ui.grid > .stretched.row > .column,\n.ui.grid > .stretched.column:not(.row),\n.ui.grid > .row > .stretched.column {\n  display: -webkit-inline-box !important;\n  display: -webkit-inline-flex !important;\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !important;\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n}\n.ui.stretched.grid > .row > .column > *,\n.ui.stretched.grid > .column > *,\n.ui.grid > .stretched.row > .column > *,\n.ui.grid > .stretched.column:not(.row) > *,\n.ui.grid > .row > .stretched.column > * {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n}\n\n/*----------------------\n  Horizontally Centered\n-----------------------*/\n\n\n/* Left Aligned */\n.ui[class*=\"left aligned\"].grid > .column,\n.ui[class*=\"left aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"left aligned\"].row > .column,\n.ui.grid > [class*=\"left aligned\"].column.column,\n.ui.grid > .row > [class*=\"left aligned\"].column {\n  text-align: left;\n  -webkit-align-self: inherit;\n      -ms-flex-item-align: inherit;\n          align-self: inherit;\n}\n\n/* Center Aligned */\n.ui[class*=\"center aligned\"].grid > .column,\n.ui[class*=\"center aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"center aligned\"].row > .column,\n.ui.grid > [class*=\"center aligned\"].column.column,\n.ui.grid > .row > [class*=\"center aligned\"].column {\n  text-align: center;\n  -webkit-align-self: inherit;\n      -ms-flex-item-align: inherit;\n          align-self: inherit;\n}\n.ui[class*=\"center aligned\"].grid {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n\n/* Right Aligned */\n.ui[class*=\"right aligned\"].grid > .column,\n.ui[class*=\"right aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"right aligned\"].row > .column,\n.ui.grid > [class*=\"right aligned\"].column.column,\n.ui.grid > .row > [class*=\"right aligned\"].column {\n  text-align: right;\n  -webkit-align-self: inherit;\n      -ms-flex-item-align: inherit;\n          align-self: inherit;\n}\n\n/* Justified */\n.ui.justified.grid > .column,\n.ui.justified.grid > .row > .column,\n.ui.grid > .justified.row > .column,\n.ui.grid > .justified.column.column,\n.ui.grid > .row > .justified.column {\n  text-align: justify;\n  -webkit-hyphens: auto;\n     -moz-hyphens: auto;\n      -ms-hyphens: auto;\n          hyphens: auto;\n}\n\n/*----------------------\n         Colored\n-----------------------*/\n\n.ui.grid > .row > .red.column,\n.ui.grid > .row > .orange.column,\n.ui.grid > .row > .yellow.column,\n.ui.grid > .row > .olive.column,\n.ui.grid > .row > .green.column,\n.ui.grid > .row > .teal.column,\n.ui.grid > .row > .blue.column,\n.ui.grid > .row > .violet.column,\n.ui.grid > .row > .purple.column,\n.ui.grid > .row > .pink.column,\n.ui.grid > .row > .brown.column,\n.ui.grid > .row > .grey.column,\n.ui.grid > .row > .black.column {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/* Red */\n.ui.grid > .red.row,\n.ui.grid > .red.column,\n.ui.grid > .row > .red.column {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n}\n\n/* Orange */\n.ui.grid > .orange.row,\n.ui.grid > .orange.column,\n.ui.grid > .row > .orange.column {\n  background-color: #F2711C !important;\n  color: #FFFFFF;\n}\n\n/* Yellow */\n.ui.grid > .yellow.row,\n.ui.grid > .yellow.column,\n.ui.grid > .row > .yellow.column {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF;\n}\n\n/* Olive */\n.ui.grid > .olive.row,\n.ui.grid > .olive.column,\n.ui.grid > .row > .olive.column {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF;\n}\n\n/* Green */\n.ui.grid > .green.row,\n.ui.grid > .green.column,\n.ui.grid > .row > .green.column {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n}\n\n/* Teal */\n.ui.grid > .teal.row,\n.ui.grid > .teal.column,\n.ui.grid > .row > .teal.column {\n  background-color: #00B5AD !important;\n  color: #FFFFFF;\n}\n\n/* Blue */\n.ui.grid > .blue.row,\n.ui.grid > .blue.column,\n.ui.grid > .row > .blue.column {\n  background-color: #2185D0 !important;\n  color: #FFFFFF;\n}\n\n/* Violet */\n.ui.grid > .violet.row,\n.ui.grid > .violet.column,\n.ui.grid > .row > .violet.column {\n  background-color: #6435C9 !important;\n  color: #FFFFFF;\n}\n\n/* Purple */\n.ui.grid > .purple.row,\n.ui.grid > .purple.column,\n.ui.grid > .row > .purple.column {\n  background-color: #A333C8 !important;\n  color: #FFFFFF;\n}\n\n/* Pink */\n.ui.grid > .pink.row,\n.ui.grid > .pink.column,\n.ui.grid > .row > .pink.column {\n  background-color: #E03997 !important;\n  color: #FFFFFF;\n}\n\n/* Brown */\n.ui.grid > .brown.row,\n.ui.grid > .brown.column,\n.ui.grid > .row > .brown.column {\n  background-color: #A5673F !important;\n  color: #FFFFFF;\n}\n\n/* Grey */\n.ui.grid > .grey.row,\n.ui.grid > .grey.column,\n.ui.grid > .row > .grey.column {\n  background-color: #767676 !important;\n  color: #FFFFFF;\n}\n\n/* Black */\n.ui.grid > .black.row,\n.ui.grid > .black.column,\n.ui.grid > .row > .black.column {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF;\n}\n\n/*----------------------\n      Equal Width\n-----------------------*/\n\n.ui[class*=\"equal width\"].grid > .column:not(.row),\n.ui[class*=\"equal width\"].grid > .row > .column,\n.ui.grid > [class*=\"equal width\"].row > .column {\n  display: inline-block;\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n      -ms-flex-positive: 1;\n          flex-grow: 1;\n}\n.ui[class*=\"equal width\"].grid > .wide.column,\n.ui[class*=\"equal width\"].grid > .row > .wide.column,\n.ui.grid > [class*=\"equal width\"].row > .wide.column {\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n      -ms-flex-positive: 0;\n          flex-grow: 0;\n}\n\n/*----------------------\n        Reverse\n-----------------------*/\n\n\n/* Mobile */\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"mobile reversed\"].grid,\n  .ui[class*=\"mobile reversed\"].grid > .row,\n  .ui.grid > [class*=\"mobile reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse;\n  }\n  .ui[class*=\"mobile vertically reversed\"].grid,\n  .ui.stackable[class*=\"mobile reversed\"] {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse;\n  }\n  \n/* Divided Reversed */\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n  \n/* Vertically Divided Reversed */\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n  \n/* Celled Reversed */\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Tablet */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"tablet reversed\"].grid,\n  .ui[class*=\"tablet reversed\"].grid > .row,\n  .ui.grid > [class*=\"tablet reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse;\n  }\n  .ui[class*=\"tablet vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse;\n  }\n  \n/* Divided Reversed */\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n  \n/* Vertically Divided Reversed */\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n  \n/* Celled Reversed */\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Computer */\n@media only screen and (min-width: 992px) {\n  .ui[class*=\"computer reversed\"].grid,\n  .ui[class*=\"computer reversed\"].grid > .row,\n  .ui.grid > [class*=\"computer reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n        -ms-flex-direction: row-reverse;\n            flex-direction: row-reverse;\n  }\n  .ui[class*=\"computer vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n        -ms-flex-direction: column-reverse;\n            flex-direction: column-reverse;\n  }\n  \n/* Divided Reversed */\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n  \n/* Vertically Divided Reversed */\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n  \n/* Celled Reversed */\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n\n/* Tablet Only */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.doubling.grid {\n    width: auto;\n  }\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    display: inline-block !important;\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    box-shadow: none !important;\n    margin: 0em;\n  }\n  .ui[class*=\"two column\"].doubling.grid > .row > .column,\n  .ui[class*=\"two column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling.row.row > .column {\n    width: 100% !important;\n  }\n  .ui[class*=\"three column\"].doubling.grid > .row > .column,\n  .ui[class*=\"three column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"four column\"].doubling.grid > .row > .column,\n  .ui[class*=\"four column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"five column\"].doubling.grid > .row > .column,\n  .ui[class*=\"five column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"six column\"].doubling.grid > .row > .column,\n  .ui[class*=\"six column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"seven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"eight column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"nine column\"].doubling.grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"ten column\"].doubling.grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n  .ui[class*=\"eleven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n  .ui[class*=\"twelve column\"].doubling.grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n  .ui[class*=\"thirteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n  .ui[class*=\"fourteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n  .ui[class*=\"fifteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n  .ui[class*=\"sixteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling.row.row > .column {\n    width: 12.5% !important;\n  }\n}\n\n/* Mobily Only */\n@media only screen and (max-width: 767px) {\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    margin: 0em !important;\n    box-shadow: none !important;\n  }\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling:not(.stackable).row.row > .column {\n    width: 100% !important;\n  }\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid {\n    width: auto;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n  .ui.stackable.grid > .row > .wide.column,\n  .ui.stackable.grid > .wide.column,\n  .ui.stackable.grid > .column.grid > .column,\n  .ui.stackable.grid > .column.row > .column,\n  .ui.stackable.grid > .row > .column,\n  .ui.stackable.grid > .column:not(.row),\n  .ui.grid > .stackable.stackable.row > .column {\n    width: 100% !important;\n    margin: 0em 0em !important;\n    box-shadow: none !important;\n    padding: 1rem 1rem !important;\n  }\n  .ui.stackable.grid:not(.vertically) > .row {\n    margin: 0em;\n    padding: 0em;\n  }\n  \n/* Coupling */\n  .ui.container > .ui.stackable.grid > .column,\n  .ui.container > .ui.stackable.grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n  \n/* Don't pad inside segment or nested grid */\n  .ui.grid .ui.stackable.grid,\n  .ui.segment:not(.vertical) .ui.stackable.page.grid {\n    margin-left: -1rem !important;\n    margin-right: -1rem !important;\n  }\n  \n/* Divided Stackable */\n  .ui.stackable.divided.grid > .row:first-child > .column:first-child,\n  .ui.stackable.celled.grid > .row:first-child > .column:first-child,\n  .ui.stackable.divided.grid > .column:not(.row):first-child,\n  .ui.stackable.celled.grid > .column:not(.row):first-child {\n    border-top: none !important;\n  }\n  .ui.inverted.stackable.celled.grid > .column:not(.row),\n  .ui.inverted.stackable.divided.grid > .column:not(.row),\n  .ui.inverted.stackable.celled.grid > .row > .column,\n  .ui.inverted.stackable.divided.grid > .row > .column {\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n  .ui.stackable.celled.grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.celled.grid > .row > .column,\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    border-top: 1px solid rgba(34, 36, 38, 0.15);\n    box-shadow: none !important;\n    padding-top: 2rem !important;\n    padding-bottom: 2rem !important;\n  }\n  .ui.stackable.celled.grid > .row {\n    box-shadow: none !important;\n  }\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n}\n\n/*----------------------\n     Only (Device)\n-----------------------*/\n\n\n/* These include arbitrary class repetitions for forced specificity */\n\n/* Mobile Only Hide */\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Tablet Only Hide */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.tablet) {\n    display: none !important;\n  }\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.tablet) {\n    display: none !important;\n  }\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Computer Only Hide */\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Large Screen Only Hide */\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Widescreen Only Hide */\n@media only screen and (min-width: 1920px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/header.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Header\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Header\n*******************************/\n\n\n/* Standard */\n.ui.header {\n  border: none;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  padding: 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  line-height: 1.2857em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.header:first-child {\n  margin-top: -0.14285em;\n}\n.ui.header:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n   Sub Header\n---------------*/\n\n.ui.header .sub.header {\n  display: block;\n  font-weight: normal;\n  padding: 0em;\n  margin: 0em;\n  font-size: 1rem;\n  line-height: 1.2em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.header > .icon {\n  display: table-cell;\n  opacity: 1;\n  font-size: 1.5em;\n  padding-top: 0.14285em;\n  vertical-align: middle;\n}\n\n/* With Text Node */\n.ui.header .icon:only-child {\n  display: inline-block;\n  padding: 0em;\n  margin-right: 0.75rem;\n}\n\n/*-------------------\n        Image\n--------------------*/\n\n.ui.header > .image,\n.ui.header > img {\n  display: inline-block;\n  margin-top: 0.14285em;\n  width: 2.5em;\n  height: auto;\n  vertical-align: middle;\n}\n.ui.header > .image:only-child,\n.ui.header > img:only-child {\n  margin-right: 0.75rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.header .content {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* After Image */\n.ui.header > img + .content,\n.ui.header > .image + .content {\n  padding-left: 0.75rem;\n  vertical-align: middle;\n}\n\n/* After Icon */\n.ui.header > .icon + .content {\n  padding-left: 0.75rem;\n  display: table-cell;\n  vertical-align: middle;\n}\n\n/*--------------\n Loose Coupling\n---------------*/\n\n.ui.header .ui.label {\n  font-size: '';\n  margin-left: 0.5rem;\n  vertical-align: middle;\n}\n\n/* Positioning */\n.ui.header + p {\n  margin-top: 0em;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Page\n---------------*/\n\nh1.ui.header {\n  font-size: 2rem;\n}\nh2.ui.header {\n  font-size: 1.714rem;\n}\nh3.ui.header {\n  font-size: 1.28rem;\n}\nh4.ui.header {\n  font-size: 1.071rem;\n}\nh5.ui.header {\n  font-size: 1rem;\n}\n\n/* Sub Header */\nh1.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\nh2.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\nh3.ui.header .sub.header {\n  font-size: 1rem;\n}\nh4.ui.header .sub.header {\n  font-size: 1rem;\n}\nh5.ui.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n Content Heading\n---------------*/\n\n.ui.huge.header {\n  min-height: 1em;\n  font-size: 2em;\n}\n.ui.large.header {\n  font-size: 1.714em;\n}\n.ui.medium.header {\n  font-size: 1.28em;\n}\n.ui.small.header {\n  font-size: 1.071em;\n}\n.ui.tiny.header {\n  font-size: 1em;\n}\n\n/* Sub Header */\n.ui.huge.header .sub.header {\n  font-size: 1.14285714rem;\n}\n.ui.large.header .sub.header {\n  font-size: 1.14285714rem;\n}\n.ui.header .sub.header {\n  font-size: 1rem;\n}\n.ui.small.header .sub.header {\n  font-size: 1rem;\n}\n.ui.tiny.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n   Sub Heading\n---------------*/\n\n.ui.sub.header {\n  padding: 0em;\n  margin-bottom: 0.14285714rem;\n  font-weight: bold;\n  font-size: 0.85714286em;\n  text-transform: uppercase;\n  color: '';\n}\n.ui.small.sub.header {\n  font-size: 0.71428571em;\n}\n.ui.sub.header {\n  font-size: 0.85714286em;\n}\n.ui.large.sub.header {\n  font-size: 0.92857143em;\n}\n.ui.huge.sub.header {\n  font-size: 1em;\n}\n\n/*-------------------\n        Icon\n--------------------*/\n\n.ui.icon.header {\n  display: inline-block;\n  text-align: center;\n  margin: 2rem 0em 1rem;\n}\n.ui.icon.header:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n.ui.icon.header:first-child {\n  margin-top: 0em;\n}\n.ui.icon.header .icon {\n  float: none;\n  display: block;\n  width: auto;\n  height: auto;\n  line-height: 1;\n  padding: 0em;\n  font-size: 3em;\n  margin: 0em auto 0.5rem;\n  opacity: 1;\n}\n.ui.icon.header .content {\n  display: block;\n}\n.ui.icon.header .circular.icon {\n  font-size: 2em;\n}\n.ui.icon.header .square.icon {\n  font-size: 2em;\n}\n.ui.block.icon.header .icon {\n  margin-bottom: 0em;\n}\n.ui.icon.header.aligned {\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.disabled.header {\n  opacity: 0.45;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.header {\n  color: #FFFFFF;\n}\n.ui.inverted.header .sub.header {\n  color: rgba(255, 255, 255, 0.8);\n}\n.ui.inverted.attached.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n  border-color: transparent;\n}\n.ui.inverted.block.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n}\n.ui.inverted.block.header {\n  border-bottom: none;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/*--- Red ---*/\n\n.ui.red.header {\n  color: #DB2828 !important;\n}\na.ui.red.header:hover {\n  color: #d01919 !important;\n}\n.ui.red.dividing.header {\n  border-bottom: 2px solid #DB2828;\n}\n\n/* Inverted */\n.ui.inverted.red.header {\n  color: #FF695E !important;\n}\na.ui.inverted.red.header:hover {\n  color: #ff5144 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.header {\n  color: #F2711C !important;\n}\na.ui.orange.header:hover {\n  color: #f26202 !important;\n}\n.ui.orange.dividing.header {\n  border-bottom: 2px solid #F2711C;\n}\n\n/* Inverted */\n.ui.inverted.orange.header {\n  color: #FF851B !important;\n}\na.ui.inverted.orange.header:hover {\n  color: #ff7701 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.header {\n  color: #B5CC18 !important;\n}\na.ui.olive.header:hover {\n  color: #a7bd0d !important;\n}\n.ui.olive.dividing.header {\n  border-bottom: 2px solid #B5CC18;\n}\n\n/* Inverted */\n.ui.inverted.olive.header {\n  color: #D9E778 !important;\n}\na.ui.inverted.olive.header:hover {\n  color: #d8ea5c !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.header {\n  color: #FBBD08 !important;\n}\na.ui.yellow.header:hover {\n  color: #eaae00 !important;\n}\n.ui.yellow.dividing.header {\n  border-bottom: 2px solid #FBBD08;\n}\n\n/* Inverted */\n.ui.inverted.yellow.header {\n  color: #FFE21F !important;\n}\na.ui.inverted.yellow.header:hover {\n  color: #ffdf05 !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.header {\n  color: #21BA45 !important;\n}\na.ui.green.header:hover {\n  color: #16ab39 !important;\n}\n.ui.green.dividing.header {\n  border-bottom: 2px solid #21BA45;\n}\n\n/* Inverted */\n.ui.inverted.green.header {\n  color: #2ECC40 !important;\n}\na.ui.inverted.green.header:hover {\n  color: #22be34 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.header {\n  color: #00B5AD !important;\n}\na.ui.teal.header:hover {\n  color: #009c95 !important;\n}\n.ui.teal.dividing.header {\n  border-bottom: 2px solid #00B5AD;\n}\n\n/* Inverted */\n.ui.inverted.teal.header {\n  color: #6DFFFF !important;\n}\na.ui.inverted.teal.header:hover {\n  color: #54ffff !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.header {\n  color: #2185D0 !important;\n}\na.ui.blue.header:hover {\n  color: #1678c2 !important;\n}\n.ui.blue.dividing.header {\n  border-bottom: 2px solid #2185D0;\n}\n\n/* Inverted */\n.ui.inverted.blue.header {\n  color: #54C8FF !important;\n}\na.ui.inverted.blue.header:hover {\n  color: #3ac0ff !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.header {\n  color: #6435C9 !important;\n}\na.ui.violet.header:hover {\n  color: #5829bb !important;\n}\n.ui.violet.dividing.header {\n  border-bottom: 2px solid #6435C9;\n}\n\n/* Inverted */\n.ui.inverted.violet.header {\n  color: #A291FB !important;\n}\na.ui.inverted.violet.header:hover {\n  color: #8a73ff !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.header {\n  color: #A333C8 !important;\n}\na.ui.purple.header:hover {\n  color: #9627ba !important;\n}\n.ui.purple.dividing.header {\n  border-bottom: 2px solid #A333C8;\n}\n\n/* Inverted */\n.ui.inverted.purple.header {\n  color: #DC73FF !important;\n}\na.ui.inverted.purple.header:hover {\n  color: #d65aff !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.header {\n  color: #E03997 !important;\n}\na.ui.pink.header:hover {\n  color: #e61a8d !important;\n}\n.ui.pink.dividing.header {\n  border-bottom: 2px solid #E03997;\n}\n\n/* Inverted */\n.ui.inverted.pink.header {\n  color: #FF8EDF !important;\n}\na.ui.inverted.pink.header:hover {\n  color: #ff74d8 !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.header {\n  color: #A5673F !important;\n}\na.ui.brown.header:hover {\n  color: #975b33 !important;\n}\n.ui.brown.dividing.header {\n  border-bottom: 2px solid #A5673F;\n}\n\n/* Inverted */\n.ui.inverted.brown.header {\n  color: #D67C1C !important;\n}\na.ui.inverted.brown.header:hover {\n  color: #c86f11 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.header {\n  color: #767676 !important;\n}\na.ui.grey.header:hover {\n  color: #838383 !important;\n}\n.ui.grey.dividing.header {\n  border-bottom: 2px solid #767676;\n}\n\n/* Inverted */\n.ui.inverted.grey.header {\n  color: #DCDDDE !important;\n}\na.ui.inverted.grey.header:hover {\n  color: #cfd0d2 !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.left.aligned.header {\n  text-align: left;\n}\n.ui.right.aligned.header {\n  text-align: right;\n}\n.ui.centered.header,\n.ui.center.aligned.header {\n  text-align: center;\n}\n.ui.justified.header {\n  text-align: justify;\n}\n.ui.justified.header:after {\n  display: inline-block;\n  content: '';\n  width: 100%;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.header,\n.ui[class*=\"left floated\"].header {\n  float: left;\n  margin-top: 0em;\n  margin-right: 0.5em;\n}\n.ui[class*=\"right floated\"].header {\n  float: right;\n  margin-top: 0em;\n  margin-left: 0.5em;\n}\n\n/*-------------------\n       Fittted\n--------------------*/\n\n.ui.fitted.header {\n  padding: 0em;\n}\n\n/*-------------------\n      Dividing\n--------------------*/\n\n.ui.dividing.header {\n  padding-bottom: 0.21428571rem;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.dividing.header .sub.header {\n  padding-bottom: 0.21428571rem;\n}\n.ui.dividing.header .icon {\n  margin-bottom: 0em;\n}\n.ui.inverted.dividing.header {\n  border-bottom-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Block\n--------------------*/\n\n.ui.block.header {\n  background: #F3F4F5;\n  padding: 0.71428571rem 1rem;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n  border-radius: 0.28571429rem;\n}\n.ui.tiny.block.header {\n  font-size: 0.85714286rem;\n}\n.ui.small.block.header {\n  font-size: 0.92857143rem;\n}\n.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1rem;\n}\n.ui.large.block.header {\n  font-size: 1.14285714rem;\n}\n.ui.huge.block.header {\n  font-size: 1.42857143rem;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n.ui.attached.header {\n  background: #FFFFFF;\n  padding: 0.71428571rem 1rem;\n  margin-left: -1px;\n  margin-right: -1px;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n.ui.attached.block.header {\n  background: #F3F4F5;\n}\n.ui.attached:not(.top):not(.bottom).header {\n  margin-top: 0em;\n  margin-bottom: 0em;\n  border-top: none;\n  border-radius: 0em;\n}\n.ui.top.attached.header {\n  margin-bottom: 0em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.bottom.attached.header {\n  margin-top: 0em;\n  border-top: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Attached Sizes */\n.ui.tiny.attached.header {\n  font-size: 0.85714286em;\n}\n.ui.small.attached.header {\n  font-size: 0.92857143em;\n}\n.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1em;\n}\n.ui.large.attached.header {\n  font-size: 1.14285714em;\n}\n.ui.huge.attached.header {\n  font-size: 1.42857143em;\n}\n\n/*-------------------\n        Sizing\n--------------------*/\n\n.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1.28em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/icon.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Icon\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Icon\n*******************************/\n\n@font-face {\n  font-family: 'Icons';\n  src: url(\"../themes/default/assets/fonts/icons.eot\");\n  src: url(\"../themes/default/assets/fonts/icons.eot?#iefix\") format('embedded-opentype'), url(\"../themes/default/assets/fonts/icons.woff2\") format('woff2'), url(\"../themes/default/assets/fonts/icons.woff\") format('woff'), url(\"../themes/default/assets/fonts/icons.ttf\") format('truetype'), url(\"../themes/default/assets/fonts/icons.svg#icons\") format('svg');\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-decoration: inherit;\n  text-transform: none;\n}\ni.icon {\n  display: inline-block;\n  opacity: 1;\n  margin: 0em 0.25rem 0em 0em;\n  width: 1.18em;\n  height: 1em;\n  font-family: 'Icons';\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  text-align: center;\n  speak: none;\n  font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\ni.icon:before {\n  background: none !important;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n    Loading\n---------------*/\n\ni.icon.loading {\n  height: 1em;\n  line-height: 1;\n  -webkit-animation: icon-loading 2s linear infinite;\n          animation: icon-loading 2s linear infinite;\n}\n@-webkit-keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\ni.icon.hover {\n  opacity: 1 !important;\n}\ni.icon.active {\n  opacity: 1 !important;\n}\ni.emphasized.icon {\n  opacity: 1 !important;\n}\ni.disabled.icon {\n  opacity: 0.45 !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n        Fitted\n--------------------*/\n\ni.fitted.icon {\n  width: auto;\n  margin: 0em;\n}\n\n/*-------------------\n         Link\n--------------------*/\n\ni.link.icon {\n  cursor: pointer;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\ni.link.icon:hover {\n  opacity: 1 !important;\n}\n\n/*-------------------\n      Circular\n--------------------*/\n\ni.circular.icon {\n  border-radius: 500em !important;\n  line-height: 1 !important;\n  padding: 0.5em 0.5em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n  width: 2em !important;\n  height: 2em !important;\n}\ni.circular.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Flipped\n--------------------*/\n\ni.flipped.icon,\ni.horizontally.flipped.icon {\n  -webkit-transform: scale(-1, 1);\n      -ms-transform: scale(-1, 1);\n          transform: scale(-1, 1);\n}\ni.vertically.flipped.icon {\n  -webkit-transform: scale(1, -1);\n      -ms-transform: scale(1, -1);\n          transform: scale(1, -1);\n}\n\n/*-------------------\n      Rotated\n--------------------*/\n\ni.rotated.icon,\ni.right.rotated.icon,\ni.clockwise.rotated.icon {\n  -webkit-transform: rotate(90deg);\n      -ms-transform: rotate(90deg);\n          transform: rotate(90deg);\n}\ni.left.rotated.icon,\ni.counterclockwise.rotated.icon {\n  -webkit-transform: rotate(-90deg);\n      -ms-transform: rotate(-90deg);\n          transform: rotate(-90deg);\n}\n\n/*-------------------\n      Bordered\n--------------------*/\n\ni.bordered.icon {\n  line-height: 1;\n  vertical-align: baseline;\n  width: 2em;\n  height: 2em;\n  padding: 0.5em 0.41em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n}\ni.bordered.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n\n/* Inverted Shapes */\ni.inverted.bordered.icon,\ni.inverted.circular.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\ni.inverted.icon {\n  color: #FFFFFF;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\ni.red.icon {\n  color: #DB2828 !important;\n}\ni.inverted.red.icon {\n  color: #FF695E !important;\n}\ni.inverted.bordered.red.icon,\ni.inverted.circular.red.icon {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\ni.orange.icon {\n  color: #F2711C !important;\n}\ni.inverted.orange.icon {\n  color: #FF851B !important;\n}\ni.inverted.bordered.orange.icon,\ni.inverted.circular.orange.icon {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\ni.yellow.icon {\n  color: #FBBD08 !important;\n}\ni.inverted.yellow.icon {\n  color: #FFE21F !important;\n}\ni.inverted.bordered.yellow.icon,\ni.inverted.circular.yellow.icon {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\ni.olive.icon {\n  color: #B5CC18 !important;\n}\ni.inverted.olive.icon {\n  color: #D9E778 !important;\n}\ni.inverted.bordered.olive.icon,\ni.inverted.circular.olive.icon {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\ni.green.icon {\n  color: #21BA45 !important;\n}\ni.inverted.green.icon {\n  color: #2ECC40 !important;\n}\ni.inverted.bordered.green.icon,\ni.inverted.circular.green.icon {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\ni.teal.icon {\n  color: #00B5AD !important;\n}\ni.inverted.teal.icon {\n  color: #6DFFFF !important;\n}\ni.inverted.bordered.teal.icon,\ni.inverted.circular.teal.icon {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\ni.blue.icon {\n  color: #2185D0 !important;\n}\ni.inverted.blue.icon {\n  color: #54C8FF !important;\n}\ni.inverted.bordered.blue.icon,\ni.inverted.circular.blue.icon {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\ni.violet.icon {\n  color: #6435C9 !important;\n}\ni.inverted.violet.icon {\n  color: #A291FB !important;\n}\ni.inverted.bordered.violet.icon,\ni.inverted.circular.violet.icon {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\ni.purple.icon {\n  color: #A333C8 !important;\n}\ni.inverted.purple.icon {\n  color: #DC73FF !important;\n}\ni.inverted.bordered.purple.icon,\ni.inverted.circular.purple.icon {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\ni.pink.icon {\n  color: #E03997 !important;\n}\ni.inverted.pink.icon {\n  color: #FF8EDF !important;\n}\ni.inverted.bordered.pink.icon,\ni.inverted.circular.pink.icon {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\ni.brown.icon {\n  color: #A5673F !important;\n}\ni.inverted.brown.icon {\n  color: #D67C1C !important;\n}\ni.inverted.bordered.brown.icon,\ni.inverted.circular.brown.icon {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\ni.grey.icon {\n  color: #767676 !important;\n}\ni.inverted.grey.icon {\n  color: #DCDDDE !important;\n}\ni.inverted.bordered.grey.icon,\ni.inverted.circular.grey.icon {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\ni.black.icon {\n  color: #1B1C1D !important;\n}\ni.inverted.black.icon {\n  color: #545454 !important;\n}\ni.inverted.bordeblack.black.icon,\ni.inverted.circular.black.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\ni.mini.icon,\ni.mini.icons {\n  line-height: 1;\n  font-size: 0.71428571rem;\n}\ni.tiny.icon,\ni.tiny.icons {\n  line-height: 1;\n  font-size: 0.85714286rem;\n}\ni.small.icon,\ni.small.icons {\n  line-height: 1;\n  font-size: 0.92857143em;\n}\ni.icon,\ni.icons {\n  font-size: 1em;\n}\ni.large.icon,\ni.large.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 1.5em;\n}\ni.big.icon,\ni.big.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 2em;\n}\ni.huge.icon,\ni.huge.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 4em;\n}\ni.massive.icon,\ni.massive.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 8em;\n}\n\n\n/*******************************\n            Groups\n*******************************/\n\ni.icons {\n  display: inline-block;\n  position: relative;\n  line-height: 1;\n}\ni.icons .icon {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  margin: 0em;\n  margin: 0;\n}\ni.icons .icon:first-child {\n  position: static;\n  width: auto;\n  height: auto;\n  vertical-align: top;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  margin-right: 0.25rem;\n}\n\n/* Corner Icon */\ni.icons .corner.icon {\n  top: auto;\n  left: auto;\n  right: 0;\n  bottom: 0;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n  font-size: 0.45em;\n  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;\n}\ni.icons .inverted.corner.icon {\n  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;\n}\n/*\n * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n\n/*******************************\n\nSemantic-UI integration of font-awesome :\n\n///class names are separated\ni.icon.circle => i.icon.circle\ni.icon.circle-o => i.icon.circle.outline\n\n//abbreviation are replaced by full letters:\ni.icon.ellipsis-h => i.icon.ellipsis.horizontal\ni.icon.ellipsis-v => i.icon.ellipsis.vertical\n.alpha => .i.icon.alphabet\n.asc => .i.icon.ascending\n.desc => .i.icon.descending\n.alt =>.alternate\n\nASCII order is conserved for easier maintenance.\n\nIcons that only have one style 'outline', 'square' etc do not require this class\nfor instance `lemon icon` not `lemon outline icon` since there is only one lemon\n\n*******************************/\n\n\n\n/*******************************\n            Icons\n*******************************/\n\n\n/* Web Content */\ni.icon.search:before {\n  content: \"\\f002\";\n}\ni.icon.mail.outline:before {\n  content: \"\\f003\";\n}\ni.icon.external:before {\n  content: \"\\f08e\";\n}\ni.icon.signal:before {\n  content: \"\\f012\";\n}\ni.icon.setting:before {\n  content: \"\\f013\";\n}\ni.icon.home:before {\n  content: \"\\f015\";\n}\ni.icon.inbox:before {\n  content: \"\\f01c\";\n}\ni.icon.browser:before {\n  content: \"\\f022\";\n}\ni.icon.tag:before {\n  content: \"\\f02b\";\n}\ni.icon.tags:before {\n  content: \"\\f02c\";\n}\ni.icon.calendar:before {\n  content: \"\\f073\";\n}\ni.icon.comment:before {\n  content: \"\\f075\";\n}\ni.icon.comments:before {\n  content: \"\\f086\";\n}\ni.icon.shop:before {\n  content: \"\\f07a\";\n}\ni.icon.privacy:before {\n  content: \"\\f084\";\n}\ni.icon.settings:before {\n  content: \"\\f085\";\n}\ni.icon.trophy:before {\n  content: \"\\f091\";\n}\ni.icon.payment:before {\n  content: \"\\f09d\";\n}\ni.icon.feed:before {\n  content: \"\\f09e\";\n}\ni.icon.alarm.outline:before {\n  content: \"\\f0a2\";\n}\ni.icon.tasks:before {\n  content: \"\\f0ae\";\n}\ni.icon.cloud:before {\n  content: \"\\f0c2\";\n}\ni.icon.lab:before {\n  content: \"\\f0c3\";\n}\ni.icon.mail:before {\n  content: \"\\f0e0\";\n}\ni.icon.idea:before {\n  content: \"\\f0eb\";\n}\ni.icon.dashboard:before {\n  content: \"\\f0e4\";\n}\ni.icon.sitemap:before {\n  content: \"\\f0e8\";\n}\ni.icon.alarm:before {\n  content: \"\\f0f3\";\n}\ni.icon.terminal:before {\n  content: \"\\f120\";\n}\ni.icon.code:before {\n  content: \"\\f121\";\n}\ni.icon.protect:before {\n  content: \"\\f132\";\n}\ni.icon.calendar.outline:before {\n  content: \"\\f133\";\n}\ni.icon.ticket:before {\n  content: \"\\f145\";\n}\ni.icon.external.square:before {\n  content: \"\\f14c\";\n}\ni.icon.map:before {\n  content: \"\\f14e\";\n}\ni.icon.bug:before {\n  content: \"\\f188\";\n}\ni.icon.mail.square:before {\n  content: \"\\f199\";\n}\ni.icon.history:before {\n  content: \"\\f1da\";\n}\ni.icon.options:before {\n  content: \"\\f1de\";\n}\ni.icon.comment.outline:before {\n  content: \"\\f0e5\";\n}\ni.icon.comments.outline:before {\n  content: \"\\f0e6\";\n}\ni.icon.text.telephone:before {\n  content: \"\\f1e4\";\n}\ni.icon.find:before {\n  content: \"\\f1e5\";\n}\ni.icon.wifi:before {\n  content: \"\\f1eb\";\n}\ni.icon.alarm.slash:before {\n  content: \"\\f1f6\";\n}\ni.icon.alarm.slash.outline:before {\n  content: \"\\f1f7\";\n}\ni.icon.copyright:before {\n  content: \"\\f1f9\";\n}\ni.icon.at:before {\n  content: \"\\f1fa\";\n}\ni.icon.eyedropper:before {\n  content: \"\\f1fb\";\n}\ni.icon.paint.brush:before {\n  content: \"\\f1fc\";\n}\ni.icon.heartbeat:before {\n  content: \"\\f21e\";\n}\n\n/* User Actions */\ni.icon.download:before {\n  content: \"\\f019\";\n}\ni.icon.repeat:before {\n  content: \"\\f01e\";\n}\ni.icon.refresh:before {\n  content: \"\\f021\";\n}\ni.icon.lock:before {\n  content: \"\\f023\";\n}\ni.icon.bookmark:before {\n  content: \"\\f02e\";\n}\ni.icon.print:before {\n  content: \"\\f02f\";\n}\ni.icon.write:before {\n  content: \"\\f040\";\n}\ni.icon.theme:before {\n  content: \"\\f043\";\n}\ni.icon.adjust:before {\n  content: \"\\f042\";\n}\ni.icon.edit:before {\n  content: \"\\f044\";\n}\ni.icon.external.share:before {\n  content: \"\\f045\";\n}\ni.icon.ban:before {\n  content: \"\\f05e\";\n}\ni.icon.mail.forward:before {\n  content: \"\\f064\";\n}\ni.icon.share:before {\n  content: \"\\f064\";\n}\ni.icon.expand:before {\n  content: \"\\f065\";\n}\ni.icon.compress:before {\n  content: \"\\f066\";\n}\ni.icon.unhide:before {\n  content: \"\\f06e\";\n}\ni.icon.hide:before {\n  content: \"\\f070\";\n}\ni.icon.random:before {\n  content: \"\\f074\";\n}\ni.icon.retweet:before {\n  content: \"\\f079\";\n}\ni.icon.sign.out:before {\n  content: \"\\f08b\";\n}\ni.icon.pin:before {\n  content: \"\\f08d\";\n}\ni.icon.sign.in:before {\n  content: \"\\f090\";\n}\ni.icon.upload:before {\n  content: \"\\f093\";\n}\ni.icon.call:before {\n  content: \"\\f095\";\n}\ni.icon.call.square:before {\n  content: \"\\f098\";\n}\ni.icon.remove.bookmark:before {\n  content: \"\\f097\";\n}\ni.icon.unlock:before {\n  content: \"\\f09c\";\n}\ni.icon.configure:before {\n  content: \"\\f0ad\";\n}\ni.icon.filter:before {\n  content: \"\\f0b0\";\n}\ni.icon.wizard:before {\n  content: \"\\f0d0\";\n}\ni.icon.undo:before {\n  content: \"\\f0e2\";\n}\ni.icon.exchange:before {\n  content: \"\\f0ec\";\n}\ni.icon.cloud.download:before {\n  content: \"\\f0ed\";\n}\ni.icon.cloud.upload:before {\n  content: \"\\f0ee\";\n}\ni.icon.reply:before {\n  content: \"\\f112\";\n}\ni.icon.reply.all:before {\n  content: \"\\f122\";\n}\ni.icon.erase:before {\n  content: \"\\f12d\";\n}\ni.icon.unlock.alternate:before {\n  content: \"\\f13e\";\n}\ni.icon.archive:before {\n  content: \"\\f187\";\n}\ni.icon.translate:before {\n  content: \"\\f1ab\";\n}\ni.icon.recycle:before {\n  content: \"\\f1b8\";\n}\ni.icon.send:before {\n  content: \"\\f1d8\";\n}\ni.icon.send.outline:before {\n  content: \"\\f1d9\";\n}\ni.icon.share.alternate:before {\n  content: \"\\f1e0\";\n}\ni.icon.share.alternate.square:before {\n  content: \"\\f1e1\";\n}\ni.icon.wait:before {\n  content: \"\\f017\";\n}\ni.icon.write.square:before {\n  content: \"\\f14b\";\n}\ni.icon.share.square:before {\n  content: \"\\f14d\";\n}\ni.icon.add.to.cart:before {\n  content: \"\\f217\";\n}\ni.icon.in.cart:before {\n  content: \"\\f218\";\n}\ni.icon.add.user:before {\n  content: \"\\f234\";\n}\ni.icon.remove.user:before {\n  content: \"\\f235\";\n}\n\n/* Messages */\ni.icon.help.circle:before {\n  content: \"\\f059\";\n}\ni.icon.info.circle:before {\n  content: \"\\f05a\";\n}\ni.icon.warning:before {\n  content: \"\\f12a\";\n}\ni.icon.warning.circle:before {\n  content: \"\\f06a\";\n}\ni.icon.warning.sign:before {\n  content: \"\\f071\";\n}\ni.icon.help:before {\n  content: \"\\f128\";\n}\ni.icon.info:before {\n  content: \"\\f129\";\n}\ni.icon.announcement:before {\n  content: \"\\f0a1\";\n}\ni.icon.birthday:before {\n  content: \"\\f1fd\";\n}\n\n/* Users */\ni.icon.users:before {\n  content: \"\\f0c0\";\n}\ni.icon.doctor:before {\n  content: \"\\f0f0\";\n}\ni.icon.child:before {\n  content: \"\\f1ae\";\n}\ni.icon.user:before {\n  content: \"\\f007\";\n}\ni.icon.handicap:before {\n  content: \"\\f193\";\n}\ni.icon.student:before {\n  content: \"\\f19d\";\n}\ni.icon.spy:before {\n  content: \"\\f21b\";\n}\n\n/* Gender & Sexuality */\ni.icon.female:before {\n  content: \"\\f182\";\n}\ni.icon.male:before {\n  content: \"\\f183\";\n}\ni.icon.woman:before {\n  content: \"\\f221\";\n}\ni.icon.man:before {\n  content: \"\\f222\";\n}\ni.icon.non.binary.transgender:before {\n  content: \"\\f223\";\n}\ni.icon.intergender:before {\n  content: \"\\f224\";\n}\ni.icon.transgender:before {\n  content: \"\\f225\";\n}\ni.icon.lesbian:before {\n  content: \"\\f226\";\n}\ni.icon.gay:before {\n  content: \"\\f227\";\n}\ni.icon.heterosexual:before {\n  content: \"\\f228\";\n}\ni.icon.other.gender:before {\n  content: \"\\f229\";\n}\ni.icon.other.gender.vertical:before {\n  content: \"\\f22a\";\n}\ni.icon.other.gender.horizontal:before {\n  content: \"\\f22b\";\n}\ni.icon.neuter:before {\n  content: \"\\f22c\";\n}\n\n/* View Adjustment */\ni.icon.grid.layout:before {\n  content: \"\\f00a\";\n}\ni.icon.list.layout:before {\n  content: \"\\f00b\";\n}\ni.icon.block.layout:before {\n  content: \"\\f009\";\n}\ni.icon.zoom:before {\n  content: \"\\f00e\";\n}\ni.icon.zoom.out:before {\n  content: \"\\f010\";\n}\ni.icon.resize.vertical:before {\n  content: \"\\f07d\";\n}\ni.icon.resize.horizontal:before {\n  content: \"\\f07e\";\n}\ni.icon.maximize:before {\n  content: \"\\f0b2\";\n}\ni.icon.crop:before {\n  content: \"\\f125\";\n}\n\n/* Literal Objects */\ni.icon.cocktail:before {\n  content: \"\\f000\";\n}\ni.icon.road:before {\n  content: \"\\f018\";\n}\ni.icon.flag:before {\n  content: \"\\f024\";\n}\ni.icon.book:before {\n  content: \"\\f02d\";\n}\ni.icon.gift:before {\n  content: \"\\f06b\";\n}\ni.icon.leaf:before {\n  content: \"\\f06c\";\n}\ni.icon.fire:before {\n  content: \"\\f06d\";\n}\ni.icon.plane:before {\n  content: \"\\f072\";\n}\ni.icon.magnet:before {\n  content: \"\\f076\";\n}\ni.icon.legal:before {\n  content: \"\\f0e3\";\n}\ni.icon.lemon:before {\n  content: \"\\f094\";\n}\ni.icon.world:before {\n  content: \"\\f0ac\";\n}\ni.icon.travel:before {\n  content: \"\\f0b1\";\n}\ni.icon.shipping:before {\n  content: \"\\f0d1\";\n}\ni.icon.money:before {\n  content: \"\\f0d6\";\n}\ni.icon.lightning:before {\n  content: \"\\f0e7\";\n}\ni.icon.rain:before {\n  content: \"\\f0e9\";\n}\ni.icon.treatment:before {\n  content: \"\\f0f1\";\n}\ni.icon.suitcase:before {\n  content: \"\\f0f2\";\n}\ni.icon.bar:before {\n  content: \"\\f0fc\";\n}\ni.icon.flag.outline:before {\n  content: \"\\f11d\";\n}\ni.icon.flag.checkered:before {\n  content: \"\\f11e\";\n}\ni.icon.puzzle:before {\n  content: \"\\f12e\";\n}\ni.icon.fire.extinguisher:before {\n  content: \"\\f134\";\n}\ni.icon.rocket:before {\n  content: \"\\f135\";\n}\ni.icon.anchor:before {\n  content: \"\\f13d\";\n}\ni.icon.bullseye:before {\n  content: \"\\f140\";\n}\ni.icon.sun:before {\n  content: \"\\f185\";\n}\ni.icon.moon:before {\n  content: \"\\f186\";\n}\ni.icon.fax:before {\n  content: \"\\f1ac\";\n}\ni.icon.life.ring:before {\n  content: \"\\f1cd\";\n}\ni.icon.bomb:before {\n  content: \"\\f1e2\";\n}\ni.icon.soccer:before {\n  content: \"\\f1e3\";\n}\ni.icon.calculator:before {\n  content: \"\\f1ec\";\n}\ni.icon.diamond:before {\n  content: \"\\f219\";\n}\n\n/* Shapes */\ni.icon.crosshairs:before {\n  content: \"\\f05b\";\n}\ni.icon.asterisk:before {\n  content: \"\\f069\";\n}\ni.icon.certificate:before {\n  content: \"\\f0a3\";\n}\ni.icon.circle:before {\n  content: \"\\f111\";\n}\ni.icon.quote.left:before {\n  content: \"\\f10d\";\n}\ni.icon.quote.right:before {\n  content: \"\\f10e\";\n}\ni.icon.ellipsis.horizontal:before {\n  content: \"\\f141\";\n}\ni.icon.ellipsis.vertical:before {\n  content: \"\\f142\";\n}\ni.icon.cube:before {\n  content: \"\\f1b2\";\n}\ni.icon.cubes:before {\n  content: \"\\f1b3\";\n}\ni.icon.circle.notched:before {\n  content: \"\\f1ce\";\n}\ni.icon.circle.thin:before {\n  content: \"\\f1db\";\n}\ni.icon.square.outline:before {\n  content: \"\\f096\";\n}\ni.icon.square:before {\n  content: \"\\f0c8\";\n}\n\n/* Item Selection */\ni.icon.checkmark:before {\n  content: \"\\f00c\";\n}\ni.icon.remove:before {\n  content: \"\\f00d\";\n}\ni.icon.checkmark.box:before {\n  content: \"\\f046\";\n}\ni.icon.move:before {\n  content: \"\\f047\";\n}\ni.icon.add.circle:before {\n  content: \"\\f055\";\n}\ni.icon.minus.circle:before {\n  content: \"\\f056\";\n}\ni.icon.remove.circle:before {\n  content: \"\\f057\";\n}\ni.icon.check.circle:before {\n  content: \"\\f058\";\n}\ni.icon.remove.circle.outline:before {\n  content: \"\\f05c\";\n}\ni.icon.check.circle.outline:before {\n  content: \"\\f05d\";\n}\ni.icon.plus:before {\n  content: \"\\f067\";\n}\ni.icon.minus:before {\n  content: \"\\f068\";\n}\ni.icon.add.square:before {\n  content: \"\\f0fe\";\n}\ni.icon.radio:before {\n  content: \"\\f10c\";\n}\ni.icon.selected.radio:before {\n  content: \"\\f192\";\n}\ni.icon.minus.square:before {\n  content: \"\\f146\";\n}\ni.icon.minus.square.outline:before {\n  content: \"\\f147\";\n}\ni.icon.check.square:before {\n  content: \"\\f14a\";\n}\ni.icon.plus.square.outline:before {\n  content: \"\\f196\";\n}\ni.icon.toggle.off:before {\n  content: \"\\f204\";\n}\ni.icon.toggle.on:before {\n  content: \"\\f205\";\n}\n\n/* Media */\ni.icon.film:before {\n  content: \"\\f008\";\n}\ni.icon.sound:before {\n  content: \"\\f025\";\n}\ni.icon.photo:before {\n  content: \"\\f030\";\n}\ni.icon.bar.chart:before {\n  content: \"\\f080\";\n}\ni.icon.camera.retro:before {\n  content: \"\\f083\";\n}\ni.icon.newspaper:before {\n  content: \"\\f1ea\";\n}\ni.icon.area.chart:before {\n  content: \"\\f1fe\";\n}\ni.icon.pie.chart:before {\n  content: \"\\f200\";\n}\ni.icon.line.chart:before {\n  content: \"\\f201\";\n}\n\n/* Pointers */\ni.icon.arrow.circle.outline.down:before {\n  content: \"\\f01a\";\n}\ni.icon.arrow.circle.outline.up:before {\n  content: \"\\f01b\";\n}\ni.icon.chevron.left:before {\n  content: \"\\f053\";\n}\ni.icon.chevron.right:before {\n  content: \"\\f054\";\n}\ni.icon.arrow.left:before {\n  content: \"\\f060\";\n}\ni.icon.arrow.right:before {\n  content: \"\\f061\";\n}\ni.icon.arrow.up:before {\n  content: \"\\f062\";\n}\ni.icon.arrow.down:before {\n  content: \"\\f063\";\n}\ni.icon.chevron.up:before {\n  content: \"\\f077\";\n}\ni.icon.chevron.down:before {\n  content: \"\\f078\";\n}\ni.icon.pointing.right:before {\n  content: \"\\f0a4\";\n}\ni.icon.pointing.left:before {\n  content: \"\\f0a5\";\n}\ni.icon.pointing.up:before {\n  content: \"\\f0a6\";\n}\ni.icon.pointing.down:before {\n  content: \"\\f0a7\";\n}\ni.icon.arrow.circle.left:before {\n  content: \"\\f0a8\";\n}\ni.icon.arrow.circle.right:before {\n  content: \"\\f0a9\";\n}\ni.icon.arrow.circle.up:before {\n  content: \"\\f0aa\";\n}\ni.icon.arrow.circle.down:before {\n  content: \"\\f0ab\";\n}\ni.icon.caret.down:before {\n  content: \"\\f0d7\";\n}\ni.icon.caret.up:before {\n  content: \"\\f0d8\";\n}\ni.icon.caret.left:before {\n  content: \"\\f0d9\";\n}\ni.icon.caret.right:before {\n  content: \"\\f0da\";\n}\ni.icon.angle.double.left:before {\n  content: \"\\f100\";\n}\ni.icon.angle.double.right:before {\n  content: \"\\f101\";\n}\ni.icon.angle.double.up:before {\n  content: \"\\f102\";\n}\ni.icon.angle.double.down:before {\n  content: \"\\f103\";\n}\ni.icon.angle.left:before {\n  content: \"\\f104\";\n}\ni.icon.angle.right:before {\n  content: \"\\f105\";\n}\ni.icon.angle.up:before {\n  content: \"\\f106\";\n}\ni.icon.angle.down:before {\n  content: \"\\f107\";\n}\ni.icon.chevron.circle.left:before {\n  content: \"\\f137\";\n}\ni.icon.chevron.circle.right:before {\n  content: \"\\f138\";\n}\ni.icon.chevron.circle.up:before {\n  content: \"\\f139\";\n}\ni.icon.chevron.circle.down:before {\n  content: \"\\f13a\";\n}\ni.icon.toggle.down:before {\n  content: \"\\f150\";\n}\ni.icon.toggle.up:before {\n  content: \"\\f151\";\n}\ni.icon.toggle.right:before {\n  content: \"\\f152\";\n}\ni.icon.long.arrow.down:before {\n  content: \"\\f175\";\n}\ni.icon.long.arrow.up:before {\n  content: \"\\f176\";\n}\ni.icon.long.arrow.left:before {\n  content: \"\\f177\";\n}\ni.icon.long.arrow.right:before {\n  content: \"\\f178\";\n}\ni.icon.arrow.circle.outline.right:before {\n  content: \"\\f18e\";\n}\ni.icon.arrow.circle.outline.left:before {\n  content: \"\\f190\";\n}\ni.icon.toggle.left:before {\n  content: \"\\f191\";\n}\n\n/* Computer */\ni.icon.power:before {\n  content: \"\\f011\";\n}\ni.icon.trash:before {\n  content: \"\\f1f8\";\n}\ni.icon.trash.outline:before {\n  content: \"\\f014\";\n}\ni.icon.disk.outline:before {\n  content: \"\\f0a0\";\n}\ni.icon.desktop:before {\n  content: \"\\f108\";\n}\ni.icon.laptop:before {\n  content: \"\\f109\";\n}\ni.icon.tablet:before {\n  content: \"\\f10a\";\n}\ni.icon.mobile:before {\n  content: \"\\f10b\";\n}\ni.icon.game:before {\n  content: \"\\f11b\";\n}\ni.icon.keyboard:before {\n  content: \"\\f11c\";\n}\ni.icon.plug:before {\n  content: \"\\f1e6\";\n}\n\n/* File System */\ni.icon.folder:before {\n  content: \"\\f07b\";\n}\ni.icon.folder.open:before {\n  content: \"\\f07c\";\n}\ni.icon.level.up:before {\n  content: \"\\f148\";\n}\ni.icon.level.down:before {\n  content: \"\\f149\";\n}\ni.icon.file:before {\n  content: \"\\f15b\";\n}\ni.icon.file.outline:before {\n  content: \"\\f016\";\n}\ni.icon.file.text:before {\n  content: \"\\f15c\";\n}\ni.icon.file.text.outline:before {\n  content: \"\\f0f6\";\n}\ni.icon.folder.outline:before {\n  content: \"\\f114\";\n}\ni.icon.folder.open.outline:before {\n  content: \"\\f115\";\n}\ni.icon.file.pdf.outline:before {\n  content: \"\\f1c1\";\n}\ni.icon.file.word.outline:before {\n  content: \"\\f1c2\";\n}\ni.icon.file.excel.outline:before {\n  content: \"\\f1c3\";\n}\ni.icon.file.powerpoint.outline:before {\n  content: \"\\f1c4\";\n}\ni.icon.file.image.outline:before {\n  content: \"\\f1c5\";\n}\ni.icon.file.archive.outline:before {\n  content: \"\\f1c6\";\n}\ni.icon.file.audio.outline:before {\n  content: \"\\f1c7\";\n}\ni.icon.file.video.outline:before {\n  content: \"\\f1c8\";\n}\ni.icon.file.code.outline:before {\n  content: \"\\f1c9\";\n}\n\n/* Technologies */\ni.icon.barcode:before {\n  content: \"\\f02a\";\n}\ni.icon.qrcode:before {\n  content: \"\\f029\";\n}\ni.icon.fork:before {\n  content: \"\\f126\";\n}\ni.icon.html5:before {\n  content: \"\\f13b\";\n}\ni.icon.css3:before {\n  content: \"\\f13c\";\n}\ni.icon.rss:before {\n  content: \"\\f09e\";\n}\ni.icon.rss.square:before {\n  content: \"\\f143\";\n}\ni.icon.openid:before {\n  content: \"\\f19b\";\n}\ni.icon.database:before {\n  content: \"\\f1c0\";\n}\ni.icon.server:before {\n  content: \"\\f233\";\n}\n\n/* Rating */\ni.icon.heart:before {\n  content: \"\\f004\";\n}\ni.icon.star:before {\n  content: \"\\f005\";\n}\ni.icon.empty.star:before {\n  content: \"\\f006\";\n}\ni.icon.thumbs.outline.up:before {\n  content: \"\\f087\";\n}\ni.icon.thumbs.outline.down:before {\n  content: \"\\f088\";\n}\ni.icon.star.half:before {\n  content: \"\\f089\";\n}\ni.icon.empty.heart:before {\n  content: \"\\f08a\";\n}\ni.icon.smile:before {\n  content: \"\\f118\";\n}\ni.icon.frown:before {\n  content: \"\\f119\";\n}\ni.icon.meh:before {\n  content: \"\\f11a\";\n}\ni.icon.star.half.empty:before {\n  content: \"\\f123\";\n}\ni.icon.thumbs.up:before {\n  content: \"\\f164\";\n}\ni.icon.thumbs.down:before {\n  content: \"\\f165\";\n}\n\n/* Audio */\ni.icon.music:before {\n  content: \"\\f001\";\n}\ni.icon.video.play.outline:before {\n  content: \"\\f01d\";\n}\ni.icon.volume.off:before {\n  content: \"\\f026\";\n}\ni.icon.volume.down:before {\n  content: \"\\f027\";\n}\ni.icon.volume.up:before {\n  content: \"\\f028\";\n}\ni.icon.record:before {\n  content: \"\\f03d\";\n}\ni.icon.step.backward:before {\n  content: \"\\f048\";\n}\ni.icon.fast.backward:before {\n  content: \"\\f049\";\n}\ni.icon.backward:before {\n  content: \"\\f04a\";\n}\ni.icon.play:before {\n  content: \"\\f04b\";\n}\ni.icon.pause:before {\n  content: \"\\f04c\";\n}\ni.icon.stop:before {\n  content: \"\\f04d\";\n}\ni.icon.forward:before {\n  content: \"\\f04e\";\n}\ni.icon.fast.forward:before {\n  content: \"\\f050\";\n}\ni.icon.step.forward:before {\n  content: \"\\f051\";\n}\ni.icon.eject:before {\n  content: \"\\f052\";\n}\ni.icon.unmute:before {\n  content: \"\\f130\";\n}\ni.icon.mute:before {\n  content: \"\\f131\";\n}\ni.icon.video.play:before {\n  content: \"\\f144\";\n}\ni.icon.closed.captioning:before {\n  content: \"\\f20a\";\n}\n\n/* Map, Locations, & Transportation */\ni.icon.marker:before {\n  content: \"\\f041\";\n}\ni.icon.coffee:before {\n  content: \"\\f0f4\";\n}\ni.icon.food:before {\n  content: \"\\f0f5\";\n}\ni.icon.building.outline:before {\n  content: \"\\f0f7\";\n}\ni.icon.hospital:before {\n  content: \"\\f0f8\";\n}\ni.icon.emergency:before {\n  content: \"\\f0f9\";\n}\ni.icon.first.aid:before {\n  content: \"\\f0fa\";\n}\ni.icon.military:before {\n  content: \"\\f0fb\";\n}\ni.icon.h:before {\n  content: \"\\f0fd\";\n}\ni.icon.location.arrow:before {\n  content: \"\\f124\";\n}\ni.icon.space.shuttle:before {\n  content: \"\\f197\";\n}\ni.icon.university:before {\n  content: \"\\f19c\";\n}\ni.icon.building:before {\n  content: \"\\f1ad\";\n}\ni.icon.paw:before {\n  content: \"\\f1b0\";\n}\ni.icon.spoon:before {\n  content: \"\\f1b1\";\n}\ni.icon.car:before {\n  content: \"\\f1b9\";\n}\ni.icon.taxi:before {\n  content: \"\\f1ba\";\n}\ni.icon.tree:before {\n  content: \"\\f1bb\";\n}\ni.icon.bicycle:before {\n  content: \"\\f206\";\n}\ni.icon.bus:before {\n  content: \"\\f207\";\n}\ni.icon.ship:before {\n  content: \"\\f21a\";\n}\ni.icon.motorcycle:before {\n  content: \"\\f21c\";\n}\ni.icon.street.view:before {\n  content: \"\\f21d\";\n}\ni.icon.hotel:before {\n  content: \"\\f236\";\n}\ni.icon.train:before {\n  content: \"\\f238\";\n}\ni.icon.subway:before {\n  content: \"\\f239\";\n}\n\n/* Tables */\ni.icon.table:before {\n  content: \"\\f0ce\";\n}\ni.icon.columns:before {\n  content: \"\\f0db\";\n}\ni.icon.sort:before {\n  content: \"\\f0dc\";\n}\ni.icon.sort.ascending:before {\n  content: \"\\f0de\";\n}\ni.icon.sort.descending:before {\n  content: \"\\f0dd\";\n}\ni.icon.sort.alphabet.ascending:before {\n  content: \"\\f15d\";\n}\ni.icon.sort.alphabet.descending:before {\n  content: \"\\f15e\";\n}\ni.icon.sort.content.ascending:before {\n  content: \"\\f160\";\n}\ni.icon.sort.content.descending:before {\n  content: \"\\f161\";\n}\ni.icon.sort.numeric.ascending:before {\n  content: \"\\f162\";\n}\ni.icon.sort.numeric.descending:before {\n  content: \"\\f163\";\n}\n\n/* Text Editor */\ni.icon.font:before {\n  content: \"\\f031\";\n}\ni.icon.bold:before {\n  content: \"\\f032\";\n}\ni.icon.italic:before {\n  content: \"\\f033\";\n}\ni.icon.text.height:before {\n  content: \"\\f034\";\n}\ni.icon.text.width:before {\n  content: \"\\f035\";\n}\ni.icon.align.left:before {\n  content: \"\\f036\";\n}\ni.icon.align.center:before {\n  content: \"\\f037\";\n}\ni.icon.align.right:before {\n  content: \"\\f038\";\n}\ni.icon.align.justify:before {\n  content: \"\\f039\";\n}\ni.icon.list:before {\n  content: \"\\f03a\";\n}\ni.icon.outdent:before {\n  content: \"\\f03b\";\n}\ni.icon.indent:before {\n  content: \"\\f03c\";\n}\ni.icon.linkify:before {\n  content: \"\\f0c1\";\n}\ni.icon.cut:before {\n  content: \"\\f0c4\";\n}\ni.icon.copy:before {\n  content: \"\\f0c5\";\n}\ni.icon.attach:before {\n  content: \"\\f0c6\";\n}\ni.icon.save:before {\n  content: \"\\f0c7\";\n}\ni.icon.content:before {\n  content: \"\\f0c9\";\n}\ni.icon.unordered.list:before {\n  content: \"\\f0ca\";\n}\ni.icon.ordered.list:before {\n  content: \"\\f0cb\";\n}\ni.icon.strikethrough:before {\n  content: \"\\f0cc\";\n}\ni.icon.underline:before {\n  content: \"\\f0cd\";\n}\ni.icon.paste:before {\n  content: \"\\f0ea\";\n}\ni.icon.unlink:before {\n  content: \"\\f127\";\n}\ni.icon.superscript:before {\n  content: \"\\f12b\";\n}\ni.icon.subscript:before {\n  content: \"\\f12c\";\n}\ni.icon.header:before {\n  content: \"\\f1dc\";\n}\ni.icon.paragraph:before {\n  content: \"\\f1dd\";\n}\n\n/* Currency */\ni.icon.euro:before {\n  content: \"\\f153\";\n}\ni.icon.pound:before {\n  content: \"\\f154\";\n}\ni.icon.dollar:before {\n  content: \"\\f155\";\n}\ni.icon.rupee:before {\n  content: \"\\f156\";\n}\ni.icon.yen:before {\n  content: \"\\f157\";\n}\ni.icon.ruble:before {\n  content: \"\\f158\";\n}\ni.icon.won:before {\n  content: \"\\f159\";\n}\ni.icon.lira:before {\n  content: \"\\f195\";\n}\ni.icon.shekel:before {\n  content: \"\\f20b\";\n}\n\n/* Payment Options */\ni.icon.paypal:before {\n  content: \"\\f1ed\";\n}\ni.icon.paypal.card:before {\n  content: \"\\f1f4\";\n}\ni.icon.google.wallet:before {\n  content: \"\\f1ee\";\n}\ni.icon.visa:before {\n  content: \"\\f1f0\";\n}\ni.icon.mastercard:before {\n  content: \"\\f1f1\";\n}\ni.icon.discover:before {\n  content: \"\\f1f2\";\n}\ni.icon.american.express:before {\n  content: \"\\f1f3\";\n}\ni.icon.stripe:before {\n  content: \"\\f1f5\";\n}\n/* Networks and Websites*/\ni.icon.twitter.square:before {\n  content: \"\\f081\";\n}\ni.icon.facebook.square:before {\n  content: \"\\f082\";\n}\ni.icon.linkedin.square:before {\n  content: \"\\f08c\";\n}\ni.icon.github.square:before {\n  content: \"\\f092\";\n}\ni.icon.twitter:before {\n  content: \"\\f099\";\n}\ni.icon.facebook:before {\n  content: \"\\f09a\";\n}\ni.icon.github:before {\n  content: \"\\f09b\";\n}\ni.icon.pinterest:before {\n  content: \"\\f0d2\";\n}\ni.icon.pinterest.square:before {\n  content: \"\\f0d3\";\n}\ni.icon.google.plus.square:before {\n  content: \"\\f0d4\";\n}\ni.icon.google.plus:before {\n  content: \"\\f0d5\";\n}\ni.icon.linkedin:before {\n  content: \"\\f0e1\";\n}\ni.icon.github.alternate:before {\n  content: \"\\f113\";\n}\ni.icon.maxcdn:before {\n  content: \"\\f136\";\n}\ni.icon.bitcoin:before {\n  content: \"\\f15a\";\n}\ni.icon.youtube.square:before {\n  content: \"\\f166\";\n}\ni.icon.youtube:before {\n  content: \"\\f167\";\n}\ni.icon.xing:before {\n  content: \"\\f168\";\n}\ni.icon.xing.square:before {\n  content: \"\\f169\";\n}\ni.icon.youtube.play:before {\n  content: \"\\f16a\";\n}\ni.icon.dropbox:before {\n  content: \"\\f16b\";\n}\ni.icon.stack.overflow:before {\n  content: \"\\f16c\";\n}\ni.icon.instagram:before {\n  content: \"\\f16d\";\n}\ni.icon.flickr:before {\n  content: \"\\f16e\";\n}\ni.icon.adn:before {\n  content: \"\\f170\";\n}\ni.icon.bitbucket:before {\n  content: \"\\f171\";\n}\ni.icon.bitbucket.square:before {\n  content: \"\\f172\";\n}\ni.icon.tumblr:before {\n  content: \"\\f173\";\n}\ni.icon.tumblr.square:before {\n  content: \"\\f174\";\n}\ni.icon.apple:before {\n  content: \"\\f179\";\n}\ni.icon.windows:before {\n  content: \"\\f17a\";\n}\ni.icon.android:before {\n  content: \"\\f17b\";\n}\ni.icon.linux:before {\n  content: \"\\f17c\";\n}\ni.icon.dribbble:before {\n  content: \"\\f17d\";\n}\ni.icon.skype:before {\n  content: \"\\f17e\";\n}\ni.icon.foursquare:before {\n  content: \"\\f180\";\n}\ni.icon.trello:before {\n  content: \"\\f181\";\n}\ni.icon.gittip:before {\n  content: \"\\f184\";\n}\ni.icon.vk:before {\n  content: \"\\f189\";\n}\ni.icon.weibo:before {\n  content: \"\\f18a\";\n}\ni.icon.renren:before {\n  content: \"\\f18b\";\n}\ni.icon.pagelines:before {\n  content: \"\\f18c\";\n}\ni.icon.stack.exchange:before {\n  content: \"\\f18d\";\n}\ni.icon.vimeo:before {\n  content: \"\\f194\";\n}\ni.icon.slack:before {\n  content: \"\\f198\";\n}\ni.icon.wordpress:before {\n  content: \"\\f19a\";\n}\ni.icon.yahoo:before {\n  content: \"\\f19e\";\n}\ni.icon.google:before {\n  content: \"\\f1a0\";\n}\ni.icon.reddit:before {\n  content: \"\\f1a1\";\n}\ni.icon.reddit.square:before {\n  content: \"\\f1a2\";\n}\ni.icon.stumbleupon.circle:before {\n  content: \"\\f1a3\";\n}\ni.icon.stumbleupon:before {\n  content: \"\\f1a4\";\n}\ni.icon.delicious:before {\n  content: \"\\f1a5\";\n}\ni.icon.digg:before {\n  content: \"\\f1a6\";\n}\ni.icon.pied.piper:before {\n  content: \"\\f1a7\";\n}\ni.icon.pied.piper.alternate:before {\n  content: \"\\f1a8\";\n}\ni.icon.drupal:before {\n  content: \"\\f1a9\";\n}\ni.icon.joomla:before {\n  content: \"\\f1aa\";\n}\ni.icon.behance:before {\n  content: \"\\f1b4\";\n}\ni.icon.behance.square:before {\n  content: \"\\f1b5\";\n}\ni.icon.steam:before {\n  content: \"\\f1b6\";\n}\ni.icon.steam.square:before {\n  content: \"\\f1b7\";\n}\ni.icon.spotify:before {\n  content: \"\\f1bc\";\n}\ni.icon.deviantart:before {\n  content: \"\\f1bd\";\n}\ni.icon.soundcloud:before {\n  content: \"\\f1be\";\n}\ni.icon.vine:before {\n  content: \"\\f1ca\";\n}\ni.icon.codepen:before {\n  content: \"\\f1cb\";\n}\ni.icon.jsfiddle:before {\n  content: \"\\f1cc\";\n}\ni.icon.rebel:before {\n  content: \"\\f1d0\";\n}\ni.icon.empire:before {\n  content: \"\\f1d1\";\n}\ni.icon.git.square:before {\n  content: \"\\f1d2\";\n}\ni.icon.git:before {\n  content: \"\\f1d3\";\n}\ni.icon.hacker.news:before {\n  content: \"\\f1d4\";\n}\ni.icon.tencent.weibo:before {\n  content: \"\\f1d5\";\n}\ni.icon.qq:before {\n  content: \"\\f1d6\";\n}\ni.icon.wechat:before {\n  content: \"\\f1d7\";\n}\ni.icon.slideshare:before {\n  content: \"\\f1e7\";\n}\ni.icon.twitch:before {\n  content: \"\\f1e8\";\n}\ni.icon.yelp:before {\n  content: \"\\f1e9\";\n}\ni.icon.lastfm:before {\n  content: \"\\f202\";\n}\ni.icon.lastfm.square:before {\n  content: \"\\f203\";\n}\ni.icon.ioxhost:before {\n  content: \"\\f208\";\n}\ni.icon.angellist:before {\n  content: \"\\f209\";\n}\ni.icon.meanpath:before {\n  content: \"\\f20c\";\n}\ni.icon.buysellads:before {\n  content: \"\\f20d\";\n}\ni.icon.connectdevelop:before {\n  content: \"\\f20e\";\n}\ni.icon.dashcube:before {\n  content: \"\\f210\";\n}\ni.icon.forumbee:before {\n  content: \"\\f211\";\n}\ni.icon.leanpub:before {\n  content: \"\\f212\";\n}\ni.icon.sellsy:before {\n  content: \"\\f213\";\n}\ni.icon.shirtsinbulk:before {\n  content: \"\\f214\";\n}\ni.icon.simplybuilt:before {\n  content: \"\\f215\";\n}\ni.icon.skyatlas:before {\n  content: \"\\f216\";\n}\ni.icon.whatsapp:before {\n  content: \"\\f232\";\n}\ni.icon.viacoin:before {\n  content: \"\\f237\";\n}\ni.icon.medium:before {\n  content: \"\\f23a\";\n}\n\n\n/*******************************\n            Aliases\n*******************************/\n\ni.icon.like:before {\n  content: \"\\f004\";\n}\ni.icon.favorite:before {\n  content: \"\\f005\";\n}\ni.icon.video:before {\n  content: \"\\f008\";\n}\ni.icon.check:before {\n  content: \"\\f00c\";\n}\ni.icon.close:before {\n  content: \"\\f00d\";\n}\ni.icon.cancel:before {\n  content: \"\\f00d\";\n}\ni.icon.delete:before {\n  content: \"\\f00d\";\n}\ni.icon.x:before {\n  content: \"\\f00d\";\n}\ni.icon.user.times:before {\n  content: \"\\f235\";\n}\ni.icon.user.close:before {\n  content: \"\\f235\";\n}\ni.icon.user.cancel:before {\n  content: \"\\f235\";\n}\ni.icon.user.delete:before {\n  content: \"\\f235\";\n}\ni.icon.user.x:before {\n  content: \"\\f235\";\n}\ni.icon.zoom.in:before {\n  content: \"\\f00e\";\n}\ni.icon.magnify:before {\n  content: \"\\f00e\";\n}\ni.icon.shutdown:before {\n  content: \"\\f011\";\n}\ni.icon.clock:before {\n  content: \"\\f017\";\n}\ni.icon.time:before {\n  content: \"\\f017\";\n}\ni.icon.play.circle.outline:before {\n  content: \"\\f01d\";\n}\ni.icon.headphone:before {\n  content: \"\\f025\";\n}\ni.icon.camera:before {\n  content: \"\\f030\";\n}\ni.icon.video.camera:before {\n  content: \"\\f03d\";\n}\ni.icon.picture:before {\n  content: \"\\f03e\";\n}\ni.icon.pencil:before {\n  content: \"\\f040\";\n}\ni.icon.compose:before {\n  content: \"\\f040\";\n}\ni.icon.point:before {\n  content: \"\\f041\";\n}\ni.icon.tint:before {\n  content: \"\\f043\";\n}\ni.icon.signup:before {\n  content: \"\\f044\";\n}\ni.icon.plus.circle:before {\n  content: \"\\f055\";\n}\ni.icon.dont:before {\n  content: \"\\f05e\";\n}\ni.icon.minimize:before {\n  content: \"\\f066\";\n}\ni.icon.add:before {\n  content: \"\\f067\";\n}\ni.icon.eye:before {\n  content: \"\\f06e\";\n}\ni.icon.attention:before {\n  content: \"\\f06a\";\n}\ni.icon.cart:before {\n  content: \"\\f07a\";\n}\ni.icon.shuffle:before {\n  content: \"\\f074\";\n}\ni.icon.talk:before {\n  content: \"\\f075\";\n}\ni.icon.chat:before {\n  content: \"\\f075\";\n}\ni.icon.shopping.cart:before {\n  content: \"\\f07a\";\n}\ni.icon.bar.graph:before {\n  content: \"\\f080\";\n}\ni.icon.area.graph:before {\n  content: \"\\f1fe\";\n}\ni.icon.pie.graph:before {\n  content: \"\\f200\";\n}\ni.icon.line.graph:before {\n  content: \"\\f201\";\n}\ni.icon.key:before {\n  content: \"\\f084\";\n}\ni.icon.cogs:before {\n  content: \"\\f085\";\n}\ni.icon.discussions:before {\n  content: \"\\f086\";\n}\ni.icon.like.outline:before {\n  content: \"\\f087\";\n}\ni.icon.dislike.outline:before {\n  content: \"\\f088\";\n}\ni.icon.heart.outline:before {\n  content: \"\\f08a\";\n}\ni.icon.log.out:before {\n  content: \"\\f08b\";\n}\ni.icon.thumb.tack:before {\n  content: \"\\f08d\";\n}\ni.icon.winner:before {\n  content: \"\\f091\";\n}\ni.icon.bookmark.outline:before {\n  content: \"\\f097\";\n}\ni.icon.phone:before {\n  content: \"\\f095\";\n}\ni.icon.phone.square:before {\n  content: \"\\f098\";\n}\ni.icon.credit.card:before {\n  content: \"\\f09d\";\n}\ni.icon.hdd.outline:before {\n  content: \"\\f0a0\";\n}\ni.icon.bullhorn:before {\n  content: \"\\f0a1\";\n}\ni.icon.bell:before {\n  content: \"\\f0f3\";\n}\ni.icon.bell.outline:before {\n  content: \"\\f0a2\";\n}\ni.icon.bell.slash:before {\n  content: \"\\f1f6\";\n}\ni.icon.bell.slash.outline:before {\n  content: \"\\f1f7\";\n}\ni.icon.hand.outline.right:before {\n  content: \"\\f0a4\";\n}\ni.icon.hand.outline.left:before {\n  content: \"\\f0a5\";\n}\ni.icon.hand.outline.up:before {\n  content: \"\\f0a6\";\n}\ni.icon.hand.outline.down:before {\n  content: \"\\f0a7\";\n}\ni.icon.globe:before {\n  content: \"\\f0ac\";\n}\ni.icon.wrench:before {\n  content: \"\\f0ad\";\n}\ni.icon.briefcase:before {\n  content: \"\\f0b1\";\n}\ni.icon.group:before {\n  content: \"\\f0c0\";\n}\ni.icon.flask:before {\n  content: \"\\f0c3\";\n}\ni.icon.sidebar:before {\n  content: \"\\f0c9\";\n}\ni.icon.bars:before {\n  content: \"\\f0c9\";\n}\ni.icon.list.ul:before {\n  content: \"\\f0ca\";\n}\ni.icon.list.ol:before {\n  content: \"\\f0cb\";\n}\ni.icon.numbered.list:before {\n  content: \"\\f0cb\";\n}\ni.icon.magic:before {\n  content: \"\\f0d0\";\n}\ni.icon.truck:before {\n  content: \"\\f0d1\";\n}\ni.icon.currency:before {\n  content: \"\\f0d6\";\n}\ni.icon.triangle.down:before {\n  content: \"\\f0d7\";\n}\ni.icon.dropdown:before {\n  content: \"\\f0d7\";\n}\ni.icon.triangle.up:before {\n  content: \"\\f0d8\";\n}\ni.icon.triangle.left:before {\n  content: \"\\f0d9\";\n}\ni.icon.triangle.right:before {\n  content: \"\\f0da\";\n}\ni.icon.envelope:before {\n  content: \"\\f0e0\";\n}\ni.icon.conversation:before {\n  content: \"\\f0e6\";\n}\ni.icon.umbrella:before {\n  content: \"\\f0e9\";\n}\ni.icon.clipboard:before {\n  content: \"\\f0ea\";\n}\ni.icon.lightbulb:before {\n  content: \"\\f0eb\";\n}\ni.icon.ambulance:before {\n  content: \"\\f0f9\";\n}\ni.icon.medkit:before {\n  content: \"\\f0fa\";\n}\ni.icon.fighter.jet:before {\n  content: \"\\f0fb\";\n}\ni.icon.beer:before {\n  content: \"\\f0fc\";\n}\ni.icon.plus.square:before {\n  content: \"\\f0fe\";\n}\ni.icon.computer:before {\n  content: \"\\f108\";\n}\ni.icon.circle.outline:before {\n  content: \"\\f10c\";\n}\ni.icon.intersex:before {\n  content: \"\\f10c\";\n}\ni.icon.asexual:before {\n  content: \"\\f10c\";\n}\ni.icon.spinner:before {\n  content: \"\\f110\";\n}\ni.icon.gamepad:before {\n  content: \"\\f11b\";\n}\ni.icon.star.half.full:before {\n  content: \"\\f123\";\n}\ni.icon.question:before {\n  content: \"\\f128\";\n}\ni.icon.eraser:before {\n  content: \"\\f12d\";\n}\ni.icon.microphone:before {\n  content: \"\\f130\";\n}\ni.icon.microphone.slash:before {\n  content: \"\\f131\";\n}\ni.icon.shield:before {\n  content: \"\\f132\";\n}\ni.icon.target:before {\n  content: \"\\f140\";\n}\ni.icon.play.circle:before {\n  content: \"\\f144\";\n}\ni.icon.pencil.square:before {\n  content: \"\\f14b\";\n}\ni.icon.compass:before {\n  content: \"\\f14e\";\n}\ni.icon.amex:before {\n  content: \"\\f1f3\";\n}\ni.icon.eur:before {\n  content: \"\\f153\";\n}\ni.icon.gbp:before {\n  content: \"\\f154\";\n}\ni.icon.usd:before {\n  content: \"\\f155\";\n}\ni.icon.inr:before {\n  content: \"\\f156\";\n}\ni.icon.cny:before,\ni.icon.rmb:before,\ni.icon.jpy:before {\n  content: \"\\f157\";\n}\ni.icon.rouble:before,\ni.icon.rub:before {\n  content: \"\\f158\";\n}\ni.icon.krw:before {\n  content: \"\\f159\";\n}\ni.icon.btc:before {\n  content: \"\\f15a\";\n}\ni.icon.sheqel:before,\ni.icon.ils:before {\n  content: \"\\f20b\";\n}\ni.icon.try:before {\n  content: \"\\f195\";\n}\ni.icon.zip:before {\n  content: \"\\f187\";\n}\ni.icon.dot.circle.outline:before {\n  content: \"\\f192\";\n}\ni.icon.sliders:before {\n  content: \"\\f1de\";\n}\ni.icon.wi-fi:before {\n  content: \"\\f1eb\";\n}\ni.icon.graduation:before {\n  content: \"\\f19d\";\n}\ni.icon.weixin:before {\n  content: \"\\f1d7\";\n}\ni.icon.binoculars:before {\n  content: \"\\f1e5\";\n}\ni.icon.gratipay:before {\n  content: \"\\f184\";\n}\ni.icon.genderless:before {\n  content: \"\\f1db\";\n}\ni.icon.teletype:before {\n  content: \"\\f1e4\";\n}\ni.icon.power.cord:before {\n  content: \"\\f1e6\";\n}\ni.icon.tty:before {\n  content: \"\\f1e4\";\n}\ni.icon.cc:before {\n  content: \"\\f20a\";\n}\ni.icon.plus.cart:before {\n  content: \"\\f217\";\n}\ni.icon.arrow.down.cart:before {\n  content: \"\\f218\";\n}\ni.icon.detective:before {\n  content: \"\\f21b\";\n}\ni.icon.venus:before {\n  content: \"\\f221\";\n}\ni.icon.mars:before {\n  content: \"\\f222\";\n}\ni.icon.mercury:before {\n  content: \"\\f223\";\n}\ni.icon.venus.double:before {\n  content: \"\\f226\";\n}\ni.icon.female.homosexual:before {\n  content: \"\\f226\";\n}\ni.icon.mars.double:before {\n  content: \"\\f227\";\n}\ni.icon.male.homosexual:before {\n  content: \"\\f227\";\n}\ni.icon.venus.mars:before {\n  content: \"\\f228\";\n}\ni.icon.mars.stroke:before {\n  content: \"\\f229\";\n}\ni.icon.mars.alternate:before {\n  content: \"\\f229\";\n}\ni.icon.mars.vertical:before {\n  content: \"\\f22a\";\n}\ni.icon.mars.horizontal:before {\n  content: \"\\f22b\";\n}\ni.icon.mars.stroke.vertical:before {\n  content: \"\\f22a\";\n}\ni.icon.mars.stroke.horizontal:before {\n  content: \"\\f22b\";\n}\ni.icon.facebook.official {\n  content: \"\\f230\";\n}\ni.icon.pinterest.official {\n  content: \"\\f231\";\n}\ni.icon.bed:before {\n  content: \"\\f236\";\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/image.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Image\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Image\n*******************************/\n\n.ui.image {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  background-color: transparent;\n}\nimg.ui.image {\n  display: block;\n}\n.ui.image svg,\n.ui.image img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.hidden.images,\n.ui.hidden.image {\n  display: none;\n}\n.ui.disabled.images,\n.ui.disabled.image {\n  cursor: default;\n  opacity: 0.45;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.image,\n.ui.inline.image svg,\n.ui.inline.image img {\n  display: inline-block;\n}\n\n/*------------------\n  Vertical Aligned\n-------------------*/\n\n.ui.top.aligned.images .image,\n.ui.top.aligned.image,\n.ui.top.aligned.image svg,\n.ui.top.aligned.image img {\n  display: inline-block;\n  vertical-align: top;\n}\n.ui.middle.aligned.images .image,\n.ui.middle.aligned.image,\n.ui.middle.aligned.image svg,\n.ui.middle.aligned.image img {\n  display: inline-block;\n  vertical-align: middle;\n}\n.ui.bottom.aligned.images .image,\n.ui.bottom.aligned.image,\n.ui.bottom.aligned.image svg,\n.ui.bottom.aligned.image img {\n  display: inline-block;\n  vertical-align: bottom;\n}\n\n/*--------------\n     Rounded\n---------------*/\n\n.ui.rounded.images .image,\n.ui.rounded.image,\n.ui.rounded.images .image > *,\n.ui.rounded.image > * {\n  border-radius: 0.3125em;\n}\n\n/*--------------\n    Bordered\n---------------*/\n\n.ui.bordered.images .image,\n.ui.bordered.images img,\n.ui.bordered.images svg,\n.ui.bordered.image img,\n.ui.bordered.image svg,\nimg.ui.bordered.image {\n  border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.images,\n.ui.circular.image {\n  overflow: hidden;\n}\n.ui.circular.images .image,\n.ui.circular.image,\n.ui.circular.images .image > *,\n.ui.circular.image > * {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.images,\n.ui.fluid.image,\n.ui.fluid.images img,\n.ui.fluid.images svg,\n.ui.fluid.image svg,\n.ui.fluid.image img {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.avatar.images .image,\n.ui.avatar.images img,\n.ui.avatar.images svg,\n.ui.avatar.image img,\n.ui.avatar.image svg,\n.ui.avatar.image {\n  margin-right: 0.25em;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*-------------------\n       Spaced\n--------------------*/\n\n.ui.spaced.image {\n  display: inline-block !important;\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n.ui[class*=\"left spaced\"].image {\n  margin-left: 0.5em;\n  margin-right: 0em;\n}\n.ui[class*=\"right spaced\"].image {\n  margin-left: 0em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.image,\n.ui.floated.images {\n  float: left;\n  margin-right: 1em;\n  margin-bottom: 1em;\n}\n.ui.right.floated.images,\n.ui.right.floated.image {\n  float: right;\n  margin-right: 0em;\n  margin-bottom: 1em;\n  margin-left: 1em;\n}\n.ui.floated.images:last-child,\n.ui.floated.image:last-child {\n  margin-bottom: 0em;\n}\n.ui.centered.images,\n.ui.centered.image {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.images .image,\n.ui.mini.images img,\n.ui.mini.images svg,\n.ui.mini.image {\n  width: 35px;\n  height: auto;\n  font-size: 0.71428571rem;\n}\n.ui.tiny.images .image,\n.ui.tiny.images img,\n.ui.tiny.images svg,\n.ui.tiny.image {\n  width: 80px;\n  height: auto;\n  font-size: 0.85714286rem;\n}\n.ui.small.images .image,\n.ui.small.images img,\n.ui.small.images svg,\n.ui.small.image {\n  width: 150px;\n  height: auto;\n  font-size: 0.92857143rem;\n}\n.ui.medium.images .image,\n.ui.medium.images img,\n.ui.medium.images svg,\n.ui.medium.image {\n  width: 300px;\n  height: auto;\n  font-size: 1rem;\n}\n.ui.large.images .image,\n.ui.large.images img,\n.ui.large.images svg,\n.ui.large.image {\n  width: 450px;\n  height: auto;\n  font-size: 1.14285714rem;\n}\n.ui.big.images .image,\n.ui.big.images img,\n.ui.big.images svg,\n.ui.big.image {\n  width: 600px;\n  height: auto;\n  font-size: 1.28571429rem;\n}\n.ui.huge.images .image,\n.ui.huge.images img,\n.ui.huge.images svg,\n.ui.huge.image {\n  width: 800px;\n  height: auto;\n  font-size: 1.42857143rem;\n}\n.ui.massive.images .image,\n.ui.massive.images img,\n.ui.massive.images svg,\n.ui.massive.image {\n  width: 960px;\n  height: auto;\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n              Groups\n*******************************/\n\n.ui.images {\n  font-size: 0em;\n  margin: 0em -0.25rem 0rem;\n}\n.ui.images .image,\n.ui.images img,\n.ui.images svg {\n  display: inline-block;\n  margin: 0em 0.25rem 0.5rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/input.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Input\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Standard\n*******************************/\n\n\n/*--------------------\n        Inputs\n---------------------*/\n\n.ui.input {\n  position: relative;\n  font-weight: normal;\n  font-style: normal;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.input input {\n  margin: 0em;\n  max-width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-align: left;\n  line-height: 1.2142em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  padding: 0.67861429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease;\n          transition: box-shadow 0.1s ease, border-color 0.1s ease;\n  box-shadow: none;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n\n/* browsers require these rules separate */\n.ui.input input::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.input input::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.input input::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n        Disabled\n---------------------*/\n\n.ui.disabled.input,\n.ui.input input[disabled] {\n  opacity: 0.45;\n}\n.ui.disabled.input input {\n  pointer-events: none;\n}\n\n/*--------------------\n        Active\n---------------------*/\n\n.ui.input input:active,\n.ui.input.down input {\n  border-color: rgba(0, 0, 0, 0.3);\n  background: #FAFAFA;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.loading.input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.loading.loading.input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.input.focus input,\n.ui.input input:focus {\n  border-color: #85B7D9;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.8);\n  box-shadow: none;\n}\n.ui.input.focus input::-webkit-input-placeholder,\n.ui.input input:focus::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.input.focus input::-moz-placeholder,\n.ui.input input:focus::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.input.focus input::-ms-input-placeholder,\n.ui.input input:focus::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n.ui.input.error input {\n  background-color: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  box-shadow: none;\n}\n\n/* Error Placeholder */\n.ui.input.error input::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n.ui.input.error input::-moz-placeholder {\n  color: #e7bdbc;\n}\n.ui.input.error input::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n\n/* Focused Error Placeholder */\n.ui.input.error input:focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n.ui.input.error input:focus::-moz-placeholder {\n  color: #da9796;\n}\n.ui.input.error input:focus::-ms-input-placeholder {\n  color: #da9796;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------------\n      Transparent\n---------------------*/\n\n.ui.transparent.input input {\n  border-color: transparent !important;\n  background-color: transparent !important;\n  padding: 0em !important;\n  box-shadow: none !important;\n}\n\n/* Transparent Icon */\n.ui.transparent.icon.input > i.icon {\n  width: 1.1em;\n}\n.ui.transparent.icon.input > input {\n  padding-left: 0em !important;\n  padding-right: 2em !important;\n}\n.ui.transparent[class*=\"left icon\"].input > input {\n  padding-left: 2em !important;\n  padding-right: 0em !important;\n}\n\n/* Transparent Inverted */\n.ui.transparent.inverted.input {\n  color: #FFFFFF;\n}\n.ui.transparent.inverted.input input {\n  color: inherit;\n}\n.ui.transparent.inverted.input input::-webkit-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.transparent.inverted.input input::-moz-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.transparent.inverted.input input::-ms-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/*--------------------\n         Icon\n---------------------*/\n\n.ui.icon.input > i.icon {\n  cursor: default;\n  position: absolute;\n  line-height: 1;\n  text-align: center;\n  top: 0px;\n  right: 0px;\n  margin: 0em;\n  height: 100%;\n  width: 2.67142857em;\n  opacity: 0.5;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: opacity 0.3s ease;\n          transition: opacity 0.3s ease;\n}\n.ui.icon.input > i.icon:not(.link) {\n  pointer-events: none;\n}\n.ui.icon.input input {\n  padding-right: 2.67142857em !important;\n}\n.ui.icon.input > i.icon:before,\n.ui.icon.input > i.icon:after {\n  left: 0;\n  position: absolute;\n  text-align: center;\n  top: 50%;\n  width: 100%;\n  margin-top: -0.5em;\n}\n.ui.icon.input > i.link.icon {\n  cursor: pointer;\n}\n.ui.icon.input > i.circular.icon {\n  top: 0.35em;\n  right: 0.5em;\n}\n\n/* Left Icon Input */\n.ui[class*=\"left icon\"].input > i.icon {\n  right: auto;\n  left: 1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui[class*=\"left icon\"].input > i.circular.icon {\n  right: auto;\n  left: 0.5em;\n}\n.ui[class*=\"left icon\"].input > input {\n  padding-left: 2.67142857em !important;\n  padding-right: 1em !important;\n}\n\n/* Focus */\n.ui.icon.input > input:focus ~ i.icon {\n  opacity: 1;\n}\n\n/*--------------------\n        Labeled\n---------------------*/\n\n\n/* Adjacent Label */\n.ui.labeled.input > .label {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  margin: 0;\n  font-size: 1em;\n}\n.ui.labeled.input > .label:not(.corner) {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n}\n\n/* Regular Label on Left */\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n  border-left-color: transparent;\n}\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input:focus {\n  border-left-color: #85B7D9;\n}\n\n/* Regular Label on Right */\n.ui[class*=\"right labeled\"].input input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n.ui[class*=\"right labeled\"].input input + .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n.ui[class*=\"right labeled\"].input input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Corner Label */\n.ui.labeled.input .corner.label {\n  top: 1px;\n  right: 1px;\n  font-size: 0.64285714em;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Spacing with corner label */\n.ui[class*=\"corner labeled\"]:not([class*=\"left corner labeled\"]).labeled.input input {\n  padding-right: 2.5em !important;\n}\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > input {\n  padding-right: 3.25em !important;\n}\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > .icon {\n  margin-right: 1.25em;\n}\n\n/* Left Labeled */\n.ui[class*=\"left corner labeled\"].labeled.input input {\n  padding-left: 2.5em !important;\n}\n.ui[class*=\"left corner labeled\"].icon.input > input {\n  padding-left: 3.25em !important;\n}\n.ui[class*=\"left corner labeled\"].icon.input > .icon {\n  margin-left: 1.25em;\n}\n\n/* Corner Label Position  */\n.ui.input > .ui.corner.label {\n  top: 1px;\n  right: 1px;\n}\n.ui.input > .ui.left.corner.label {\n  right: auto;\n  left: 1px;\n}\n\n/*--------------------\n        Action\n---------------------*/\n\n.ui.action.input > .button,\n.ui.action.input > .buttons {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n}\n.ui.action.input > .button,\n.ui.action.input > .buttons > .button {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n  margin: 0;\n}\n\n/* Button on Right */\n.ui.action.input:not([class*=\"left action\"]) > input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n.ui.action.input:not([class*=\"left action\"]) > .dropdown,\n.ui.action.input:not([class*=\"left action\"]) > .button,\n.ui.action.input:not([class*=\"left action\"]) > .buttons > .button {\n  border-radius: 0px;\n}\n.ui.action.input:not([class*=\"left action\"]) > .dropdown:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .button:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .buttons:last-child > .button {\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px;\n}\n\n/* Input Focus */\n.ui.action.input:not([class*=\"left action\"]) input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Button on Left */\n.ui[class*=\"left action\"].input > input {\n  border-top-left-radius: 0px !important;\n  border-bottom-left-radius: 0px !important;\n  border-left-color: transparent !important;\n}\n.ui[class*=\"left action\"].input > .dropdown,\n.ui[class*=\"left action\"].input > .button,\n.ui[class*=\"left action\"].input > .buttons > .button {\n  border-radius: 0px;\n}\n.ui[class*=\"left action\"].input > .dropdown:first-child,\n.ui[class*=\"left action\"].input > .button:first-child,\n.ui[class*=\"left action\"].input > .buttons:first-child > .button {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Input Focus */\n.ui[class*=\"left action\"].input > input:focus {\n  border-left-color: #85B7D9 !important;\n}\n\n/*--------------------\n       Inverted\n---------------------*/\n\n\n/* Standard */\n.ui.inverted.input input {\n  border: none;\n}\n\n/*--------------------\n        Fluid\n---------------------*/\n\n.ui.fluid.input {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n.ui.fluid.input > input {\n  width: 0px !important;\n}\n\n/*--------------------\n        Size\n---------------------*/\n\n.ui.mini.input {\n  font-size: 0.71428571em;\n}\n.ui.small.input {\n  font-size: 0.92857143em;\n}\n.ui.input {\n  font-size: 1em;\n}\n.ui.large.input {\n  font-size: 1.14285714em;\n}\n.ui.big.input {\n  font-size: 1.28571429em;\n}\n.ui.huge.input {\n  font-size: 1.42857143em;\n}\n.ui.massive.input {\n  font-size: 1.71428571em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/item.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em 0em;\n  width: 100%;\n  min-height: 0px;\n  background: transparent;\n  padding: 0em;\n  border: none;\n  border-radius: 0rem;\n  box-shadow: none;\n  -webkit-transition: box-shadow 0.1s ease;\n          transition: box-shadow 0.1s ease;\n  z-index: '';\n}\n.ui.items > .item a {\n  cursor: pointer;\n}\n\n/*--------------\n      Items\n---------------*/\n\n.ui.items {\n  margin: 1.5em 0em;\n}\n.ui.items:first-child {\n  margin-top: 0em !important;\n}\n.ui.items:last-child {\n  margin-bottom: 0em !important;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.items > .item:first-child {\n  margin-top: 0em;\n}\n.ui.items > .item:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.items > .item > .image {\n  position: relative;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  display: block;\n  float: none;\n  margin: 0em;\n  padding: 0em;\n  max-height: '';\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.items > .item > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: 0.125rem;\n  border: none;\n}\n.ui.items > .item > .image:only-child > img {\n  border-radius: 0rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.items > .item > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n  background: none;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: none;\n  font-size: 1em;\n  border: none;\n  border-radius: 0em;\n}\n.ui.items > .item > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.items > .item > .image + .content {\n  min-width: 0;\n  width: auto;\n  display: block;\n  margin-left: 0em;\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n  padding-left: 1.5em;\n}\n.ui.items > .item > .content > .header {\n  display: inline-block;\n  margin: -0.21425em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n.ui.items > .item > .content > .header:not(.ui) {\n  font-size: 1.28571429em;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.items > .item [class*=\"left floated\"] {\n  float: left;\n}\n.ui.items > .item [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.items > .item .content img {\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n  width: '';\n}\n.ui.items > .item img.avatar,\n.ui.items > .item .avatar img {\n  width: '';\n  height: '';\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.items > .item > .content > .description {\n  margin-top: 0.6em;\n  max-width: auto;\n  font-size: 1em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.items > .item > .content p {\n  margin: 0em 0em 0.5em;\n}\n.ui.items > .item > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.items > .item .meta {\n  margin: 0.5em 0em 0.5em;\n  font-size: 1em;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.items > .item .meta * {\n  margin-right: 0.3em;\n}\n.ui.items > .item .meta :last-child {\n  margin-right: 0em;\n}\n.ui.items > .item .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n\n/* Generic */\n.ui.items > .item > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.items > .item > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n.ui.items > .item > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.items > .item > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n.ui.items > .item .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.items > .item .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Labels\n---------------*/\n\n\n/*-----Star----- */\n\n\n/* Icon */\n.ui.items > .item > .content .favorite.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.items > .item > .content .favorite.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n.ui.items > .item > .content .active.favorite.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n\n/* Icon */\n.ui.items > .item > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.items > .item > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n.ui.items > .item > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.items > .item .extra {\n  display: block;\n  position: relative;\n  background: none;\n  margin: 0.5rem 0em 0em;\n  width: 100%;\n  padding: 0em 0em 0em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n  border-top: none;\n}\n.ui.items > .item .extra > * {\n  margin: 0.25rem 0.5rem 0.25rem 0em;\n}\n.ui.items > .item .extra > [class*=\"right floated\"] {\n  margin: 0.25rem 0em 0.25rem 0.5rem;\n}\n.ui.items > .item .extra:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n\n/*******************************\n          Responsive\n*******************************/\n\n\n/* Default Image Width */\n.ui.items > .item > .image:not(.ui) {\n  width: 175px;\n}\n\n/* Tablet Only */\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.items > .item {\n    margin: 1em 0em;\n  }\n  .ui.items > .item > .image:not(.ui) {\n    width: 150px;\n  }\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 0em 0em 0em 1em;\n  }\n}\n\n/* Mobily Only */\n@media only screen and (max-width: 767px) {\n  .ui.items > .item {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n    margin: 2em 0em;\n  }\n  .ui.items > .item > .image {\n    display: block;\n    margin-left: auto;\n    margin-right: auto;\n  }\n  .ui.items > .item > .image,\n  .ui.items > .item > .image > img {\n    max-width: 100% !important;\n    width: auto !important;\n    max-height: 250px !important;\n  }\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 1.5em 0em 0em;\n  }\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.items > .item > .image + [class*=\"top aligned\"].content {\n  -webkit-align-self: flex-start;\n      -ms-flex-item-align: start;\n          align-self: flex-start;\n}\n.ui.items > .item > .image + [class*=\"middle aligned\"].content {\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n          align-self: center;\n}\n.ui.items > .item > .image + [class*=\"bottom aligned\"].content {\n  -webkit-align-self: flex-end;\n      -ms-flex-item-align: end;\n          align-self: flex-end;\n}\n\n/*--------------\n     Relaxed\n---------------*/\n\n.ui.relaxed.items > .item {\n  margin: 1.5em 0em;\n}\n.ui[class*=\"very relaxed\"].items > .item {\n  margin: 2em 0em;\n}\n\n/*-------------------\n      Divided\n--------------------*/\n\n.ui.divided.items > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding: 1em 0em;\n}\n.ui.divided.items > .item:first-child {\n  border-top: none;\n  margin-top: 0em !important;\n  padding-top: 0em !important;\n}\n.ui.divided.items > .item:last-child {\n  margin-bottom: 0em !important;\n  padding-bottom: 0em !important;\n}\n\n/* Relaxed Divided */\n.ui.relaxed.divided.items > .item {\n  margin: 0em;\n  padding: 1.5em 0em;\n}\n.ui[class*=\"very relaxed\"].divided.items > .item {\n  margin: 0em;\n  padding: 2em 0em;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.items a.item:hover,\n.ui.link.items > .item:hover {\n  cursor: pointer;\n}\n.ui.items a.item:hover .content .header,\n.ui.link.items > .item:hover .content .header {\n  color: #1e70bf;\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.items > .item {\n  font-size: 1em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/label.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Label\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Label\n*******************************/\n\n.ui.label {\n  display: inline-block;\n  line-height: 1;\n  vertical-align: baseline;\n  margin: 0em 0.14285714em;\n  background-color: #E8E8E8;\n  background-image: none;\n  padding: 0.5833em 0.833em;\n  color: rgba(0, 0, 0, 0.6);\n  text-transform: none;\n  font-weight: bold;\n  border: 0px solid transparent;\n  border-radius: 0.28571429rem;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n.ui.label:first-child {\n  margin-left: 0em;\n}\n.ui.label:last-child {\n  margin-right: 0em;\n}\n\n/* Link */\na.ui.label {\n  cursor: pointer;\n}\n\n/* Inside Link */\n.ui.label > a {\n  cursor: pointer;\n  color: inherit;\n  opacity: 0.5;\n  -webkit-transition: 0.1s opacity ease;\n          transition: 0.1s opacity ease;\n}\n.ui.label > a:hover {\n  opacity: 1;\n}\n\n/* Image */\n.ui.label > img {\n  width: auto !important;\n  vertical-align: middle;\n  height: 2.1666em !important;\n}\n\n/* Icon */\n.ui.label > .icon {\n  width: auto;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Detail */\n.ui.label > .detail {\n  display: inline-block;\n  vertical-align: top;\n  font-weight: bold;\n  margin-left: 1em;\n  opacity: 0.8;\n}\n.ui.label > .detail .icon {\n  margin: 0em 0.25em 0em 0em;\n}\n\n/* Removable label */\n.ui.label > .close.icon,\n.ui.label > .delete.icon {\n  cursor: pointer;\n  margin-right: 0em;\n  margin-left: 0.5em;\n  font-size: 0.92857143em;\n  opacity: 0.5;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n.ui.label > .delete.icon:hover {\n  opacity: 1;\n}\n\n/*-------------------\n       Group\n--------------------*/\n\n.ui.labels > .label {\n  margin: 0em 0.5em 0.5em 0em;\n}\n\n/*-------------------\n       Coupling\n--------------------*/\n\n.ui.header > .ui.label {\n  margin-top: -0.29165em;\n}\n\n/* Remove border radius on attached segment */\n.ui.attached.segment > .ui.top.left.attached.label,\n.ui.bottom.attached.segment > .ui.top.left.attached.label {\n  border-top-left-radius: 0;\n}\n.ui.attached.segment > .ui.top.right.attached.label,\n.ui.bottom.attached.segment > .ui.top.right.attached.label {\n  border-top-right-radius: 0;\n}\n.ui.top.attached.segment > .ui.bottom.left.attached.label {\n  border-bottom-left-radius: 0;\n}\n.ui.top.attached.segment > .ui.bottom.right.attached.label {\n  border-bottom-right-radius: 0;\n}\n\n/* Padding on next content after a label */\n.ui.top.attached.label:first-child + :not(.attached) {\n  margin-top: 2rem !important;\n}\n.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {\n  margin-top: 0em;\n  margin-bottom: 2rem !important;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n.ui.image.label {\n  width: auto !important;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  max-width: 9999px;\n  vertical-align: baseline;\n  text-transform: none;\n  background: #E8E8E8;\n  padding: 0.5833em 0.833em 0.5833em 0.5em;\n  border-radius: 0.28571429rem;\n  box-shadow: none;\n}\n.ui.image.label img {\n  display: inline-block;\n  vertical-align: top;\n  height: 2.1666em;\n  margin: -0.5833em 0.5em -0.5833em -0.5em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui.image.label .detail {\n  background: rgba(0, 0, 0, 0.1);\n  margin: -0.5833em -0.833em -0.5833em 0.5em;\n  padding: 0.5833em 0.833em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/*-------------------\n         Tag\n--------------------*/\n\n.ui.tag.labels .label,\n.ui.tag.label {\n  margin-left: 1em;\n  position: relative;\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: none;\n          transition: none;\n}\n.ui.tag.labels .label:before,\n.ui.tag.label:before {\n  position: absolute;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n      -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n          transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  top: 50%;\n  right: 100%;\n  content: '';\n  background-color: inherit;\n  background-image: none;\n  width: 1.56em;\n  height: 1.56em;\n  -webkit-transition: none;\n          transition: none;\n}\n.ui.tag.labels .label:after,\n.ui.tag.label:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: -0.25em;\n  margin-top: -0.25em;\n  background-color: #FFFFFF !important;\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);\n  border-radius: 500rem;\n}\n\n/*-------------------\n    Corner Label\n--------------------*/\n\n.ui.corner.label {\n  position: absolute;\n  top: 0em;\n  right: 0em;\n  margin: 0em;\n  padding: 0em;\n  text-align: center;\n  border-color: #E8E8E8;\n  width: 4em;\n  height: 4em;\n  z-index: 1;\n  -webkit-transition: border-color 0.1s ease;\n          transition: border-color 0.1s ease;\n}\n\n/* Icon Label */\n.ui.corner.label {\n  background-color: transparent !important;\n}\n.ui.corner.label:after {\n  position: absolute;\n  content: \"\";\n  right: 0em;\n  top: 0em;\n  z-index: -1;\n  width: 0em;\n  height: 0em;\n  background-color: transparent !important;\n  border-top: 0em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 4em solid transparent;\n  border-left: 0em solid transparent;\n  border-right-color: inherit;\n  -webkit-transition: border-color 0.1s ease;\n          transition: border-color 0.1s ease;\n}\n.ui.corner.label .icon {\n  cursor: default;\n  position: relative;\n  top: 0.64285714em;\n  left: 0.78571429em;\n  font-size: 1.14285714em;\n  margin: 0em;\n}\n\n/* Left Corner */\n.ui.left.corner.label,\n.ui.left.corner.label:after {\n  right: auto;\n  left: 0em;\n}\n.ui.left.corner.label:after {\n  border-top: 4em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 0em solid transparent;\n  border-left: 0em solid transparent;\n  border-top-color: inherit;\n}\n.ui.left.corner.label .icon {\n  left: -0.78571429em;\n}\n\n/* Segment */\n.ui.segment > .ui.corner.label {\n  top: -1px;\n  right: -1px;\n}\n.ui.segment > .ui.left.corner.label {\n  right: auto;\n  left: -1px;\n}\n\n/*-------------------\n       Ribbon\n--------------------*/\n\n.ui.ribbon.label {\n  position: relative;\n  margin: 0em;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n.ui.ribbon.label:after {\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 0%;\n  background-color: transparent !important;\n  border-style: solid;\n  border-width: 0em 1.2em 1.2em 0em;\n  border-color: transparent;\n  border-right-color: inherit;\n  width: 0em;\n  height: 0em;\n}\n\n/* Positioning */\n.ui.ribbon.label {\n  left: calc( -1rem  -  1.2em );\n  margin-right: -1.2em;\n  padding-left: calc( 1rem  +  1.2em );\n  padding-right: 1.2em;\n}\n.ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  1rem  +  1.2em );\n  padding-left: 1.2em;\n  padding-right: calc( 1rem  +  1.2em );\n}\n\n/* Right Ribbon */\n.ui[class*=\"right ribbon\"].label {\n  text-align: left;\n  -webkit-transform: translateX(-100%);\n      -ms-transform: translateX(-100%);\n          transform: translateX(-100%);\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n.ui[class*=\"right ribbon\"].label:after {\n  left: auto;\n  right: 0%;\n  border-style: solid;\n  border-width: 1.2em 1.2em 0em 0em;\n  border-color: transparent;\n  border-top-color: inherit;\n}\n\n/* Inside Table */\n.ui.image > .ribbon.label,\n.ui.card .image > .ribbon.label {\n  position: absolute;\n  top: 1rem;\n}\n.ui.card .image > .ui.ribbon.label,\n.ui.image > .ui.ribbon.label {\n  left: calc( 0.05rem  -  1.2em );\n}\n.ui.card .image > .ui[class*=\"right ribbon\"].label,\n.ui.image > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  -0.05rem  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/* Inside Table */\n.ui.table td > .ui.ribbon.label {\n  left: calc( -0.71428571em  -  1.2em );\n}\n.ui.table td > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  0.71428571em  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n.ui[class*=\"top attached\"].label,\n.ui.attached.label {\n  width: 100%;\n  position: absolute;\n  margin: 0em;\n  top: 0em;\n  left: 0em;\n  padding: 0.75em 1em;\n  border-radius: 0.21428571rem 0.21428571rem 0em 0em;\n}\n.ui[class*=\"bottom attached\"].label {\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0em 0.21428571rem 0.21428571rem;\n}\n.ui[class*=\"top left attached\"].label {\n  width: auto;\n  margin-top: 0em !important;\n  border-radius: 0.21428571rem 0em 0.28571429rem 0em;\n}\n.ui[class*=\"top right attached\"].label {\n  width: auto;\n  left: auto;\n  right: 0em;\n  border-radius: 0em 0.21428571rem 0em 0.28571429rem;\n}\n.ui[class*=\"bottom left attached\"].label {\n  width: auto;\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0.28571429rem 0em 0.21428571rem;\n}\n.ui[class*=\"bottom right attached\"].label {\n  top: auto;\n  bottom: 0em;\n  left: auto;\n  right: 0em;\n  width: auto;\n  border-radius: 0.28571429rem 0em 0.21428571rem 0em;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.label.disabled {\n  opacity: 0.5;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\na.ui.labels .label:hover,\na.ui.label:hover {\n  background-color: #E0E0E0;\n  border-color: #E0E0E0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.labels a.label:hover:before,\na.ui.label:hover:before {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n        Active\n--------------------*/\n\n.ui.active.label {\n  background-color: #D0D0D0;\n  border-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.active.label:before {\n  background-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n     Active Hover\n--------------------*/\n\na.ui.labels .active.label:hover,\na.ui.active.label:hover {\n  background-color: #C8C8C8;\n  border-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.labels a.active.label:ActiveHover:before,\na.ui.active.label:ActiveHover:before {\n  background-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n      Visible\n--------------------*/\n\n.ui.labels.visible .label,\n.ui.label.visible {\n  display: inline-block !important;\n}\n\n/*-------------------\n      Hidden\n--------------------*/\n\n.ui.labels.hidden .label,\n.ui.label.hidden {\n  display: none !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/*--- Red ---*/\n\n.ui.red.labels .label,\n.ui.red.label {\n  background-color: #DB2828 !important;\n  border-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.red.labels .label:hover,\na.ui.red.label:hover {\n  background-color: #d01919 !important;\n  border-color: #d01919 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.red.corner.label,\n.ui.red.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.red.ribbon.label {\n  border-color: #b21e1e !important;\n}\n\n/* Basic */\n.ui.basic.red.label {\n  background-color: #FFFFFF !important;\n  color: #DB2828 !important;\n  border-color: #DB2828 !important;\n}\n.ui.basic.red.labels a.label:hover,\na.ui.basic.red.label:hover {\n  background-color: #FFFFFF !important;\n  color: #d01919 !important;\n  border-color: #d01919 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.labels .label,\n.ui.orange.label {\n  background-color: #F2711C !important;\n  border-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.orange.labels .label:hover,\na.ui.orange.label:hover {\n  background-color: #f26202 !important;\n  border-color: #f26202 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.orange.corner.label,\n.ui.orange.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.orange.ribbon.label {\n  border-color: #cf590c !important;\n}\n\n/* Basic */\n.ui.basic.orange.label {\n  background-color: #FFFFFF !important;\n  color: #F2711C !important;\n  border-color: #F2711C !important;\n}\n.ui.basic.orange.labels a.label:hover,\na.ui.basic.orange.label:hover {\n  background-color: #FFFFFF !important;\n  color: #f26202 !important;\n  border-color: #f26202 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.labels .label,\n.ui.yellow.label {\n  background-color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.yellow.labels .label:hover,\na.ui.yellow.label:hover {\n  background-color: #eaae00 !important;\n  border-color: #eaae00 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.yellow.corner.label,\n.ui.yellow.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.yellow.ribbon.label {\n  border-color: #cd9903 !important;\n}\n\n/* Basic */\n.ui.basic.yellow.label {\n  background-color: #FFFFFF !important;\n  color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n}\n.ui.basic.yellow.labels a.label:hover,\na.ui.basic.yellow.label:hover {\n  background-color: #FFFFFF !important;\n  color: #eaae00 !important;\n  border-color: #eaae00 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.labels .label,\n.ui.olive.label {\n  background-color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.olive.labels .label:hover,\na.ui.olive.label:hover {\n  background-color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.olive.corner.label,\n.ui.olive.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.olive.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n.ui.basic.olive.label {\n  background-color: #FFFFFF !important;\n  color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n}\n.ui.basic.olive.labels a.label:hover,\na.ui.basic.olive.label:hover {\n  background-color: #FFFFFF !important;\n  color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.labels .label,\n.ui.green.label {\n  background-color: #21BA45 !important;\n  border-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.green.labels .label:hover,\na.ui.green.label:hover {\n  background-color: #16ab39 !important;\n  border-color: #16ab39 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.green.corner.label,\n.ui.green.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.green.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n.ui.basic.green.label {\n  background-color: #FFFFFF !important;\n  color: #21BA45 !important;\n  border-color: #21BA45 !important;\n}\n.ui.basic.green.labels a.label:hover,\na.ui.basic.green.label:hover {\n  background-color: #FFFFFF !important;\n  color: #16ab39 !important;\n  border-color: #16ab39 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.labels .label,\n.ui.teal.label {\n  background-color: #00B5AD !important;\n  border-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.teal.labels .label:hover,\na.ui.teal.label:hover {\n  background-color: #009c95 !important;\n  border-color: #009c95 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.teal.corner.label,\n.ui.teal.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.teal.ribbon.label {\n  border-color: #00827c !important;\n}\n\n/* Basic */\n.ui.basic.teal.label {\n  background-color: #FFFFFF !important;\n  color: #00B5AD !important;\n  border-color: #00B5AD !important;\n}\n.ui.basic.teal.labels a.label:hover,\na.ui.basic.teal.label:hover {\n  background-color: #FFFFFF !important;\n  color: #009c95 !important;\n  border-color: #009c95 !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.labels .label,\n.ui.blue.label {\n  background-color: #2185D0 !important;\n  border-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.blue.labels .label:hover,\na.ui.blue.label:hover {\n  background-color: #1678c2 !important;\n  border-color: #1678c2 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.blue.corner.label,\n.ui.blue.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.blue.ribbon.label {\n  border-color: #1a69a4 !important;\n}\n\n/* Basic */\n.ui.basic.blue.label {\n  background-color: #FFFFFF !important;\n  color: #2185D0 !important;\n  border-color: #2185D0 !important;\n}\n.ui.basic.blue.labels a.label:hover,\na.ui.basic.blue.label:hover {\n  background-color: #FFFFFF !important;\n  color: #1678c2 !important;\n  border-color: #1678c2 !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.labels .label,\n.ui.violet.label {\n  background-color: #6435C9 !important;\n  border-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.violet.labels .label:hover,\na.ui.violet.label:hover {\n  background-color: #5829bb !important;\n  border-color: #5829bb !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.violet.corner.label,\n.ui.violet.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.violet.ribbon.label {\n  border-color: #502aa1 !important;\n}\n\n/* Basic */\n.ui.basic.violet.label {\n  background-color: #FFFFFF !important;\n  color: #6435C9 !important;\n  border-color: #6435C9 !important;\n}\n.ui.basic.violet.labels a.label:hover,\na.ui.basic.violet.label:hover {\n  background-color: #FFFFFF !important;\n  color: #5829bb !important;\n  border-color: #5829bb !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.labels .label,\n.ui.purple.label {\n  background-color: #A333C8 !important;\n  border-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.purple.labels .label:hover,\na.ui.purple.label:hover {\n  background-color: #9627ba !important;\n  border-color: #9627ba !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.purple.corner.label,\n.ui.purple.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.purple.ribbon.label {\n  border-color: #82299f !important;\n}\n\n/* Basic */\n.ui.basic.purple.label {\n  background-color: #FFFFFF !important;\n  color: #A333C8 !important;\n  border-color: #A333C8 !important;\n}\n.ui.basic.purple.labels a.label:hover,\na.ui.basic.purple.label:hover {\n  background-color: #FFFFFF !important;\n  color: #9627ba !important;\n  border-color: #9627ba !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.labels .label,\n.ui.pink.label {\n  background-color: #E03997 !important;\n  border-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.pink.labels .label:hover,\na.ui.pink.label:hover {\n  background-color: #e61a8d !important;\n  border-color: #e61a8d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.pink.corner.label,\n.ui.pink.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.pink.ribbon.label {\n  border-color: #c71f7e !important;\n}\n\n/* Basic */\n.ui.basic.pink.label {\n  background-color: #FFFFFF !important;\n  color: #E03997 !important;\n  border-color: #E03997 !important;\n}\n.ui.basic.pink.labels a.label:hover,\na.ui.basic.pink.label:hover {\n  background-color: #FFFFFF !important;\n  color: #e61a8d !important;\n  border-color: #e61a8d !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.labels .label,\n.ui.brown.label {\n  background-color: #A5673F !important;\n  border-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.brown.labels .label:hover,\na.ui.brown.label:hover {\n  background-color: #975b33 !important;\n  border-color: #975b33 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.brown.corner.label,\n.ui.brown.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.brown.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n.ui.basic.brown.label {\n  background-color: #FFFFFF !important;\n  color: #A5673F !important;\n  border-color: #A5673F !important;\n}\n.ui.basic.brown.labels a.label:hover,\na.ui.basic.brown.label:hover {\n  background-color: #FFFFFF !important;\n  color: #975b33 !important;\n  border-color: #975b33 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.labels .label,\n.ui.grey.label {\n  background-color: #767676 !important;\n  border-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.grey.labels .label:hover,\na.ui.grey.label:hover {\n  background-color: #838383 !important;\n  border-color: #838383 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.grey.corner.label,\n.ui.grey.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.grey.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n.ui.basic.grey.label {\n  background-color: #FFFFFF !important;\n  color: #767676 !important;\n  border-color: #767676 !important;\n}\n.ui.basic.grey.labels a.label:hover,\na.ui.basic.grey.label:hover {\n  background-color: #FFFFFF !important;\n  color: #838383 !important;\n  border-color: #838383 !important;\n}\n\n/*--- Black ---*/\n\n.ui.black.labels .label,\n.ui.black.label {\n  background-color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n.ui.black.labels .label:hover,\na.ui.black.label:hover {\n  background-color: #27292a !important;\n  border-color: #27292a !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n.ui.black.corner.label,\n.ui.black.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n.ui.black.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n.ui.basic.black.label {\n  background-color: #FFFFFF !important;\n  color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n}\n.ui.basic.black.labels a.label:hover,\na.ui.basic.black.label:hover {\n  background-color: #FFFFFF !important;\n  color: #27292a !important;\n  border-color: #27292a !important;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.label {\n  background: none #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/* Link */\na.ui.basic.label:hover {\n  text-decoration: none;\n  background: none #FFFFFF;\n  color: #1e70bf;\n  box-shadow: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n/* Pointing */\n.ui.basic.pointing.label:before {\n  border-color: inherit;\n}\n\n/*-------------------\n       Fluid\n--------------------*/\n\n.ui.label.fluid,\n.ui.fluid.labels > .label {\n  width: 100%;\n  box-sizing: border-box;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.labels .label,\n.ui.inverted.label {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n/*-------------------\n     Horizontal\n--------------------*/\n\n.ui.horizontal.labels .label,\n.ui.horizontal.label {\n  margin: 0em 0.5em 0em 0em;\n  padding: 0.4em 0.833em;\n  min-width: 3em;\n  text-align: center;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.labels .label,\n.ui.circular.label {\n  min-width: 2em;\n  min-height: 2em;\n  padding: 0.5em !important;\n  line-height: 1em;\n  text-align: center;\n  border-radius: 500rem;\n}\n.ui.empty.circular.labels .label,\n.ui.empty.circular.label {\n  min-width: 0em;\n  min-height: 0em;\n  overflow: hidden;\n  width: 0.5em;\n  height: 0.5em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.label {\n  position: relative;\n}\n.ui.attached.pointing.label {\n  position: absolute;\n}\n.ui.pointing.label:before {\n  background-color: inherit;\n  background-image: inherit;\n  border-width: none;\n  border-style: solid;\n  border-color: inherit;\n}\n\n/* Arrow */\n.ui.pointing.label:before {\n  position: absolute;\n  content: '';\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n  background-image: none;\n  z-index: 2;\n  width: 0.6666em;\n  height: 0.6666em;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n\n/*--- Above ---*/\n\n.ui.pointing.label,\n.ui[class*=\"pointing above\"].label {\n  margin-top: 1em;\n}\n.ui.pointing.label:before,\n.ui[class*=\"pointing above\"].label:before {\n  border-width: 1px 0px 0px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 0%;\n  left: 50%;\n}\n\n/*--- Below ---*/\n\n.ui[class*=\"bottom pointing\"].label,\n.ui[class*=\"pointing below\"].label {\n  margin-top: 0em;\n  margin-bottom: 1em;\n}\n.ui[class*=\"bottom pointing\"].label:before,\n.ui[class*=\"pointing below\"].label:before {\n  border-width: 0px 1px 1px 0px;\n  top: auto;\n  right: auto;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 100%;\n  left: 50%;\n}\n\n/*--- Left ---*/\n\n.ui[class*=\"left pointing\"].label {\n  margin-top: 0em;\n  margin-left: 0.6666em;\n}\n.ui[class*=\"left pointing\"].label:before {\n  border-width: 0px 0px 1px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n/*--- Right ---*/\n\n.ui[class*=\"right pointing\"].label {\n  margin-top: 0em;\n  margin-right: 0.6666em;\n}\n.ui[class*=\"right pointing\"].label:before {\n  border-width: 1px 1px 0px 0px;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n          transform: translateX(50%) translateY(-50%) rotate(45deg);\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n}\n\n/* Basic Pointing */\n\n/*--- Above ---*/\n\n.ui.basic.pointing.label:before,\n.ui.basic[class*=\"pointing above\"].label:before {\n  margin-top: -1px;\n}\n\n/*--- Below ---*/\n\n.ui.basic[class*=\"bottom pointing\"].label:before,\n.ui.basic[class*=\"pointing below\"].label:before {\n  bottom: auto;\n  top: 100%;\n  margin-top: 1px;\n}\n\n/*--- Left ---*/\n\n.ui.basic[class*=\"left pointing\"].label:before {\n  top: 50%;\n  left: -1px;\n}\n\n/*--- Right ---*/\n\n.ui.basic[class*=\"right pointing\"].label:before {\n  top: 50%;\n  right: -1px;\n}\n\n/*------------------\n   Floating Label\n-------------------*/\n\n.ui.floating.label {\n  position: absolute;\n  z-index: 100;\n  top: -1em;\n  left: 100%;\n  margin: 0em 0em 0em -1.5em !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.labels .label,\n.ui.mini.label {\n  font-size: 0.64285714rem;\n}\n.ui.tiny.labels .label,\n.ui.tiny.label {\n  font-size: 0.71428571rem;\n}\n.ui.small.labels .label,\n.ui.small.label {\n  font-size: 0.78571429rem;\n}\n.ui.labels .label,\n.ui.label {\n  font-size: 0.85714286rem;\n}\n.ui.large.labels .label,\n.ui.large.label {\n  font-size: 1rem;\n}\n.ui.big.labels .label,\n.ui.big.label {\n  font-size: 1.28571429rem;\n}\n.ui.huge.labels .label,\n.ui.huge.label {\n  font-size: 1.42857143rem;\n}\n.ui.massive.labels .label,\n.ui.massive.label {\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/list.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - List\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            List\n*******************************/\n\nul.ui.list,\nol.ui.list,\n.ui.list {\n  list-style-type: none;\n  margin: 1em 0em;\n  padding: 0em 0em;\n}\nul.ui.list:first-child,\nol.ui.list:first-child,\n.ui.list:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\nul.ui.list:last-child,\nol.ui.list:last-child,\n.ui.list:last-child {\n  margin-bottom: 0em;\n  padding-bottom: 0em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* List Item */\nul.ui.list li,\nol.ui.list li,\n.ui.list > .item,\n.ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\nul.ui.list > li:first-child:after,\nol.ui.list > li:first-child:after,\n.ui.list > .list > .item,\n.ui.list > .item:after {\n  content: '';\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\nul.ui.list li:first-child,\nol.ui.list li:first-child,\n.ui.list .list > .item:first-child,\n.ui.list > .item:first-child {\n  padding-top: 0em;\n}\nul.ui.list li:last-child,\nol.ui.list li:last-child,\n.ui.list .list > .item:last-child,\n.ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n/* Child List */\nul.ui.list ul,\nol.ui.list ol,\n.ui.list .list {\n  clear: both;\n  margin: 0em;\n  padding: 0.75em 0em 0.25em 0.5em;\n}\n\n/* Child Item */\nul.ui.list ul li,\nol.ui.list ol li,\n.ui.list .list > .item {\n  padding: 0.14285714em 0em;\n  line-height: inherit;\n}\n\n/* Icon */\n.ui.list .list > .item > i.icon,\n.ui.list > .item > i.icon {\n  display: table-cell;\n  margin: 0em;\n  padding-top: 0.07142857em;\n  padding-right: 0.28571429em;\n  vertical-align: top;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n.ui.list .list > .item > i.icon:only-child,\n.ui.list > .item > i.icon:only-child {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* Image */\n.ui.list .list > .item > .image,\n.ui.list > .item > .image {\n  display: table-cell;\n  background-color: transparent;\n  margin: 0em;\n  vertical-align: top;\n}\n.ui.list .list > .item > .image:not(:only-child):not(img),\n.ui.list > .item > .image:not(:only-child):not(img) {\n  padding-right: 0.5em;\n}\n.ui.list .list > .item > .image img,\n.ui.list > .item > .image img {\n  vertical-align: top;\n}\n.ui.list .list > .item > img.image,\n.ui.list .list > .item > .image:only-child,\n.ui.list > .item > img.image,\n.ui.list > .item > .image:only-child {\n  display: inline-block;\n}\n\n/* Content */\n.ui.list .list > .item > .content,\n.ui.list > .item > .content {\n  line-height: 1.14285714em;\n}\n.ui.list .list > .item > .image + .content,\n.ui.list .list > .item > .icon + .content,\n.ui.list > .item > .image + .content,\n.ui.list > .item > .icon + .content {\n  display: table-cell;\n  padding: 0em 0em 0em 0.5em;\n  vertical-align: top;\n}\n.ui.list .list > .item > img.image + .content,\n.ui.list > .item > img.image + .content {\n  display: inline-block;\n}\n.ui.list .list > .item > .content > .list,\n.ui.list > .item > .content > .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n\n/* Header */\n.ui.list .list > .item .header,\n.ui.list > .item .header {\n  display: block;\n  margin: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Description */\n.ui.list .list > .item .description,\n.ui.list > .item .description {\n  display: block;\n  color: rgba(0, 0, 0, 0.7);\n}\n\n/* Child Link */\n.ui.list > .item a,\n.ui.list .list > .item a {\n  cursor: pointer;\n}\n\n/* Linking Item */\n.ui.list .list > a.item,\n.ui.list > a.item {\n  cursor: pointer;\n  color: #4183C4;\n}\n.ui.list .list > a.item:hover,\n.ui.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linked Item Icons */\n.ui.list .list > a.item i.icon,\n.ui.list > a.item i.icon {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Header Link */\n.ui.list .list > .item a.header,\n.ui.list > .item a.header {\n  cursor: pointer;\n  color: #4183C4 !important;\n}\n.ui.list .list > .item a.header:hover,\n.ui.list > .item a.header:hover {\n  color: #1e70bf !important;\n}\n\n/* Floated Content */\n.ui[class*=\"left floated\"].list {\n  float: left;\n}\n.ui[class*=\"right floated\"].list {\n  float: right;\n}\n.ui.list .list > .item [class*=\"left floated\"],\n.ui.list > .item [class*=\"left floated\"] {\n  float: left;\n  margin: 0em 1em 0em 0em;\n}\n.ui.list .list > .item [class*=\"right floated\"],\n.ui.list > .item [class*=\"right floated\"] {\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.menu .ui.list > .item,\n.ui.menu .ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  background-color: transparent;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\n.ui.menu .ui.list .list > .item:before,\n.ui.menu .ui.list > .item:before {\n  border: none;\n  background: none;\n}\n.ui.menu .ui.list .list > .item:first-child,\n.ui.menu .ui.list > .item:first-child {\n  padding-top: 0em;\n}\n.ui.menu .ui.list .list > .item:last-child,\n.ui.menu .ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*-------------------\n      Horizontal\n--------------------*/\n\n.ui.horizontal.list {\n  display: inline-block;\n  font-size: 0em;\n}\n.ui.horizontal.list > .item {\n  display: inline-block;\n  margin-left: 1em;\n  font-size: 1rem;\n}\n.ui.horizontal.list:not(.celled) > .item:first-child {\n  margin-left: 0em !important;\n  padding-left: 0em !important;\n}\n.ui.horizontal.list .list {\n  padding-left: 0em;\n  padding-bottom: 0em;\n}\n.ui.horizontal.list > .item > .image,\n.ui.horizontal.list .list > .item > .image,\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list .list > .item > .icon,\n.ui.horizontal.list > .item > .content,\n.ui.horizontal.list .list > .item > .content {\n  vertical-align: middle;\n}\n\n/* Padding on all elements */\n.ui.horizontal.list > .item:first-child,\n.ui.horizontal.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Horizontal List */\n.ui.horizontal.list > .item > i.icon {\n  margin: 0em;\n  padding: 0em 0.25em 0em 0em;\n}\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list > .item > .icon + .content {\n  float: none;\n  display: inline-block;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*-------------------\n       Disabled\n--------------------*/\n\n.ui.list .list > .disabled.item,\n.ui.list > .disabled.item {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3) !important;\n}\n.ui.inverted.list .list > .disabled.item,\n.ui.inverted.list > .disabled.item {\n  color: rgba(225, 225, 225, 0.3) !important;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\n.ui.list .list > a.item:hover .icon,\n.ui.list > a.item:hover .icon {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.list .list > a.item > .icon,\n.ui.inverted.list > a.item > .icon {\n  color: rgba(255, 255, 255, 0.7);\n}\n.ui.inverted.list .list > .item .header,\n.ui.inverted.list > .item .header {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.list .list > .item .description,\n.ui.inverted.list > .item .description {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Item Link */\n.ui.inverted.list .list > a.item,\n.ui.inverted.list > a.item {\n  cursor: pointer;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.list .list > a.item:hover,\n.ui.inverted.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linking Content */\n.ui.inverted.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n.ui.inverted.list .item a:not(.ui):hover {\n  color: #1e70bf !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.list[class*=\"top aligned\"] .image,\n.ui.list[class*=\"top aligned\"] .content,\n.ui.list [class*=\"top aligned\"] {\n  vertical-align: top !important;\n}\n.ui.list[class*=\"middle aligned\"] .image,\n.ui.list[class*=\"middle aligned\"] .content,\n.ui.list [class*=\"middle aligned\"] {\n  vertical-align: middle !important;\n}\n.ui.list[class*=\"bottom aligned\"] .image,\n.ui.list[class*=\"bottom aligned\"] .content,\n.ui.list [class*=\"bottom aligned\"] {\n  vertical-align: bottom !important;\n}\n\n/*-------------------\n       Link\n--------------------*/\n\n.ui.link.list .item,\n.ui.link.list a.item,\n.ui.link.list .item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n  -webkit-transition: 0.1s color ease;\n          transition: 0.1s color ease;\n}\n.ui.link.list a.item:hover,\n.ui.link.list .item a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.link.list a.item:active,\n.ui.link.list .item a:not(.ui):active {\n  color: rgba(0, 0, 0, 0.9);\n}\n.ui.link.list .active.item,\n.ui.link.list .active.item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.inverted.link.list .item,\n.ui.inverted.link.list a.item,\n.ui.inverted.link.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.inverted.link.list a.item:hover,\n.ui.inverted.link.list .item a:not(.ui):hover {\n  color: #ffffff;\n}\n.ui.inverted.link.list a.item:active,\n.ui.inverted.link.list .item a:not(.ui):active {\n  color: #ffffff;\n}\n.ui.inverted.link.list a.active.item,\n.ui.inverted.link.list .active.item a:not(.ui) {\n  color: #ffffff;\n}\n\n/*-------------------\n      Selection\n--------------------*/\n\n.ui.selection.list .list > .item,\n.ui.selection.list > .item {\n  cursor: pointer;\n  background: transparent;\n  padding: 0.5em 0.5em;\n  margin: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  border-radius: 0.5em;\n  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n          transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n}\n.ui.selection.list .list > .item:last-child,\n.ui.selection.list > .item:last-child {\n  margin-bottom: 0em;\n}\n.ui.selection.list.list > .item:hover,\n.ui.selection.list > .item:hover {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.8);\n}\n.ui.selection.list .list > .item:active,\n.ui.selection.list > .item:active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.9);\n}\n.ui.selection.list .list > .item.active,\n.ui.selection.list > .item.active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.inverted.selection.list > .item,\n.ui.inverted.selection.list > .item {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.5);\n}\n.ui.inverted.selection.list > .item:hover,\n.ui.inverted.selection.list > .item:hover {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n.ui.inverted.selection.list > .item:active,\n.ui.inverted.selection.list > .item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n.ui.inverted.selection.list > .item.active,\n.ui.inverted.selection.list > .item.active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/* Celled / Divided Selection List */\n.ui.celled.selection.list .list > .item,\n.ui.divided.selection.list .list > .item,\n.ui.celled.selection.list > .item,\n.ui.divided.selection.list > .item {\n  border-radius: 0em;\n}\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.list > .item {\n  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n          transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n}\n.ui.animated.list:not(.horizontal) > .item:hover {\n  padding-left: 1em;\n}\n\n/*-------------------\n       Fitted\n--------------------*/\n\n.ui.fitted.list:not(.selection) .list > .item,\n.ui.fitted.list:not(.selection) > .item {\n  padding-left: 0em;\n  padding-right: 0em;\n}\n.ui.fitted.selection.list .list > .item,\n.ui.fitted.selection.list > .item {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n/*-------------------\n      Bulleted\n--------------------*/\n\nul.ui.list,\n.ui.bulleted.list {\n  margin-left: 1.25rem;\n}\nul.ui.list li,\n.ui.bulleted.list .list > .item,\n.ui.bulleted.list > .item {\n  position: relative;\n}\nul.ui.list li:before,\n.ui.bulleted.list .list > .item:before,\n.ui.bulleted.list > .item:before {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  pointer-events: none;\n  position: absolute;\n  top: auto;\n  left: auto;\n  margin-left: -1.25rem;\n  content: '•';\n  opacity: 1;\n  color: inherit;\n  vertical-align: top;\n}\nul.ui.list ul,\n.ui.bulleted.list .list {\n  padding-left: 1.25rem;\n}\n\n/* Horizontal Bulleted */\nul.ui.horizontal.bulleted.list,\n.ui.horizontal.bulleted.list {\n  margin-left: 0em;\n}\nul.ui.horizontal.bulleted.list li,\n.ui.horizontal.bulleted.list > .item {\n  margin-left: 1.75rem;\n}\nul.ui.horizontal.bulleted.list li:first-child,\n.ui.horizontal.bulleted.list > .item:first-child {\n  margin-left: 0em;\n}\nul.ui.horizontal.bulleted.list li::before,\n.ui.horizontal.bulleted.list > .item::before {\n  color: rgba(0, 0, 0, 0.87);\n}\nul.ui.horizontal.bulleted.list li:first-child::before,\n.ui.horizontal.bulleted.list > .item:first-child::before {\n  display: none;\n}\n\n/*-------------------\n       Ordered\n--------------------*/\n\nol.ui.list,\n.ui.ordered.list,\n.ui.ordered.list .list,\nol.ui.list ol {\n  counter-reset: ordered;\n  margin-left: 1.25rem;\n  list-style-type: none;\n}\nol.ui.list li,\n.ui.ordered.list .list > .item,\n.ui.ordered.list > .item {\n  list-style-type: none;\n  position: relative;\n}\nol.ui.list li:before,\n.ui.ordered.list .list > .item:before,\n.ui.ordered.list > .item:before {\n  position: absolute;\n  top: auto;\n  left: auto;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  pointer-events: none;\n  margin-left: -1.25rem;\n  counter-increment: ordered;\n  content: counters(ordered, \".\") \" \";\n  text-align: right;\n  color: rgba(0, 0, 0, 0.87);\n  vertical-align: middle;\n  opacity: 0.8;\n}\nol.ui.inverted.list li:before,\n.ui.ordered.inverted.list .list > .item:before,\n.ui.ordered.inverted.list > .item:before {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Value */\n.ui.ordered.list > .list > .item[data-value],\n.ui.ordered.list > .item[data-value] {\n  content: attr(data-value);\n}\nol.ui.list li[value]:before {\n  content: attr(value);\n}\n\n/* Child Lists */\nol.ui.list ol,\n.ui.ordered.list .list {\n  margin-left: 1em;\n}\nol.ui.list ol li:before,\n.ui.ordered.list .list > .item:before {\n  margin-left: -2em;\n}\n\n/* Horizontal Ordered */\nol.ui.horizontal.list,\n.ui.ordered.horizontal.list {\n  margin-left: 0em;\n}\nol.ui.horizontal.list li:before,\n.ui.ordered.horizontal.list .list > .item:before,\n.ui.ordered.horizontal.list > .item:before {\n  position: static;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*-------------------\n       Divided\n--------------------*/\n\n.ui.divided.list > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.divided.list .list > .item {\n  border-top: none;\n}\n.ui.divided.list .item .list > .item {\n  border-top: none;\n}\n.ui.divided.list .list > .item:first-child,\n.ui.divided.list > .item:first-child {\n  border-top: none;\n}\n\n/* Sub Menu */\n.ui.divided.list:not(.horizontal) .list > .item:first-child {\n  border-top-width: 1px;\n}\n\n/* Divided bulleted */\n.ui.divided.bulleted.list:not(.horizontal),\n.ui.divided.bulleted.list .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n.ui.divided.bulleted.list > .item:not(.horizontal) {\n  padding-left: 1.25rem;\n}\n\n/* Divided Ordered */\n.ui.divided.ordered.list {\n  margin-left: 0em;\n}\n.ui.divided.ordered.list .list > .item,\n.ui.divided.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n.ui.divided.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n.ui.divided.ordered.list .item .list > .item {\n  padding-left: 1em;\n}\n\n/* Divided Selection */\n.ui.divided.selection.list .list > .item,\n.ui.divided.selection.list > .item {\n  margin: 0em;\n  border-radius: 0em;\n}\n\n/* Divided horizontal */\n.ui.divided.horizontal.list {\n  margin-left: 0em;\n}\n.ui.divided.horizontal.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n.ui.horizontal.divided.list > .item:first-child {\n  border-left: none;\n}\n\n/* Inverted */\n.ui.divided.inverted.list > .item,\n.ui.divided.inverted.list > .list,\n.ui.divided.inverted.horizontal.list > .item {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Celled\n--------------------*/\n\n.ui.celled.list > .item,\n.ui.celled.list > .list {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n.ui.celled.list > .item:last-child {\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Padding on all elements */\n.ui.celled.list > .item:first-child,\n.ui.celled.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Sub Menu */\n.ui.celled.list .item .list > .item {\n  border-width: 0px;\n}\n.ui.celled.list .list > .item:first-child {\n  border-top-width: 0px;\n}\n\n/* Celled Bulleted */\n.ui.celled.bulleted.list {\n  margin-left: 0em;\n}\n.ui.celled.bulleted.list .list > .item,\n.ui.celled.bulleted.list > .item {\n  padding-left: 1.25rem;\n}\n.ui.celled.bulleted.list .item .list {\n  margin-left: -1.25rem;\n  margin-right: -1.25rem;\n  padding-bottom: 0.21428571em;\n}\n\n/* Celled Ordered */\n.ui.celled.ordered.list {\n  margin-left: 0em;\n}\n.ui.celled.ordered.list .list > .item,\n.ui.celled.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n.ui.celled.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n.ui.celled.ordered.list .list > .item {\n  padding-left: 1em;\n}\n\n/* Celled Horizontal */\n.ui.horizontal.celled.list {\n  margin-left: 0em;\n}\n.ui.horizontal.celled.list .list > .item,\n.ui.horizontal.celled.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n.ui.horizontal.celled.list .list > .item:last-child,\n.ui.horizontal.celled.list > .item:last-child {\n  border-bottom: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Inverted */\n.ui.celled.inverted.list > .item,\n.ui.celled.inverted.list > .list {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n.ui.celled.inverted.horizontal.list .list > .item,\n.ui.celled.inverted.horizontal.list > .item {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n       Relaxed\n--------------------*/\n\n.ui.relaxed.list:not(.horizontal) > .item {\n  padding-top: 0.42857143em;\n  padding-bottom: 0.42857143em;\n}\n.ui.relaxed.list:not(.horizontal) .list > .item {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n.ui.horizontal.relaxed.list > .item {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/* Very Relaxed */\n.ui[class*=\"very relaxed\"].list:not(.horizontal) > .item {\n  padding-top: 0.85714286em;\n  padding-bottom: 0.85714286em;\n}\n.ui[class*=\"very relaxed\"].list:not(.horizontal) .list > .item {\n  padding-top: 0.28571429em;\n  padding-bottom: 0.28571429em;\n}\n.ui.horizontal[class*=\"very relaxed\"].list .list > .item,\n.ui.horizontal[class*=\"very relaxed\"].list > .item {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n\n/*-------------------\n      Sizes\n--------------------*/\n\n.ui.mini.list {\n  font-size: 0.71428571em;\n}\n.ui.tiny.list {\n  font-size: 0.85714286em;\n}\n.ui.small.list {\n  font-size: 0.92857143em;\n}\n.ui.list {\n  font-size: 1em;\n}\n.ui.large.list {\n  font-size: 1.14285714em;\n}\n.ui.big.list {\n  font-size: 1.28571429em;\n}\n.ui.huge.list {\n  font-size: 1.42857143em;\n}\n.ui.massive.list {\n  font-size: 1.71428571em;\n}\n.ui.mini.horizontal.list .list > .item,\n.ui.mini.horizontal.list > .item {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.horizontal.list .list > .item,\n.ui.tiny.horizontal.list > .item {\n  font-size: 0.85714286rem;\n}\n.ui.small.horizontal.list .list > .item,\n.ui.small.horizontal.list > .item {\n  font-size: 0.92857143rem;\n}\n.ui.horizontal.list .list > .item,\n.ui.horizontal.list > .item {\n  font-size: 1rem;\n}\n.ui.large.horizontal.list .list > .item,\n.ui.large.horizontal.list > .item {\n  font-size: 1.14285714rem;\n}\n.ui.big.horizontal.list .list > .item,\n.ui.big.horizontal.list > .item {\n  font-size: 1.28571429rem;\n}\n.ui.huge.horizontal.list .list > .item,\n.ui.huge.horizontal.list > .item {\n  font-size: 1.42857143rem;\n}\n.ui.massive.horizontal.list .list > .item,\n.ui.massive.horizontal.list > .item {\n  font-size: 1.71428571rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/loader.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Loader\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Loader\n*******************************/\n\n\n/* Standard Size */\n.ui.loader {\n  display: none;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  margin: 0px;\n  text-align: center;\n  z-index: 1000;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n}\n\n/* Static Shape */\n.ui.loader:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n/* Active Shape */\n.ui.loader:after {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  -webkit-animation: loader 0.6s linear;\n          animation: loader 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/* Active Animation */\n@-webkit-keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n/* Sizes */\n.ui.loader:before,\n.ui.loader:after {\n  width: 2.2585em;\n  height: 2.2585em;\n  margin: 0em 0em 0em -1.12925em;\n}\n.ui.mini.loader:before,\n.ui.mini.loader:after {\n  width: 1.2857em;\n  height: 1.2857em;\n  margin: 0em 0em 0em -0.64285em;\n}\n.ui.small.loader:before,\n.ui.small.loader:after {\n  width: 1.7142em;\n  height: 1.7142em;\n  margin: 0em 0em 0em -0.8571em;\n}\n.ui.large.loader:before,\n.ui.large.loader:after {\n  width: 4.5714em;\n  height: 4.5714em;\n  margin: 0em 0em 0em -2.2857em;\n}\n\n/*-------------------\n      Coupling\n--------------------*/\n\n\n/* Show inside active dimmer */\n.ui.dimmer .loader {\n  display: block;\n}\n\n/* Black Dimmer */\n.ui.dimmer .ui.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.dimmer .ui.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n.ui.dimmer .ui.loader:after {\n  border-color: #FFFFFF transparent transparent;\n}\n\n/* White Dimmer (Inverted) */\n.ui.inverted.dimmer .ui.loader {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.inverted.dimmer .ui.loader:before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n.ui.inverted.dimmer .ui.loader:after {\n  border-color: #767676 transparent transparent;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n        Text\n--------------------*/\n\n.ui.text.loader {\n  width: auto !important;\n  height: auto !important;\n  text-align: center;\n  font-style: normal;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.indeterminate.loader:after {\n  -webkit-animation-direction: reverse;\n          animation-direction: reverse;\n  -webkit-animation-duration: 1.2s;\n          animation-duration: 1.2s;\n}\n.ui.loader.active,\n.ui.loader.visible {\n  display: block;\n}\n.ui.loader.disabled,\n.ui.loader.hidden {\n  display: none;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*-------------------\n        Sizes\n--------------------*/\n\n\n/* Loader */\n.ui.inverted.dimmer .ui.mini.loader,\n.ui.mini.loader {\n  width: 1.2857em;\n  height: 1.2857em;\n  font-size: 0.71428571em;\n}\n.ui.inverted.dimmer .ui.small.loader,\n.ui.small.loader {\n  width: 1.7142em;\n  height: 1.7142em;\n  font-size: 0.92857143em;\n}\n.ui.inverted.dimmer .ui.loader,\n.ui.loader {\n  width: 2.2585em;\n  height: 2.2585em;\n  font-size: 1em;\n}\n.ui.inverted.dimmer .ui.loader.large,\n.ui.loader.large {\n  width: 4.5714em;\n  height: 4.5714em;\n  font-size: 1.14285714em;\n}\n\n/* Text Loader */\n.ui.mini.text.loader {\n  min-width: 1.2857em;\n  padding-top: 1.99998571em;\n}\n.ui.small.text.loader {\n  min-width: 1.7142em;\n  padding-top: 2.42848571em;\n}\n.ui.text.loader {\n  min-width: 2.2585em;\n  padding-top: 2.97278571em;\n}\n.ui.large.text.loader {\n  min-width: 4.5714em;\n  padding-top: 5.28568571em;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n.ui.inverted.loader:after {\n  border-top-color: #FFFFFF;\n}\n\n/*-------------------\n       Inline\n--------------------*/\n\n.ui.inline.loader {\n  position: relative;\n  vertical-align: middle;\n  margin: 0em;\n  left: 0em;\n  top: 0em;\n  -webkit-transform: none;\n      -ms-transform: none;\n          transform: none;\n}\n.ui.inline.loader.active,\n.ui.inline.loader.visible {\n  display: inline-block;\n}\n\n/* Centered Inline */\n.ui.centered.inline.loader.active,\n.ui.centered.inline.loader.visible {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/menu.css",
    "content": "/*\n * # Semantic - Menu\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributor\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Standard\n*******************************/\n\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1rem 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  font-weight: normal;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  min-height: 2.85714286em;\n}\n.ui.menu:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n.ui.menu:first-child {\n  margin-top: 0rem;\n}\n.ui.menu:last-child {\n  margin-bottom: 0rem;\n}\n\n/*--------------\n    Sub-Menu\n---------------*/\n\n.ui.menu .menu {\n  margin: 0em;\n}\n.ui.menu:not(.vertical) > .menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.menu:not(.vertical) .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.menu .item {\n  position: relative;\n  vertical-align: middle;\n  line-height: 1;\n  text-decoration: none;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n  background: none;\n  padding: 0.92857143em 1.14285714em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: normal;\n  -webkit-transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n          transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n}\n.ui.menu > .item:first-child {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Border */\n.ui.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  right: 0px;\n  height: 100%;\n  width: 1px;\n  background: rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n  Text Content\n---------------*/\n\n.ui.menu .text.item > *,\n.ui.menu .item > a:not(.ui),\n.ui.menu .item > p:only-child {\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n  line-height: 1.3;\n}\n.ui.menu .item > p:first-child {\n  margin-top: 0;\n}\n.ui.menu .item > p:last-child {\n  margin-bottom: 0;\n}\n\n/*--------------\n      Icons\n---------------*/\n\n.ui.menu .item > i.icon {\n  opacity: 0.9;\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.menu:not(.vertical) .item > .button {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n  padding-bottom: 0.71428571em;\n  padding-top: 0.71428571em;\n  font-size: 1em;\n}\n\n/*----------------\n Grid / Container\n-----------------*/\n\n.ui.menu > .grid,\n.ui.menu > .container {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: inherit;\n  -webkit-align-items: inherit;\n      -ms-flex-align: inherit;\n          align-items: inherit;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: inherit;\n      -ms-flex-direction: inherit;\n          flex-direction: inherit;\n}\n\n/*--------------\n     Inputs\n---------------*/\n\n.ui.menu .item > .input {\n  width: 100%;\n}\n.ui.menu:not(.vertical) .item > .input {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n}\n.ui.menu .item > .input input {\n  font-size: 1em;\n  padding-top: 0.57142857em;\n  padding-bottom: 0.57142857em;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.menu .header.item,\n.ui.vertical.menu .header.item {\n  margin: 0em;\n  background: '';\n  text-transform: normal;\n  font-weight: bold;\n}\n.ui.vertical.menu .item > .header:not(.ui) {\n  margin: 0em 0em 0.5em;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n/*--------------\n     Popup\n---------------*/\n\n.ui.menu .ui.popup {\n  display: none;\n}\n.ui.menu .ui.visible.popup {\n  display: block;\n}\n\n/*--------------\n    Dropdowns\n---------------*/\n\n\n/* Dropdown Icon */\n.ui.menu .item > i.dropdown.icon {\n  padding: 0em;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n/* Menu */\n.ui.menu .dropdown.item .menu {\n  left: 0px;\n  min-width: calc(100% - 1px);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  background: #FFFFFF;\n  margin: 0em 0px 0px;\n  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);\n  -webkit-box-orient: vertical !important;\n  -webkit-box-direction: normal !important;\n  -webkit-flex-direction: column !important;\n      -ms-flex-direction: column !important;\n          flex-direction: column !important;\n}\n\n/* Menu Items */\n.ui.menu .ui.dropdown .menu > .item {\n  margin: 0;\n  text-align: left;\n  font-size: 1em !important;\n  padding: 0.71428571em 1.14285714em !important;\n  background: transparent !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n  text-transform: none !important;\n  font-weight: normal !important;\n  box-shadow: none !important;\n  -webkit-transition: none !important;\n          transition: none !important;\n}\n.ui.menu .ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.menu .ui.dropdown .menu > .selected.item {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.menu .ui.dropdown .menu > .active.item {\n  background: rgba(0, 0, 0, 0.03) !important;\n  font-weight: bold !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {\n  display: block;\n}\n.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {\n  display: inline-block;\n  font-size: 1em !important;\n  float: none;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Secondary */\n.ui.secondary.menu .dropdown.item > .menu,\n.ui.text.menu .dropdown.item > .menu {\n  border-radius: 0.28571429rem;\n  margin-top: 0.35714286em;\n}\n\n/* Pointing */\n.ui.menu .pointing.dropdown.item .menu {\n  margin-top: 0.75em;\n}\n\n/* Inverted */\n.ui.inverted.menu .search.dropdown.item > .search,\n.ui.inverted.menu .search.dropdown.item > .text {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Vertical */\n.ui.vertical.menu .dropdown.item > .icon {\n  float: right;\n  content: \"\\f0da\";\n  margin-left: 1em;\n}\n.ui.vertical.menu .dropdown.item .menu {\n  top: 0% !important;\n  left: 100%;\n  min-width: 0;\n  margin: 0em 0em 0em 0em;\n  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem;\n}\n.ui.vertical.menu .active.dropdown.item {\n  border-top-right-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n.ui.vertical.menu .dropdown.active.item {\n  box-shadow: none;\n}\n\n/* Evenly Divided */\n.ui.item.menu .dropdown .menu .item {\n  width: 100%;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n.ui.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-left: 1em;\n  padding: 0.3em 0.71428571em;\n}\n.ui.vertical.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-top: -0.15em;\n  margin-bottom: -0.15em;\n  padding: 0.3em 0.71428571em;\n}\n.ui.menu .item > .floating.label {\n  padding: 0.3em 0.71428571em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.menu .item > img:not(.ui) {\n  display: inline-block;\n  vertical-align: middle;\n  margin: -0.3em 0em;\n  width: 2.5em;\n}\n.ui.vertical.menu .item > img:not(.ui):only-child {\n  display: block;\n  max-width: 100%;\n  width: auto;\n}\n\n\n/*******************************\n          Coupling\n*******************************/\n\n\n/*--------------\n     Sidebar\n---------------*/\n\n\n/* Show vertical dividers below last */\n.ui.vertical.sidebar.menu > .item:first-child:before {\n  display: block !important;\n}\n.ui.vertical.sidebar.menu > .item::before {\n  top: auto;\n  bottom: 0px;\n}\n\n/*--------------\n    Container\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.menu > .ui.container {\n    width: 100% !important;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {\n    border-left: 1px solid rgba(34, 36, 38, 0.1);\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.link.menu .item:hover,\n.ui.menu .dropdown.item:hover,\n.ui.menu .link.item:hover,\n.ui.menu a.item:hover {\n  cursor: pointer;\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Pressed\n---------------*/\n\n.ui.link.menu .item:active,\n.ui.menu .link.item:active,\n.ui.menu a.item:active {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  font-weight: normal;\n  box-shadow: none;\n}\n.ui.menu .active.item > i.icon {\n  opacity: 1;\n}\n\n/*--------------\n  Active Hover\n---------------*/\n\n.ui.menu .active.item:hover,\n.ui.vertical.menu .active.item:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.menu .item.disabled,\n.ui.menu .item.disabled:hover {\n  cursor: default;\n  background-color: transparent !important;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*------------------\nFloated Menu / Item\n-------------------*/\n\n\n/* Left Floated */\n.ui.menu:not(.vertical) .left.item,\n.ui.menu:not(.vertical) .left.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-right: auto !important;\n}\n\n/* Right Floated */\n.ui.menu:not(.vertical) .right.item,\n.ui.menu:not(.vertical) .right.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-left: auto !important;\n}\n\n/* Swapped Borders */\n.ui.menu .right.item::before,\n.ui.menu .right.menu > .item::before {\n  right: auto;\n  left: 0;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.menu {\n  display: block;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n/*--- Item ---*/\n\n.ui.vertical.menu .item {\n  display: block;\n  background: none;\n  border-top: none;\n  border-right: none;\n}\n.ui.vertical.menu > .item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n.ui.vertical.menu > .item:last-child {\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n/*--- Label ---*/\n\n.ui.vertical.menu .item > .label {\n  float: right;\n  text-align: center;\n}\n\n/*--- Icon ---*/\n\n.ui.vertical.menu .item > i.icon {\n  width: 1.18em;\n  float: right;\n  margin: 0em 0em 0em 0.5em;\n}\n.ui.vertical.menu .item > .label + i.icon {\n  float: none;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*--- Border ---*/\n\n.ui.vertical.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0px;\n  width: 100%;\n  background: rgba(34, 36, 38, 0.1);\n  height: 1px;\n}\n.ui.vertical.menu .item:first-child:before {\n  display: none !important;\n}\n\n/*--- Sub Menu ---*/\n\n.ui.vertical.menu .item > .menu {\n  margin: 0.5em -1.14285714em 0em;\n}\n.ui.vertical.menu .menu .item {\n  background: none;\n  padding: 0.5em 1.33333333em;\n  font-size: 0.85714286em;\n  color: rgba(0, 0, 0, 0.5);\n}\n.ui.vertical.menu .item .menu a.item:hover,\n.ui.vertical.menu .item .menu .link.item:hover {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.vertical.menu .menu .item:before {\n  display: none;\n}\n\n/* Vertical Active */\n.ui.vertical.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  border-radius: 0em;\n  box-shadow: none;\n}\n.ui.vertical.menu > .active.item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.vertical.menu > .active.item:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.vertical.menu > .active.item:only-child {\n  border-radius: 0.28571429rem;\n}\n.ui.vertical.menu .active.item .menu .active.item {\n  border-left: none;\n}\n.ui.vertical.menu .item .menu .active.item {\n  background-color: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Tabular\n---------------*/\n\n.ui.tabular.menu {\n  border-radius: 0em;\n  box-shadow: none !important;\n  border: none;\n  background: none transparent;\n  border-bottom: 1px solid #D4D4D5;\n}\n.ui.tabular.fluid.menu {\n  width: calc(100% +  2px ) !important;\n}\n.ui.tabular.menu .item {\n  background: transparent;\n  border-bottom: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  padding: 0.92857143em 1.42857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.tabular.menu .item:before {\n  display: none;\n}\n\n/* Hover */\n.ui.tabular.menu .item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active */\n.ui.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-top-width: 1px;\n  border-color: #D4D4D5;\n  font-weight: bold;\n  margin-bottom: -1px;\n  box-shadow: none;\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px !important;\n}\n\n/* Coupling with segment for attachment */\n.ui.tabular.menu + .bottom.attached.segment {\n  border-top: none;\n  margin: 0px;\n  width: 100%;\n}\n.top.attached.segment + .ui.bottom.tabular.menu {\n  position: relative;\n  width: calc(100% +  2px );\n  left: -1px;\n}\n\n/* Bottom Vertical Tabular */\n.ui.bottom.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-top: 1px solid #D4D4D5;\n}\n.ui.bottom.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: none;\n}\n.ui.bottom.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: -1px 0px 0px 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem !important;\n}\n\n/* Vertical Tabular (Left) */\n.ui.vertical.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: 1px solid #D4D4D5;\n}\n.ui.vertical.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-right: none;\n}\n.ui.vertical.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px -1px 0px 0px;\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem !important;\n}\n\n/* Vertical Right Tabular */\n.ui.vertical.right.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: none;\n  border-left: 1px solid #D4D4D5;\n}\n.ui.vertical.right.tabular.menu .item {\n  background: none;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-left: none;\n}\n.ui.vertical.right.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px 0px 0px -1px;\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px !important;\n}\n\n/* Dropdown */\n.ui.tabular.menu .active.dropdown.item {\n  margin-bottom: 0px;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  border-bottom: none;\n}\n\n/*--------------\n   Pagination\n---------------*/\n\n.ui.pagination.menu {\n  margin: 0em;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n.ui.pagination.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.pagination.menu .item:last-child:before {\n  display: none;\n}\n.ui.pagination.menu .item {\n  min-width: 3em;\n  text-align: center;\n}\n.ui.pagination.menu .icon.item i.icon {\n  vertical-align: top;\n}\n\n/* Active */\n.ui.pagination.menu .active.item {\n  border-top: none;\n  padding-top: 0.92857143em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n}\n\n/*--------------\n   Secondary\n---------------*/\n\n.ui.secondary.menu {\n  background: none;\n  margin-left: -0.35714286em;\n  margin-right: -0.35714286em;\n  border-radius: 0em;\n  border: none;\n  box-shadow: none;\n}\n\n/* Item */\n.ui.secondary.menu .item {\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n          align-self: center;\n  box-shadow: none;\n  border: none;\n  padding: 0.71428571em 0.92857143em;\n  margin: 0em 0.35714286em;\n  background: none;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n  border-radius: 0.28571429rem;\n}\n\n/* No Divider */\n.ui.secondary.menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n.ui.secondary.menu .header.item {\n  border-radius: 0em;\n  border-right: none;\n  background: none transparent;\n}\n\n/* Image */\n.ui.secondary.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/* Hover */\n.ui.secondary.menu .dropdown.item:hover,\n.ui.secondary.menu .link.item:hover,\n.ui.secondary.menu a.item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n.ui.secondary.menu .active.item {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  border-radius: 0.28571429rem;\n}\n\n/* Active Hover */\n.ui.secondary.menu .active.item:hover {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.secondary.inverted.menu .link.item,\n.ui.secondary.inverted.menu a.item {\n  color: rgba(255, 255, 255, 0.7) !important;\n}\n.ui.secondary.inverted.menu .dropdown.item:hover,\n.ui.secondary.inverted.menu .link.item:hover,\n.ui.secondary.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff !important;\n}\n.ui.secondary.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n\n/* Fix item margins */\n.ui.secondary.item.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n.ui.secondary.item.menu .item:last-child {\n  margin-right: 0em;\n}\n.ui.secondary.attached.menu {\n  box-shadow: none;\n}\n\n/* Sub Menu */\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {\n  margin: 0em -0.92857143em;\n}\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 1.33333333em;\n}\n\n/*---------------------\n   Secondary Vertical\n-----------------------*/\n\n.ui.secondary.vertical.menu > .item {\n  border: none;\n  margin: 0em 0em 0.35714286em;\n  border-radius: 0.28571429rem !important;\n}\n.ui.secondary.vertical.menu > .header.item {\n  border-radius: 0em;\n}\n\n/* Sub Menu */\n.ui.vertical.secondary.menu .item > .menu .item {\n  background-color: transparent;\n}\n\n/* Inverted */\n.ui.secondary.inverted.menu {\n  background-color: transparent;\n}\n\n/*---------------------\n   Secondary Pointing\n-----------------------*/\n\n.ui.secondary.pointing.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n  border-bottom: 2px solid rgba(34, 36, 38, 0.15);\n}\n.ui.secondary.pointing.menu .item {\n  border-bottom-color: transparent;\n  border-bottom-style: solid;\n  border-radius: 0em;\n  -webkit-align-self: flex-end;\n      -ms-flex-item-align: end;\n          align-self: flex-end;\n  margin: 0em 0em -2px;\n  padding: 0.85714286em 1.14285714em;\n  border-bottom-width: 2px;\n  -webkit-transition: color 0.1s ease;\n          transition: color 0.1s ease;\n}\n\n/* Item Types */\n.ui.secondary.pointing.menu .header.item {\n  color: rgba(0, 0, 0, 0.85) !important;\n}\n.ui.secondary.pointing.menu .text.item {\n  box-shadow: none !important;\n}\n.ui.secondary.pointing.menu .item:after {\n  display: none;\n}\n\n/* Hover */\n.ui.secondary.pointing.menu .dropdown.item:hover,\n.ui.secondary.pointing.menu .link.item:hover,\n.ui.secondary.pointing.menu a.item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Pressed */\n.ui.secondary.pointing.menu .dropdown.item:active,\n.ui.secondary.pointing.menu .link.item:active,\n.ui.secondary.pointing.menu a.item:active {\n  background-color: transparent;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Active */\n.ui.secondary.pointing.menu .active.item {\n  background-color: transparent;\n  box-shadow: none;\n  border-color: #1B1C1D;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Hover */\n.ui.secondary.pointing.menu .active.item:hover {\n  border-color: #1B1C1D;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Dropdown */\n.ui.secondary.pointing.menu .active.dropdown.item {\n  border-color: transparent;\n}\n\n/* Vertical Pointing */\n.ui.secondary.vertical.pointing.menu {\n  border-bottom-width: 0px;\n  border-right-width: 2px;\n  border-right-style: solid;\n  border-right-color: rgba(34, 36, 38, 0.15);\n}\n.ui.secondary.vertical.pointing.menu .item {\n  border-bottom: none;\n  border-right-style: solid;\n  border-right-color: transparent;\n  border-radius: 0em !important;\n  margin: 0em -2px 0em 0em;\n  border-right-width: 2px;\n}\n\n/* Vertical Active */\n.ui.secondary.vertical.pointing.menu .active.item {\n  border-color: #1B1C1D;\n}\n\n/* Inverted */\n.ui.secondary.inverted.pointing.menu {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n.ui.secondary.inverted.pointing.menu {\n  border-width: 2px;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n.ui.secondary.inverted.pointing.menu .item {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.secondary.inverted.pointing.menu .header.item {\n  color: #FFFFFF !important;\n}\n\n/* Hover */\n.ui.secondary.inverted.pointing.menu .item:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n.ui.secondary.inverted.pointing.menu .active.item {\n  border-color: #FFFFFF;\n  color: #ffffff;\n}\n\n/*--------------\n    Text Menu\n---------------*/\n\n.ui.text.menu {\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  margin: 1em -0.5em;\n}\n.ui.text.menu .item {\n  border-radius: 0px;\n  box-shadow: none;\n  -webkit-align-self: center;\n      -ms-flex-item-align: center;\n          align-self: center;\n  margin: 0em 0em;\n  padding: 0.35714286em 0.5em;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.6);\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n\n/* Border */\n.ui.text.menu .item:before,\n.ui.text.menu .menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n.ui.text.menu .header.item {\n  background-color: transparent;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.92857143em;\n  text-transform: uppercase;\n  font-weight: bold;\n}\n\n/* Image */\n.ui.text.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/*--- fluid text ---*/\n\n.ui.text.item.menu .item {\n  margin: 0em;\n}\n\n/*--- vertical text ---*/\n\n.ui.vertical.text.menu {\n  margin: 1em 0em;\n}\n.ui.vertical.text.menu:first-child {\n  margin-top: 0rem;\n}\n.ui.vertical.text.menu:last-child {\n  margin-bottom: 0rem;\n}\n.ui.vertical.text.menu .item {\n  margin: 0.57142857em 0em;\n}\n.ui.vertical.text.menu .item > i.icon {\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n.ui.vertical.text.menu .header.item {\n  margin: 0.57142857em 0em 0.71428571em;\n}\n\n/* Vertical Sub Menu */\n.ui.vertical.text.menu .item:not(.dropdown) > .menu {\n  margin: 0em;\n}\n.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 0em;\n}\n\n/*--- hover ---*/\n\n.ui.text.menu .item:hover {\n  opacity: 1;\n  background-color: transparent;\n}\n\n/*--- active ---*/\n\n.ui.text.menu .active.item {\n  background-color: transparent;\n  border: none;\n  box-shadow: none;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--- active hover ---*/\n\n.ui.text.menu .active.item:hover {\n  background-color: transparent;\n}\n\n/* Disable Bariations */\n.ui.text.pointing.menu .active.item:after {\n  box-shadow: none;\n}\n.ui.text.attached.menu {\n  box-shadow: none;\n}\n\n/* Inverted */\n.ui.inverted.text.menu,\n.ui.inverted.text.menu .item,\n.ui.inverted.text.menu .item:hover,\n.ui.inverted.text.menu .active.item {\n  background-color: transparent !important;\n}\n\n/* Fluid */\n.ui.fluid.text.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n\n/* Vertical Menu */\n.ui.vertical.icon.menu {\n  display: inline-block;\n  width: auto;\n}\n\n/* Item */\n.ui.icon.menu .item {\n  height: auto;\n  text-align: center;\n  color: #1B1C1D;\n}\n\n/* Icon */\n.ui.icon.menu .item > .icon:not(.dropdown) {\n  margin: 0;\n  opacity: 1;\n}\n\n/* Icon Gylph */\n.ui.icon.menu .icon:before {\n  opacity: 1;\n}\n\n/* (x) Item Icon */\n.ui.menu .icon.item > .icon {\n  width: auto;\n  margin: 0em auto;\n}\n\n/* Vertical Icon */\n.ui.vertical.icon.menu .item > .icon:not(.dropdown) {\n  display: block;\n  opacity: 1;\n  margin: 0em auto;\n  float: none;\n}\n\n/* Inverted */\n.ui.inverted.icon.menu .item {\n  color: #FFFFFF;\n}\n\n/*--------------\n   Labeled Icon\n---------------*/\n\n\n/* Menu */\n.ui.labeled.icon.menu {\n  text-align: center;\n}\n\n/* Item */\n.ui.labeled.icon.menu .item {\n  min-width: 6em;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n}\n\n/* Icon */\n.ui.labeled.icon.menu .item > .icon:not(.dropdown) {\n  height: 1em;\n  display: block;\n  font-size: 1.71428571em !important;\n  margin: 0em auto 0.5rem !important;\n}\n\n/* Fluid */\n.ui.fluid.labeled.icon.menu > .item {\n  min-width: 0em;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.menu {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  .ui.stackable.menu .item {\n    width: 100% !important;\n  }\n  .ui.stackable.menu .item:before {\n    position: absolute;\n    content: '';\n    top: auto;\n    bottom: 0px;\n    left: 0px;\n    width: 100%;\n    background: rgba(34, 36, 38, 0.1);\n    height: 1px;\n  }\n}\n\n/*--------------\n     Colors\n---------------*/\n\n\n/*--- Standard Colors  ---*/\n\n.ui.menu .red.active.item,\n.ui.red.menu .active.item {\n  border-color: #DB2828 !important;\n  color: #DB2828 !important;\n}\n.ui.menu .orange.active.item,\n.ui.orange.menu .active.item {\n  border-color: #F2711C !important;\n  color: #F2711C !important;\n}\n.ui.menu .yellow.active.item,\n.ui.yellow.menu .active.item {\n  border-color: #FBBD08 !important;\n  color: #FBBD08 !important;\n}\n.ui.menu .olive.active.item,\n.ui.olive.menu .active.item {\n  border-color: #B5CC18 !important;\n  color: #B5CC18 !important;\n}\n.ui.menu .green.active.item,\n.ui.green.menu .active.item {\n  border-color: #21BA45 !important;\n  color: #21BA45 !important;\n}\n.ui.menu .teal.active.item,\n.ui.teal.menu .active.item {\n  border-color: #00B5AD !important;\n  color: #00B5AD !important;\n}\n.ui.menu .blue.active.item,\n.ui.blue.menu .active.item {\n  border-color: #2185D0 !important;\n  color: #2185D0 !important;\n}\n.ui.menu .violet.active.item,\n.ui.violet.menu .active.item {\n  border-color: #6435C9 !important;\n  color: #6435C9 !important;\n}\n.ui.menu .purple.active.item,\n.ui.purple.menu .active.item {\n  border-color: #A333C8 !important;\n  color: #A333C8 !important;\n}\n.ui.menu .pink.active.item,\n.ui.pink.menu .active.item {\n  border-color: #E03997 !important;\n  color: #E03997 !important;\n}\n.ui.menu .brown.active.item,\n.ui.brown.menu .active.item {\n  border-color: #A5673F !important;\n  color: #A5673F !important;\n}\n.ui.menu .grey.active.item,\n.ui.grey.menu .active.item {\n  border-color: #767676 !important;\n  color: #767676 !important;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.menu {\n  border: 0px solid transparent;\n  background: #1B1C1D;\n  box-shadow: none;\n}\n\n/* Menu Item */\n.ui.inverted.menu .item,\n.ui.inverted.menu .item > a:not(.ui) {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.menu .item.menu {\n  background: transparent;\n}\n\n/*--- Border ---*/\n\n.ui.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n.ui.vertical.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n/* Sub Menu */\n.ui.vertical.inverted.menu .menu .item,\n.ui.vertical.inverted.menu .menu .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/* Header */\n.ui.inverted.menu .header.item {\n  margin: 0em;\n  background: transparent;\n  box-shadow: none;\n}\n\n/* Disabled */\n.ui.inverted.menu .item.disabled,\n.ui.inverted.menu .item.disabled:hover {\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/*--- Hover ---*/\n\n.ui.link.inverted.menu .item:hover,\n.ui.inverted.menu .dropdown.item:hover,\n.ui.inverted.menu .link.item:hover,\n.ui.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n.ui.vertical.inverted.menu .item .menu a.item:hover,\n.ui.vertical.inverted.menu .item .menu .link.item:hover {\n  background: transparent;\n  color: #ffffff;\n}\n\n/*--- Pressed ---*/\n\n.ui.inverted.menu a.item:active,\n.ui.inverted.menu .link.item:active,\n.ui.inverted.menu a.item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/*--- Active ---*/\n\n.ui.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n.ui.inverted.vertical.menu .item .menu .active.item {\n  background: transparent;\n  color: #FFFFFF;\n}\n.ui.inverted.pointing.menu .active.item:after {\n  background: #3D3E3F !important;\n  margin: 0em !important;\n  box-shadow: none !important;\n  border: none !important;\n}\n\n/*--- Active Hover ---*/\n\n.ui.inverted.menu .active.item:hover {\n  background: rgba(255, 255, 255, 0.15);\n  color: #FFFFFF !important;\n}\n.ui.inverted.pointing.menu .active.item:hover:after {\n  background: #3D3E3F !important;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.floated.menu {\n  float: left;\n  margin: 0rem 0.5rem 0rem 0rem;\n}\n.ui.floated.menu .item:last-child:before {\n  display: none;\n}\n.ui.right.floated.menu {\n  float: right;\n  margin: 0rem 0rem 0rem 0.5rem;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n\n/* Red */\n.ui.inverted.menu .red.active.item,\n.ui.inverted.red.menu {\n  background-color: #DB2828;\n}\n.ui.inverted.red.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.red.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Orange */\n.ui.inverted.menu .orange.active.item,\n.ui.inverted.orange.menu {\n  background-color: #F2711C;\n}\n.ui.inverted.orange.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.orange.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Yellow */\n.ui.inverted.menu .yellow.active.item,\n.ui.inverted.yellow.menu {\n  background-color: #FBBD08;\n}\n.ui.inverted.yellow.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.yellow.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Olive */\n.ui.inverted.menu .olive.active.item,\n.ui.inverted.olive.menu {\n  background-color: #B5CC18;\n}\n.ui.inverted.olive.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.olive.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Green */\n.ui.inverted.menu .green.active.item,\n.ui.inverted.green.menu {\n  background-color: #21BA45;\n}\n.ui.inverted.green.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.green.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Teal */\n.ui.inverted.menu .teal.active.item,\n.ui.inverted.teal.menu {\n  background-color: #00B5AD;\n}\n.ui.inverted.teal.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.teal.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Blue */\n.ui.inverted.menu .blue.active.item,\n.ui.inverted.blue.menu {\n  background-color: #2185D0;\n}\n.ui.inverted.blue.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.blue.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Violet */\n.ui.inverted.menu .violet.active.item,\n.ui.inverted.violet.menu {\n  background-color: #6435C9;\n}\n.ui.inverted.violet.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.violet.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Purple */\n.ui.inverted.menu .purple.active.item,\n.ui.inverted.purple.menu {\n  background-color: #A333C8;\n}\n.ui.inverted.purple.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.purple.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Pink */\n.ui.inverted.menu .pink.active.item,\n.ui.inverted.pink.menu {\n  background-color: #E03997;\n}\n.ui.inverted.pink.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.pink.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Brown */\n.ui.inverted.menu .brown.active.item,\n.ui.inverted.brown.menu {\n  background-color: #A5673F;\n}\n.ui.inverted.brown.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.brown.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Grey */\n.ui.inverted.menu .grey.active.item,\n.ui.inverted.grey.menu {\n  background-color: #767676;\n}\n.ui.inverted.grey.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n.ui.inverted.grey.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.menu .item,\n.ui.fitted.menu .item .menu .item,\n.ui.menu .fitted.item {\n  padding: 0em;\n}\n.ui.horizontally.fitted.menu .item,\n.ui.horizontally.fitted.menu .item .menu .item,\n.ui.menu .horizontally.fitted.item {\n  padding-top: 0.92857143em;\n  padding-bottom: 0.92857143em;\n}\n.ui.vertically.fitted.menu .item,\n.ui.vertically.fitted.menu .item .menu .item,\n.ui.menu .vertically.fitted.item {\n  padding-left: 1.14285714em;\n  padding-right: 1.14285714em;\n}\n\n/*--------------\n   Borderless\n---------------*/\n\n.ui.borderless.menu .item:before,\n.ui.borderless.menu .item .menu .item:before,\n.ui.menu .borderless.item:before {\n  background: none !important;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.menu {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin: 0em;\n  vertical-align: middle;\n}\n.ui.compact.vertical.menu {\n  display: inline-block;\n}\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.compact.menu .item:last-child:before {\n  display: none;\n}\n.ui.compact.vertical.menu {\n  width: auto !important;\n}\n.ui.compact.vertical.menu .item:last-child::before {\n  display: block;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.menu.fluid,\n.ui.vertical.menu.fluid {\n  width: 100% !important;\n}\n\n/*-------------------\n      Evenly Sized\n--------------------*/\n\n.ui.item.menu,\n.ui.item.menu .item {\n  width: 100%;\n  padding-left: 0em !important;\n  padding-right: 0em !important;\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n}\n.ui.item.menu .item:last-child:before {\n  display: none;\n}\n.ui.menu.two.item .item {\n  width: 50%;\n}\n.ui.menu.three.item .item {\n  width: 33.333%;\n}\n.ui.menu.four.item .item {\n  width: 25%;\n}\n.ui.menu.five.item .item {\n  width: 20%;\n}\n.ui.menu.six.item .item {\n  width: 16.666%;\n}\n.ui.menu.seven.item .item {\n  width: 14.285%;\n}\n.ui.menu.eight.item .item {\n  width: 12.500%;\n}\n.ui.menu.nine.item .item {\n  width: 11.11%;\n}\n.ui.menu.ten.item .item {\n  width: 10.0%;\n}\n.ui.menu.eleven.item .item {\n  width: 9.09%;\n}\n.ui.menu.twelve.item .item {\n  width: 8.333%;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.menu.fixed {\n  position: fixed;\n  z-index: 101;\n  margin: 0em;\n  width: 100%;\n}\n.ui.menu.fixed,\n.ui.menu.fixed .item:first-child,\n.ui.menu.fixed .item:last-child {\n  border-radius: 0px !important;\n}\n.ui.fixed.menu,\n.ui[class*=\"top fixed\"].menu {\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n}\n.ui[class*=\"top fixed\"].menu {\n  border-top: none;\n  border-left: none;\n  border-right: none;\n}\n.ui[class*=\"right fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-right: none;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n.ui[class*=\"bottom fixed\"].menu {\n  border-bottom: none;\n  border-left: none;\n  border-right: none;\n  bottom: 0px;\n  left: 0px;\n  top: auto;\n  right: auto;\n}\n.ui[class*=\"left fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-left: none;\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n\n/* Coupling with Grid */\n.ui.fixed.menu + .ui.grid {\n  padding-top: 2.75rem;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.menu .item:after {\n  visibility: hidden;\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n          transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  background: none;\n  margin: 0.5px 0em 0em;\n  width: 0.57142857em;\n  height: 0.57142857em;\n  border: none;\n  border-bottom: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n  z-index: 2;\n  -webkit-transition: background 0.1s ease;\n          transition: background 0.1s ease;\n}\n.ui.vertical.pointing.menu .item:after {\n  position: absolute;\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n      -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n          transform: translateX(50%) translateY(-50%) rotate(45deg);\n  margin: 0em -0.5px 0em 0em;\n  border: none;\n  border-top: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n}\n\n/* Active */\n.ui.pointing.menu .active.item:after {\n  visibility: visible;\n}\n.ui.pointing.menu .active.dropdown.item:after {\n  visibility: hidden;\n}\n\n/* Don't double up pointers */\n.ui.pointing.menu .dropdown.active.item:after,\n.ui.pointing.menu .active.item .menu .active.item:after {\n  display: none;\n}\n\n/* Colors */\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n.ui.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n.ui.vertical.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n.ui.vertical.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n.ui.vertical.pointing.menu .menu .active.item:after {\n  background-color: #FFFFFF;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n\n/* Middle */\n.ui.attached.menu {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n}\n.ui.attached + .ui.attached.menu:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n.ui[class*=\"top attached\"].menu {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.menu[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n.ui[class*=\"bottom attached\"].menu {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].menu:last-child {\n  margin-bottom: 0em;\n}\n\n/* Attached Menu Item */\n.ui.top.attached.menu > .item:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui.bottom.attached.menu > .item:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/* Tabular Attached */\n.ui.attached.menu:not(.tabular) {\n  border: 1px solid #D4D4D5;\n}\n.ui.attached.inverted.menu {\n  border: none;\n}\n.ui.attached.tabular.menu {\n  margin-left: 0;\n  margin-right: 0;\n  width: 100%;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n\n/* Small */\n.ui.small.menu {\n  font-size: 0.92857143rem;\n}\n.ui.small.vertical.menu {\n  width: 13rem;\n}\n\n/* Medium */\n.ui.menu {\n  font-size: 1rem;\n}\n.ui.vertical.menu {\n  width: 15rem;\n}\n\n/* Large */\n.ui.large.menu {\n  font-size: 1.14285714rem;\n}\n.ui.large.vertical.menu {\n  width: 18rem;\n}\n\n/* Huge */\n.ui.huge.menu {\n  font-size: 1.42857143rem;\n}\n.ui.huge.vertical.menu {\n  width: 20rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/message.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Message\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Message\n*******************************/\n\n.ui.message {\n  position: relative;\n  min-height: 1em;\n  margin: 1em 0em;\n  background: #F8F8F9;\n  padding: 1em 1.5em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n          transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.message:first-child {\n  margin-top: 0em;\n}\n.ui.message:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n\n/* Header */\n.ui.message .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  margin: -0.14285em 0em 0rem 0em;\n}\n\n/* Default font size */\n.ui.message .header:not(.ui) {\n  font-size: 1.14285714em;\n}\n\n/* Paragraph */\n.ui.message p {\n  opacity: 0.85;\n  margin: 0.75em 0em;\n}\n.ui.message p:first-child {\n  margin-top: 0em;\n}\n.ui.message p:last-child {\n  margin-bottom: 0em;\n}\n.ui.message .header + p {\n  margin-top: 0.25em;\n}\n\n/* List */\n.ui.message .list:not(.ui) {\n  text-align: left;\n  padding: 0em;\n  opacity: 0.85;\n  list-style-position: inside;\n  margin: 0.5em 0em 0em;\n}\n.ui.message .list:not(.ui):first-child {\n  margin-top: 0em;\n}\n.ui.message .list:not(.ui):last-child {\n  margin-bottom: 0em;\n}\n.ui.message .list:not(.ui) li {\n  position: relative;\n  list-style-type: none;\n  margin: 0em 0em 0.3em 1em;\n  padding: 0em;\n}\n.ui.message .list:not(.ui) li:before {\n  position: absolute;\n  content: '•';\n  left: -1em;\n  height: 100%;\n  vertical-align: baseline;\n}\n.ui.message .list:not(.ui) li:last-child {\n  margin-bottom: 0em;\n}\n\n/* Icon */\n.ui.message > .icon {\n  margin-right: 0.6em;\n}\n\n/* Close Icon */\n.ui.message > .close.icon {\n  cursor: pointer;\n  position: absolute;\n  margin: 0em;\n  top: 0.78575em;\n  right: 0.5em;\n  opacity: 0.7;\n  -webkit-transition: opacity 0.1s ease;\n          transition: opacity 0.1s ease;\n}\n.ui.message > .close.icon:hover {\n  opacity: 1;\n}\n\n/* First / Last Element */\n.ui.message > :first-child {\n  margin-top: 0em;\n}\n.ui.message > :last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.dropdown .menu > .message {\n  margin: 0px -1px;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n    Visible\n---------------*/\n\n.ui.visible.visible.visible.visible.message {\n  display: block;\n}\n.ui.icon.visible.visible.visible.visible.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n.ui.hidden.hidden.hidden.hidden.message {\n  display: none;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n    Compact\n---------------*/\n\n.ui.compact.message {\n  display: inline-block;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.message {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n.ui.attached + .ui.attached.message:not(.top):not(.bottom) {\n  margin-top: -1px;\n  border-radius: 0em;\n}\n.ui.bottom.attached.message {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n.ui.bottom.attached.message:not(:last-child) {\n  margin-bottom: 1em;\n}\n.ui.attached.icon.message {\n  width: auto;\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.icon.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.icon.message > .icon:not(.close) {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n      -ms-flex: 0 0 auto;\n          flex: 0 0 auto;\n  width: auto;\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 3em;\n  opacity: 0.8;\n}\n.ui.icon.message > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n      -ms-flex: 1 1 auto;\n          flex: 1 1 auto;\n  vertical-align: middle;\n}\n.ui.icon.message .icon:not(.close) + .content {\n  padding-left: 0rem;\n}\n.ui.icon.message .circular.icon {\n  width: 1em;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.message {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/*--------------\n     Types\n---------------*/\n\n\n/* Positive */\n.ui.positive.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n.ui.positive.message,\n.ui.attached.positive.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.positive.message .header {\n  color: #1A531B;\n}\n\n/* Negative */\n.ui.negative.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n.ui.negative.message,\n.ui.attached.negative.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.negative.message .header {\n  color: #912D2B;\n}\n\n/* Info */\n.ui.info.message {\n  background-color: #F8FFFF;\n  color: #276F86;\n}\n.ui.info.message,\n.ui.attached.info.message {\n  box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.info.message .header {\n  color: #0E566C;\n}\n\n/* Warning */\n.ui.warning.message {\n  background-color: #FFFAF3;\n  color: #573A08;\n}\n.ui.warning.message,\n.ui.attached.warning.message {\n  box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.warning.message .header {\n  color: #794B02;\n}\n\n/* Error */\n.ui.error.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n.ui.error.message,\n.ui.attached.error.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.error.message .header {\n  color: #912D2B;\n}\n\n/* Success */\n.ui.success.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n.ui.success.message,\n.ui.attached.success.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n.ui.success.message .header {\n  color: #1A531B;\n}\n\n/* Colors */\n.ui.inverted.message,\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.red.message {\n  background-color: #FFE8E6;\n  color: #DB2828;\n}\n.ui.red.message .header {\n  color: #c82121;\n}\n.ui.orange.message {\n  background-color: #FFEDDE;\n  color: #F2711C;\n}\n.ui.orange.message .header {\n  color: #e7640d;\n}\n.ui.yellow.message {\n  background-color: #FFF8DB;\n  color: #B58105;\n}\n.ui.yellow.message .header {\n  color: #9c6f04;\n}\n.ui.olive.message {\n  background-color: #FBFDEF;\n  color: #8ABC1E;\n}\n.ui.olive.message .header {\n  color: #7aa61a;\n}\n.ui.green.message {\n  background-color: #E5F9E7;\n  color: #1EBC30;\n}\n.ui.green.message .header {\n  color: #1aa62a;\n}\n.ui.teal.message {\n  background-color: #E1F7F7;\n  color: #10A3A3;\n}\n.ui.teal.message .header {\n  color: #0e8c8c;\n}\n.ui.blue.message {\n  background-color: #DFF0FF;\n  color: #2185D0;\n}\n.ui.blue.message .header {\n  color: #1e77ba;\n}\n.ui.violet.message {\n  background-color: #EAE7FF;\n  color: #6435C9;\n}\n.ui.violet.message .header {\n  color: #5a30b5;\n}\n.ui.purple.message {\n  background-color: #F6E7FF;\n  color: #A333C8;\n}\n.ui.purple.message .header {\n  color: #922eb4;\n}\n.ui.pink.message {\n  background-color: #FFE3FB;\n  color: #E03997;\n}\n.ui.pink.message .header {\n  color: #dd238b;\n}\n.ui.brown.message {\n  background-color: #F1E2D3;\n  color: #A5673F;\n}\n.ui.brown.message .header {\n  color: #935b38;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.small.message {\n  font-size: 0.92857143em;\n}\n.ui.message {\n  font-size: 1em;\n}\n.ui.large.message {\n  font-size: 1.14285714em;\n}\n.ui.huge.message {\n  font-size: 1.42857143em;\n}\n.ui.massive.message {\n  font-size: 1.71428571em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/modal.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Modal\n*******************************/\n\n.ui.modal {\n  display: none;\n  position: fixed;\n  z-index: 1001;\n  top: 50%;\n  left: 50%;\n  text-align: left;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);\n  -webkit-transform-origin: 50% 25%;\n      -ms-transform-origin: 50% 25%;\n          transform-origin: 50% 25%;\n  border-radius: 0.28571429rem;\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n  will-change: top, left, margin, transform, opacity;\n}\n.ui.modal > :first-child:not(.icon),\n.ui.modal > .icon:first-child + * {\n  border-top-left-radius: 0.28571429rem;\n  border-top-right-radius: 0.28571429rem;\n}\n.ui.modal > :last-child {\n  border-bottom-left-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/*--------------\n     Close\n---------------*/\n\n.ui.modal > .close {\n  cursor: pointer;\n  position: absolute;\n  top: -2.5rem;\n  right: -2.5rem;\n  z-index: 1;\n  opacity: 0.8;\n  font-size: 1.25em;\n  color: #FFFFFF;\n  width: 2.25rem;\n  height: 2.25rem;\n  padding: 0.625rem 0rem 0rem 0rem;\n}\n.ui.modal > .close:hover {\n  opacity: 1;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.modal > .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  margin: 0em;\n  padding: 1.25rem 1.5rem;\n  box-shadow: none;\n  color: rgba(0, 0, 0, 0.85);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.modal > .header:not(.ui) {\n  font-size: 1.42857143rem;\n  line-height: 1.2857em;\n  font-weight: bold;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.modal > .content {\n  display: block;\n  width: 100%;\n  font-size: 1em;\n  line-height: 1.4;\n  padding: 1.5rem;\n  background: #FFFFFF;\n}\n.ui.modal > .image.content {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n}\n\n/* Image */\n.ui.modal > .content > .image {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  width: '';\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.modal > [class*=\"top aligned\"] {\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.modal > [class*=\"middle aligned\"] {\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n}\n.ui.modal > [class*=\"stretched\"] {\n  -webkit-align-self: stretch;\n      -ms-flex-item-align: stretch;\n          align-self: stretch;\n}\n\n/* Description */\n.ui.modal > .content > .description {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  min-width: 0px;\n  -webkit-align-self: top;\n      -ms-flex-item-align: top;\n          align-self: top;\n}\n.ui.modal > .content > .icon + .description,\n.ui.modal > .content > .image + .description {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  min-width: '';\n  width: auto;\n  padding-left: 2em;\n}\n/*rtl:ignore*/\n.ui.modal > .content > .image > i.icon {\n  margin: 0em;\n  opacity: 1;\n  width: auto;\n  line-height: 1;\n  font-size: 8rem;\n}\n\n/*--------------\n     Actions\n---------------*/\n\n.ui.modal > .actions {\n  background: #F9FAFB;\n  padding: 1rem 1rem;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  text-align: right;\n}\n.ui.modal .actions > .button {\n  margin-left: 0.75em;\n}\n\n/*-------------------\n       Responsive\n--------------------*/\n\n\n/* Modal Width */\n@media only screen and (max-width: 767px) {\n  .ui.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.modal {\n    width: 850px;\n    margin: 0em 0em 0em -425px;\n  }\n}\n@media only screen and (min-width: 1200px) {\n  .ui.modal {\n    width: 900px;\n    margin: 0em 0em 0em -450px;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.modal {\n    width: 950px;\n    margin: 0em 0em 0em -475px;\n  }\n}\n\n/* Tablet and Mobile */\n@media only screen and (max-width: 991px) {\n  .ui.modal > .header {\n    padding-right: 2.25rem;\n  }\n  .ui.modal > .close {\n    top: 1.0535rem;\n    right: 1rem;\n    color: rgba(0, 0, 0, 0.87);\n  }\n}\n\n/* Mobile */\n@media only screen and (max-width: 767px) {\n  .ui.modal > .header {\n    padding: 0.75rem 1rem !important;\n    padding-right: 2.25rem !important;\n  }\n  .ui.modal > .content {\n    display: block;\n    padding: 1rem !important;\n  }\n  .ui.modal > .close {\n    top: 0.5rem !important;\n    right: 0.5rem !important;\n  }\n  /*rtl:ignore*/\n  .ui.modal .image.content {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  .ui.modal .content > .image {\n    display: block;\n    max-width: 100%;\n    margin: 0em auto !important;\n    text-align: center;\n    padding: 0rem 0rem 1rem !important;\n  }\n  .ui.modal > .content > .image > i.icon {\n    font-size: 5rem;\n    text-align: center;\n  }\n  /*rtl:ignore*/\n  .ui.modal .content > .description {\n    display: block;\n    width: 100% !important;\n    margin: 0em !important;\n    padding: 1rem 0rem !important;\n    box-shadow: none;\n  }\n  \n/* Let Buttons Stack */\n  .ui.modal > .actions {\n    padding: 1rem 1rem 0rem !important;\n  }\n  .ui.modal .actions > .buttons,\n  .ui.modal .actions > .button {\n    margin-bottom: 1rem;\n  }\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.inverted.dimmer > .ui.modal {\n  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n.ui.basic.modal {\n  background-color: transparent;\n  border: none;\n  border-radius: 0em;\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n.ui.basic.modal > .header,\n.ui.basic.modal > .content,\n.ui.basic.modal > .actions {\n  background-color: transparent;\n}\n.ui.basic.modal > .header {\n  color: #FFFFFF;\n}\n.ui.basic.modal > .close {\n  top: 1rem;\n  right: 1.5rem;\n}\n.ui.inverted.dimmer > .basic.modal {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.inverted.dimmer > .ui.basic.modal > .header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Tablet and Mobile */\n@media only screen and (max-width: 991px) {\n  .ui.basic.modal > .close {\n    color: #FFFFFF;\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\n.ui.active.modal {\n  display: block;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Scrolling\n---------------*/\n\n\n/* A modal that cannot fit on the page */\n.scrolling.dimmable.dimmed {\n  overflow: hidden;\n}\n.scrolling.dimmable.dimmed > .dimmer {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n.scrolling.dimmable > .dimmer {\n  position: fixed;\n}\n.modals.dimmer .ui.scrolling.modal {\n  position: static !important;\n  margin: 3.5rem auto !important;\n}\n\n/* undetached scrolling */\n.scrolling.undetached.dimmable.dimmed {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n.scrolling.undetached.dimmable.dimmed > .dimmer {\n  overflow: hidden;\n}\n.scrolling.undetached.dimmable .ui.scrolling.modal {\n  position: absolute;\n  left: 50%;\n  margin-top: 3.5rem !important;\n}\n\n/* Coupling with Sidebar */\n.undetached.dimmable.dimmed > .pusher {\n  z-index: auto;\n}\n@media only screen and (max-width: 991px) {\n  .modals.dimmer .ui.scrolling.modal {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n}\n\n/*--------------\n   Full Screen\n---------------*/\n\n.ui.fullscreen.modal {\n  width: 95% !important;\n  left: 2.5% !important;\n  margin: 1em auto;\n}\n.ui.fullscreen.scrolling.modal {\n  left: 0em !important;\n}\n.ui.fullscreen.modal > .header {\n  padding-right: 2.25rem;\n}\n.ui.fullscreen.modal > .close {\n  top: 1.0535rem;\n  right: 1rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.modal {\n  font-size: 1rem;\n}\n\n/* Small */\n.ui.small.modal > .header:not(.ui) {\n  font-size: 1.3em;\n}\n\n/* Small Modal Width */\n@media only screen and (max-width: 767px) {\n  .ui.small.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.small.modal {\n    width: 70.4%;\n    margin: 0em 0em 0em -35.2%;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.small.modal {\n    width: 680px;\n    margin: 0em 0em 0em -340px;\n  }\n}\n@media only screen and (min-width: 1200px) {\n  .ui.small.modal {\n    width: 720px;\n    margin: 0em 0em 0em -360px;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.small.modal {\n    width: 760px;\n    margin: 0em 0em 0em -380px;\n  }\n}\n\n/* Large Modal Width */\n.ui.large.modal > .header {\n  font-size: 1.6em;\n}\n@media only screen and (max-width: 767px) {\n  .ui.large.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n@media only screen and (min-width: 768px) {\n  .ui.large.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n@media only screen and (min-width: 992px) {\n  .ui.large.modal {\n    width: 1020px;\n    margin: 0em 0em 0em -510px;\n  }\n}\n@media only screen and (min-width: 1200px) {\n  .ui.large.modal {\n    width: 1080px;\n    margin: 0em 0em 0em -540px;\n  }\n}\n@media only screen and (min-width: 1920px) {\n  .ui.large.modal {\n    width: 1140px;\n    margin: 0em 0em 0em -570px;\n  }\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/modal.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.modal = function(parameters) {\n  var\n    $allModules    = $(this),\n    $window        = $(window),\n    $document      = $(document),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings    = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.modal.settings, parameters)\n          : $.extend({}, $.fn.modal.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $close          = $module.find(selector.close),\n\n        $allModals,\n        $otherModals,\n        $focusedElement,\n        $dimmable,\n        $dimmer,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        observer,\n        module\n      ;\n      module  = {\n\n        initialize: function() {\n          module.verbose('Initializing dimmer', $context);\n\n          module.create.id();\n          module.create.dimmer();\n          module.refreshModals();\n\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of modal');\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        create: {\n          dimmer: function() {\n            var\n              defaultSettings = {\n                debug      : settings.debug,\n                dimmerName : 'modals',\n                duration   : {\n                  show     : settings.duration,\n                  hide     : settings.duration\n                }\n              },\n              dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)\n            ;\n            if(settings.inverted) {\n              dimmerSettings.variation = (dimmerSettings.variation !== undefined)\n                ? dimmerSettings.variation + ' inverted'\n                : 'inverted'\n              ;\n            }\n            if($.fn.dimmer === undefined) {\n              module.error(error.dimmer);\n              return;\n            }\n            module.debug('Creating dimmer with settings', dimmerSettings);\n            $dimmable = $context.dimmer(dimmerSettings);\n            if(settings.detachable) {\n              module.verbose('Modal is detachable, moving content into dimmer');\n              $dimmable.dimmer('add content', $module);\n            }\n            else {\n              module.set.undetached();\n            }\n            if(settings.blurring) {\n              $dimmable.addClass(className.blurring);\n            }\n            $dimmer = $dimmable.dimmer('get dimmer');\n          },\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous modal');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n          $window.off(elementNamespace);\n          $close.off(eventNamespace);\n          $context.dimmer('destroy');\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, refreshing');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        refresh: function() {\n          module.remove.scrolling();\n          module.cacheSizes();\n          module.set.screenHeight();\n          module.set.type();\n          module.set.position();\n        },\n\n        refreshModals: function() {\n          $otherModals = $module.siblings(selector.modal);\n          $allModals   = $otherModals.add($module);\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching modal events to element', selector, event);\n            $toggle\n              .off(eventNamespace)\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching events');\n            $module\n              .on('click' + eventNamespace, selector.close, module.event.close)\n              .on('click' + eventNamespace, selector.approve, module.event.approve)\n              .on('click' + eventNamespace, selector.deny, module.event.deny)\n            ;\n            $window\n              .on('resize' + elementNamespace, module.event.resize)\n            ;\n          }\n        },\n\n        get: {\n          id: function() {\n            return (Math.random().toString(16) + '000000000').substr(2,8);\n          }\n        },\n\n        event: {\n          approve: function() {\n            if(settings.onApprove.call(element, $(this)) === false) {\n              module.verbose('Approve callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          deny: function() {\n            if(settings.onDeny.call(element, $(this)) === false) {\n              module.verbose('Deny callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          close: function() {\n            module.hide();\n          },\n          click: function(event) {\n            var\n              $target   = $(event.target),\n              isInModal = ($target.closest(selector.modal).length > 0),\n              isInDOM   = $.contains(document.documentElement, event.target)\n            ;\n            if(!isInModal && isInDOM) {\n              module.debug('Dimmer clicked, hiding all modals');\n              if( module.is.active() ) {\n                module.remove.clickaway();\n                if(settings.allowMultiple) {\n                  module.hide();\n                }\n                else {\n                  module.hideAll();\n                }\n              }\n            }\n          },\n          debounce: function(method, delay) {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(method, delay);\n          },\n          keyboard: function(event) {\n            var\n              keyCode   = event.which,\n              escapeKey = 27\n            ;\n            if(keyCode == escapeKey) {\n              if(settings.closable) {\n                module.debug('Escape key pressed hiding modal');\n                module.hide();\n              }\n              else {\n                module.debug('Escape key pressed, but closable is set to false');\n              }\n              event.preventDefault();\n            }\n          },\n          resize: function() {\n            if( $dimmable.dimmer('is active') ) {\n              requestAnimationFrame(module.refresh);\n            }\n          }\n        },\n\n        toggle: function() {\n          if( module.is.active() || module.is.animating() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.showModal(callback);\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.hideModal(callback);\n        },\n\n        showModal: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.animating() || !module.is.active() ) {\n\n            module.showDimmer();\n            module.cacheSizes();\n            module.set.position();\n            module.set.screenHeight();\n            module.set.type();\n            module.set.clickaway();\n\n            if( !settings.allowMultiple && module.others.active() ) {\n              module.hideOthers(module.showModal);\n            }\n            else {\n              settings.onShow.call(element);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                module.debug('Showing modal with css animations');\n                $module\n                  .transition({\n                    debug       : settings.debug,\n                    animation   : settings.transition + ' in',\n                    queue       : settings.queue,\n                    duration    : settings.duration,\n                    useFailSafe : true,\n                    onComplete : function() {\n                      settings.onVisible.apply(element);\n                      module.add.keyboardShortcuts();\n                      module.save.focus();\n                      module.set.active();\n                      if(settings.autofocus) {\n                        module.set.autofocus();\n                      }\n                      callback();\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition);\n              }\n            }\n          }\n          else {\n            module.debug('Modal is already visible');\n          }\n        },\n\n        hideModal: function(callback, keepDimmed) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Hiding modal');\n          if(settings.onHide.call(element, $(this)) === false) {\n            module.verbose('Hide callback returned false cancelling hide');\n            return;\n          }\n\n          if( module.is.animating() || module.is.active() ) {\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.remove.active();\n              $module\n                .transition({\n                  debug       : settings.debug,\n                  animation   : settings.transition + ' out',\n                  queue       : settings.queue,\n                  duration    : settings.duration,\n                  useFailSafe : true,\n                  onStart     : function() {\n                    if(!module.others.active() && !keepDimmed) {\n                      module.hideDimmer();\n                    }\n                    module.remove.keyboardShortcuts();\n                  },\n                  onComplete : function() {\n                    settings.onHidden.call(element);\n                    module.restore.focus();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        showDimmer: function() {\n          if($dimmable.dimmer('is animating') || !$dimmable.dimmer('is active') ) {\n            module.debug('Showing dimmer');\n            $dimmable.dimmer('show');\n          }\n          else {\n            module.debug('Dimmer already visible');\n          }\n        },\n\n        hideDimmer: function() {\n          if( $dimmable.dimmer('is animating') || ($dimmable.dimmer('is active')) ) {\n            $dimmable.dimmer('hide', function() {\n              module.remove.clickaway();\n              module.remove.screenHeight();\n            });\n          }\n          else {\n            module.debug('Dimmer is not visible cannot hide');\n            return;\n          }\n        },\n\n        hideAll: function(callback) {\n          var\n            $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding all visible modals');\n            module.hideDimmer();\n            $visibleModals\n              .modal('hide modal', callback)\n            ;\n          }\n        },\n\n        hideOthers: function(callback) {\n          var\n            $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding other modals', $otherModals);\n            $visibleModals\n              .modal('hide modal', callback, true)\n            ;\n          }\n        },\n\n        others: {\n          active: function() {\n            return ($otherModals.filter('.' + className.active).length > 0);\n          },\n          animating: function() {\n            return ($otherModals.filter('.' + className.animating).length > 0);\n          }\n        },\n\n\n        add: {\n          keyboardShortcuts: function() {\n            module.verbose('Adding keyboard shortcuts');\n            $document\n              .on('keyup' + eventNamespace, module.event.keyboard)\n            ;\n          }\n        },\n\n        save: {\n          focus: function() {\n            $focusedElement = $(document.activeElement).blur();\n          }\n        },\n\n        restore: {\n          focus: function() {\n            if($focusedElement && $focusedElement.length > 0) {\n              $focusedElement.focus();\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .off('click' + elementNamespace)\n              ;\n            }\n          },\n          bodyStyle: function() {\n            if($body.attr('style') === '') {\n              module.verbose('Removing style attribute');\n              $body.removeAttr('style');\n            }\n          },\n          screenHeight: function() {\n            module.debug('Removing page height');\n            $body\n              .css('height', '')\n            ;\n          },\n          keyboardShortcuts: function() {\n            module.verbose('Removing keyboard shortcuts');\n            $document\n              .off('keyup' + eventNamespace)\n            ;\n          },\n          scrolling: function() {\n            $dimmable.removeClass(className.scrolling);\n            $module.removeClass(className.scrolling);\n          }\n        },\n\n        cacheSizes: function() {\n          var\n            modalHeight = $module.outerHeight()\n          ;\n          if(module.cache === undefined || modalHeight !== 0) {\n            module.cache = {\n              pageHeight    : $(document).outerHeight(),\n              height        : modalHeight + settings.offset,\n              contextHeight : (settings.context == 'body')\n                ? $(window).height()\n                : $dimmable.height()\n            };\n          }\n          module.debug('Caching modal and container sizes', module.cache);\n        },\n\n        can: {\n          fit: function() {\n            return ( ( module.cache.height + (settings.padding * 2) ) < module.cache.contextHeight);\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return $module.transition('is supported')\n              ? $module.transition('is animating')\n              : $module.is(':visible')\n            ;\n          },\n          scrolling: function() {\n            return $dimmable.hasClass(className.scrolling);\n          },\n          modernBrowser: function() {\n            // appName for IE11 reports 'Netscape' can no longer use\n            return !(window.ActiveXObject || \"ActiveXObject\" in window);\n          }\n        },\n\n        set: {\n          autofocus: function() {\n            var\n              $inputs    = $module.find(':input').filter(':visible'),\n              $autofocus = $inputs.filter('[autofocus]'),\n              $input     = ($autofocus.length > 0)\n                ? $autofocus.first()\n                : $inputs.first()\n            ;\n            if($input.length > 0) {\n              $input.focus();\n            }\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .on('click' + elementNamespace, module.event.click)\n              ;\n            }\n          },\n          screenHeight: function() {\n            if( module.can.fit() ) {\n              $body.css('height', '');\n            }\n            else {\n              module.debug('Modal is taller than page content, resizing page height');\n              $body\n                .css('height', module.cache.height + (settings.padding * 2) )\n              ;\n            }\n          },\n          active: function() {\n            $module.addClass(className.active);\n          },\n          scrolling: function() {\n            $dimmable.addClass(className.scrolling);\n            $module.addClass(className.scrolling);\n          },\n          type: function() {\n            if(module.can.fit()) {\n              module.verbose('Modal fits on screen');\n              if(!module.others.active() && !module.others.animating()) {\n                module.remove.scrolling();\n              }\n            }\n            else {\n              module.verbose('Modal cannot fit on screen setting to scrolling');\n              module.set.scrolling();\n            }\n          },\n          position: function() {\n            module.verbose('Centering modal on page', module.cache);\n            if(module.can.fit()) {\n              $module\n                .css({\n                  top: '',\n                  marginTop: -(module.cache.height / 2)\n                })\n              ;\n            }\n            else {\n              $module\n                .css({\n                  marginTop : '',\n                  top       : $document.scrollTop()\n                })\n              ;\n            }\n          },\n          undetached: function() {\n            $dimmable.addClass(className.undetached);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.modal.settings = {\n\n  name           : 'Modal',\n  namespace      : 'modal',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  observeChanges : false,\n\n  allowMultiple  : false,\n  detachable     : true,\n  closable       : true,\n  autofocus      : true,\n\n  inverted       : false,\n  blurring       : false,\n\n  dimmerSettings : {\n    closable : false,\n    useCSS   : true\n  },\n\n\n  context    : 'body',\n\n  queue      : false,\n  duration   : 500,\n  offset     : 0,\n  transition : 'scale',\n\n  // padding with edge of page\n  padding    : 50,\n\n  // called before show animation\n  onShow     : function(){},\n\n  // called after show animation\n  onVisible  : function(){},\n\n  // called before hide animation\n  onHide     : function(){ return true; },\n\n  // called after hide animation\n  onHidden   : function(){},\n\n  // called after approve selector match\n  onApprove  : function(){ return true; },\n\n  // called after deny selector match\n  onDeny     : function(){ return true; },\n\n  selector    : {\n    close    : '> .close',\n    approve  : '.actions .positive, .actions .approve, .actions .ok',\n    deny     : '.actions .negative, .actions .deny, .actions .cancel',\n    modal    : '.ui.modal'\n  },\n  error : {\n    dimmer    : 'UI Dimmer, a required component is not included in this page',\n    method    : 'The method you called is not defined.',\n    notFound  : 'The element you specified could not be found'\n  },\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    blurring   : 'blurring',\n    scrolling  : 'scrolling',\n    undetached : 'undetached'\n  }\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/nag.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Nag\n*******************************/\n\n.ui.nag {\n  display: none;\n  opacity: 0.95;\n  position: relative;\n  top: 0em;\n  left: 0px;\n  z-index: 999;\n  min-height: 0em;\n  width: 100%;\n  margin: 0em;\n  padding: 0.75em 1em;\n  background: #555555;\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);\n  font-size: 1rem;\n  text-align: center;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  -webkit-transition: 0.2s background ease;\n          transition: 0.2s background ease;\n}\na.ui.nag {\n  cursor: pointer;\n}\n.ui.nag > .title {\n  display: inline-block;\n  margin: 0em 0.5em;\n  color: #FFFFFF;\n}\n.ui.nag > .close.icon {\n  cursor: pointer;\n  opacity: 0.4;\n  position: absolute;\n  top: 50%;\n  right: 1em;\n  font-size: 1em;\n  margin: -0.5em 0em 0em;\n  color: #FFFFFF;\n  -webkit-transition: opacity 0.2s ease;\n          transition: opacity 0.2s ease;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/* Hover */\n.ui.nag:hover {\n  background: #555555;\n  opacity: 1;\n}\n.ui.nag .close:hover {\n  opacity: 1;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Static\n---------------*/\n\n.ui.overlay.nag {\n  position: absolute;\n  display: block;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.nag {\n  position: fixed;\n}\n\n/*--------------\n     Bottom\n---------------*/\n\n.ui.bottom.nags,\n.ui.bottom.nag {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  top: auto;\n  bottom: 0em;\n}\n\n/*--------------\n     White\n---------------*/\n\n.ui.inverted.nags .nag,\n.ui.inverted.nag {\n  background-color: #F3F4F5;\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.inverted.nags .nag .close,\n.ui.inverted.nags .nag .title,\n.ui.inverted.nag .close,\n.ui.inverted.nag .title {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n\n/*******************************\n           Groups\n*******************************/\n\n.ui.nags .nag {\n  border-radius: 0em !important;\n}\n.ui.nags .nag:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.bottom.nags .nag:last-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/nag.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.nag = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.nag.settings, parameters)\n          : $.extend({}, $.fn.nag.settings),\n\n        className       = settings.className,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        $close          = $module.find(selector.close),\n        $context        = (settings.context)\n          ? $(settings.context)\n          : $('body'),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        moduleOffset,\n        moduleHeight,\n\n        contextWidth,\n        contextHeight,\n        contextOffset,\n\n        yOffset,\n        yPosition,\n\n        timer,\n        module,\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); }\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing element');\n\n          $module\n            .on('click' + eventNamespace, selector.close, module.dismiss)\n            .data(moduleNamespace, module)\n          ;\n\n          if(settings.detachable && $module.parent()[0] !== $context[0]) {\n            $module\n              .detach()\n              .prependTo($context)\n            ;\n          }\n\n          if(settings.displayTime > 0) {\n            setTimeout(module.hide, settings.displayTime);\n          }\n          module.show();\n        },\n\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        show: function() {\n          if( module.should.show() && !$module.is(':visible') ) {\n            module.debug('Showing nag', settings.animation.show);\n            if(settings.animation.show == 'fade') {\n              $module\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            else {\n              $module\n                .slideDown(settings.duration, settings.easing)\n              ;\n            }\n          }\n        },\n\n        hide: function() {\n          module.debug('Showing nag', settings.animation.hide);\n          if(settings.animation.show == 'fade') {\n            $module\n              .fadeIn(settings.duration, settings.easing)\n            ;\n          }\n          else {\n            $module\n              .slideUp(settings.duration, settings.easing)\n            ;\n          }\n        },\n\n        onHide: function() {\n          module.debug('Removing nag', settings.animation.hide);\n          $module.remove();\n          if (settings.onHide) {\n            settings.onHide();\n          }\n        },\n\n        dismiss: function(event) {\n          if(settings.storageMethod) {\n            module.storage.set(settings.key, settings.value);\n          }\n          module.hide();\n          event.stopImmediatePropagation();\n          event.preventDefault();\n        },\n\n        should: {\n          show: function() {\n            if(settings.persist) {\n              module.debug('Persistent nag is set, can show nag');\n              return true;\n            }\n            if( module.storage.get(settings.key) != settings.value.toString() ) {\n              module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));\n              return true;\n            }\n            module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));\n            return false;\n          }\n        },\n\n        get: {\n          storageOptions: function() {\n            var\n              options = {}\n            ;\n            if(settings.expires) {\n              options.expires = settings.expires;\n            }\n            if(settings.domain) {\n              options.domain = settings.domain;\n            }\n            if(settings.path) {\n              options.path = settings.path;\n            }\n            return options;\n          }\n        },\n\n        clear: function() {\n          module.storage.remove(settings.key);\n        },\n\n        storage: {\n          set: function(key, value) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.setItem(key, value);\n              module.debug('Value stored using local storage', key, value);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.setItem(key, value);\n              module.debug('Value stored using session storage', key, value);\n            }\n            else if($.cookie !== undefined) {\n              $.cookie(key, value, options);\n              module.debug('Value stored using cookie', key, value, options);\n            }\n            else {\n              module.error(error.noCookieStorage);\n              return;\n            }\n          },\n          get: function(key, value) {\n            var\n              storedValue\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              storedValue = window.localStorage.getItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              storedValue = window.sessionStorage.getItem(key);\n            }\n            // get by cookie\n            else if($.cookie !== undefined) {\n              storedValue = $.cookie(key);\n            }\n            else {\n              module.error(error.noCookieStorage);\n            }\n            if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {\n              storedValue = undefined;\n            }\n            return storedValue;\n          },\n          remove: function(key) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.removeItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.removeItem(key);\n            }\n            // store by cookie\n            else if($.cookie !== undefined) {\n              $.removeCookie(key, options);\n            }\n            else {\n              module.error(error.noStorage);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.nag.settings = {\n\n  name        : 'Nag',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  namespace   : 'Nag',\n\n  // allows cookie to be overriden\n  persist     : false,\n\n  // set to zero to require manually dismissal, otherwise hides on its own\n  displayTime : 0,\n\n  animation   : {\n    show : 'slide',\n    hide : 'slide'\n  },\n\n  context       : false,\n  detachable    : false,\n\n  expires       : 30,\n  domain        : false,\n  path          : '/',\n\n  // type of storage to use\n  storageMethod : 'cookie',\n\n  // value to store in dismissed localstorage/cookie\n  key           : 'nag',\n  value         : 'dismiss',\n\n  error: {\n    noCookieStorage : '$.cookie is not included. A storage solution is required.',\n    noStorage       : 'Neither $.cookie or store is defined. A storage solution is required for storing state',\n    method          : 'The method you called is not defined.'\n  },\n\n  className     : {\n    bottom : 'bottom',\n    fixed  : 'fixed'\n  },\n\n  selector      : {\n    close : '.close.icon'\n  },\n\n  speed         : 500,\n  easing        : 'easeOutQuad',\n\n  onHide: function() {}\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/popup.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Popup\n*******************************/\n\n.ui.popup {\n  display: none;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  \n/* Fixes content being squished when inline (moz only) */\n  min-width: -webkit-min-content;\n  min-width: -moz-min-content;\n  min-width: min-content;\n  z-index: 1900;\n  border: 1px solid #D4D4D5;\n  line-height: 1.4285em;\n  max-width: 250px;\n  background: #FFFFFF;\n  padding: 0.833em 1em;\n  font-weight: normal;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n.ui.popup > .header {\n  padding: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.125em;\n  line-height: 1.2;\n  font-weight: bold;\n}\n.ui.popup > .header + .content {\n  padding-top: 0.5em;\n}\n.ui.popup:before {\n  position: absolute;\n  content: '';\n  width: 0.75em;\n  height: 0.75em;\n  background: #FFFFFF;\n  -webkit-transform: rotate(45deg);\n      -ms-transform: rotate(45deg);\n          transform: rotate(45deg);\n  z-index: 2;\n  box-shadow: 1px 1px 0px 0px #bababc;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Spacing\n---------------*/\n\n.ui.popup {\n  margin: 0em;\n}\n\n/* Extending from Top */\n.ui.top.popup {\n  margin: 0em 0em 0.75em;\n}\n.ui.top.left.popup {\n  -webkit-transform-origin: left bottom;\n      -ms-transform-origin: left bottom;\n          transform-origin: left bottom;\n}\n.ui.top.center.popup {\n  -webkit-transform-origin: center bottom;\n      -ms-transform-origin: center bottom;\n          transform-origin: center bottom;\n}\n.ui.top.right.popup {\n  -webkit-transform-origin: right bottom;\n      -ms-transform-origin: right bottom;\n          transform-origin: right bottom;\n}\n\n/* Extending from Vertical Center */\n.ui.left.center.popup {\n  margin: 0em 0.75em 0em 0em;\n  -webkit-transform-origin: right 50%;\n      -ms-transform-origin: right 50%;\n          transform-origin: right 50%;\n}\n.ui.right.center.popup {\n  margin: 0em 0em 0em 0.75em;\n  -webkit-transform-origin: left 50%;\n      -ms-transform-origin: left 50%;\n          transform-origin: left 50%;\n}\n\n/* Extending from Bottom */\n.ui.bottom.popup {\n  margin: 0.75em 0em 0em;\n}\n.ui.bottom.left.popup {\n  -webkit-transform-origin: left top;\n      -ms-transform-origin: left top;\n          transform-origin: left top;\n}\n.ui.bottom.center.popup {\n  -webkit-transform-origin: center top;\n      -ms-transform-origin: center top;\n          transform-origin: center top;\n}\n.ui.bottom.right.popup {\n  -webkit-transform-origin: right top;\n      -ms-transform-origin: right top;\n          transform-origin: right top;\n}\n\n/*--------------\n     Pointer\n---------------*/\n\n\n/*--- Below ---*/\n\n.ui.bottom.center.popup:before {\n  margin-left: -0.325em;\n  top: -0.325em;\n  left: 50%;\n  right: auto;\n  bottom: auto;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n.ui.bottom.left.popup {\n  margin-left: 0em;\n}\n/*rtl:rename*/\n.ui.bottom.left.popup:before {\n  top: -0.325em;\n  left: 1em;\n  right: auto;\n  bottom: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n.ui.bottom.right.popup {\n  margin-right: 0em;\n}\n/*rtl:rename*/\n.ui.bottom.right.popup:before {\n  top: -0.325em;\n  right: 1em;\n  bottom: auto;\n  left: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n/*--- Above ---*/\n\n.ui.top.center.popup:before {\n  top: auto;\n  right: auto;\n  bottom: -0.325em;\n  left: 50%;\n  margin-left: -0.325em;\n}\n.ui.top.left.popup {\n  margin-left: 0em;\n}\n/*rtl:rename*/\n.ui.top.left.popup:before {\n  bottom: -0.325em;\n  left: 1em;\n  top: auto;\n  right: auto;\n  margin-left: 0em;\n}\n.ui.top.right.popup {\n  margin-right: 0em;\n}\n/*rtl:rename*/\n.ui.top.right.popup:before {\n  bottom: -0.325em;\n  right: 1em;\n  top: auto;\n  left: auto;\n  margin-left: 0em;\n}\n\n/*--- Left Center ---*/\n\n/*rtl:rename*/\n.ui.left.center.popup:before {\n  top: 50%;\n  right: -0.325em;\n  bottom: auto;\n  left: auto;\n  margin-top: -0.325em;\n  box-shadow: 1px -1px 0px 0px #bababc;\n}\n\n/*--- Right Center  ---*/\n\n/*rtl:rename*/\n.ui.right.center.popup:before {\n  top: 50%;\n  left: -0.325em;\n  bottom: auto;\n  right: auto;\n  margin-top: -0.325em;\n  box-shadow: -1px 1px 0px 0px #bababc;\n}\n\n/* Arrow Color By Location */\n.ui.bottom.popup:before {\n  background: #FFFFFF;\n}\n.ui.right.center.popup:before,\n.ui.left.center.popup:before {\n  background: #FFFFFF;\n}\n.ui.top.popup:before {\n  background: #FFFFFF;\n}\n\n/* Inverted Arrow Color */\n.ui.inverted.bottom.popup:before {\n  background: #1B1C1D;\n}\n.ui.inverted.right.center.popup:before,\n.ui.inverted.left.center.popup:before {\n  background: #1B1C1D;\n}\n.ui.inverted.top.popup:before {\n  background: #1B1C1D;\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n\n/* Immediate Nested Grid */\n.ui.popup > .ui.grid:not(.padded) {\n  width: calc(100% + 1.75rem);\n  margin: -0.7rem -0.875rem;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n.ui.loading.popup {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n.ui.animating.popup,\n.ui.visible.popup {\n  display: block;\n}\n.ui.visible.popup {\n  -webkit-transform: translateZ(0px);\n          transform: translateZ(0px);\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n     Basic\n---------------*/\n\n.ui.basic.popup:before {\n  display: none;\n}\n\n/*--------------\n     Wide\n---------------*/\n\n.ui.wide.popup {\n  max-width: 350px;\n}\n.ui[class*=\"very wide\"].popup {\n  max-width: 550px;\n}\n@media only screen and (max-width: 767px) {\n  .ui.wide.popup,\n  .ui[class*=\"very wide\"].popup {\n    max-width: 250px;\n  }\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.popup {\n  width: 100%;\n  max-width: none;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n\n/* Inverted colors  */\n.ui.inverted.popup {\n  background: #1B1C1D;\n  color: #FFFFFF;\n  border: none;\n  box-shadow: none;\n}\n.ui.inverted.popup .header {\n  background-color: none;\n  color: #FFFFFF;\n}\n.ui.inverted.popup:before {\n  background-color: #1B1C1D;\n  box-shadow: none !important;\n}\n\n/*--------------\n     Flowing\n---------------*/\n\n.ui.flowing.popup {\n  max-width: none;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.popup {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.popup {\n  font-size: 0.85714286rem;\n}\n.ui.small.popup {\n  font-size: 0.92857143rem;\n}\n.ui.popup {\n  font-size: 1rem;\n}\n.ui.large.popup {\n  font-size: 1.14285714rem;\n}\n.ui.huge.popup {\n  font-size: 1.42857143rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/popup.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.popup = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n    $window        = $(window),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = (true),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.popup.settings, parameters)\n          : $.extend({}, $.fn.popup.settings),\n\n        selector           = settings.selector,\n        className          = settings.className,\n        error              = settings.error,\n        metadata           = settings.metadata,\n        namespace          = settings.namespace,\n\n        eventNamespace     = '.' + settings.namespace,\n        moduleNamespace    = 'module-' + namespace,\n\n        $module            = $(this),\n        $context           = $(settings.context),\n        $target            = (settings.target)\n          ? $(settings.target)\n          : $module,\n\n        $popup,\n        $offsetParent,\n\n        searchDepth        = 0,\n        triedPositions     = false,\n        openedWithTouch    = false,\n\n        element            = this,\n        instance           = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        module\n      ;\n\n      module = {\n\n        // binds events\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.createID();\n          module.bind.events();\n          if( !module.exists() && settings.preserve) {\n            module.create();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        refresh: function() {\n          if(settings.popup) {\n            $popup = $(settings.popup).eq(0);\n          }\n          else {\n            if(settings.inline) {\n              $popup = $target.nextAll(selector.popup).eq(0);\n              settings.popup = $popup;\n            }\n          }\n          if(settings.popup) {\n            $popup.addClass(className.loading);\n            $offsetParent = module.get.offsetParent();\n            $popup.removeClass(className.loading);\n            if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {\n              module.debug('Moving popup to the same offset parent as activating element');\n              $popup\n                .detach()\n                .appendTo($offsetParent)\n              ;\n            }\n          }\n          else {\n            $offsetParent = (settings.inline)\n              ? module.get.offsetParent($target)\n              : module.has.popup()\n                ? module.get.offsetParent($popup)\n                : $body\n            ;\n          }\n          if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) {\n            module.debug('Setting page as offset parent');\n            $offsetParent = $body;\n          }\n          if( module.get.variation() ) {\n            module.set.variation();\n          }\n        },\n\n        reposition: function() {\n          module.refresh();\n          module.set.position();\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous module');\n          // remove element only if was created dynamically\n          if($popup && !settings.preserve) {\n            module.removePopup();\n          }\n          // clear all timeouts\n          clearTimeout(module.hideTimer);\n          clearTimeout(module.showTimer);\n          // remove events\n          $window.off(elementNamespace);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        event: {\n          start:  function(event) {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.show\n                : settings.delay\n            ;\n            clearTimeout(module.hideTimer);\n            if(!openedWithTouch) {\n              module.showTimer = setTimeout(module.show, delay);\n            }\n          },\n          end:  function() {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.hide\n                : settings.delay\n            ;\n            clearTimeout(module.showTimer);\n            module.hideTimer = setTimeout(module.hide, delay);\n          },\n          touchstart: function(event) {\n            openedWithTouch = true;\n            module.show();\n          },\n          resize: function() {\n            if( module.is.visible() ) {\n              module.set.position();\n            }\n          },\n          hideGracefully: function(event) {\n            // don't close on clicks inside popup\n            if(event && $(event.target).closest(selector.popup).length === 0) {\n              module.debug('Click occurred outside popup hiding popup');\n              module.hide();\n            }\n            else {\n              module.debug('Click was inside popup, keeping popup open');\n            }\n          }\n        },\n\n        // generates popup html from metadata\n        create: function() {\n          var\n            html      = module.get.html(),\n            title     = module.get.title(),\n            content   = module.get.content()\n          ;\n\n          if(html || content || title) {\n            module.debug('Creating pop-up html');\n            if(!html) {\n              html = settings.templates.popup({\n                title   : title,\n                content : content\n              });\n            }\n            $popup = $('<div/>')\n              .addClass(className.popup)\n              .data(metadata.activator, $module)\n              .html(html)\n            ;\n            if(settings.inline) {\n              module.verbose('Inserting popup element inline', $popup);\n              $popup\n                .insertAfter($module)\n              ;\n            }\n            else {\n              module.verbose('Appending popup element to body', $popup);\n              $popup\n                .appendTo( $context )\n              ;\n            }\n            module.refresh();\n            module.set.variation();\n\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n            settings.onCreate.call($popup, element);\n          }\n          else if($target.next(selector.popup).length !== 0) {\n            module.verbose('Pre-existing popup found');\n            settings.inline = true;\n            settings.popups  = $target.next(selector.popup).data(metadata.activator, $module);\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else if(settings.popup) {\n            $(settings.popup).data(metadata.activator, $module);\n            module.verbose('Used popup specified in settings');\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else {\n            module.debug('No content specified skipping display', element);\n          }\n        },\n\n        createID: function() {\n          id = (Math.random().toString(16) + '000000000').substr(2,8);\n          elementNamespace = '.' + id;\n          module.verbose('Creating unique id for element', id);\n        },\n\n        // determines popup state\n        toggle: function() {\n          module.debug('Toggling pop-up');\n          if( module.is.hidden() ) {\n            module.debug('Popup is hidden, showing pop-up');\n            module.unbind.close();\n            module.show();\n          }\n          else {\n            module.debug('Popup is visible, hiding pop-up');\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = callback || function(){};\n          module.debug('Showing pop-up', settings.transition);\n          if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {\n            if( !module.exists() ) {\n              module.create();\n            }\n            if(settings.onShow.call($popup, element) === false) {\n              module.debug('onShow callback returned false, cancelling popup animation');\n              return;\n            }\n            else if(!settings.preserve && !settings.popup) {\n              module.refresh();\n            }\n            if( $popup && module.set.position() ) {\n              module.save.conditions();\n              if(settings.exclusive) {\n                module.hideAll();\n              }\n              module.animate.show(callback);\n            }\n          }\n        },\n\n\n        hide: function(callback) {\n          callback = callback || function(){};\n          if( module.is.visible() || module.is.animating() ) {\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            module.remove.visible();\n            module.unbind.close();\n            module.restore.conditions();\n            module.animate.hide(callback);\n          }\n        },\n\n        hideAll: function() {\n          $(selector.popup)\n            .filter('.' + className.visible)\n            .each(function() {\n              $(this)\n                .data(metadata.activator)\n                .popup('hide')\n              ;\n            })\n          ;\n        },\n        exists: function() {\n          if(!$popup) {\n            return false;\n          }\n          if(settings.inline || settings.popup) {\n            return ( module.has.popup() );\n          }\n          else {\n            return ( $popup.closest($context).length >= 1 )\n              ? true\n              : false\n            ;\n          }\n        },\n\n        removePopup: function() {\n          if( module.has.popup() && !settings.popup) {\n            module.debug('Removing popup', $popup);\n            $popup.remove();\n            $popup = undefined;\n            settings.onRemove.call($popup, element);\n          }\n        },\n\n        save: {\n          conditions: function() {\n            module.cache = {\n              title: $module.attr('title')\n            };\n            if (module.cache.title) {\n              $module.removeAttr('title');\n            }\n            module.verbose('Saving original attributes', module.cache.title);\n          }\n        },\n        restore: {\n          conditions: function() {\n            if(module.cache && module.cache.title) {\n              $module.attr('title', module.cache.title);\n              module.verbose('Restoring original attributes', module.cache.title);\n            }\n            return true;\n          }\n        },\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.set.visible();\n              $popup\n                .transition({\n                  animation  : settings.transition + ' in',\n                  queue      : false,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  onComplete : function() {\n                    module.bind.close();\n                    callback.call($popup, element);\n                    settings.onVisible.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            module.debug('Hiding pop-up');\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              $popup\n                .transition({\n                  animation  : settings.transition + ' out',\n                  queue      : false,\n                  duration   : settings.duration,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  onComplete : function() {\n                    module.reset();\n                    callback.call($popup, element);\n                    settings.onHidden.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        change: {\n          content: function(html) {\n            $popup.html(html);\n          }\n        },\n\n        get: {\n          html: function() {\n            $module.removeData(metadata.html);\n            return $module.data(metadata.html) || settings.html;\n          },\n          title: function() {\n            $module.removeData(metadata.title);\n            return $module.data(metadata.title) || settings.title;\n          },\n          content: function() {\n            $module.removeData(metadata.content);\n            return $module.data(metadata.content) || $module.attr('title') || settings.content;\n          },\n          variation: function() {\n            $module.removeData(metadata.variation);\n            return $module.data(metadata.variation) || settings.variation;\n          },\n          popup: function() {\n            return $popup;\n          },\n          popupOffset: function() {\n            return $popup.offset();\n          },\n          calculations: function() {\n            var\n              targetElement  = $target[0],\n              targetPosition = (settings.inline || (settings.popup && settings.movePopup))\n                ? $target.position()\n                : $target.offset(),\n              calculations = {},\n              screen\n            ;\n            calculations = {\n              // element which is launching popup\n              target : {\n                element : $target[0],\n                width   : $target.outerWidth(),\n                height  : $target.outerHeight(),\n                top     : targetPosition.top,\n                left    : targetPosition.left,\n                margin  : {}\n              },\n              // popup itself\n              popup : {\n                width  : $popup.outerWidth(),\n                height : $popup.outerHeight()\n              },\n              // offset container (or 3d context)\n              parent : {\n                width  : $offsetParent.outerWidth(),\n                height : $offsetParent.outerHeight()\n              },\n              // screen boundaries\n              screen : {\n                scroll: {\n                  top  : $window.scrollTop(),\n                  left : $window.scrollLeft()\n                },\n                width  : $window.width(),\n                height : $window.height()\n              }\n            };\n\n            // add in container calcs if fluid\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              calculations.container = {\n                width: $popup.parent().outerWidth()\n              };\n              calculations.popup.width = calculations.container.width;\n            }\n\n            // add in margins if inline\n            calculations.target.margin.top = (settings.inline)\n              ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)\n              : 0\n            ;\n            calculations.target.margin.left = (settings.inline)\n              ? module.is.rtl()\n                ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)\n                : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left') , 10)\n              : 0\n            ;\n            // calculate screen boundaries\n            screen = calculations.screen;\n            calculations.boundary = {\n              top    : screen.scroll.top,\n              bottom : screen.scroll.top + screen.height,\n              left   : screen.scroll.left,\n              right  : screen.scroll.left + screen.width\n            };\n            return calculations;\n          },\n          id: function() {\n            return id;\n          },\n          startEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseenter';\n            }\n            else if(settings.on == 'focus') {\n              return 'focus';\n            }\n            return false;\n          },\n          scrollEvent: function() {\n            return 'scroll';\n          },\n          endEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseleave';\n            }\n            else if(settings.on == 'focus') {\n              return 'blur';\n            }\n            return false;\n          },\n          distanceFromBoundary: function(offset, calculations) {\n            var\n              distanceFromBoundary = {},\n              popup,\n              boundary\n            ;\n            offset       = offset       || module.get.offset();\n            calculations = calculations || module.get.calculations();\n\n            // shorthand\n            popup        = calculations.popup;\n            boundary     = calculations.boundary;\n\n            if(offset) {\n              distanceFromBoundary = {\n                top    : (offset.top - boundary.top),\n                left   : (offset.left - boundary.left),\n                right  : (boundary.right - (offset.left + popup.width) ),\n                bottom : (boundary.bottom - (offset.top + popup.height) )\n              };\n              module.verbose('Distance from boundaries determined', offset, distanceFromBoundary);\n            }\n            return distanceFromBoundary;\n          },\n          offsetParent: function($target) {\n            var\n              element = ($target !== undefined)\n                ? $target[0]\n                : $module[0],\n              parentNode = element.parentNode,\n              $node    = $(parentNode)\n            ;\n            if(parentNode) {\n              var\n                is2D     = ($node.css('transform') === 'none'),\n                isStatic = ($node.css('position') === 'static'),\n                isHTML   = $node.is('html')\n              ;\n              while(parentNode && !isHTML && isStatic && is2D) {\n                parentNode = parentNode.parentNode;\n                $node    = $(parentNode);\n                is2D     = ($node.css('transform') === 'none');\n                isStatic = ($node.css('position') === 'static');\n                isHTML   = $node.is('html');\n              }\n            }\n            return ($node && $node.length > 0)\n              ? $node\n              : $()\n            ;\n          },\n          positions: function() {\n            return {\n              'top left'      : false,\n              'top center'    : false,\n              'top right'     : false,\n              'bottom left'   : false,\n              'bottom center' : false,\n              'bottom right'  : false,\n              'left center'   : false,\n              'right center'  : false\n            };\n          },\n          nextPosition: function(position) {\n            var\n              positions          = position.split(' '),\n              verticalPosition   = positions[0],\n              horizontalPosition = positions[1],\n              opposite = {\n                top    : 'bottom',\n                bottom : 'top',\n                left   : 'right',\n                right  : 'left'\n              },\n              adjacent = {\n                left   : 'center',\n                center : 'right',\n                right  : 'left'\n              },\n              backup = {\n                'top left'      : 'top center',\n                'top center'    : 'top right',\n                'top right'     : 'right center',\n                'right center'  : 'bottom right',\n                'bottom right'  : 'bottom center',\n                'bottom center' : 'bottom left',\n                'bottom left'   : 'left center',\n                'left center'   : 'top left'\n              },\n              adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'),\n              oppositeTried = false,\n              adjacentTried = false,\n              nextPosition  = false\n            ;\n            if(!triedPositions) {\n              module.verbose('All available positions available');\n              triedPositions = module.get.positions();\n            }\n\n            module.debug('Recording last position tried', position);\n            triedPositions[position] = true;\n\n            if(settings.prefer === 'opposite') {\n              nextPosition  = [opposite[verticalPosition], horizontalPosition];\n              nextPosition  = nextPosition.join(' ');\n              oppositeTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying opposite strategy', nextPosition);\n            }\n            if((settings.prefer === 'adjacent') && adjacentsAvailable ) {\n              nextPosition  = [verticalPosition, adjacent[horizontalPosition]];\n              nextPosition  = nextPosition.join(' ');\n              adjacentTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying adjacent strategy', nextPosition);\n            }\n            if(adjacentTried || oppositeTried) {\n              module.debug('Using backup position', nextPosition);\n              nextPosition = backup[position];\n            }\n            return nextPosition;\n          }\n        },\n\n        set: {\n          position: function(position, calculations) {\n\n            // exit conditions\n            if($target.length === 0 || $popup.length === 0) {\n              module.error(error.notFound);\n              return;\n            }\n            var\n              offset,\n              distanceAway,\n              target,\n              popup,\n              parent,\n              positioning,\n              popupOffset,\n              distanceFromBoundary\n            ;\n\n            calculations = calculations || module.get.calculations();\n            position     = position     || $module.data(metadata.position) || settings.position;\n\n            offset       = $module.data(metadata.offset) || settings.offset;\n            distanceAway = settings.distanceAway;\n\n            // shorthand\n            target = calculations.target;\n            popup  = calculations.popup;\n            parent = calculations.parent;\n\n            if(target.width === 0 && target.height === 0 && !(target.element instanceof SVGGraphicsElement)) {\n              module.debug('Popup target is hidden, no action taken');\n              return false;\n            }\n\n            if(settings.inline) {\n              module.debug('Adding margin to calculation', target.margin);\n              if(position == 'left center' || position == 'right center') {\n                offset       +=  target.margin.top;\n                distanceAway += -target.margin.left;\n              }\n              else if (position == 'top left' || position == 'top center' || position == 'top right') {\n                offset       += target.margin.left;\n                distanceAway -= target.margin.top;\n              }\n              else {\n                offset       += target.margin.left;\n                distanceAway += target.margin.top;\n              }\n            }\n\n            module.debug('Determining popup position from calculations', position, calculations);\n\n            if (module.is.rtl()) {\n              position = position.replace(/left|right/g, function (match) {\n                return (match == 'left')\n                  ? 'right'\n                  : 'left'\n                ;\n              });\n              module.debug('RTL: Popup position updated', position);\n            }\n\n            // if last attempt use specified last resort position\n            if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') {\n              position = settings.lastResort;\n            }\n\n            switch (position) {\n              case 'top left':\n                positioning = {\n                  top    : 'auto',\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + offset,\n                  right  : 'auto'\n                };\n              break;\n              case 'top center':\n                positioning = {\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  top    : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'top right':\n                positioning = {\n                  bottom :  parent.height - target.top + distanceAway,\n                  right  :  parent.width - target.left - target.width - offset,\n                  top    : 'auto',\n                  left   : 'auto'\n                };\n              break;\n              case 'left center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  right  : parent.width - target.left + distanceAway,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n              case 'right center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  left   : target.left + target.width + distanceAway,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom left':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom center':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom right':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  right  : parent.width - target.left  - target.width - offset,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n            }\n            if(positioning === undefined) {\n              module.error(error.invalidPosition, position);\n            }\n\n            module.debug('Calculated popup positioning values', positioning);\n\n            // tentatively place on stage\n            $popup\n              .css(positioning)\n              .removeClass(className.position)\n              .addClass(position)\n              .addClass(className.loading)\n            ;\n\n            popupOffset = module.get.popupOffset();\n\n            // see if any boundaries are surpassed with this tentative position\n            distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);\n\n            if( module.is.offstage(distanceFromBoundary, position) ) {\n              module.debug('Position is outside viewport', position);\n              if(searchDepth < settings.maxSearchDepth) {\n                searchDepth++;\n                position = module.get.nextPosition(position);\n                module.debug('Trying new position', position);\n                return ($popup)\n                  ? module.set.position(position, calculations)\n                  : false\n                ;\n              }\n              else {\n                if(settings.lastResort) {\n                  module.debug('No position found, showing with last position');\n                }\n                else {\n                  module.debug('Popup could not find a position to display', $popup);\n                  module.error(error.cannotPlace, element);\n                  module.remove.attempts();\n                  module.remove.loading();\n                  module.reset();\n                  return false;\n                }\n              }\n            }\n            module.debug('Position is on stage', position);\n            module.remove.attempts();\n            module.remove.loading();\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              module.set.fluidWidth(calculations);\n            }\n            return true;\n          },\n\n          fluidWidth: function(calculations) {\n            calculations = calculations || module.get.calculations();\n            module.debug('Automatically setting element width to parent width', calculations.parent.width);\n            $popup.css('width', calculations.container.width);\n          },\n\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation && module.has.popup() ) {\n              module.verbose('Adding variation to popup', variation);\n              $popup.addClass(variation);\n            }\n          },\n\n          visible: function() {\n            $module.addClass(className.visible);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $popup.removeClass(className.loading);\n          },\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation) {\n              module.verbose('Removing variation', variation);\n              $popup.removeClass(variation);\n            }\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          attempts: function() {\n            module.verbose('Resetting all searched positions');\n            searchDepth    = 0;\n            triedPositions = false;\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding popup events to module');\n            if(settings.on == 'click') {\n              $module\n                .on('click' + eventNamespace, module.toggle)\n              ;\n            }\n            if(settings.on == 'hover' && hasTouch) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.touchstart)\n              ;\n            }\n            if( module.get.startEvent() ) {\n              $module\n                .on(module.get.startEvent() + eventNamespace, module.event.start)\n                .on(module.get.endEvent() + eventNamespace, module.event.end)\n              ;\n            }\n            if(settings.target) {\n              module.debug('Target set to element', $target);\n            }\n            $window.on('resize' + elementNamespace, module.event.resize);\n          },\n          popup: function() {\n            module.verbose('Allowing hover events on popup to prevent closing');\n            if( $popup && module.has.popup() ) {\n              $popup\n                .on('mouseenter' + eventNamespace, module.event.start)\n                .on('mouseleave' + eventNamespace, module.event.end)\n              ;\n            }\n          },\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click'))   {\n              $document\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n              $context\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('touchstart' + elementNamespace, function(event) {\n                  module.verbose('Touched away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('click' + elementNamespace, function(event) {\n                  module.verbose('Clicked away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {\n              $document\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n              $context\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n              ;\n              openedWithTouch = false;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Removing close event from document');\n              $document\n                .off('click' + elementNamespace)\n              ;\n            }\n          }\n        },\n\n        has: {\n          popup: function() {\n            return ($popup && $popup.length > 0);\n          }\n        },\n\n        is: {\n          offstage: function(distanceFromBoundary, position) {\n            var\n              offstage = []\n            ;\n            // return boundaries that have been surpassed\n            $.each(distanceFromBoundary, function(direction, distance) {\n              if(distance < -settings.jitter) {\n                module.debug('Position exceeds allowable distance from edge', direction, distance, position);\n                offstage.push(direction);\n              }\n            });\n            if(offstage.length > 0) {\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $popup && $popup.hasClass(className.animating) );\n          },\n          fluid: function() {\n            return ( $popup && $popup.hasClass(className.fluid));\n          },\n          visible: function() {\n            return $popup && $popup.hasClass(className.visible);\n          },\n          dropdown: function() {\n            return $module.hasClass(className.dropdown);\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          rtl: function () {\n            return $module.css('direction') == 'rtl';\n          }\n        },\n\n        reset: function() {\n          module.remove.visible();\n          if(settings.preserve) {\n            if($.fn.transition !== undefined) {\n              $popup\n                .transition('remove transition')\n              ;\n            }\n          }\n          else {\n            module.removePopup();\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.popup.settings = {\n\n  name         : 'Popup',\n\n  // module settings\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n  namespace    : 'popup',\n\n  // callback only when element added to dom\n  onCreate     : function(){},\n\n  // callback before element removed from dom\n  onRemove     : function(){},\n\n  // callback before show animation\n  onShow       : function(){},\n\n  // callback after show animation\n  onVisible    : function(){},\n\n  // callback before hide animation\n  onHide       : function(){},\n\n  // callback after hide animation\n  onHidden     : function(){},\n\n  // when to show popup\n  on           : 'hover',\n\n  // whether to add touchstart events when using hover\n  addTouchEvents : true,\n\n  // default position relative to element\n  position     : 'top left',\n\n  // name of variation to use\n  variation    : '',\n\n  // whether popup should be moved to context\n  movePopup      : true,\n\n  // element which popup should be relative to\n  target         : false,\n\n  // jq selector or element that should be used as popup\n  popup          : false,\n\n  // popup should remain inline next to activator\n  inline         : false,\n\n  // popup should be removed from page on hide\n  preserve       : false,\n\n  // popup should not close when being hovered on\n  hoverable      : false,\n\n  // explicitly set content\n  content      : false,\n\n  // explicitly set html\n  html         : false,\n\n  // explicitly set title\n  title        : false,\n\n  // whether automatically close on clickaway when on click\n  closable     : true,\n\n  // automatically hide on scroll\n  hideOnScroll : 'auto',\n\n  // hide other popups on show\n  exclusive    : false,\n\n  // context to attach popups\n  context      : 'body',\n\n  // position to prefer when calculating new position\n  prefer       : 'opposite',\n\n  // specify position to appear even if it doesn't fit\n  lastResort   : false,\n\n  // delay used to prevent accidental refiring of animations due to user error\n  delay        : {\n    show : 50,\n    hide : 70\n  },\n\n  // whether fluid variation should assign width explicitly\n  setFluidWidth  : true,\n\n  // transition settings\n  duration       : 200,\n  transition     : 'scale',\n\n  // distance away from activating element in px\n  distanceAway   : 0,\n\n  // number of pixels an element is allowed to be \"offstage\" for a position to be chosen (allows for rounding)\n  jitter         : 2,\n\n  // offset on aligning axis from calculated position\n  offset         : 0,\n\n  // maximum times to look for a position before failing (9 positions total)\n  maxSearchDepth : 15,\n\n  error: {\n    invalidPosition : 'The position you specified is not a valid position',\n    cannotPlace     : 'Popup does not fit within the boundaries of the viewport',\n    method          : 'The method you called is not defined.',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',\n    notFound        : 'The target or popup you specified does not exist on the page'\n  },\n\n  metadata: {\n    activator : 'activator',\n    content   : 'content',\n    html      : 'html',\n    offset    : 'offset',\n    position  : 'position',\n    title     : 'title',\n    variation : 'variation'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating',\n    dropdown  : 'dropdown',\n    fluid     : 'fluid',\n    loading   : 'loading',\n    popup     : 'ui popup',\n    position  : 'top left center bottom right',\n    visible   : 'visible'\n  },\n\n  selector    : {\n    popup    : '.ui.popup'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    popup: function(text) {\n      var\n        html   = '',\n        escape = $.fn.popup.settings.templates.escape\n      ;\n      if(typeof text !== undefined) {\n        if(typeof text.title !== undefined && text.title) {\n          text.title = escape(text.title);\n          html += '<div class=\"header\">' + text.title + '</div>';\n        }\n        if(typeof text.content !== undefined && text.content) {\n          text.content = escape(text.content);\n          html += '<div class=\"content\">' + text.content + '</div>';\n        }\n      }\n      return html;\n    }\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/progress.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Progress Bar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Progress\n*******************************/\n\n.ui.progress {\n  position: relative;\n  display: block;\n  max-width: 100%;\n  border: none;\n  margin: 1em 0em 2.5em;\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.1);\n  padding: 0em;\n  border-radius: 0.28571429rem;\n}\n.ui.progress:first-child {\n  margin: 0em 0em 2.5em;\n}\n.ui.progress:last-child {\n  margin: 0em 0em 1.5em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* Activity Bar */\n.ui.progress .bar {\n  display: block;\n  line-height: 1;\n  position: relative;\n  width: 0%;\n  min-width: 2em;\n  background: #888888;\n  border-radius: 0.28571429rem;\n  -webkit-transition: width 0.1s ease, background-color 0.1s ease;\n          transition: width 0.1s ease, background-color 0.1s ease;\n}\n\n/* Percent Complete */\n.ui.progress .bar > .progress {\n  white-space: nowrap;\n  position: absolute;\n  width: auto;\n  font-size: 0.92857143em;\n  top: 50%;\n  right: 0.5em;\n  left: auto;\n  bottom: auto;\n  color: rgba(255, 255, 255, 0.7);\n  text-shadow: none;\n  margin-top: -0.5em;\n  font-weight: bold;\n  text-align: left;\n}\n\n/* Label */\n.ui.progress > .label {\n  position: absolute;\n  width: 100%;\n  font-size: 1em;\n  top: 100%;\n  right: auto;\n  left: 0%;\n  bottom: auto;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-shadow: none;\n  margin-top: 0.2em;\n  text-align: center;\n  -webkit-transition: color 0.4s ease;\n          transition: color 0.4s ease;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/* Indicating */\n.ui.indicating.progress[data-percent^=\"1\"] .bar,\n.ui.indicating.progress[data-percent^=\"2\"] .bar {\n  background-color: #D95C5C;\n}\n.ui.indicating.progress[data-percent^=\"3\"] .bar {\n  background-color: #EFBC72;\n}\n.ui.indicating.progress[data-percent^=\"4\"] .bar,\n.ui.indicating.progress[data-percent^=\"5\"] .bar {\n  background-color: #E6BB48;\n}\n.ui.indicating.progress[data-percent^=\"6\"] .bar {\n  background-color: #DDC928;\n}\n.ui.indicating.progress[data-percent^=\"7\"] .bar,\n.ui.indicating.progress[data-percent^=\"8\"] .bar {\n  background-color: #B4D95C;\n}\n.ui.indicating.progress[data-percent^=\"9\"] .bar,\n.ui.indicating.progress[data-percent^=\"100\"] .bar {\n  background-color: #66DA81;\n}\n\n/* Indicating Label */\n.ui.indicating.progress[data-percent^=\"1\"] .label,\n.ui.indicating.progress[data-percent^=\"2\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"3\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"4\"] .label,\n.ui.indicating.progress[data-percent^=\"5\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"6\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"7\"] .label,\n.ui.indicating.progress[data-percent^=\"8\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.indicating.progress[data-percent^=\"9\"] .label,\n.ui.indicating.progress[data-percent^=\"100\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Single Digits */\n.ui.indicating.progress[data-percent=\"1\"] .bar,\n.ui.indicating.progress[data-percent=\"2\"] .bar,\n.ui.indicating.progress[data-percent=\"3\"] .bar,\n.ui.indicating.progress[data-percent=\"4\"] .bar,\n.ui.indicating.progress[data-percent=\"5\"] .bar,\n.ui.indicating.progress[data-percent=\"6\"] .bar,\n.ui.indicating.progress[data-percent=\"7\"] .bar,\n.ui.indicating.progress[data-percent=\"8\"] .bar,\n.ui.indicating.progress[data-percent=\"9\"] .bar {\n  background-color: #D95C5C;\n}\n.ui.indicating.progress[data-percent=\"1\"] .label,\n.ui.indicating.progress[data-percent=\"2\"] .label,\n.ui.indicating.progress[data-percent=\"3\"] .label,\n.ui.indicating.progress[data-percent=\"4\"] .label,\n.ui.indicating.progress[data-percent=\"5\"] .label,\n.ui.indicating.progress[data-percent=\"6\"] .label,\n.ui.indicating.progress[data-percent=\"7\"] .label,\n.ui.indicating.progress[data-percent=\"8\"] .label,\n.ui.indicating.progress[data-percent=\"9\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Indicating Success */\n.ui.indicating.progress.success .label {\n  color: #1A531B;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n     Success\n---------------*/\n\n.ui.progress.success .bar {\n  background-color: #21BA45 !important;\n}\n.ui.progress.success .bar,\n.ui.progress.success .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n.ui.progress.success > .label {\n  color: #1A531B;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.progress.warning .bar {\n  background-color: #F2C037 !important;\n}\n.ui.progress.warning .bar,\n.ui.progress.warning .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n.ui.progress.warning > .label {\n  color: #794B02;\n}\n\n/*--------------\n     Error\n---------------*/\n\n.ui.progress.error .bar {\n  background-color: #DB2828 !important;\n}\n.ui.progress.error .bar,\n.ui.progress.error .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n.ui.progress.error > .label {\n  color: #912D2B;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.progress .bar {\n  position: relative;\n  min-width: 2em;\n}\n.ui.active.progress .bar::after {\n  content: '';\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  right: 0px;\n  bottom: 0px;\n  background: #FFFFFF;\n  border-radius: 0.28571429rem;\n  -webkit-animation: progress-active 2s ease infinite;\n          animation: progress-active 2s ease infinite;\n}\n@-webkit-keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n@keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.progress {\n  opacity: 0.35;\n}\n.ui.disabled.progress .bar,\n.ui.disabled.progress .bar::after {\n  -webkit-animation: none !important;\n          animation: none !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.progress {\n  background: rgba(255, 255, 255, 0.08);\n  border: none;\n}\n.ui.inverted.progress .bar {\n  background: #888888;\n}\n.ui.inverted.progress .bar > .progress {\n  color: #F9FAFB;\n}\n.ui.inverted.progress > .label {\n  color: #FFFFFF;\n}\n.ui.inverted.progress.success > .label {\n  color: #21BA45;\n}\n.ui.inverted.progress.warning > .label {\n  color: #F2C037;\n}\n.ui.inverted.progress.error > .label {\n  color: #DB2828;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n\n/* bottom attached */\n.ui.progress.attached {\n  background: transparent;\n  position: relative;\n  border: none;\n  margin: 0em;\n}\n.ui.progress.attached,\n.ui.progress.attached .bar {\n  display: block;\n  height: 0.2rem;\n  padding: 0px;\n  overflow: hidden;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.progress.attached .bar {\n  border-radius: 0em;\n}\n\n/* top attached */\n.ui.progress.top.attached,\n.ui.progress.top.attached .bar {\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.progress.top.attached .bar {\n  border-radius: 0em;\n}\n\n/* Coupling */\n.ui.segment > .ui.attached.progress,\n.ui.card > .ui.attached.progress {\n  position: absolute;\n  top: auto;\n  left: 0;\n  bottom: 100%;\n  width: 100%;\n}\n.ui.segment > .ui.bottom.attached.progress,\n.ui.card > .ui.bottom.attached.progress {\n  top: 100%;\n  bottom: auto;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n\n/* Red */\n.ui.red.progress .bar {\n  background-color: #DB2828;\n}\n.ui.red.inverted.progress .bar {\n  background-color: #FF695E;\n}\n\n/* Orange */\n.ui.orange.progress .bar {\n  background-color: #F2711C;\n}\n.ui.orange.inverted.progress .bar {\n  background-color: #FF851B;\n}\n\n/* Yellow */\n.ui.yellow.progress .bar {\n  background-color: #FBBD08;\n}\n.ui.yellow.inverted.progress .bar {\n  background-color: #FFE21F;\n}\n\n/* Olive */\n.ui.olive.progress .bar {\n  background-color: #B5CC18;\n}\n.ui.olive.inverted.progress .bar {\n  background-color: #D9E778;\n}\n\n/* Green */\n.ui.green.progress .bar {\n  background-color: #21BA45;\n}\n.ui.green.inverted.progress .bar {\n  background-color: #2ECC40;\n}\n\n/* Teal */\n.ui.teal.progress .bar {\n  background-color: #00B5AD;\n}\n.ui.teal.inverted.progress .bar {\n  background-color: #6DFFFF;\n}\n\n/* Blue */\n.ui.blue.progress .bar {\n  background-color: #2185D0;\n}\n.ui.blue.inverted.progress .bar {\n  background-color: #54C8FF;\n}\n\n/* Violet */\n.ui.violet.progress .bar {\n  background-color: #6435C9;\n}\n.ui.violet.inverted.progress .bar {\n  background-color: #A291FB;\n}\n\n/* Purple */\n.ui.purple.progress .bar {\n  background-color: #A333C8;\n}\n.ui.purple.inverted.progress .bar {\n  background-color: #DC73FF;\n}\n\n/* Pink */\n.ui.pink.progress .bar {\n  background-color: #E03997;\n}\n.ui.pink.inverted.progress .bar {\n  background-color: #FF8EDF;\n}\n\n/* Brown */\n.ui.brown.progress .bar {\n  background-color: #A5673F;\n}\n.ui.brown.inverted.progress .bar {\n  background-color: #D67C1C;\n}\n\n/* Grey */\n.ui.grey.progress .bar {\n  background-color: #767676;\n}\n.ui.grey.inverted.progress .bar {\n  background-color: #DCDDDE;\n}\n\n/* Black */\n.ui.black.progress .bar {\n  background-color: #1B1C1D;\n}\n.ui.black.inverted.progress .bar {\n  background-color: #545454;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.tiny.progress {\n  font-size: 0.85714286rem;\n}\n.ui.tiny.progress .bar {\n  height: 0.5em;\n}\n.ui.small.progress {\n  font-size: 0.92857143rem;\n}\n.ui.small.progress .bar {\n  height: 1em;\n}\n.ui.progress {\n  font-size: 1rem;\n}\n.ui.progress .bar {\n  height: 1.75em;\n}\n.ui.large.progress {\n  font-size: 1.14285714rem;\n}\n.ui.large.progress .bar {\n  height: 2.5em;\n}\n.ui.big.progress {\n  font-size: 1.28571429rem;\n}\n.ui.big.progress .bar {\n  height: 3.5em;\n}\n\n\n/*******************************\n            Progress\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/progress.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Progress\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.progress = function(parameters) {\n  var\n    $allModules    = $(this),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.progress.settings, parameters)\n          : $.extend({}, $.fn.progress.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $bar            = $(this).find(selector.bar),\n        $progress       = $(this).find(selector.progress),\n        $label          = $(this).find(selector.label),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        animating = false,\n        transitionEnd,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing progress bar', settings);\n\n          module.set.duration();\n          module.set.transitionEvent();\n\n          module.read.metadata();\n          module.read.settings();\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of progress', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying previous progress for', $module);\n          clearInterval(instance.interval);\n          module.remove.state();\n          $module.removeData(moduleNamespace);\n          instance = undefined;\n        },\n\n        reset: function() {\n          module.set.percent(0);\n          module.set.value(0);\n        },\n\n        complete: function() {\n          if(module.percent === undefined || module.percent < 100) {\n            module.set.percent(100);\n          }\n        },\n\n        read: {\n          metadata: function() {\n            var\n              data = {\n                percent : $module.data(metadata.percent),\n                total   : $module.data(metadata.total),\n                value   : $module.data(metadata.value)\n              }\n            ;\n            if(data.percent) {\n              module.debug('Current percent value set from metadata', data.percent);\n              module.set.percent(data.percent);\n            }\n            if(data.total) {\n              module.debug('Total value set from metadata', data.total);\n              module.set.total(data.total);\n            }\n            if(data.value) {\n              module.debug('Current value set from metadata', data.value);\n              module.set.value(data.value);\n              module.set.progress(data.value);\n            }\n          },\n          settings: function() {\n            if(settings.total !== false) {\n              module.debug('Current total set in settings', settings.total);\n              module.set.total(settings.total);\n            }\n            if(settings.value !== false) {\n              module.debug('Current value set in settings', settings.value);\n              module.set.value(settings.value);\n              module.set.progress(module.value);\n            }\n            if(settings.percent !== false) {\n              module.debug('Current percent set in settings', settings.percent);\n              module.set.percent(settings.percent);\n            }\n          }\n        },\n\n        increment: function(incrementValue) {\n          var\n            maxValue,\n            startValue,\n            newValue\n          ;\n          if( module.has.total() ) {\n            startValue     = module.get.value();\n            incrementValue = incrementValue || 1;\n\n            newValue       = startValue + incrementValue;\n            maxValue       = module.get.total();\n\n            module.debug('Incrementing value', startValue, newValue, maxValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above total', maxValue);\n              newValue = maxValue;\n            }\n          }\n          else {\n            startValue     = module.get.percent();\n            incrementValue = incrementValue || module.get.randomValue();\n\n            newValue       = startValue + incrementValue;\n            maxValue       = 100;\n\n            module.debug('Incrementing percentage by', startValue, newValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above 100 percent');\n              newValue = maxValue;\n            }\n          }\n          module.set.progress(newValue);\n        },\n        decrement: function(decrementValue) {\n          var\n            total     = module.get.total(),\n            startValue,\n            newValue\n          ;\n          if(total) {\n            startValue     =  module.get.value();\n            decrementValue =  decrementValue || 1;\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing value by', decrementValue, startValue);\n          }\n          else {\n            startValue     =  module.get.percent();\n            decrementValue =  decrementValue || module.get.randomValue();\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing percentage by', decrementValue, startValue);\n          }\n\n          if(newValue < 0) {\n            module.debug('Value cannot decrement below 0');\n            newValue = 0;\n          }\n          module.set.progress(newValue);\n        },\n\n        has: {\n          total: function() {\n            return (module.get.total() !== false);\n          }\n        },\n\n        get: {\n          text: function(templateText) {\n            var\n              value   = module.value                || 0,\n              total   = module.total                || 0,\n              percent = (animating)\n                ? module.get.displayPercent()\n                : module.percent || 0,\n              left = (module.total > 0)\n                ? (total - value)\n                : (100 - percent)\n            ;\n            templateText = templateText || '';\n            templateText = templateText\n              .replace('{value}', value)\n              .replace('{total}', total)\n              .replace('{left}', left)\n              .replace('{percent}', percent)\n            ;\n            module.debug('Adding variables to progress bar text', templateText);\n            return templateText;\n          },\n\n\n          randomValue: function() {\n            module.debug('Generating random increment percentage');\n            return Math.floor((Math.random() * settings.random.max) + settings.random.min);\n          },\n\n          numericValue: function(value) {\n            return (typeof value === 'string')\n              ? (value.replace(/[^\\d.]/g, '') !== '')\n                ? +(value.replace(/[^\\d.]/g, ''))\n                : false\n              : value\n            ;\n          },\n\n          transitionEnd: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          // gets current displayed percentage (if animating values this is the intermediary value)\n          displayPercent: function() {\n            var\n              barWidth       = $bar.width(),\n              totalWidth     = $module.width(),\n              minDisplay     = parseInt($bar.css('min-width'), 10),\n              displayPercent = (barWidth > minDisplay)\n                ? (barWidth / totalWidth * 100)\n                : module.percent\n            ;\n            return (settings.precision > 0)\n              ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(displayPercent)\n            ;\n          },\n\n          percent: function() {\n            return module.percent || 0;\n          },\n          value: function() {\n            return module.value || 0;\n          },\n          total: function() {\n            return module.total || false;\n          }\n        },\n\n        is: {\n          success: function() {\n            return $module.hasClass(className.success);\n          },\n          warning: function() {\n            return $module.hasClass(className.warning);\n          },\n          error: function() {\n            return $module.hasClass(className.error);\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          visible: function() {\n            return $module.is(':visible');\n          }\n        },\n\n        remove: {\n          state: function() {\n            module.verbose('Removing stored state');\n            delete module.total;\n            delete module.percent;\n            delete module.value;\n          },\n          active: function() {\n            module.verbose('Removing active state');\n            $module.removeClass(className.active);\n          },\n          success: function() {\n            module.verbose('Removing success state');\n            $module.removeClass(className.success);\n          },\n          warning: function() {\n            module.verbose('Removing warning state');\n            $module.removeClass(className.warning);\n          },\n          error: function() {\n            module.verbose('Removing error state');\n            $module.removeClass(className.error);\n          }\n        },\n\n        set: {\n          barWidth: function(value) {\n            if(value > 100) {\n              module.error(error.tooHigh, value);\n            }\n            else if (value < 0) {\n              module.error(error.tooLow, value);\n            }\n            else {\n              $bar\n                .css('width', value + '%')\n              ;\n              $module\n                .attr('data-percent', parseInt(value, 10))\n              ;\n            }\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting progress bar transition duration', duration);\n            $bar\n              .css({\n                'transition-duration':  duration\n              })\n            ;\n          },\n          percent: function(percent) {\n            percent = (typeof percent == 'string')\n              ? +(percent.replace('%', ''))\n              : percent\n            ;\n            // round display percentage\n            percent = (settings.precision > 0)\n              ? Math.round(percent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(percent)\n            ;\n            module.percent = percent;\n            if( !module.has.total() ) {\n              module.value = (settings.precision > 0)\n                ? Math.round( (percent / 100) * module.total * (10 * settings.precision)) / (10 * settings.precision)\n                : Math.round( (percent / 100) * module.total * 10) / 10\n              ;\n              if(settings.limitValues) {\n                module.value = (module.value > 100)\n                  ? 100\n                  : (module.value < 0)\n                    ? 0\n                    : module.value\n                ;\n              }\n            }\n            module.set.barWidth(percent);\n            module.set.labelInterval();\n            module.set.labels();\n            settings.onChange.call(element, percent, module.value, module.total);\n          },\n          labelInterval: function() {\n            var\n              animationCallback = function() {\n                module.verbose('Bar finished animating, removing continuous label updates');\n                clearInterval(module.interval);\n                animating = false;\n                module.set.labels();\n              }\n            ;\n            clearInterval(module.interval);\n            $bar.one(transitionEnd + eventNamespace, animationCallback);\n            module.timer = setTimeout(animationCallback, settings.duration + 100);\n            animating = true;\n            module.interval = setInterval(module.set.labels, settings.framerate);\n          },\n          labels: function() {\n            module.verbose('Setting both bar progress and outer label text');\n            module.set.barLabel();\n            module.set.state();\n          },\n          label: function(text) {\n            text = text || '';\n            if(text) {\n              text = module.get.text(text);\n              module.debug('Setting label to text', text);\n              $label.text(text);\n            }\n          },\n          state: function(percent) {\n            percent = (percent !== undefined)\n              ? percent\n              : module.percent\n            ;\n            if(percent === 100) {\n              if(settings.autoSuccess && !(module.is.warning() || module.is.error())) {\n                module.set.success();\n                module.debug('Automatically triggering success at 100%');\n              }\n              else {\n                module.verbose('Reached 100% removing active state');\n                module.remove.active();\n              }\n            }\n            else if(percent > 0) {\n              module.verbose('Adjusting active progress bar label', percent);\n              module.set.active();\n            }\n            else {\n              module.remove.active();\n              module.set.label(settings.text.active);\n            }\n          },\n          barLabel: function(text) {\n            if(text !== undefined) {\n              $progress.text( module.get.text(text) );\n            }\n            else if(settings.label == 'ratio' && module.total) {\n              module.debug('Adding ratio to bar label');\n              $progress.text( module.get.text(settings.text.ratio) );\n            }\n            else if(settings.label == 'percent') {\n              module.debug('Adding percentage to bar label');\n              $progress.text( module.get.text(settings.text.percent) );\n            }\n          },\n          active: function(text) {\n            text = text || settings.text.active;\n            module.debug('Setting active state');\n            if(settings.showActivity && !module.is.active() ) {\n              $module.addClass(className.active);\n            }\n            module.remove.warning();\n            module.remove.error();\n            module.remove.success();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onActive.call(element, module.value, module.total);\n          },\n          success : function(text) {\n            text = text || settings.text.success;\n            module.debug('Setting success state');\n            $module.addClass(className.success);\n            module.remove.active();\n            module.remove.warning();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onSuccess.call(element, module.total);\n          },\n          warning : function(text) {\n            text = text || settings.text.warning;\n            module.debug('Setting warning state');\n            $module.addClass(className.warning);\n            module.remove.active();\n            module.remove.success();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onWarning.call(element, module.value, module.total);\n          },\n          error : function(text) {\n            text = text || settings.text.error;\n            module.debug('Setting error state');\n            $module.addClass(className.error);\n            module.remove.active();\n            module.remove.success();\n            module.remove.warning();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onError.call(element, module.value, module.total);\n          },\n          transitionEvent: function() {\n            transitionEnd = module.get.transitionEnd();\n          },\n          total: function(totalValue) {\n            module.total = totalValue;\n          },\n          value: function(value) {\n            module.value = value;\n          },\n          progress: function(value) {\n            var\n              numericValue = module.get.numericValue(value),\n              percentComplete\n            ;\n            if(numericValue === false) {\n              module.error(error.nonNumeric, value);\n            }\n            if( module.has.total() ) {\n              module.set.value(numericValue);\n              percentComplete = (numericValue / module.total) * 100;\n              module.debug('Calculating percent complete from total', percentComplete);\n              module.set.percent( percentComplete );\n            }\n            else {\n              percentComplete = numericValue;\n              module.debug('Setting value to exact percentage value', percentComplete);\n              module.set.percent( percentComplete );\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.progress.settings = {\n\n  name         : 'Progress',\n  namespace    : 'progress',\n\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n\n  random       : {\n    min : 2,\n    max : 5\n  },\n\n  duration     : 300,\n\n  autoSuccess  : true,\n  showActivity : true,\n  limitValues  : true,\n\n  label        : 'percent',\n  precision    : 0,\n  framerate    : (1000 / 30), /// 30 fps\n\n  percent      : false,\n  total        : false,\n  value        : false,\n\n  onChange     : function(percent, value, total){},\n  onSuccess    : function(total){},\n  onActive     : function(value, total){},\n  onError      : function(value, total){},\n  onWarning    : function(value, total){},\n\n  error    : {\n    method     : 'The method you called is not defined.',\n    nonNumeric : 'Progress value is non numeric',\n    tooHigh    : 'Value specified is above 100%',\n    tooLow     : 'Value specified is below 0%'\n  },\n\n  regExp: {\n    variable: /\\{\\$*[A-z0-9]+\\}/g\n  },\n\n  metadata: {\n    percent : 'percent',\n    total   : 'total',\n    value   : 'value'\n  },\n\n  selector : {\n    bar      : '> .bar',\n    label    : '> .label',\n    progress : '.bar > .progress'\n  },\n\n  text : {\n    active  : false,\n    error   : false,\n    success : false,\n    warning : false,\n    percent : '{percent}%',\n    ratio   : '{value} of {total}'\n  },\n\n  className : {\n    active  : 'active',\n    error   : 'error',\n    success : 'success',\n    warning : 'warning'\n  }\n\n};\n\n\n})( jQuery, window, document );"
  },
  {
    "path": "src/asset/semantic-ui/components/rail.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Rail\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Rails\n*******************************/\n\n.ui.rail {\n  position: absolute;\n  top: 0%;\n  width: 300px;\n  height: 100%;\n}\n.ui.left.rail {\n  left: auto;\n  right: 100%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n.ui.right.rail {\n  left: 100%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Internal\n---------------*/\n\n.ui.left.internal.rail {\n  left: 0%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n.ui.right.internal.rail {\n  left: auto;\n  right: 0%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n\n/*--------------\n    Dividing\n---------------*/\n\n.ui.dividing.rail {\n  width: 302.5px;\n}\n.ui.left.dividing.rail {\n  padding: 0em 2.5rem 0em 0em;\n  margin: 0em 2.5rem 0em 0em;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.right.dividing.rail {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  padding: 0em 0em 0em 2.5rem;\n  margin: 0em 0em 0em 2.5rem;\n}\n\n/*--------------\n    Distance\n---------------*/\n\n.ui.close.rail {\n  width: 301px;\n}\n.ui.close.left.rail {\n  padding: 0em 1em 0em 0em;\n  margin: 0em 1em 0em 0em;\n}\n.ui.close.right.rail {\n  padding: 0em 0em 0em 1em;\n  margin: 0em 0em 0em 1em;\n}\n.ui.very.close.rail {\n  width: 300.5px;\n}\n.ui.very.close.left.rail {\n  padding: 0em 0.5em 0em 0em;\n  margin: 0em 0.5em 0em 0em;\n}\n.ui.very.close.right.rail {\n  padding: 0em 0em 0em 0.5em;\n  margin: 0em 0em 0em 0.5em;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.left.rail,\n.ui.attached.right.rail {\n  padding: 0em;\n  margin: 0em;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.rail {\n  font-size: 1rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/rating.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Rating\n*******************************/\n\n.ui.rating {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  white-space: nowrap;\n  vertical-align: baseline;\n}\n.ui.rating:last-child {\n  margin-right: 0em;\n}\n\n/* Icon */\n.ui.rating .icon {\n  padding: 0em;\n  margin: 0em;\n  text-align: center;\n  font-weight: normal;\n  font-style: normal;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  cursor: pointer;\n  width: 1.25em;\n  height: auto;\n  -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n          transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n      Standard\n--------------------*/\n\n\n/* Inactive Icon */\n.ui.rating .icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n}\n\n/* Active Icon */\n.ui.rating .active.icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Selected Icon */\n.ui.rating .icon.selected,\n.ui.rating .icon.selected.active {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n\n/* Inactive */\n.ui.star.rating .icon {\n  width: 1.25em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none;\n}\n\n/* Active Star */\n.ui.star.rating .active.icon {\n  background: transparent !important;\n  color: #FFE623 !important;\n  text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important;\n}\n\n/* Selected Star */\n.ui.star.rating .icon.selected,\n.ui.star.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FFCC00 !important;\n  text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important;\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n.ui.heart.rating .icon {\n  width: 1.4em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none !important;\n}\n\n/* Active Heart */\n.ui.heart.rating .active.icon {\n  background: transparent !important;\n  color: #FF6D75 !important;\n  text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important;\n}\n\n/* Selected Heart */\n.ui.heart.rating .icon.selected,\n.ui.heart.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FF3000 !important;\n  text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*-------------------\n       Disabled\n--------------------*/\n\n\n/* disabled rating */\n.ui.disabled.rating .icon {\n  cursor: default;\n}\n\n/*-------------------\n   User Interactive\n--------------------*/\n\n\n/* Selected Rating */\n.ui.rating.selected .active.icon {\n  opacity: 1;\n}\n.ui.rating.selected .icon.selected,\n.ui.rating .icon.selected {\n  opacity: 1;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.mini.rating {\n  font-size: 0.71428571rem;\n}\n.ui.tiny.rating {\n  font-size: 0.85714286rem;\n}\n.ui.small.rating {\n  font-size: 0.92857143rem;\n}\n.ui.rating {\n  font-size: 1rem;\n}\n.ui.large.rating {\n  font-size: 1.14285714rem;\n}\n.ui.huge.rating {\n  font-size: 1.42857143rem;\n}\n.ui.massive.rating {\n  font-size: 2rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Rating';\n  src: url(data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==) format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n.ui.rating .icon {\n  font-family: 'Rating';\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n/* Empty Star */\n.ui.rating .icon:before {\n  content: '\\f006';\n}\n\n/* Active Star */\n.ui.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n\n/* Unfilled Star */\n.ui.star.rating .icon:before {\n  content: '\\f005';\n}\n\n/* Active Star */\n.ui.star.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/* Partial */\n.ui.star.rating .partial.icon:before {\n  content: '\\f006';\n}\n.ui.star.rating .partial.icon {\n  content: '\\f005';\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n\n/* Empty Heart\n.ui.heart.rating .icon:before {\n  content: '\\f08a';\n}\n*/\n.ui.heart.rating .icon:before {\n  content: '\\f004';\n}\n/* Active */\n.ui.heart.rating .active.icon:before {\n  content: '\\f004';\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/rating.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.rating = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.rating.settings, parameters)\n          : $.extend({}, $.fn.rating.settings),\n\n        namespace       = settings.namespace,\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        element         = this,\n        instance        = $(this).data(moduleNamespace),\n\n        $module         = $(this),\n        $icon           = $module.find(selector.icon),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing rating module', settings);\n\n          if($icon.length === 0) {\n            module.setup.layout();\n          }\n\n          if(settings.interactive) {\n            module.enable();\n          }\n          else {\n            module.disable();\n          }\n          module.set.rating( module.get.initialRating() );\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Instantiating module', settings);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance', instance);\n          module.remove.events();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $icon   = $module.find(selector.icon);\n        },\n\n        setup: {\n          layout: function() {\n            var\n              maxRating = module.get.maxRating(),\n              html      = $.fn.rating.settings.templates.icon(maxRating)\n            ;\n            module.debug('Generating icon html dynamically');\n            $module\n              .html(html)\n            ;\n            module.refresh();\n          }\n        },\n\n        event: {\n          mouseenter: function() {\n            var\n              $activeIcon = $(this)\n            ;\n            $activeIcon\n              .nextAll()\n                .removeClass(className.selected)\n            ;\n            $module\n              .addClass(className.selected)\n            ;\n            $activeIcon\n              .addClass(className.selected)\n                .prevAll()\n                .addClass(className.selected)\n            ;\n          },\n          mouseleave: function() {\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n            ;\n          },\n          click: function() {\n            var\n              $activeIcon   = $(this),\n              currentRating = module.get.rating(),\n              rating        = $icon.index($activeIcon) + 1,\n              canClear      = (settings.clearable == 'auto')\n               ? ($icon.length === 1)\n               : settings.clearable\n            ;\n            if(canClear && currentRating == rating) {\n              module.clearRating();\n            }\n            else {\n              module.set.rating( rating );\n            }\n          }\n        },\n\n        clearRating: function() {\n          module.debug('Clearing current rating');\n          module.set.rating(0);\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events');\n            $module\n              .on('mouseenter' + eventNamespace, selector.icon, module.event.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.icon, module.event.mouseleave)\n              .on('click'      + eventNamespace, selector.icon, module.event.click)\n            ;\n          }\n        },\n\n        remove: {\n          events: function() {\n            module.verbose('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        enable: function() {\n          module.debug('Setting rating to interactive mode');\n          module.bind.events();\n          $module\n            .removeClass(className.disabled)\n          ;\n        },\n\n        disable: function() {\n          module.debug('Setting rating to read-only mode');\n          module.remove.events();\n          $module\n            .addClass(className.disabled)\n          ;\n        },\n\n        get: {\n          initialRating: function() {\n            if($module.data(metadata.rating) !== undefined) {\n              $module.removeData(metadata.rating);\n              return $module.data(metadata.rating);\n            }\n            return settings.initialRating;\n          },\n          maxRating: function() {\n            if($module.data(metadata.maxRating) !== undefined) {\n              $module.removeData(metadata.maxRating);\n              return $module.data(metadata.maxRating);\n            }\n            return settings.maxRating;\n          },\n          rating: function() {\n            var\n              currentRating = $icon.filter('.' + className.active).length\n            ;\n            module.verbose('Current rating retrieved', currentRating);\n            return currentRating;\n          }\n        },\n\n        set: {\n          rating: function(rating) {\n            var\n              ratingIndex = (rating - 1 >= 0)\n                ? (rating - 1)\n                : 0,\n              $activeIcon = $icon.eq(ratingIndex)\n            ;\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n              .removeClass(className.active)\n            ;\n            if(rating > 0) {\n              module.verbose('Setting current rating to', rating);\n              $activeIcon\n                .prevAll()\n                .andSelf()\n                  .addClass(className.active)\n              ;\n            }\n            settings.onRate.call(element, rating);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.rating.settings = {\n\n  name          : 'Rating',\n  namespace     : 'rating',\n\n  debug         : false,\n  verbose       : false,\n  performance   : true,\n\n  initialRating : 0,\n  interactive   : true,\n  maxRating     : 4,\n  clearable     : 'auto',\n\n  onRate        : function(rating){},\n\n  error         : {\n    method    : 'The method you called is not defined',\n    noMaximum : 'No maximum rating specified. Cannot generate HTML automatically'\n  },\n\n\n  metadata: {\n    rating    : 'rating',\n    maxRating : 'maxRating'\n  },\n\n  className : {\n    active   : 'active',\n    disabled : 'disabled',\n    selected : 'selected',\n    loading  : 'loading'\n  },\n\n  selector  : {\n    icon : '.icon'\n  },\n\n  templates: {\n    icon: function(maxRating) {\n      var\n        icon = 1,\n        html = ''\n      ;\n      while(icon <= maxRating) {\n        html += '<i class=\"icon\"></i>';\n        icon++;\n      }\n      return html;\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/reset.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Reset\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Reset\n*******************************/\n\n\n/* Border-Box */\n*,\n*:before,\n*:after {\n  box-sizing: inherit;\n}\nhtml {\n  box-sizing: border-box;\n}\n\n/* iPad Input Shadows */\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"password\"] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  \n/* mobile firefox too! */\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\nhtml {\n  font-family: sans-serif;\n  \n/* 1 */\n  -ms-text-size-adjust: 100%;\n  \n/* 2 */\n  -webkit-text-size-adjust: 100%;\n  \n/* 2 */\n}\n/**\n * Remove default margin.\n */\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  \n/* 1 */\n  vertical-align: baseline;\n  \n/* 2 */\n}\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n/**\n * Remove the gray background color from active links in IE 10.\n */\na {\n  background: transparent;\n}\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\nb,\nstrong {\n  font-weight: bold;\n}\n/**\n * Address styling not present in Safari and Chrome.\n */\ndfn {\n  font-style: italic;\n}\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n/**\n * Address styling not present in IE 8/9.\n */\nmark {\n  background: #ff0;\n  color: #000;\n}\n/**\n * Address inconsistent and variable font size in all browsers.\n */\nsmall {\n  font-size: 80%;\n}\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\nsup {\n  top: -0.5em;\n}\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\nimg {\n  border: 0;\n}\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\nfigure {\n  margin: 1em 40px;\n}\n/**\n * Address differences between Firefox and other browsers.\n */\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n/**\n * Contain overflow in all browsers.\n */\npre {\n  overflow: auto;\n}\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  \n/* 1 */\n  font: inherit;\n  \n/* 2 */\n  margin: 0;\n  \n/* 3 */\n}\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\nbutton {\n  overflow: visible;\n}\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\nbutton,\nselect {\n  text-transform: none;\n}\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  \n/* 2 */\n  cursor: pointer;\n  \n/* 3 */\n}\n/**\n * Re-set default cursor for disabled elements.\n */\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n/**\n * Remove inner padding and border in Firefox 4+.\n */\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\ninput {\n  line-height: normal;\n}\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  \n/* 1 */\n  padding: 0;\n  \n/* 2 */\n}\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n *    (include `-moz` to future-proof).\n */\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  \n/* 1 */\n  \n/* 2 */\n  box-sizing: content-box;\n}\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n/**\n * Define consistent border, margin, and padding.\n */\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\nlegend {\n  border: 0;\n  \n/* 1 */\n  padding: 0;\n  \n/* 2 */\n}\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\ntextarea {\n  overflow: auto;\n}\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n/**\n * Remove most spacing between table cells.\n */\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\ntd,\nth {\n  padding: 0;\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/reveal.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Reveal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Reveal\n*******************************/\n\n.ui.reveal {\n  display: inherit;\n  position: relative !important;\n  font-size: 0em !important;\n}\n.ui.reveal > .visible.content {\n  position: absolute !important;\n  top: 0em !important;\n  left: 0em !important;\n  z-index: 3 !important;\n  -webkit-transition: all 0.5s ease 0.1s;\n          transition: all 0.5s ease 0.1s;\n}\n.ui.reveal > .hidden.content {\n  position: relative !important;\n  z-index: 2 !important;\n}\n\n/* Make sure hovered element is on top of other reveal */\n.ui.active.reveal .visible.content,\n.ui.reveal:hover .visible.content {\n  z-index: 4 !important;\n}\n\n\n/*******************************\n              Types\n*******************************/\n\n\n/*--------------\n      Slide\n---------------*/\n\n.ui.slide.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n.ui.slide.reveal > .content {\n  display: block;\n  width: 100%;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s ease 0.1s;\n          transition: transform 0.5s ease 0.1s;\n}\n.ui.slide.reveal > .visible.content {\n  position: relative !important;\n}\n.ui.slide.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n  -webkit-transform: translateX(100%) !important;\n      -ms-transform: translateX(100%) !important;\n          transform: translateX(100%) !important;\n}\n.ui.slide.active.reveal > .visible.content,\n.ui.slide.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n      -ms-transform: translateX(-100%) !important;\n          transform: translateX(-100%) !important;\n}\n.ui.slide.active.reveal > .hidden.content,\n.ui.slide.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n      -ms-transform: translateX(0%) !important;\n          transform: translateX(0%) !important;\n}\n.ui.slide.right.reveal > .visible.content {\n  -webkit-transform: translateX(0%) !important;\n      -ms-transform: translateX(0%) !important;\n          transform: translateX(0%) !important;\n}\n.ui.slide.right.reveal > .hidden.content {\n  -webkit-transform: translateX(-100%) !important;\n      -ms-transform: translateX(-100%) !important;\n          transform: translateX(-100%) !important;\n}\n.ui.slide.right.active.reveal > .visible.content,\n.ui.slide.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n      -ms-transform: translateX(100%) !important;\n          transform: translateX(100%) !important;\n}\n.ui.slide.right.active.reveal > .hidden.content,\n.ui.slide.right.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n      -ms-transform: translateX(0%) !important;\n          transform: translateX(0%) !important;\n}\n.ui.slide.up.reveal > .hidden.content {\n  -webkit-transform: translateY(100%) !important;\n      -ms-transform: translateY(100%) !important;\n          transform: translateY(100%) !important;\n}\n.ui.slide.up.active.reveal > .visible.content,\n.ui.slide.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n      -ms-transform: translateY(-100%) !important;\n          transform: translateY(-100%) !important;\n}\n.ui.slide.up.active.reveal > .hidden.content,\n.ui.slide.up.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n      -ms-transform: translateY(0%) !important;\n          transform: translateY(0%) !important;\n}\n.ui.slide.down.reveal > .hidden.content {\n  -webkit-transform: translateY(-100%) !important;\n      -ms-transform: translateY(-100%) !important;\n          transform: translateY(-100%) !important;\n}\n.ui.slide.down.active.reveal > .visible.content,\n.ui.slide.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n      -ms-transform: translateY(100%) !important;\n          transform: translateY(100%) !important;\n}\n.ui.slide.down.active.reveal > .hidden.content,\n.ui.slide.down.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n      -ms-transform: translateY(0%) !important;\n          transform: translateY(0%) !important;\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.ui.fade.reveal > .visible.content {\n  opacity: 1;\n}\n.ui.fade.active.reveal > .visible.content,\n.ui.fade.reveal:hover > .visible.content {\n  opacity: 0;\n}\n\n/*--------------\n      Move\n---------------*/\n\n.ui.move.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n.ui.move.reveal > .content {\n  display: block;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n          transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n}\n.ui.move.reveal > .visible.content {\n  position: relative !important;\n}\n.ui.move.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n}\n.ui.move.active.reveal > .visible.content,\n.ui.move.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n      -ms-transform: translateX(-100%) !important;\n          transform: translateX(-100%) !important;\n}\n.ui.move.right.active.reveal > .visible.content,\n.ui.move.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n      -ms-transform: translateX(100%) !important;\n          transform: translateX(100%) !important;\n}\n.ui.move.up.active.reveal > .visible.content,\n.ui.move.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n      -ms-transform: translateY(-100%) !important;\n          transform: translateY(-100%) !important;\n}\n.ui.move.down.active.reveal > .visible.content,\n.ui.move.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n      -ms-transform: translateY(100%) !important;\n          transform: translateY(100%) !important;\n}\n\n/*--------------\n     Rotate\n---------------*/\n\n.ui.rotate.reveal > .visible.content {\n  -webkit-transition-duration: 0.5s;\n          transition-duration: 0.5s;\n  -webkit-transform: rotate(0deg);\n      -ms-transform: rotate(0deg);\n          transform: rotate(0deg);\n}\n.ui.rotate.reveal > .visible.content,\n.ui.rotate.right.reveal > .visible.content {\n  -webkit-transform-origin: bottom right;\n      -ms-transform-origin: bottom right;\n          transform-origin: bottom right;\n}\n.ui.rotate.active.reveal > .visible.conten,\n.ui.rotate.reveal:hover > .visible.content,\n.ui.rotate.right.active.reveal > .visible.content,\n.ui.rotate.right.reveal:hover > .visible.content {\n  -webkit-transform: rotate(110deg);\n      -ms-transform: rotate(110deg);\n          transform: rotate(110deg);\n}\n.ui.rotate.left.reveal > .visible.content {\n  -webkit-transform-origin: bottom left;\n      -ms-transform-origin: bottom left;\n          transform-origin: bottom left;\n}\n.ui.rotate.left.active.reveal > .visible.content,\n.ui.rotate.left.reveal:hover > .visible.content {\n  -webkit-transform: rotate(-110deg);\n      -ms-transform: rotate(-110deg);\n          transform: rotate(-110deg);\n}\n\n\n/*******************************\n              States\n*******************************/\n\n.ui.disabled.reveal:hover > .visible.visible.content {\n  position: static !important;\n  display: block !important;\n  opacity: 1 !important;\n  top: 0 !important;\n  left: 0 !important;\n  right: auto !important;\n  bottom: auto !important;\n  -webkit-transform: none !important;\n      -ms-transform: none !important;\n          transform: none !important;\n}\n.ui.disabled.reveal:hover > .hidden.hidden.content {\n  display: none !important;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.reveal {\n  overflow: visible;\n}\n\n/*--------------\n     Instant\n---------------*/\n\n.ui.instant.reveal > .content {\n  -webkit-transition-delay: 0s !important;\n          transition-delay: 0s !important;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.reveal > .content {\n  font-size: 1rem !important;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/search.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Search\n*******************************/\n\n.ui.search {\n  position: relative;\n}\n.ui.search > .prompt {\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-shadow: none;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n          transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n}\n.ui.search .prompt {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.search .prompt ~ .search.icon {\n  cursor: pointer;\n}\n\n/*--------------\n    Results\n---------------*/\n\n.ui.search > .results {\n  display: none;\n  position: absolute;\n  top: 100%;\n  left: 0%;\n  -webkit-transform-origin: center top;\n      -ms-transform-origin: center top;\n          transform-origin: center top;\n  background: #FFFFFF;\n  margin-top: 0.5em;\n  width: 18em;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n  border: 1px solid #D4D4D5;\n  z-index: 998;\n}\n.ui.search > .results > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.search > .results > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/*--------------\n    Result\n---------------*/\n\n.ui.search > .results .result {\n  cursor: pointer;\n  display: block;\n  overflow: hidden;\n  font-size: 1em;\n  padding: 0.85714286em 1.14285714em;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.33;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n}\n.ui.search > .results .result:last-child {\n  border-bottom: none !important;\n}\n\n/* Image */\n.ui.search > .results .result .image {\n  float: right;\n  overflow: hidden;\n  background: none;\n  width: 5em;\n  height: 3em;\n  border-radius: 0.25em;\n}\n.ui.search > .results .result .image img {\n  display: block;\n  width: auto;\n  height: 100%;\n}\n\n/*--------------\n      Info\n---------------*/\n\n.ui.search > .results .result .image + .content {\n  margin: 0em 6em 0em 0em;\n}\n.ui.search > .results .result .title {\n  margin: -0.14285em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.search > .results .result .description {\n  margin-top: 0;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n}\n.ui.search > .results .result .price {\n  float: right;\n  color: #21BA45;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.search > .results > .message {\n  padding: 1em 1em;\n}\n.ui.search > .results > .message .header {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1rem;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.search > .results > .message .description {\n  margin-top: 0.25rem;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* View All Results */\n.ui.search > .results > .action {\n  display: block;\n  border-top: none;\n  background: #F3F4F5;\n  padding: 0.92857143em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-align: center;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------------\n       Focus\n---------------------*/\n\n.ui.search > .prompt:focus {\n  border-color: rgba(34, 36, 38, 0.35);\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.search .input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.loading.search .input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.search > .results .result:hover,\n.ui.category.search > .results .category .result:hover {\n  background: #F9FAFB;\n}\n.ui.search .action:hover {\n  background: #E0E0E0;\n}\n\n/*--------------\n      Active\n---------------*/\n\n.ui.category.search > .results .category.active {\n  background: #F3F4F5;\n}\n.ui.category.search > .results .category.active > .name {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.search > .results .result.active,\n.ui.category.search > .results .category .result.active {\n  position: relative;\n  border-left-color: rgba(34, 36, 38, 0.1);\n  background: #F3F4F5;\n  box-shadow: none;\n}\n.ui.search > .results .result.active .title {\n  color: rgba(0, 0, 0, 0.85);\n}\n.ui.search > .results .result.active .description {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n\n/*******************************\n           Types\n*******************************/\n\n\n/*--------------\n    Categories\n---------------*/\n\n.ui.category.search .results {\n  width: 28em;\n}\n\n/* Category */\n.ui.category.search > .results .category {\n  background: #F3F4F5;\n  box-shadow: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n          transition: background 0.1s ease, border-color 0.1s ease;\n}\n\n/* Last Category */\n.ui.category.search > .results .category:last-child {\n  border-bottom: none;\n}\n\n/* First / Last */\n.ui.category.search > .results .category:first-child .name + .result {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Category Result */\n.ui.category.search > .results .category .result {\n  background: #FFFFFF;\n  margin-left: 100px;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n          transition: background 0.1s ease, border-color 0.1s ease;\n  padding: 0.85714286em 1.14285714em;\n}\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-bottom: none;\n}\n\n/* Category Result Name */\n.ui.category.search > .results .category > .name {\n  width: 100px;\n  background: transparent;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  float: 1em;\n  float: left;\n  padding: 0.4em 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n     Left / Right\n--------------------*/\n\n.ui[class*=\"left aligned\"].search > .results {\n  right: auto;\n  left: 0%;\n}\n.ui[class*=\"right aligned\"].search > .results {\n  right: 0%;\n  left: auto;\n}\n\n/*--------------\n    Fluid\n---------------*/\n\n.ui.fluid.search .results {\n  width: 100%;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n.ui.mini.search {\n  font-size: 0.71428571em;\n}\n.ui.small.search {\n  font-size: 0.92857143em;\n}\n.ui.search {\n  font-size: 1em;\n}\n.ui.large.search {\n  font-size: 1.14285714em;\n}\n.ui.big.search {\n  font-size: 1.28571429em;\n}\n.ui.huge.search {\n  font-size: 1.42857143em;\n}\n.ui.massive.search {\n  font-size: 1.71428571em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/search.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.search = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $(this)\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.search.settings, parameters)\n          : $.extend({}, $.fn.search.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        regExp          = settings.regExp,\n        fields          = settings.fields,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n        $prompt         = $module.find(selector.prompt),\n        $searchButton   = $module.find(selector.searchButton),\n        $results        = $module.find(selector.results),\n        $result         = $module.find(selector.result),\n        $category       = $module.find(selector.category),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n          module.determine.searchFields();\n          module.bind.events();\n          module.set.type();\n          module.create.results();\n          module.instantiate();\n        },\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events to search');\n            if(settings.automatic) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input)\n              ;\n              $prompt\n                .attr('autocomplete', 'off')\n              ;\n            }\n            $module\n              // prompt\n              .on('focus'     + eventNamespace, selector.prompt, module.event.focus)\n              .on('blur'      + eventNamespace, selector.prompt, module.event.blur)\n              .on('keydown'   + eventNamespace, selector.prompt, module.handleKeyboard)\n              // search button\n              .on('click'     + eventNamespace, selector.searchButton, module.query)\n              // results\n              .on('mousedown' + eventNamespace, selector.results, module.event.result.mousedown)\n              .on('mouseup'   + eventNamespace, selector.results, module.event.result.mouseup)\n              .on('click'     + eventNamespace, selector.result,  module.event.result.click)\n            ;\n          }\n        },\n\n        determine: {\n          searchFields: function() {\n            // this makes sure $.extend does not add specified search fields to default fields\n            // this is the only setting which should not extend defaults\n            if(parameters && parameters.searchFields !== undefined) {\n              settings.searchFields = parameters.searchFields;\n            }\n          }\n        },\n\n        event: {\n          input: function() {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.query, settings.searchDelay);\n          },\n          focus: function() {\n            module.set.focus();\n            if( module.has.minimumCharacters() ) {\n              module.query();\n              if( module.can.show() ) {\n                module.showResults();\n              }\n            }\n          },\n          blur: function(event) {\n            var\n              pageLostFocus = (document.activeElement === this)\n            ;\n            if(!pageLostFocus && !module.resultsClicked) {\n              module.cancel.query();\n              module.remove.focus();\n              module.timer = setTimeout(module.hideResults, settings.hideDelay);\n            }\n          },\n          result: {\n            mousedown: function() {\n              module.resultsClicked = true;\n            },\n            mouseup: function() {\n              module.resultsClicked = false;\n            },\n            click: function(event) {\n              module.debug('Search result selected');\n              var\n                $result = $(this),\n                $title  = $result.find(selector.title).eq(0),\n                $link   = $result.find('a[href]').eq(0),\n                href    = $link.attr('href')   || false,\n                target  = $link.attr('target') || false,\n                title   = $title.html(),\n                // title is used for result lookup\n                value   = ($title.length > 0)\n                  ? $title.text()\n                  : false,\n                results = module.get.results(),\n                result  = $result.data(metadata.result) || module.get.result(value, results),\n                returnedValue\n              ;\n              if( $.isFunction(settings.onSelect) ) {\n                if(settings.onSelect.call(element, result, results) === false) {\n                  module.debug('Custom onSelect callback cancelled default select action');\n                  return;\n                }\n              }\n              module.hideResults();\n              if(value) {\n                module.set.value(value);\n              }\n              if(href) {\n                module.verbose('Opening search link found in result', $link);\n                if(target == '_blank' || event.ctrlKey) {\n                  window.open(href);\n                }\n                else {\n                  window.location.href = (href);\n                }\n              }\n            }\n          }\n        },\n        handleKeyboard: function(event) {\n          var\n            // force selector refresh\n            $result      = $module.find(selector.result),\n            $category    = $module.find(selector.category),\n            currentIndex = $result.index( $result.filter('.' + className.active) ),\n            resultSize   = $result.length,\n\n            keyCode      = event.which,\n            keys         = {\n              backspace : 8,\n              enter     : 13,\n              escape    : 27,\n              upArrow   : 38,\n              downArrow : 40\n            },\n            newIndex\n          ;\n          // search shortcuts\n          if(keyCode == keys.escape) {\n            module.verbose('Escape key pressed, blurring search field');\n            module.trigger.blur();\n          }\n          if( module.is.visible() ) {\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, selecting active result');\n              if( $result.filter('.' + className.active).length > 0 ) {\n                module.event.result.click.call($result.filter('.' + className.active), event);\n                event.preventDefault();\n                return false;\n              }\n            }\n            else if(keyCode == keys.upArrow) {\n              module.verbose('Up key pressed, changing active result');\n              newIndex = (currentIndex - 1 < 0)\n                ? currentIndex\n                : currentIndex - 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n            else if(keyCode == keys.downArrow) {\n              module.verbose('Down key pressed, changing active result');\n              newIndex = (currentIndex + 1 >= resultSize)\n                ? currentIndex\n                : currentIndex + 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n          }\n          else {\n            // query shortcuts\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, executing query');\n              module.query();\n              module.set.buttonPressed();\n              $prompt.one('keyup', module.remove.buttonFocus);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug     : settings.debug,\n                on        : false,\n                cache     : 'local',\n                action    : 'search',\n                onError   : module.error\n              },\n              searchHTML\n            ;\n            module.verbose('First request, initializing API');\n            $module.api(apiSettings);\n          }\n        },\n\n        can: {\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          },\n          show: function() {\n            return module.is.focused() && !module.is.visible() && !module.is.empty();\n          },\n          transition: function() {\n            return settings.transition && $.fn.transition !== undefined && $module.transition('is supported');\n          }\n        },\n\n        is: {\n          empty: function() {\n            return ($results.html() === '');\n          },\n          visible: function() {\n            return ($results.filter(':visible').length > 0);\n          },\n          focused: function() {\n            return ($prompt.filter(':focus').length > 0);\n          }\n        },\n\n        trigger: {\n          blur: function() {\n            var\n              events        = document.createEvent('HTMLEvents'),\n              promptElement = $prompt[0]\n            ;\n            if(promptElement) {\n              module.verbose('Triggering native blur event');\n              events.initEvent('blur', false, false);\n              promptElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        get: {\n          inputEvent: function() {\n            var\n              prompt = $prompt[0],\n              inputEvent   = (prompt !== undefined && prompt.oninput !== undefined)\n                ? 'input'\n                : (prompt !== undefined && prompt.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n            ;\n            return inputEvent;\n          },\n          value: function() {\n            return $prompt.val();\n          },\n          results: function() {\n            var\n              results = $module.data(metadata.results)\n            ;\n            return results;\n          },\n          result: function(value, results) {\n            var\n              lookupFields = ['title', 'id'],\n              result       = false\n            ;\n            value = (value !== undefined)\n              ? value\n              : module.get.value()\n            ;\n            results = (results !== undefined)\n              ? results\n              : module.get.results()\n            ;\n            if(settings.type === 'category') {\n              module.debug('Finding result that matches', value);\n              $.each(results, function(index, category) {\n                if($.isArray(category.results)) {\n                  result = module.search.object(value, category.results, lookupFields)[0];\n                  // don't continue searching if a result is found\n                  if(result) {\n                    return false;\n                  }\n                }\n              });\n            }\n            else {\n              module.debug('Finding result in results object', value);\n              result = module.search.object(value, results, lookupFields)[0];\n            }\n            return result || false;\n          },\n        },\n\n        set: {\n          focus: function() {\n            $module.addClass(className.focus);\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          value: function(value) {\n            module.verbose('Setting search input value', value);\n            $prompt\n              .val(value)\n            ;\n          },\n          type: function(type) {\n            type = type || settings.type;\n            if(settings.type == 'category') {\n              $module.addClass(settings.type);\n            }\n          },\n          buttonPressed: function() {\n            $searchButton.addClass(className.pressed);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          focus: function() {\n            $module.removeClass(className.focus);\n          },\n          buttonPressed: function() {\n            $searchButton.removeClass(className.pressed);\n          }\n        },\n\n        query: function() {\n          var\n            searchTerm = module.get.value(),\n            cache = module.read.cache(searchTerm)\n          ;\n          if( module.has.minimumCharacters() )  {\n            if(cache) {\n              module.debug('Reading result from cache', searchTerm);\n              module.save.results(cache.results);\n              module.addResults(cache.html);\n              module.inject.id(cache.results);\n            }\n            else {\n              module.debug('Querying for', searchTerm);\n              if($.isPlainObject(settings.source) || $.isArray(settings.source)) {\n                module.search.local(searchTerm);\n              }\n              else if( module.can.useAPI() ) {\n                module.search.remote(searchTerm);\n              }\n              else {\n                module.error(error.source);\n              }\n            }\n            settings.onSearchQuery.call(element, searchTerm);\n          }\n          else {\n            module.hideResults();\n          }\n        },\n\n        search: {\n          local: function(searchTerm) {\n            var\n              results = module.search.object(searchTerm, settings.content),\n              searchHTML\n            ;\n            module.set.loading();\n            module.save.results(results);\n            module.debug('Returned local search results', results);\n\n            searchHTML = module.generateResults({\n              results: results\n            });\n            module.remove.loading();\n            module.addResults(searchHTML);\n            module.inject.id(results);\n            module.write.cache(searchTerm, {\n              html    : searchHTML,\n              results : results\n            });\n          },\n          remote: function(searchTerm) {\n            var\n              apiSettings = {\n                onSuccess : function(response) {\n                  module.parse.response.call(element, response, searchTerm);\n                },\n                onFailure: function() {\n                  module.displayMessage(error.serverError);\n                },\n                urlData: {\n                  query: searchTerm\n                }\n              }\n            ;\n            if( !$module.api('get request') ) {\n              module.setup.api();\n            }\n            $.extend(true, apiSettings, settings.apiSettings);\n            module.debug('Executing search', apiSettings);\n            module.cancel.query();\n            $module\n              .api('setting', apiSettings)\n              .api('query')\n            ;\n          },\n          object: function(searchTerm, source, searchFields) {\n            var\n              results      = [],\n              fuzzyResults = [],\n              searchExp    = searchTerm.toString().replace(regExp.escape, '\\\\$&'),\n              matchRegExp  = new RegExp(regExp.beginsWith + searchExp, 'i'),\n\n              // avoid duplicates when pushing results\n              addResult = function(array, result) {\n                var\n                  notResult      = ($.inArray(result, results) == -1),\n                  notFuzzyResult = ($.inArray(result, fuzzyResults) == -1)\n                ;\n                if(notResult && notFuzzyResult) {\n                  array.push(result);\n                }\n              }\n            ;\n            source = source || settings.source;\n            searchFields = (searchFields !== undefined)\n              ? searchFields\n              : settings.searchFields\n            ;\n\n            // search fields should be array to loop correctly\n            if(!$.isArray(searchFields)) {\n              searchFields = [searchFields];\n            }\n\n            // exit conditions if no source\n            if(source === undefined || source === false) {\n              module.error(error.source);\n              return [];\n            }\n\n            // iterate through search fields looking for matches\n            $.each(searchFields, function(index, field) {\n              $.each(source, function(label, content) {\n                var\n                  fieldExists = (typeof content[field] == 'string')\n                ;\n                if(fieldExists) {\n                  if( content[field].search(matchRegExp) !== -1) {\n                    // content starts with value (first in results)\n                    addResult(results, content);\n                  }\n                  else if(settings.searchFullText && module.fuzzySearch(searchTerm, content[field]) ) {\n                    // content fuzzy matches (last in results)\n                    addResult(fuzzyResults, content);\n                  }\n                }\n              });\n            });\n            return $.merge(results, fuzzyResults);\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          if(typeof query !== 'string') {\n            return false;\n          }\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        parse: {\n          response: function(response, searchTerm) {\n            var\n              searchHTML = module.generateResults(response)\n            ;\n            module.verbose('Parsing server response', response);\n            if(response !== undefined) {\n              if(searchTerm !== undefined && response[fields.results] !== undefined) {\n                module.addResults(searchHTML);\n                module.inject.id(response[fields.results]);\n                module.write.cache(searchTerm, {\n                  html    : searchHTML,\n                  results : response[fields.results]\n                });\n                module.save.results(response[fields.results]);\n              }\n            }\n          }\n        },\n\n        cancel: {\n          query: function() {\n            if( module.can.useAPI() ) {\n              $module.api('abort');\n            }\n          }\n        },\n\n        has: {\n          minimumCharacters: function() {\n            var\n              searchTerm    = module.get.value(),\n              numCharacters = searchTerm.length\n            ;\n            return (numCharacters >= settings.minCharacters);\n          }\n        },\n\n        clear: {\n          cache: function(value) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(!value) {\n              module.debug('Clearing cache', value);\n              $module.removeData(metadata.cache);\n            }\n            else if(value && cache && cache[value]) {\n              module.debug('Removing value from cache', value);\n              delete cache[value];\n              $module.data(metadata.cache, cache);\n            }\n          }\n        },\n\n        read: {\n          cache: function(name) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(settings.cache) {\n              module.verbose('Checking cache for generated html for query', name);\n              return (typeof cache == 'object') && (cache[name] !== undefined)\n                ? cache[name]\n                : false\n              ;\n            }\n            return false;\n          }\n        },\n\n        create: {\n          id: function(resultIndex, categoryIndex) {\n            var\n              resultID      = (resultIndex + 1), // not zero indexed\n              categoryID    = (categoryIndex + 1),\n              firstCharCode,\n              letterID,\n              id\n            ;\n            if(categoryIndex !== undefined) {\n              // start char code for \"A\"\n              letterID = String.fromCharCode(97 + categoryIndex);\n              id          = letterID + resultID;\n              module.verbose('Creating category result id', id);\n            }\n            else {\n              id = resultID;\n              module.verbose('Creating result id', id);\n            }\n            return id;\n          },\n          results: function() {\n            if($results.length === 0) {\n              $results = $('<div />')\n                .addClass(className.results)\n                .appendTo($module)\n              ;\n            }\n          }\n        },\n\n        inject: {\n          result: function(result, resultIndex, categoryIndex) {\n            module.verbose('Injecting result into results');\n            var\n              $selectedResult = (categoryIndex !== undefined)\n                ? $results\n                    .children().eq(categoryIndex)\n                      .children(selector.result).eq(resultIndex)\n                : $results\n                    .children(selector.result).eq(resultIndex)\n            ;\n            module.verbose('Injecting results metadata', $selectedResult);\n            $selectedResult\n              .data(metadata.result, result)\n            ;\n          },\n          id: function(results) {\n            module.debug('Injecting unique ids into results');\n            var\n              // since results may be object, we must use counters\n              categoryIndex = 0,\n              resultIndex   = 0\n            ;\n            if(settings.type === 'category') {\n              // iterate through each category result\n              $.each(results, function(index, category) {\n                resultIndex = 0;\n                $.each(category.results, function(index, value) {\n                  var\n                    result = category.results[index]\n                  ;\n                  if(result.id === undefined) {\n                    result.id = module.create.id(resultIndex, categoryIndex);\n                  }\n                  module.inject.result(result, resultIndex, categoryIndex);\n                  resultIndex++;\n                });\n                categoryIndex++;\n              });\n            }\n            else {\n              // top level\n              $.each(results, function(index, value) {\n                var\n                  result = results[index]\n                ;\n                if(result.id === undefined) {\n                  result.id = module.create.id(resultIndex);\n                }\n                module.inject.result(result, resultIndex);\n                resultIndex++;\n              });\n            }\n            return results;\n          }\n        },\n\n        save: {\n          results: function(results) {\n            module.verbose('Saving current search results to metadata', results);\n            $module.data(metadata.results, results);\n          }\n        },\n\n        write: {\n          cache: function(name, value) {\n            var\n              cache = ($module.data(metadata.cache) !== undefined)\n                ? $module.data(metadata.cache)\n                : {}\n            ;\n            if(settings.cache) {\n              module.verbose('Writing generated html to cache', name, value);\n              cache[name] = value;\n              $module\n                .data(metadata.cache, cache)\n              ;\n            }\n          }\n        },\n\n        addResults: function(html) {\n          if( $.isFunction(settings.onResultsAdd) ) {\n            if( settings.onResultsAdd.call($results, html) === false ) {\n              module.debug('onResultsAdd callback cancelled default action');\n              return false;\n            }\n          }\n          $results\n            .html(html)\n          ;\n          if( module.can.show() ) {\n            module.showResults();\n          }\n        },\n\n        showResults: function() {\n          if(!module.is.visible()) {\n            if( module.can.transition() ) {\n              module.debug('Showing results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' in',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Showing results with javascript');\n              $results\n                .stop()\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsOpen.call($results);\n          }\n        },\n        hideResults: function() {\n          if( module.is.visible() ) {\n            if( module.can.transition() ) {\n              module.debug('Hiding results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' out',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Hiding results with javascript');\n              $results\n                .stop()\n                .fadeOut(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsClose.call($results);\n          }\n        },\n\n        generateResults: function(response) {\n          module.debug('Generating html from response', response);\n          var\n            template       = settings.templates[settings.type],\n            isProperObject = ($.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results])),\n            isProperArray  = ($.isArray(response[fields.results]) && response[fields.results].length > 0),\n            html           = ''\n          ;\n          if(isProperObject || isProperArray ) {\n            if(settings.maxResults > 0) {\n              if(isProperObject) {\n                if(settings.type == 'standard') {\n                  module.error(error.maxResults);\n                }\n              }\n              else {\n                response[fields.results] = response[fields.results].slice(0, settings.maxResults);\n              }\n            }\n            if($.isFunction(template)) {\n              html = template(response, fields);\n            }\n            else {\n              module.error(error.noTemplate, false);\n            }\n          }\n          else {\n            html = module.displayMessage(error.noResults, 'empty');\n          }\n          settings.onResults.call(element, response);\n          return html;\n        },\n\n        displayMessage: function(text, type) {\n          type = type || 'standard';\n          module.debug('Displaying message', text, type);\n          module.addResults( settings.templates.message(text, type) );\n          return settings.templates.message(text, type);\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.search.settings = {\n\n  name           : 'Search',\n  namespace      : 'search',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  type           : 'standard',\n  // template to use (specified in settings.templates)\n\n  minCharacters  : 1,\n  // minimum characters required to search\n\n  apiSettings    : false,\n  // API config\n\n  source         : false,\n  // object to search\n\n  searchFields   : [\n    'title',\n    'description'\n  ],\n  // fields to search\n\n  displayField   : '',\n  // field to display in standard results template\n\n  searchFullText : true,\n  // whether to include fuzzy results in local search\n\n  automatic      : true,\n  // whether to add events to prompt automatically\n\n  hideDelay      : 0,\n  // delay before hiding menu after blur\n\n  searchDelay    : 200,\n  // delay before searching\n\n  maxResults     : 7,\n  // maximum results returned from local\n\n  cache          : true,\n  // whether to store lookups in local cache\n\n  // transition settings\n  transition     : 'scale',\n  duration       : 200,\n  easing         : 'easeOutExpo',\n\n  // callbacks\n  onSelect       : false,\n  onResultsAdd   : false,\n\n  onSearchQuery  : function(query){},\n  onResults      : function(response){},\n\n  onResultsOpen  : function(){},\n  onResultsClose : function(){},\n\n  className: {\n    active  : 'active',\n    empty   : 'empty',\n    focus   : 'focus',\n    loading : 'loading',\n    results : 'results',\n    pressed : 'down'\n  },\n\n  error : {\n    source      : 'Cannot search. No source used, and Semantic API module was not included',\n    noResults   : 'Your search returned no results',\n    logging     : 'Error in debug logging, exiting.',\n    noEndpoint  : 'No search endpoint was specified',\n    noTemplate  : 'A valid template name was not specified.',\n    serverError : 'There was an issue querying the server.',\n    maxResults  : 'Results must be an array to use maxResults setting',\n    method      : 'The method you called is not defined.'\n  },\n\n  metadata: {\n    cache   : 'cache',\n    results : 'results',\n    result  : 'result'\n  },\n\n  regExp: {\n    escape     : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    beginsWith : '(?:\\s|^)'\n  },\n\n  // maps api response attributes to internal representation\n  fields: {\n    categories      : 'results',     // array of categories (category view)\n    categoryName    : 'name',        // name of category (category view)\n    categoryResults : 'results',     // array of results (category view)\n    description     : 'description', // result description\n    image           : 'image',       // result image\n    price           : 'price',       // result price\n    results         : 'results',     // array of results (standard)\n    title           : 'title',       // result title\n    url             : 'url',         // result url\n    action          : 'action',      // \"view more\" object name\n    actionText      : 'text',        // \"view more\" text\n    actionURL       : 'url'          // \"view more\" url\n  },\n\n  selector : {\n    prompt       : '.prompt',\n    searchButton : '.search.button',\n    results      : '.results',\n    category     : '.category',\n    result       : '.result',\n    title        : '.title, .name'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    message: function(message, type) {\n      var\n        html = ''\n      ;\n      if(message !== undefined && type !== undefined) {\n        html +=  ''\n          + '<div class=\"message ' + type + '\">'\n        ;\n        // message type\n        if(type == 'empty') {\n          html += ''\n            + '<div class=\"header\">No Results</div class=\"header\">'\n            + '<div class=\"description\">' + message + '</div class=\"description\">'\n          ;\n        }\n        else {\n          html += ' <div class=\"description\">' + message + '</div>';\n        }\n        html += '</div>';\n      }\n      return html;\n    },\n    category: function(response, fields) {\n      var\n        html = '',\n        escape = $.fn.search.settings.templates.escape\n      ;\n      if(response[fields.categoryResults] !== undefined) {\n\n        // each category\n        $.each(response[fields.categoryResults], function(index, category) {\n          if(category[fields.results] !== undefined && category.results.length > 0) {\n\n            html  += '<div class=\"category\">';\n\n            if(category[fields.categoryName] !== undefined) {\n              html += '<div class=\"name\">' + category[fields.categoryName] + '</div>';\n            }\n\n            // each item inside category\n            $.each(category.results, function(index, result) {\n              if(result[fields.url]) {\n                html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n              }\n              else {\n                html  += '<a class=\"result\">';\n              }\n              if(result[fields.image] !== undefined) {\n                html += ''\n                  + '<div class=\"image\">'\n                  + ' <img src=\"' + result[fields.image] + '\">'\n                  + '</div>'\n                ;\n              }\n              html += '<div class=\"content\">';\n              if(result[fields.price] !== undefined) {\n                html += '<div class=\"price\">' + result[fields.price] + '</div>';\n              }\n              if(result[fields.title] !== undefined) {\n                html += '<div class=\"title\">' + result[fields.title] + '</div>';\n              }\n              if(result[fields.description] !== undefined) {\n                html += '<div class=\"description\">' + result[fields.description] + '</div>';\n              }\n              html  += ''\n                + '</div>'\n              ;\n              html += '</a>';\n            });\n            html  += ''\n              + '</div>'\n            ;\n          }\n        });\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    },\n    standard: function(response, fields) {\n      var\n        html = ''\n      ;\n      if(response[fields.results] !== undefined) {\n\n        // each result\n        $.each(response[fields.results], function(index, result) {\n          if(result[fields.url]) {\n            html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n          }\n          else {\n            html  += '<a class=\"result\">';\n          }\n          if(result[fields.image] !== undefined) {\n            html += ''\n              + '<div class=\"image\">'\n              + ' <img src=\"' + result[fields.image] + '\">'\n              + '</div>'\n            ;\n          }\n          html += '<div class=\"content\">';\n          if(result[fields.price] !== undefined) {\n            html += '<div class=\"price\">' + result[fields.price] + '</div>';\n          }\n          if(result[fields.title] !== undefined) {\n            html += '<div class=\"title\">' + result[fields.title] + '</div>';\n          }\n          if(result[fields.description] !== undefined) {\n            html += '<div class=\"description\">' + result[fields.description] + '</div>';\n          }\n          html  += ''\n            + '</div>'\n          ;\n          html += '</a>';\n        });\n\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    }\n  }\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/segment.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Segment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Segment\n*******************************/\n\n.ui.segment {\n  position: relative;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  padding: 1em 1em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.segment:first-child {\n  margin-top: 0em;\n}\n.ui.segment:last-child {\n  margin-bottom: 0em;\n}\n\n/* Vertical */\n.ui.vertical.segment {\n  margin: 0em;\n  padding-left: 0em;\n  padding-right: 0em;\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.vertical.segment:last-child {\n  border-bottom: none;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n\n/* Header */\n.ui.inverted.segment > .ui.header {\n  color: #FFFFFF;\n}\n\n/* Label */\n.ui[class*=\"bottom attached\"].segment > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n.ui[class*=\"top attached\"].segment > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n/* Grid */\n.ui.page.grid.segment,\n.ui.grid > .row > .ui.segment.column,\n.ui.grid > .ui.segment.column {\n  padding-top: 2em;\n  padding-bottom: 2em;\n}\n.ui.grid.segment {\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n}\n\n/* Table */\n.ui.basic.table.segment {\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n.ui[class*=\"very basic\"].table.segment {\n  padding: 1em 1em;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*-------------------\n        Piled\n--------------------*/\n\n.ui.piled.segments,\n.ui.piled.segment {\n  margin: 3em 0em;\n  box-shadow: '';\n  z-index: auto;\n}\n.ui.piled.segment:first-child {\n  margin-top: 0em;\n}\n.ui.piled.segment:last-child {\n  margin-bottom: 0em;\n}\n.ui.piled.segments:after,\n.ui.piled.segments:before,\n.ui.piled.segment:after,\n.ui.piled.segment:before {\n  background-color: #FFFFFF;\n  visibility: visible;\n  content: '';\n  display: block;\n  height: 100%;\n  left: 0px;\n  position: absolute;\n  width: 100%;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: '';\n}\n.ui.piled.segments:before,\n.ui.piled.segment:before {\n  -webkit-transform: rotate(-1.2deg);\n      -ms-transform: rotate(-1.2deg);\n          transform: rotate(-1.2deg);\n  top: 0;\n  z-index: -2;\n}\n.ui.piled.segments:after,\n.ui.piled.segment:after {\n  -webkit-transform: rotate(1.2deg);\n      -ms-transform: rotate(1.2deg);\n          transform: rotate(1.2deg);\n  top: 0;\n  z-index: -1;\n}\n\n/* Piled Attached */\n.ui[class*=\"top attached\"].piled.segment {\n  margin-top: 3em;\n  margin-bottom: 0em;\n}\n.ui.piled.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n.ui.piled.segment[class*=\"bottom attached\"] {\n  margin-top: 0em;\n  margin-bottom: 3em;\n}\n.ui.piled.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n       Stacked\n--------------------*/\n\n.ui.stacked.segment {\n  padding-bottom: 1.4em;\n}\n.ui.stacked.segments:before,\n.ui.stacked.segments:after,\n.ui.stacked.segment:before,\n.ui.stacked.segment:after {\n  content: '';\n  position: absolute;\n  bottom: -3px;\n  left: 0%;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: rgba(0, 0, 0, 0.03);\n  width: 100%;\n  height: 6px;\n  visibility: visible;\n}\n.ui.stacked.segments:before,\n.ui.stacked.segment:before {\n  display: none;\n}\n\n/* Add additional page */\n.ui.tall.stacked.segments:before,\n.ui.tall.stacked.segment:before {\n  display: block;\n  bottom: 0px;\n}\n\n/* Inverted */\n.ui.stacked.inverted.segments:before,\n.ui.stacked.inverted.segments:after,\n.ui.stacked.inverted.segment:before,\n.ui.stacked.inverted.segment:after {\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(34, 36, 38, 0.35);\n}\n\n/*-------------------\n       Padded\n--------------------*/\n\n.ui.padded.segment {\n  padding: 1.5em;\n}\n.ui[class*=\"very padded\"].segment {\n  padding: 3em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.segment {\n  display: table;\n}\n\n/* Compact Group */\n.ui.compact.segments {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n.ui.compact.segments .segment,\n.ui.segments .compact.segment {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.segment {\n  display: table-cell;\n  padding: 2em;\n  text-align: center;\n  vertical-align: middle;\n  border-radius: 500em;\n}\n\n/*-------------------\n       Raised\n--------------------*/\n\n.ui.raised.segments,\n.ui.raised.segment {\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n\n/*******************************\n            Groups\n*******************************/\n\n\n/* Group */\n.ui.segments {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  position: relative;\n  margin: 1rem 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n.ui.segments:first-child {\n  margin-top: 0em;\n}\n.ui.segments:last-child {\n  margin-bottom: 0em;\n}\n\n/* Nested Segment */\n.ui.segments > .segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em;\n  width: auto;\n  box-shadow: none;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.segments:not(.horizontal) > .segment:first-child {\n  border-top: none;\n  margin-top: 0em;\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n.ui.segments:not(.horizontal) > .segment:last-child {\n  top: 0px;\n  bottom: 0px;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Nested Group */\n.ui.segments > .ui.segments {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 1rem 1rem;\n}\n.ui.segments > .segments:first-child {\n  border-top: none;\n}\n.ui.segments > .segment + .segments:not(.horizontal) {\n  margin-top: 0em;\n}\n\n/* Horizontal Group */\n.ui.horizontal.segments {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  background-color: transparent;\n  border-radius: 0px;\n  padding: 0em;\n  background-color: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Nested Horizontal Group */\n.ui.segments > .horizontal.segments {\n  margin: 0em;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Horizontal Segment */\n.ui.horizontal.segments > .segment {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n          flex: 1 1 auto;\n  -ms-flex: 1 1 0px;\n  \n/* Solves #2550 MS Flex */\n  margin: 0em;\n  min-width: 0px;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Border Fixes */\n.ui.segments > .horizontal.segments:first-child {\n  border-top: none;\n}\n.ui.horizontal.segments > .segment:first-child {\n  border-left: none;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.segment {\n  opacity: 0.45;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.segment {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n          transition: all 0s linear;\n}\n.ui.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  border-radius: 0.28571429rem;\n  z-index: 100;\n}\n.ui.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: segment-spin 0.6s linear;\n          animation: segment-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n@-webkit-keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n@keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg);\n  }\n  to {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg);\n  }\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*-------------------\n       Basic\n--------------------*/\n\n.ui.basic.segment {\n  background: none transparent;\n  box-shadow: none;\n  border: none;\n  border-radius: 0px;\n}\n\n/*-------------------\n       Clearing\n--------------------*/\n\n.ui.clearing.segment:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\n.ui.red.segment:not(.inverted) {\n  border-top: 2px solid #DB2828;\n}\n.ui.inverted.red.segment {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n.ui.orange.segment:not(.inverted) {\n  border-top: 2px solid #F2711C;\n}\n.ui.inverted.orange.segment {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n.ui.yellow.segment:not(.inverted) {\n  border-top: 2px solid #FBBD08;\n}\n.ui.inverted.yellow.segment {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n.ui.olive.segment:not(.inverted) {\n  border-top: 2px solid #B5CC18;\n}\n.ui.inverted.olive.segment {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n.ui.green.segment:not(.inverted) {\n  border-top: 2px solid #21BA45;\n}\n.ui.inverted.green.segment {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n.ui.teal.segment:not(.inverted) {\n  border-top: 2px solid #00B5AD;\n}\n.ui.inverted.teal.segment {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n.ui.blue.segment:not(.inverted) {\n  border-top: 2px solid #2185D0;\n}\n.ui.inverted.blue.segment {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n.ui.violet.segment:not(.inverted) {\n  border-top: 2px solid #6435C9;\n}\n.ui.inverted.violet.segment {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n.ui.purple.segment:not(.inverted) {\n  border-top: 2px solid #A333C8;\n}\n.ui.inverted.purple.segment {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n.ui.pink.segment:not(.inverted) {\n  border-top: 2px solid #E03997;\n}\n.ui.inverted.pink.segment {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n.ui.brown.segment:not(.inverted) {\n  border-top: 2px solid #A5673F;\n}\n.ui.inverted.brown.segment {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n.ui.grey.segment:not(.inverted) {\n  border-top: 2px solid #767676;\n}\n.ui.inverted.grey.segment {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n.ui.black.segment:not(.inverted) {\n  border-top: 2px solid #1B1C1D;\n}\n.ui.inverted.black.segment {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui[class*=\"left aligned\"].segment {\n  text-align: left;\n}\n.ui[class*=\"right aligned\"].segment {\n  text-align: right;\n}\n.ui[class*=\"center aligned\"].segment {\n  text-align: center;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.segment,\n.ui[class*=\"left floated\"].segment {\n  float: left;\n  margin-right: 1em;\n}\n.ui[class*=\"right floated\"].segment {\n  float: right;\n  margin-left: 1em;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.segment {\n  border: none;\n  box-shadow: none;\n}\n.ui.inverted.segment,\n.ui.primary.inverted.segment {\n  background: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Nested */\n.ui.inverted.segment .segment {\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.inverted.segment .inverted.segment {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Attached */\n.ui.inverted.attached.segment {\n  border-color: #555555;\n}\n\n/*-------------------\n     Emphasis\n--------------------*/\n\n\n/* Secondary */\n.ui.secondary.segment {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.secondary.inverted.segment {\n  background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/* Tertiary */\n.ui.tertiary.segment {\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.6);\n}\n.ui.tertiary.inverted.segment {\n  background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n\n/* Middle */\n.ui.attached.segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n.ui.attached + .ui.attached.segment:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n.ui[class*=\"top attached\"].segment {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n.ui.segment[class*=\"bottom attached\"] {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/shape.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n              Shape\n*******************************/\n\n.ui.shape {\n  position: relative;\n  vertical-align: top;\n  display: inline-block;\n  -webkit-perspective: 2000px;\n          perspective: 2000px;\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n          transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n.ui.shape .sides {\n  -webkit-transform-style: preserve-3d;\n          transform-style: preserve-3d;\n}\n.ui.shape .side {\n  opacity: 1;\n  width: 100%;\n  margin: 0em !important;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n}\n.ui.shape .side {\n  display: none;\n}\n.ui.shape .side * {\n  -webkit-backface-visibility: visible !important;\n          backface-visibility: visible !important;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n.ui.cube.shape .side {\n  min-width: 15em;\n  height: 15em;\n  padding: 2em;\n  background-color: #E6E6E6;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);\n}\n.ui.cube.shape .side > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  text-align: center;\n  -webkit-user-select: text;\n     -moz-user-select: text;\n      -ms-user-select: text;\n          user-select: text;\n}\n.ui.cube.shape .side > .content > div {\n  display: table-cell;\n  vertical-align: middle;\n  font-size: 2em;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.text.shape.animating .sides {\n  position: static;\n}\n.ui.text.shape .side {\n  white-space: nowrap;\n}\n.ui.text.shape .side > * {\n  white-space: normal;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.shape {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.shape .animating.side {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  display: block;\n  z-index: 100;\n}\n.ui.shape .hidden.side {\n  opacity: 0.6;\n}\n\n/*--------------\n      CSS\n---------------*/\n\n.ui.shape.animating .sides {\n  position: absolute;\n}\n.ui.shape.animating .sides {\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n          transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n.ui.shape.animating .side {\n  -webkit-transition: opacity 0.6s ease-in-out;\n          transition: opacity 0.6s ease-in-out;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.shape .active.side {\n  display: block;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/shape.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.shape = function(parameters) {\n  var\n    $allModules     = $(this),\n    $body           = $('body'),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        moduleSelector = $allModules.selector || '',\n        settings       = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.shape.settings, parameters)\n          : $.extend({}, $.fn.shape.settings),\n\n        // internal aliases\n        namespace     = settings.namespace,\n        selector      = settings.selector,\n        error         = settings.error,\n        className     = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // selector cache\n        $module       = $(this),\n        $sides        = $module.find(selector.sides),\n        $side         = $module.find(selector.side),\n\n        // private variables\n        nextIndex = false,\n        $activeSide,\n        $nextSide,\n\n        // standard module\n        element       = this,\n        instance      = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module for', element);\n          module.set.defaultSide();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache for', element);\n          $module = $(element);\n          $sides  = $(this).find(selector.shape);\n          $side   = $(this).find(selector.side);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          var\n            shape          = $sides[0] || document.createElement('div'),\n            fakeAssignment = shape.offsetWidth\n          ;\n        },\n\n        animate: function(propertyObject, callback) {\n          module.verbose('Animating box with properties', propertyObject);\n          callback = callback || function(event) {\n            module.verbose('Executing animation callback');\n            if(event !== undefined) {\n              event.stopPropagation();\n            }\n            module.reset();\n            module.set.active();\n          };\n          settings.beforeChange.call($nextSide[0]);\n          if(module.get.transitionEvent()) {\n            module.verbose('Starting CSS animation');\n            $module\n              .addClass(className.animating)\n            ;\n            $sides\n              .css(propertyObject)\n              .one(module.get.transitionEvent(), callback)\n            ;\n            module.set.duration(settings.duration);\n            requestAnimationFrame(function() {\n              $module\n                .addClass(className.animating)\n              ;\n              $activeSide\n                .addClass(className.hidden)\n              ;\n            });\n          }\n          else {\n            callback();\n          }\n        },\n\n        queue: function(method) {\n          module.debug('Queueing animation of', method);\n          $sides\n            .one(module.get.transitionEvent(), function() {\n              module.debug('Executing queued animation');\n              setTimeout(function(){\n                $module.shape(method);\n              }, 0);\n            })\n          ;\n        },\n\n        reset: function() {\n          module.verbose('Animating states reset');\n          $module\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          // removeAttr style does not consistently work in safari\n          $sides\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          $side\n            .attr('style', '')\n            .removeAttr('style')\n            .removeClass(className.hidden)\n          ;\n          $nextSide\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n        },\n\n        is: {\n          complete: function() {\n            return ($side.filter('.' + className.active)[0] == $nextSide[0]);\n          },\n          animating: function() {\n            return $module.hasClass(className.animating);\n          }\n        },\n\n        set: {\n\n          defaultSide: function() {\n            $activeSide = $module.find('.' + settings.className.active);\n            $nextSide   = ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n            nextIndex = false;\n            module.verbose('Active side set to', $activeSide);\n            module.verbose('Next side set to', $nextSide);\n          },\n\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting animation duration', duration);\n            if(settings.duration || settings.duration === 0) {\n              $sides.add($side)\n                .css({\n                  '-webkit-transition-duration': duration,\n                  '-moz-transition-duration': duration,\n                  '-ms-transition-duration': duration,\n                  '-o-transition-duration': duration,\n                  'transition-duration': duration\n                })\n              ;\n            }\n          },\n\n          currentStageSize: function() {\n            var\n              $activeSide = $module.find('.' + settings.className.active),\n              width       = $activeSide.outerWidth(true),\n              height      = $activeSide.outerHeight(true)\n            ;\n            $module\n              .css({\n                width: width,\n                height: height\n              })\n            ;\n          },\n\n          stageSize: function() {\n            var\n              $clone      = $module.clone().addClass(className.loading),\n              $activeSide = $clone.find('.' + settings.className.active),\n              $nextSide   = (nextIndex)\n                ? $clone.find(selector.side).eq(nextIndex)\n                : ( $activeSide.next(selector.side).length > 0 )\n                  ? $activeSide.next(selector.side)\n                  : $clone.find(selector.side).first(),\n              newSize = {}\n            ;\n            module.set.currentStageSize();\n            $activeSide.removeClass(className.active);\n            $nextSide.addClass(className.active);\n            $clone.insertAfter($module);\n            newSize = {\n              width  : $nextSide.outerWidth(true),\n              height : $nextSide.outerHeight(true)\n            };\n            $clone.remove();\n            $module\n              .css(newSize)\n            ;\n            module.verbose('Resizing stage to fit new content', newSize);\n          },\n\n          nextSide: function(selector) {\n            nextIndex = selector;\n            $nextSide = $side.filter(selector);\n            nextIndex = $side.index($nextSide);\n            if($nextSide.length === 0) {\n              module.set.defaultSide();\n              module.error(error.side);\n            }\n            module.verbose('Next side manually set to', $nextSide);\n          },\n\n          active: function() {\n            module.verbose('Setting new side to active', $nextSide);\n            $side\n              .removeClass(className.active)\n            ;\n            $nextSide\n              .addClass(className.active)\n            ;\n            settings.onChange.call($nextSide[0]);\n            module.set.defaultSide();\n          }\n        },\n\n        flip: {\n\n          up: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping up', $nextSide);\n              module.set.stageSize();\n              module.stage.above();\n              module.animate( module.get.transform.up() );\n            }\n            else {\n              module.queue('flip up');\n            }\n          },\n\n          down: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping down', $nextSide);\n              module.set.stageSize();\n              module.stage.below();\n              module.animate( module.get.transform.down() );\n            }\n            else {\n              module.queue('flip down');\n            }\n          },\n\n          left: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping left', $nextSide);\n              module.set.stageSize();\n              module.stage.left();\n              module.animate(module.get.transform.left() );\n            }\n            else {\n              module.queue('flip left');\n            }\n          },\n\n          right: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping right', $nextSide);\n              module.set.stageSize();\n              module.stage.right();\n              module.animate(module.get.transform.right() );\n            }\n            else {\n              module.queue('flip right');\n            }\n          },\n\n          over: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping over', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.over() );\n            }\n            else {\n              module.queue('flip over');\n            }\n          },\n\n          back: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping back', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.back() );\n            }\n            else {\n              module.queue('flip back');\n            }\n          }\n\n        },\n\n        get: {\n\n          transform: {\n            up: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'\n              };\n            },\n\n            down: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'\n              };\n            },\n\n            left: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'\n              };\n            },\n\n            right: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'\n              };\n            },\n\n            over: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'\n              };\n            },\n\n            back: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'\n              };\n            }\n          },\n\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          nextSide: function() {\n            return ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n          }\n\n        },\n\n        stage: {\n\n          above: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as above', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          below: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as below', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          left: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          right: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          behind: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as behind', $nextSide, box);\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-180deg)'\n              })\n            ;\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.shape.settings = {\n\n  // module info\n  name : 'Shape',\n\n  // debug content outputted to console\n  debug      : false,\n\n  // verbose debug output\n  verbose    : false,\n\n  // performance data output\n  performance: true,\n\n  // event namespace\n  namespace  : 'shape',\n\n  // callback occurs on side change\n  beforeChange : function() {},\n  onChange     : function() {},\n\n  // allow animation to same side\n  allowRepeats: false,\n\n  // animation duration\n  duration   : false,\n\n  // possible errors\n  error: {\n    side   : 'You tried to switch to a side that does not exist.',\n    method : 'The method you called is not defined'\n  },\n\n  // classnames used\n  className   : {\n    animating : 'animating',\n    hidden    : 'hidden',\n    loading   : 'loading',\n    active    : 'active'\n  },\n\n  // selectors used\n  selector    : {\n    sides : '.sides',\n    side  : '.side'\n  }\n\n};\n\n\n})( jQuery, window, document );"
  },
  {
    "path": "src/asset/semantic-ui/components/sidebar.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Sidebar\n*******************************/\n\n\n/* Sidebar Menu */\n.ui.sidebar {\n  position: fixed;\n  top: 0;\n  left: 0;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-transition: none;\n          transition: none;\n  will-change: transform;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  height: 100% !important;\n  max-height: 100%;\n  border-radius: 0em !important;\n  margin: 0em !important;\n  overflow-y: auto !important;\n  z-index: 102;\n}\n\n/* GPU Layers for Child Elements */\n.ui.sidebar > * {\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-transform: rotateZ(0deg);\n          transform: rotateZ(0deg);\n}\n\n/*--------------\n   Direction\n---------------*/\n\n.ui.left.sidebar {\n  right: auto;\n  left: 0px;\n  -webkit-transform: translate3d(-100%, 0, 0);\n          transform: translate3d(-100%, 0, 0);\n}\n.ui.right.sidebar {\n  right: 0px !important;\n  left: auto !important;\n  -webkit-transform: translate3d(100%, 0%, 0);\n          transform: translate3d(100%, 0%, 0);\n}\n.ui.top.sidebar,\n.ui.bottom.sidebar {\n  width: 100% !important;\n  height: auto !important;\n}\n.ui.top.sidebar {\n  top: 0px !important;\n  bottom: auto !important;\n  -webkit-transform: translate3d(0, -100%, 0);\n          transform: translate3d(0, -100%, 0);\n}\n.ui.bottom.sidebar {\n  top: auto !important;\n  bottom: 0px !important;\n  -webkit-transform: translate3d(0, 100%, 0);\n          transform: translate3d(0, 100%, 0);\n}\n\n/*--------------\n     Pushable\n---------------*/\n\n.pushable {\n  height: 100%;\n  overflow-x: hidden;\n  padding: 0em !important;\n}\n\n/* Whole Page */\nbody.pushable {\n  background: #545454 !important;\n}\n\n/* Page Context */\n.pushable:not(body) {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n.pushable:not(body) > .ui.sidebar,\n.pushable:not(body) > .fixed,\n.pushable:not(body) > .pusher:after {\n  position: absolute;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.pushable > .fixed {\n  position: fixed;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  will-change: transform;\n  z-index: 101;\n}\n\n/*--------------\n     Page\n---------------*/\n\n.pushable > .pusher {\n  position: relative;\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  overflow: hidden;\n  min-height: 100%;\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  z-index: 2;\n}\nbody.pushable > .pusher {\n  background: #FFFFFF;\n}\n\n/* Pusher should inherit background from context */\n.pushable > .pusher {\n  background: inherit;\n}\n\n/*--------------\n     Dimmer\n---------------*/\n\n.pushable > .pusher:after {\n  position: fixed;\n  top: 0px;\n  right: 0px;\n  content: '';\n  background-color: rgba(0, 0, 0, 0.4);\n  overflow: hidden;\n  opacity: 0;\n  -webkit-transition: opacity 500ms;\n          transition: opacity 500ms;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.sidebar.menu .item {\n  border-radius: 0em !important;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n     Dimmed\n---------------*/\n\n.pushable > .pusher.dimmed:after {\n  width: 100% !important;\n  height: 100% !important;\n  opacity: 1 !important;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.animating.sidebar {\n  visibility: visible;\n}\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.sidebar {\n  visibility: visible;\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n\n/* Shadow Direction */\n.ui.left.visible.sidebar,\n.ui.right.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n.ui.top.visible.sidebar,\n.ui.bottom.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible On Load */\n.ui.visible.left.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(260px, 0, 0);\n          transform: translate3d(260px, 0, 0);\n}\n.ui.visible.right.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-260px, 0, 0);\n          transform: translate3d(-260px, 0, 0);\n}\n.ui.visible.top.sidebar ~ .fixed,\n.ui.visible.top.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 36px, 0);\n          transform: translate3d(0, 36px, 0);\n}\n.ui.visible.bottom.sidebar ~ .fixed,\n.ui.visible.bottom.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, -36px, 0);\n          transform: translate3d(0, -36px, 0);\n}\n\n/* opposite sides visible forces content overlay */\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n\n/*--------------\n       iOS\n---------------*/\n\n/*\n  iOS incorrectly sizes document when content\n  is presented outside of view with 2Dtranslate\n*/\nhtml.ios {\n  overflow-x: hidden;\n  -webkit-overflow-scrolling: touch;\n}\nhtml.ios,\nhtml.ios body {\n  height: initial !important;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n     Width\n---------------*/\n\n\n/* Left / Right */\n.ui[class*=\"very thin\"].left.sidebar,\n.ui[class*=\"very thin\"].right.sidebar {\n  width: 60px;\n}\n.ui.thin.left.sidebar,\n.ui.thin.right.sidebar {\n  width: 150px;\n}\n.ui.left.sidebar,\n.ui.right.sidebar {\n  width: 260px;\n}\n.ui.wide.left.sidebar,\n.ui.wide.right.sidebar {\n  width: 350px;\n}\n.ui[class*=\"very wide\"].left.sidebar,\n.ui[class*=\"very wide\"].right.sidebar {\n  width: 475px;\n}\n\n/* Left Visible */\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(60px, 0, 0);\n          transform: translate3d(60px, 0, 0);\n}\n.ui.visible.thin.left.sidebar ~ .fixed,\n.ui.visible.thin.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(150px, 0, 0);\n          transform: translate3d(150px, 0, 0);\n}\n.ui.visible.wide.left.sidebar ~ .fixed,\n.ui.visible.wide.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(350px, 0, 0);\n          transform: translate3d(350px, 0, 0);\n}\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(475px, 0, 0);\n          transform: translate3d(475px, 0, 0);\n}\n\n/* Right Visible */\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-60px, 0, 0);\n          transform: translate3d(-60px, 0, 0);\n}\n.ui.visible.thin.right.sidebar ~ .fixed,\n.ui.visible.thin.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-150px, 0, 0);\n          transform: translate3d(-150px, 0, 0);\n}\n.ui.visible.wide.right.sidebar ~ .fixed,\n.ui.visible.wide.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-350px, 0, 0);\n          transform: translate3d(-350px, 0, 0);\n}\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-475px, 0, 0);\n          transform: translate3d(-475px, 0, 0);\n}\n\n\n/*******************************\n          Animations\n*******************************/\n\n\n/*--------------\n    Overlay\n---------------*/\n\n\n/* Set-up */\n.ui.overlay.sidebar {\n  z-index: 102;\n}\n\n/* Initial */\n.ui.left.overlay.sidebar {\n  -webkit-transform: translate3d(-100%, 0%, 0);\n          transform: translate3d(-100%, 0%, 0);\n}\n.ui.right.overlay.sidebar {\n  -webkit-transform: translate3d(100%, 0%, 0);\n          transform: translate3d(100%, 0%, 0);\n}\n.ui.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n          transform: translate3d(0%, -100%, 0);\n}\n.ui.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n          transform: translate3d(0%, 100%, 0);\n}\n\n/* Animation */\n.animating.ui.overlay.sidebar,\n.ui.visible.overlay.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/* End - Sidebar */\n.ui.visible.left.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n.ui.visible.right.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n.ui.visible.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n.ui.visible.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n          transform: translate3d(0%, 0%, 0);\n}\n\n/* End - Pusher */\n.ui.visible.overlay.sidebar ~ .fixed,\n.ui.visible.overlay.sidebar ~ .pusher {\n  -webkit-transform: none !important;\n      -ms-transform: none !important;\n          transform: none !important;\n}\n\n/*--------------\n      Push\n---------------*/\n\n\n/* Initial */\n.ui.push.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial */\n.ui.left.push.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n          transform: translate3d(-100%, 0, 0);\n}\n.ui.right.push.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n          transform: translate3d(100%, 0, 0);\n}\n.ui.top.push.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n          transform: translate3d(0%, -100%, 0);\n}\n.ui.bottom.push.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n          transform: translate3d(0%, 100%, 0);\n}\n\n/* End */\n.ui.visible.push.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n          transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n    Uncover\n---------------*/\n\n\n/* Initial */\n.ui.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  z-index: 1;\n}\n\n/* End */\n.ui.visible.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/*--------------\n   Slide Along\n---------------*/\n\n\n/* Initial */\n.ui.slide.along.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n.ui.left.slide.along.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n          transform: translate3d(-50%, 0, 0);\n}\n.ui.right.slide.along.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n          transform: translate3d(50%, 0, 0);\n}\n.ui.top.slide.along.sidebar {\n  -webkit-transform: translate3d(0, -50%, 0);\n          transform: translate3d(0, -50%, 0);\n}\n.ui.bottom.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n          transform: translate3d(0%, 50%, 0);\n}\n\n/* Animation */\n.ui.animating.slide.along.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/* End */\n.ui.visible.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n          transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Slide Out\n---------------*/\n\n\n/* Initial */\n.ui.slide.out.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n.ui.left.slide.out.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n          transform: translate3d(50%, 0, 0);\n}\n.ui.right.slide.out.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n          transform: translate3d(-50%, 0, 0);\n}\n.ui.top.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n          transform: translate3d(0%, 50%, 0);\n}\n.ui.bottom.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, -50%, 0);\n          transform: translate3d(0%, -50%, 0);\n}\n\n/* Animation */\n.ui.animating.slide.out.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n\n/* End */\n.ui.visible.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n          transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Scale Down\n---------------*/\n\n\n/* Initial */\n.ui.scale.down.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial  */\n.ui.left.scale.down.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n          transform: translate3d(-100%, 0, 0);\n}\n.ui.right.scale.down.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n          transform: translate3d(100%, 0, 0);\n}\n.ui.top.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n          transform: translate3d(0%, -100%, 0);\n}\n.ui.bottom.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n          transform: translate3d(0%, 100%, 0);\n}\n\n/* Pusher - Initial */\n.ui.scale.down.left.sidebar ~ .pusher {\n  -webkit-transform-origin: 75% 50%;\n      -ms-transform-origin: 75% 50%;\n          transform-origin: 75% 50%;\n}\n.ui.scale.down.right.sidebar ~ .pusher {\n  -webkit-transform-origin: 25% 50%;\n      -ms-transform-origin: 25% 50%;\n          transform-origin: 25% 50%;\n}\n.ui.scale.down.top.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 75%;\n      -ms-transform-origin: 50% 75%;\n          transform-origin: 50% 75%;\n}\n.ui.scale.down.bottom.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 25%;\n      -ms-transform-origin: 50% 25%;\n          transform-origin: 50% 25%;\n}\n\n/* Animation */\n.ui.animating.scale.down > .visible.ui.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n          transition: transform 500ms ease;\n}\n.ui.visible.scale.down.sidebar ~ .pusher,\n.ui.animating.scale.down.sidebar ~ .pusher {\n  display: block !important;\n  width: 100%;\n  height: 100%;\n  overflow: hidden !important;\n}\n\n/* End */\n.ui.visible.scale.down.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n          transform: translate3d(0, 0, 0);\n}\n.ui.visible.scale.down.sidebar ~ .pusher {\n  -webkit-transform: scale(0.75);\n      -ms-transform: scale(0.75);\n          transform: scale(0.75);\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/sidebar.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sidebar = function(parameters) {\n  var\n    $allModules     = $(this),\n    $window         = $(window),\n    $document       = $(document),\n    $html           = $('html'),\n    $head           = $('head'),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sidebar.settings, parameters)\n          : $.extend({}, $.fn.sidebar.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $sidebars       = $module.children(selector.sidebar),\n        $fixed          = $context.children(selector.fixed),\n        $pusher         = $context.children(selector.pusher),\n        $style,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        currentScroll,\n        transitionEvent,\n\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.debug('Initializing sidebar', parameters);\n\n          module.create.id();\n\n          transitionEvent = module.get.transitionEvent();\n\n          if(module.is.ios()) {\n            module.set.ios();\n          }\n\n          // avoids locking rendering if initialized in onReady\n          if(settings.delaySetup) {\n            requestAnimationFrame(module.setup.layout);\n          }\n          else {\n            module.setup.layout();\n          }\n\n          requestAnimationFrame(function() {\n            module.setup.cache();\n          });\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          if(module.is.ios()) {\n            module.remove.ios();\n          }\n          // bound by uuid\n          $context.off(elementNamespace);\n          $window.off(elementNamespace);\n          $document.off(elementNamespace);\n        },\n\n        event: {\n          clickaway: function(event) {\n            var\n              clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)),\n              clickedContext  = ($context.is(event.target))\n            ;\n            if(clickedInPusher) {\n              module.verbose('User clicked on dimmed page');\n              module.hide();\n            }\n            if(clickedContext) {\n              module.verbose('User clicked on dimmable context (scaled out page)');\n              module.hide();\n            }\n          },\n          touch: function(event) {\n            //event.stopPropagation();\n          },\n          containScroll: function(event) {\n            if(element.scrollTop <= 0)  {\n              element.scrollTop = 1;\n            }\n            if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) {\n              element.scrollTop = element.scrollHeight - element.offsetHeight - 1;\n            }\n          },\n          scroll: function(event) {\n            if( $(event.target).closest(selector.sidebar).length === 0 ) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        bind: {\n          clickaway: function() {\n            module.verbose('Adding clickaway events to context', $context);\n            if(settings.closable) {\n              $context\n                .on('click'    + elementNamespace, module.event.clickaway)\n                .on('touchend' + elementNamespace, module.event.clickaway)\n              ;\n            }\n          },\n          scrollLock: function() {\n            if(settings.scrollLock) {\n              module.debug('Disabling page scroll');\n              $window\n                .on('DOMMouseScroll' + elementNamespace, module.event.scroll)\n              ;\n            }\n            module.verbose('Adding events to contain sidebar scroll');\n            $document\n              .on('touchmove' + elementNamespace, module.event.touch)\n            ;\n            $module\n              .on('scroll' + eventNamespace, module.event.containScroll)\n            ;\n          }\n        },\n        unbind: {\n          clickaway: function() {\n            module.verbose('Removing clickaway events from context', $context);\n            $context.off(elementNamespace);\n          },\n          scrollLock: function() {\n            module.verbose('Removing scroll lock from page');\n            $document.off(elementNamespace);\n            $window.off(elementNamespace);\n            $module.off('scroll' + eventNamespace);\n          }\n        },\n\n        add: {\n          inlineCSS: function() {\n            var\n              width     = module.cache.width  || $module.outerWidth(),\n              height    = module.cache.height || $module.outerHeight(),\n              isRTL     = module.is.rtl(),\n              direction = module.get.direction(),\n              distance  = {\n                left   : width,\n                right  : -width,\n                top    : height,\n                bottom : -height\n              },\n              style\n            ;\n\n            if(isRTL){\n              module.verbose('RTL detected, flipping widths');\n              distance.left = -width;\n              distance.right = width;\n            }\n\n            style  = '<style>';\n\n            if(direction === 'left' || direction === 'right') {\n              module.debug('Adding CSS rules for animation distance', width);\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + ' }'\n              ;\n            }\n            else if(direction === 'top' || direction == 'bottom') {\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + ' }'\n              ;\n            }\n\n            /* IE is only browser not to create context with transforms */\n            /* https://www.w3.org/Bugs/Public/show_bug.cgi?id=16328 */\n            if( module.is.ie() ) {\n              if(direction === 'left' || direction === 'right') {\n                module.debug('Adding CSS rules for animation distance', width);\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + ' }'\n                ;\n              }\n              else if(direction === 'top' || direction == 'bottom') {\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + ' }'\n                ;\n              }\n              /* opposite sides visible forces content overlay */\n              style += ''\n                + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,'\n                + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {'\n                + '   -webkit-transform: translate3d(0px, 0, 0);'\n                + '           transform: translate3d(0px, 0, 0);'\n                + ' }'\n              ;\n            }\n            style += '</style>';\n            $style = $(style)\n              .appendTo($head)\n            ;\n            module.debug('Adding sizing css to head', $style);\n          }\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $context  = $(settings.context);\n          $sidebars = $context.children(selector.sidebar);\n          $pusher   = $context.children(selector.pusher);\n          $fixed    = $context.children(selector.fixed);\n          module.clear.cache();\n        },\n\n        refreshSidebars: function() {\n          module.verbose('Refreshing other sidebars');\n          $sidebars = $context.children(selector.sidebar);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          element.style.display = 'none';\n          var ignored = element.offsetHeight;\n          element.scrollTop = element.scrollTop;\n          element.style.display = '';\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              width  : $module.outerWidth(),\n              height : $module.outerHeight(),\n              rtl    : ($module.css('direction') == 'rtl')\n            };\n          },\n          layout: function() {\n            if( $context.children(selector.pusher).length === 0 ) {\n              module.debug('Adding wrapper element for sidebar');\n              module.error(error.pusher);\n              $pusher = $('<div class=\"pusher\" />');\n              $context\n                .children()\n                  .not(selector.omitted)\n                  .not($sidebars)\n                  .wrapAll($pusher)\n              ;\n              module.refresh();\n            }\n            if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {\n              module.debug('Moved sidebar to correct parent element');\n              module.error(error.movedSidebar, element);\n              $module.detach().prependTo($context);\n              module.refresh();\n            }\n            module.clear.cache();\n            module.set.pushable();\n            module.set.direction();\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching sidebar events to element', selector, event);\n            $toggle\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.hidden()) {\n            module.refreshSidebars();\n            if(settings.overlay)  {\n              module.error(error.overlay);\n              settings.transition = 'overlay';\n            }\n            module.refresh();\n            if(module.othersActive()) {\n              module.debug('Other sidebars currently visible');\n              if(settings.exclusive) {\n                // if not overlay queue animation after hide\n                if(settings.transition != 'overlay') {\n                  module.hideOthers(module.show);\n                  return;\n                }\n                else {\n                  module.hideOthers();\n                }\n              }\n              else {\n                settings.transition = 'overlay';\n              }\n            }\n            module.pushPage(function() {\n              callback.call(element);\n              settings.onShow.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onVisible.call(element);\n          }\n          else {\n            module.debug('Sidebar is already visible');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.visible() || module.is.animating()) {\n            module.debug('Hiding sidebar', callback);\n            module.refreshSidebars();\n            module.pullPage(function() {\n              callback.call(element);\n              settings.onHidden.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onHide.call(element);\n          }\n        },\n\n        othersAnimating: function() {\n          return ($sidebars.not($module).filter('.' + className.animating).length > 0);\n        },\n        othersVisible: function() {\n          return ($sidebars.not($module).filter('.' + className.visible).length > 0);\n        },\n        othersActive: function() {\n          return(module.othersVisible() || module.othersAnimating());\n        },\n\n        hideOthers: function(callback) {\n          var\n            $otherSidebars = $sidebars.not($module).filter('.' + className.visible),\n            sidebarCount   = $otherSidebars.length,\n            callbackCount  = 0\n          ;\n          callback = callback || function(){};\n          $otherSidebars\n            .sidebar('hide', function() {\n              callbackCount++;\n              if(callbackCount == sidebarCount) {\n                callback();\n              }\n            })\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Determining toggled direction');\n          if(module.is.hidden()) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        pushPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition === 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            dim,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(settings.transition == 'scale down') {\n            module.scrollToTop();\n          }\n          module.set.transition(transition);\n          module.repaint();\n          animate = function() {\n            module.bind.clickaway();\n            module.add.inlineCSS();\n            module.set.animating();\n            module.set.visible();\n          };\n          dim = function() {\n            module.set.dimmed();\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.bind.scrollLock();\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n          if(settings.dimPage && !module.othersVisible()) {\n            requestAnimationFrame(dim);\n          }\n        },\n\n        pullPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition == 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.verbose('Removing context push state', module.get.direction());\n\n          module.unbind.clickaway();\n          module.unbind.scrollLock();\n\n          animate = function() {\n            module.set.transition(transition);\n            module.set.animating();\n            module.remove.visible();\n            if(settings.dimPage && !module.othersVisible()) {\n              $pusher.removeClass(className.dimmed);\n            }\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.remove.transition();\n              module.remove.inlineCSS();\n              if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) {\n                module.scrollBack();\n              }\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n        },\n\n        scrollToTop: function() {\n          module.verbose('Scrolling to top of page to avoid animation issues');\n          currentScroll = $(window).scrollTop();\n          $module.scrollTop(0);\n          window.scrollTo(0, 0);\n        },\n\n        scrollBack: function() {\n          module.verbose('Scrolling back to original page position');\n          window.scrollTo(0, currentScroll);\n        },\n\n        clear: {\n          cache: function() {\n            module.verbose('Clearing cached dimensions');\n            module.cache = {};\n          }\n        },\n\n        set: {\n\n          // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios\n          ios: function() {\n            $html.addClass(className.ios);\n          },\n\n          // container\n          pushed: function() {\n            $context.addClass(className.pushed);\n          },\n          pushable: function() {\n            $context.addClass(className.pushable);\n          },\n\n          // pusher\n          dimmed: function() {\n            $pusher.addClass(className.dimmed);\n          },\n\n          // sidebar\n          active: function() {\n            $module.addClass(className.active);\n          },\n          animating: function() {\n            $module.addClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.addClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.addClass(className[direction]);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          overlay: function() {\n            $module.addClass(className.overlay);\n          }\n        },\n        remove: {\n\n          inlineCSS: function() {\n            module.debug('Removing inline css styles', $style);\n            if($style && $style.length > 0) {\n              $style.remove();\n            }\n          },\n\n          // ios scroll on html not document\n          ios: function() {\n            $html.removeClass(className.ios);\n          },\n\n          // context\n          pushed: function() {\n            $context.removeClass(className.pushed);\n          },\n          pushable: function() {\n            $context.removeClass(className.pushable);\n          },\n\n          // sidebar\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.removeClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.removeClass(className[direction]);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          overlay: function() {\n            $module.removeClass(className.overlay);\n          }\n        },\n\n        get: {\n          direction: function() {\n            if($module.hasClass(className.top)) {\n              return className.top;\n            }\n            else if($module.hasClass(className.right)) {\n              return className.right;\n            }\n            else if($module.hasClass(className.bottom)) {\n              return className.bottom;\n            }\n            return className.left;\n          },\n          transition: function() {\n            var\n              direction = module.get.direction(),\n              transition\n            ;\n            transition = ( module.is.mobile() )\n              ? (settings.mobileTransition == 'auto')\n                ? settings.defaultTransition.mobile[direction]\n                : settings.mobileTransition\n              : (settings.transition == 'auto')\n                ? settings.defaultTransition.computer[direction]\n                : settings.transition\n            ;\n            module.verbose('Determined transition', transition);\n            return transition;\n          },\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          }\n        },\n\n        is: {\n\n          ie: function() {\n            var\n              isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),\n              isIE   = ('ActiveXObject' in window)\n            ;\n            return (isIE11 || isIE);\n          },\n\n          ios: function() {\n            var\n              userAgent      = navigator.userAgent,\n              isIOS          = userAgent.match(regExp.ios),\n              isMobileChrome = userAgent.match(regExp.mobileChrome)\n            ;\n            if(isIOS && !isMobileChrome) {\n              module.verbose('Browser was found to be iOS', userAgent);\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          mobile: function() {\n            var\n              userAgent    = navigator.userAgent,\n              isMobile     = userAgent.match(regExp.mobile)\n            ;\n            if(isMobile) {\n              module.verbose('Browser was found to be mobile', userAgent);\n              return true;\n            }\n            else {\n              module.verbose('Browser is not mobile, using regular transition', userAgent);\n              return false;\n            }\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          visible: function() {\n            return $module.hasClass(className.visible);\n          },\n          // alias\n          open: function() {\n            return module.is.visible();\n          },\n          closed: function() {\n            return module.is.hidden();\n          },\n          vertical: function() {\n            return $module.hasClass(className.top);\n          },\n          animating: function() {\n            return $context.hasClass(className.animating);\n          },\n          rtl: function () {\n            if(module.cache.rtl === undefined) {\n              module.cache.rtl = ($module.css('direction') == 'rtl');\n            }\n            return module.cache.rtl;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      }\n    ;\n\n    if(methodInvoked) {\n      if(instance === undefined) {\n        module.initialize();\n      }\n      module.invoke(query);\n    }\n    else {\n      if(instance !== undefined) {\n        module.invoke('destroy');\n      }\n      module.initialize();\n    }\n  });\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sidebar.settings = {\n\n  name              : 'Sidebar',\n  namespace         : 'sidebar',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  transition        : 'auto',\n  mobileTransition  : 'auto',\n\n  defaultTransition : {\n    computer: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    },\n    mobile: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    }\n  },\n\n  context           : 'body',\n  exclusive         : false,\n  closable          : true,\n  dimPage           : true,\n  scrollLock        : false,\n  returnScroll      : false,\n  delaySetup        : false,\n\n  duration          : 500,\n\n  onChange          : function(){},\n  onShow            : function(){},\n  onHide            : function(){},\n\n  onHidden          : function(){},\n  onVisible         : function(){},\n\n  className         : {\n    active    : 'active',\n    animating : 'animating',\n    dimmed    : 'dimmed',\n    ios       : 'ios',\n    pushable  : 'pushable',\n    pushed    : 'pushed',\n    right     : 'right',\n    top       : 'top',\n    left      : 'left',\n    bottom    : 'bottom',\n    visible   : 'visible'\n  },\n\n  selector: {\n    fixed   : '.fixed',\n    omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',\n    pusher  : '.pusher',\n    sidebar : '.ui.sidebar'\n  },\n\n  regExp: {\n    ios          : /(iPad|iPhone|iPod)/g,\n    mobileChrome : /(CriOS)/g,\n    mobile       : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\n  },\n\n  error   : {\n    method       : 'The method you called is not defined.',\n    pusher       : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element',\n    movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag',\n    overlay      : 'The overlay setting is no longer supported, use animation: overlay',\n    notFound     : 'There were no elements that matched the specified selector'\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/site.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Page\n*******************************/\n\n@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin');\nhtml,\nbody {\n  height: 100%;\n}\nhtml {\n  font-size: 14px;\n}\nbody {\n  margin: 0px;\n  padding: 0px;\n  overflow-x: hidden;\n  min-width: 320px;\n  background: #FFFFFF;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 14px;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  font-smoothing: antialiased;\n}\n\n\n/*******************************\n             Headers\n*******************************/\n\nh1,\nh2,\nh3,\nh4,\nh5 {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  line-height: 1.2857em;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  font-weight: bold;\n  padding: 0em;\n}\nh1 {\n  min-height: 1rem;\n  font-size: 2rem;\n}\nh2 {\n  font-size: 1.714rem;\n}\nh3 {\n  font-size: 1.28rem;\n}\nh4 {\n  font-size: 1.071rem;\n}\nh5 {\n  font-size: 1rem;\n}\nh1:first-child,\nh2:first-child,\nh3:first-child,\nh4:first-child,\nh5:first-child {\n  margin-top: 0em;\n}\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n             Text\n*******************************/\n\np {\n  margin: 0em 0em 1em;\n  line-height: 1.4285em;\n}\np:first-child {\n  margin-top: 0em;\n}\np:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n        Links\n--------------------*/\n\na {\n  color: #4183C4;\n  text-decoration: none;\n}\na:hover {\n  color: #1e70bf;\n  text-decoration: none;\n}\n\n\n/*******************************\n          Highlighting\n*******************************/\n\n\n/* Site */\n::-webkit-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n::-moz-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n::selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Form */\ntextarea::-webkit-selection,\ninput::-webkit-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\ntextarea::-moz-selection,\ninput::-moz-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\ntextarea::selection,\ninput::selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\n\n/*******************************\n        Global Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/site.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n;(function ( $, window, document, undefined ) {\n\n$.site = $.fn.site = function(parameters) {\n  var\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    settings        = ( $.isPlainObject(parameters) )\n      ? $.extend(true, {}, $.site.settings, parameters)\n      : $.extend({}, $.site.settings),\n\n    namespace       = settings.namespace,\n    error           = settings.error,\n\n    eventNamespace  = '.' + namespace,\n    moduleNamespace = 'module-' + namespace,\n\n    $document       = $(document),\n    $module         = $document,\n    element         = this,\n    instance        = $module.data(moduleNamespace),\n\n    module,\n    returnedValue\n  ;\n  module = {\n\n    initialize: function() {\n      module.instantiate();\n    },\n\n    instantiate: function() {\n      module.verbose('Storing instance of site', module);\n      instance = module;\n      $module\n        .data(moduleNamespace, module)\n      ;\n    },\n\n    normalize: function() {\n      module.fix.console();\n      module.fix.requestAnimationFrame();\n    },\n\n    fix: {\n      console: function() {\n        module.debug('Normalizing window.console');\n        if (console === undefined || console.log === undefined) {\n          module.verbose('Console not available, normalizing events');\n          module.disable.console();\n        }\n        if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {\n          module.verbose('Console group not available, normalizing events');\n          window.console.group = function() {};\n          window.console.groupEnd = function() {};\n          window.console.groupCollapsed = function() {};\n        }\n        if (typeof console.markTimeline == 'undefined') {\n          module.verbose('Mark timeline not available, normalizing events');\n          window.console.markTimeline = function() {};\n        }\n      },\n      consoleClear: function() {\n        module.debug('Disabling programmatic console clearing');\n        window.console.clear = function() {};\n      },\n      requestAnimationFrame: function() {\n        module.debug('Normalizing requestAnimationFrame');\n        if(window.requestAnimationFrame === undefined) {\n          module.debug('RequestAnimationFrame not available, normalizing event');\n          window.requestAnimationFrame = window.requestAnimationFrame\n            || window.mozRequestAnimationFrame\n            || window.webkitRequestAnimationFrame\n            || window.msRequestAnimationFrame\n            || function(callback) { setTimeout(callback, 0); }\n          ;\n        }\n      }\n    },\n\n    moduleExists: function(name) {\n      return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);\n    },\n\n    enabled: {\n      modules: function(modules) {\n        var\n          enabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(module.moduleExists(name)) {\n            enabledModules.push(name);\n          }\n        });\n        return enabledModules;\n      }\n    },\n\n    disabled: {\n      modules: function(modules) {\n        var\n          disabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(!module.moduleExists(name)) {\n            disabledModules.push(name);\n          }\n        });\n        return disabledModules;\n      }\n    },\n\n    change: {\n      setting: function(setting, value, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? (modules === 'all')\n            ? settings.modules\n            : [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            namespace = (module.moduleExists(name))\n              ? $.fn[name].settings.namespace || false\n              : true,\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', setting, value, name);\n            $.fn[name].settings[setting] = value;\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', setting, value);\n              }\n            }\n          }\n        });\n      },\n      settings: function(newSettings, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', newSettings, name);\n            $.extend(true, $.fn[name].settings, newSettings);\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', newSettings);\n              }\n            }\n          }\n        });\n      }\n    },\n\n    enable: {\n      console: function() {\n        module.console(true);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling debug for modules', modules);\n        module.change.setting('debug', true, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling verbose debug for modules', modules);\n        module.change.setting('verbose', true, modules, modifyExisting);\n      }\n    },\n    disable: {\n      console: function() {\n        module.console(false);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling debug for modules', modules);\n        module.change.setting('debug', false, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling verbose debug for modules', modules);\n        module.change.setting('verbose', false, modules, modifyExisting);\n      }\n    },\n\n    console: function(enable) {\n      if(enable) {\n        if(instance.cache.console === undefined) {\n          module.error(error.console);\n          return;\n        }\n        module.debug('Restoring console function');\n        window.console = instance.cache.console;\n      }\n      else {\n        module.debug('Disabling console function');\n        instance.cache.console = window.console;\n        window.console = {\n          clear          : function(){},\n          error          : function(){},\n          group          : function(){},\n          groupCollapsed : function(){},\n          groupEnd       : function(){},\n          info           : function(){},\n          log            : function(){},\n          markTimeline   : function(){},\n          warn           : function(){}\n        };\n      }\n    },\n\n    destroy: function() {\n      module.verbose('Destroying previous site for', $module);\n      $module\n        .removeData(moduleNamespace)\n      ;\n    },\n\n    cache: {},\n\n    setting: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, settings, name);\n      }\n      else if(value !== undefined) {\n        settings[name] = value;\n      }\n      else {\n        return settings[name];\n      }\n    },\n    internal: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, module, name);\n      }\n      else if(value !== undefined) {\n        module[name] = value;\n      }\n      else {\n        return module[name];\n      }\n    },\n    debug: function() {\n      if(settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.debug.apply(console, arguments);\n        }\n      }\n    },\n    verbose: function() {\n      if(settings.verbose && settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.verbose.apply(console, arguments);\n        }\n      }\n    },\n    error: function() {\n      module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n      module.error.apply(console, arguments);\n    },\n    performance: {\n      log: function(message) {\n        var\n          currentTime,\n          executionTime,\n          previousTime\n        ;\n        if(settings.performance) {\n          currentTime   = new Date().getTime();\n          previousTime  = time || currentTime;\n          executionTime = currentTime - previousTime;\n          time          = currentTime;\n          performance.push({\n            'Element'        : element,\n            'Name'           : message[0],\n            'Arguments'      : [].slice.call(message, 1) || '',\n            'Execution Time' : executionTime\n          });\n        }\n        clearTimeout(module.performance.timer);\n        module.performance.timer = setTimeout(module.performance.display, 500);\n      },\n      display: function() {\n        var\n          title = settings.name + ':',\n          totalTime = 0\n        ;\n        time = false;\n        clearTimeout(module.performance.timer);\n        $.each(performance, function(index, data) {\n          totalTime += data['Execution Time'];\n        });\n        title += ' ' + totalTime + 'ms';\n        if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n          console.groupCollapsed(title);\n          if(console.table) {\n            console.table(performance);\n          }\n          else {\n            $.each(performance, function(index, data) {\n              console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n            });\n          }\n          console.groupEnd();\n        }\n        performance = [];\n      }\n    },\n    invoke: function(query, passedArguments, context) {\n      var\n        object = instance,\n        maxDepth,\n        found,\n        response\n      ;\n      passedArguments = passedArguments || queryArguments;\n      context         = element         || context;\n      if(typeof query == 'string' && object !== undefined) {\n        query    = query.split(/[\\. ]/);\n        maxDepth = query.length - 1;\n        $.each(query, function(depth, value) {\n          var camelCaseValue = (depth != maxDepth)\n            ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n            : query\n          ;\n          if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n            object = object[camelCaseValue];\n          }\n          else if( object[camelCaseValue] !== undefined ) {\n            found = object[camelCaseValue];\n            return false;\n          }\n          else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n            object = object[value];\n          }\n          else if( object[value] !== undefined ) {\n            found = object[value];\n            return false;\n          }\n          else {\n            module.error(error.method, query);\n            return false;\n          }\n        });\n      }\n      if ( $.isFunction( found ) ) {\n        response = found.apply(context, passedArguments);\n      }\n      else if(found !== undefined) {\n        response = found;\n      }\n      if($.isArray(returnedValue)) {\n        returnedValue.push(response);\n      }\n      else if(returnedValue !== undefined) {\n        returnedValue = [returnedValue, response];\n      }\n      else if(response !== undefined) {\n        returnedValue = response;\n      }\n      return found;\n    }\n  };\n\n  if(methodInvoked) {\n    if(instance === undefined) {\n      module.initialize();\n    }\n    module.invoke(query);\n  }\n  else {\n    if(instance !== undefined) {\n      module.destroy();\n    }\n    module.initialize();\n  }\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.site.settings = {\n\n  name        : 'Site',\n  namespace   : 'site',\n\n  error : {\n    console : 'Console cannot be restored, most likely it was overwritten outside of module',\n    method : 'The method you called is not defined.'\n  },\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  modules: [\n    'accordion',\n    'api',\n    'checkbox',\n    'dimmer',\n    'dropdown',\n    'embed',\n    'form',\n    'modal',\n    'nag',\n    'popup',\n    'rating',\n    'shape',\n    'sidebar',\n    'state',\n    'sticky',\n    'tab',\n    'transition',\n    'visit',\n    'visibility'\n  ],\n\n  siteNamespace   : 'site',\n  namespaceStub   : {\n    cache     : {},\n    config    : {},\n    sections  : {},\n    section   : {},\n    utilities : {}\n  }\n\n};\n\n// allows for selection of elements with data attributes\n$.extend($.expr[ \":\" ], {\n  data: ($.expr.createPseudo)\n    ? $.expr.createPseudo(function(dataName) {\n        return function(elem) {\n          return !!$.data(elem, dataName);\n        };\n      })\n    : function(elem, i, match) {\n      // support: jQuery < 1.8\n      return !!$.data(elem, match[ 3 ]);\n    }\n});\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/state.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - State\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.state = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    hasTouch        = ('ontouchstart' in document.documentElement),\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.state.settings, parameters)\n          : $.extend({}, $.fn.state.settings),\n\n        error           = settings.error,\n        metadata        = settings.metadata,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        states          = settings.states,\n        text            = settings.text,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n\n          // allow module to guess desired state based on element\n          if(settings.automatic) {\n            module.add.defaults();\n          }\n\n          // bind events with delegated events\n          if(settings.context && moduleSelector !== '') {\n            $(settings.context)\n              .on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)\n              .on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)\n              .on(moduleSelector, 'click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          else {\n            $module\n              .on('mouseenter' + eventNamespace, module.change.text)\n              .on('mouseleave' + eventNamespace, module.reset.text)\n              .on('click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $module = $(element);\n        },\n\n        add: {\n          defaults: function() {\n            var\n              userStates = parameters && $.isPlainObject(parameters.states)\n                ? parameters.states\n                : {}\n            ;\n            $.each(settings.defaults, function(type, typeStates) {\n              if( module.is[type] !== undefined && module.is[type]() ) {\n                module.verbose('Adding default states', type, element);\n                $.extend(settings.states, typeStates, userStates);\n              }\n            });\n          }\n        },\n\n        is: {\n\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          loading: function() {\n            return $module.hasClass(className.loading);\n          },\n          inactive: function() {\n            return !( $module.hasClass(className.active) );\n          },\n          state: function(state) {\n            if(className[state] === undefined) {\n              return false;\n            }\n            return $module.hasClass( className[state] );\n          },\n\n          enabled: function() {\n            return !( $module.is(settings.filter.active) );\n          },\n          disabled: function() {\n            return ( $module.is(settings.filter.active) );\n          },\n          textEnabled: function() {\n            return !( $module.is(settings.filter.text) );\n          },\n\n          // definitions for automatic type detection\n          button: function() {\n            return $module.is('.button:not(a, .submit)');\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          progress: function() {\n            return $module.is('.ui.progress');\n          }\n        },\n\n        allow: function(state) {\n          module.debug('Now allowing state', state);\n          states[state] = true;\n        },\n        disallow: function(state) {\n          module.debug('No longer allowing', state);\n          states[state] = false;\n        },\n\n        allows: function(state) {\n          return states[state] || false;\n        },\n\n        enable: function() {\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          $module.addClass(className.disabled);\n        },\n\n        setState: function(state) {\n          if(module.allows(state)) {\n            $module.addClass( className[state] );\n          }\n        },\n\n        removeState: function(state) {\n          if(module.allows(state)) {\n            $module.removeClass( className[state] );\n          }\n        },\n\n        toggle: {\n          state: function() {\n            var\n              apiRequest,\n              requestCancelled\n            ;\n            if( module.allows('active') && module.is.enabled() ) {\n              module.refresh();\n              if($.fn.api !== undefined) {\n                apiRequest       = $module.api('get request');\n                requestCancelled = $module.api('was cancelled');\n                if( requestCancelled ) {\n                  module.debug('API Request cancelled by beforesend');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                else if(apiRequest) {\n                  module.listenTo(apiRequest);\n                  return;\n                }\n              }\n              module.change.state();\n            }\n          }\n        },\n\n        listenTo: function(apiRequest) {\n          module.debug('API request detected, waiting for state signal', apiRequest);\n          if(apiRequest) {\n            if(text.loading) {\n              module.update.text(text.loading);\n            }\n            $.when(apiRequest)\n              .then(function() {\n                if(apiRequest.state() == 'resolved') {\n                  module.debug('API request succeeded');\n                  settings.activateTest   = function(){ return true; };\n                  settings.deactivateTest = function(){ return true; };\n                }\n                else {\n                  module.debug('API request failed');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                module.change.state();\n              })\n            ;\n          }\n        },\n\n        // checks whether active/inactive state can be given\n        change: {\n\n          state: function() {\n            module.debug('Determining state change direction');\n            // inactive to active change\n            if( module.is.inactive() ) {\n              module.activate();\n            }\n            else {\n              module.deactivate();\n            }\n            if(settings.sync) {\n              module.sync();\n            }\n            settings.onChange.call(element);\n          },\n\n          text: function() {\n            if( module.is.textEnabled() ) {\n              if(module.is.disabled() ) {\n                module.verbose('Changing text to disabled text', text.hover);\n                module.update.text(text.disabled);\n              }\n              else if( module.is.active() ) {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.deactivate) {\n                  module.verbose('Changing text to deactivating text', text.deactivate);\n                  module.update.text(text.deactivate);\n                }\n              }\n              else {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.activate){\n                  module.verbose('Changing text to activating text', text.activate);\n                  module.update.text(text.activate);\n                }\n              }\n            }\n          }\n\n        },\n\n        activate: function() {\n          if( settings.activateTest.call(element) ) {\n            module.debug('Setting state to active');\n            $module\n              .addClass(className.active)\n            ;\n            module.update.text(text.active);\n            settings.onActivate.call(element);\n          }\n        },\n\n        deactivate: function() {\n          if( settings.deactivateTest.call(element) ) {\n            module.debug('Setting state to inactive');\n            $module\n              .removeClass(className.active)\n            ;\n            module.update.text(text.inactive);\n            settings.onDeactivate.call(element);\n          }\n        },\n\n        sync: function() {\n          module.verbose('Syncing other buttons to current state');\n          if( module.is.active() ) {\n            $allModules\n              .not($module)\n                .state('activate');\n          }\n          else {\n            $allModules\n              .not($module)\n                .state('deactivate')\n            ;\n          }\n        },\n\n        get: {\n          text: function() {\n            return (settings.selector.text)\n              ? $module.find(settings.selector.text).text()\n              : $module.html()\n            ;\n          },\n          textFor: function(state) {\n            return text[state] || false;\n          }\n        },\n\n        flash: {\n          text: function(text, duration, callback) {\n            var\n              previousText = module.get.text()\n            ;\n            module.debug('Flashing text message', text, duration);\n            text     = text     || settings.text.flash;\n            duration = duration || settings.flashDuration;\n            callback = callback || function() {};\n            module.update.text(text);\n            setTimeout(function(){\n              module.update.text(previousText);\n              callback.call(element);\n            }, duration);\n          }\n        },\n\n        reset: {\n          // on mouseout sets text to previous value\n          text: function() {\n            var\n              activeText   = text.active   || $module.data(metadata.storedText),\n              inactiveText = text.inactive || $module.data(metadata.storedText)\n            ;\n            if( module.is.textEnabled() ) {\n              if( module.is.active() && activeText) {\n                module.verbose('Resetting active text', activeText);\n                module.update.text(activeText);\n              }\n              else if(inactiveText) {\n                module.verbose('Resetting inactive text', activeText);\n                module.update.text(inactiveText);\n              }\n            }\n          }\n        },\n\n        update: {\n          text: function(text) {\n            var\n              currentText = module.get.text()\n            ;\n            if(text && text !== currentText) {\n              module.debug('Updating text', text);\n              if(settings.selector.text) {\n                $module\n                  .data(metadata.storedText, text)\n                  .find(settings.selector.text)\n                    .text(text)\n                ;\n              }\n              else {\n                $module\n                  .data(metadata.storedText, text)\n                  .html(text)\n                ;\n              }\n            }\n            else {\n              module.debug('Text is already set, ignoring update', text);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.state.settings = {\n\n  // module info\n  name           : 'State',\n\n  // debug output\n  debug          : false,\n\n  // verbose debug output\n  verbose        : false,\n\n  // namespace for events\n  namespace      : 'state',\n\n  // debug data includes performance\n  performance    : true,\n\n  // callback occurs on state change\n  onActivate     : function() {},\n  onDeactivate   : function() {},\n  onChange       : function() {},\n\n  // state test functions\n  activateTest   : function() { return true; },\n  deactivateTest : function() { return true; },\n\n  // whether to automatically map default states\n  automatic      : true,\n\n  // activate / deactivate changes all elements instantiated at same time\n  sync           : false,\n\n  // default flash text duration, used for temporarily changing text of an element\n  flashDuration  : 1000,\n\n  // selector filter\n  filter     : {\n    text   : '.loading, .disabled',\n    active : '.disabled'\n  },\n\n  context    : false,\n\n  // error\n  error: {\n    beforeSend : 'The before send function has cancelled state change',\n    method     : 'The method you called is not defined.'\n  },\n\n  // metadata\n  metadata: {\n    promise    : 'promise',\n    storedText : 'stored-text'\n  },\n\n  // change class on state\n  className: {\n    active   : 'active',\n    disabled : 'disabled',\n    error    : 'error',\n    loading  : 'loading',\n    success  : 'success',\n    warning  : 'warning'\n  },\n\n  selector: {\n    // selector for text node\n    text: false\n  },\n\n  defaults : {\n    input: {\n      disabled : true,\n      loading  : true,\n      active   : true\n    },\n    button: {\n      disabled : true,\n      loading  : true,\n      active   : true,\n    },\n    progress: {\n      active   : true,\n      success  : true,\n      warning  : true,\n      error    : true\n    }\n  },\n\n  states     : {\n    active   : true,\n    disabled : true,\n    error    : true,\n    loading  : true,\n    success  : true,\n    warning  : true\n  },\n\n  text     : {\n    disabled   : false,\n    flash      : false,\n    hover      : false,\n    active     : false,\n    inactive   : false,\n    activate   : false,\n    deactivate : false\n  }\n\n};\n\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/statistic.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Statistic\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           Statistic\n*******************************/\n\n\n/* Standalone */\n.ui.statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin: 1em 0em;\n  max-width: auto;\n}\n.ui.statistic + .ui.statistic {\n  margin: 0em 0em 0em 1.5em;\n}\n.ui.statistic:first-child {\n  margin-top: 0em;\n}\n.ui.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Group\n*******************************/\n\n\n/* Grouped */\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: start;\n  -webkit-align-items: flex-start;\n      -ms-flex-align: start;\n          align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n}\n.ui.statistics > .statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin: 0em 1.5em 2em;\n  max-width: auto;\n}\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em -1.5em -2em;\n}\n\n/* Clearing */\n.ui.statistics:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n.ui.statistics:first-child {\n  margin-top: 0em;\n}\n.ui.statistics:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/*--------------\n      Value\n---------------*/\n\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 4rem;\n  font-weight: normal;\n  line-height: 1em;\n  color: #1B1C1D;\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/*--------------\n     Label\n---------------*/\n\n.ui.statistics .statistic > .label,\n.ui.statistic > .label {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/* Top Label */\n.ui.statistics .statistic > .label ~ .value,\n.ui.statistic > .label ~ .value {\n  margin-top: 0rem;\n}\n\n/* Bottom Label */\n.ui.statistics .statistic > .value ~ .label,\n.ui.statistic > .value ~ .label {\n  margin-top: 0rem;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n   Icon Value\n---------------*/\n\n.ui.statistics .statistic > .value .icon,\n.ui.statistic > .value .icon {\n  opacity: 1;\n  width: auto;\n  margin: 0em;\n}\n\n/*--------------\n   Text Value\n---------------*/\n\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  line-height: 1em;\n  min-height: 2em;\n  font-weight: bold;\n  text-align: center;\n}\n.ui.statistics .statistic > .text.value + .label,\n.ui.statistic > .text.value + .label {\n  text-align: center;\n}\n\n/*--------------\n   Image Value\n---------------*/\n\n.ui.statistics .statistic > .value img,\n.ui.statistic > .value img {\n  max-height: 3rem;\n  vertical-align: baseline;\n}\n\n\n/*******************************\n            Variations\n*******************************/\n\n\n/*--------------\n      Count\n---------------*/\n\n.ui.ten.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.ten.statistics .statistic {\n  min-width: 10%;\n  margin: 0em 0em 2em;\n}\n.ui.nine.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.nine.statistics .statistic {\n  min-width: 11.11111111%;\n  margin: 0em 0em 2em;\n}\n.ui.eight.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.eight.statistics .statistic {\n  min-width: 12.5%;\n  margin: 0em 0em 2em;\n}\n.ui.seven.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.seven.statistics .statistic {\n  min-width: 14.28571429%;\n  margin: 0em 0em 2em;\n}\n.ui.six.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.six.statistics .statistic {\n  min-width: 16.66666667%;\n  margin: 0em 0em 2em;\n}\n.ui.five.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.five.statistics .statistic {\n  min-width: 20%;\n  margin: 0em 0em 2em;\n}\n.ui.four.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.four.statistics .statistic {\n  min-width: 25%;\n  margin: 0em 0em 2em;\n}\n.ui.three.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.three.statistics .statistic {\n  min-width: 33.33333333%;\n  margin: 0em 0em 2em;\n}\n.ui.two.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.two.statistics .statistic {\n  min-width: 50%;\n  margin: 0em 0em 2em;\n}\n.ui.one.statistics {\n  margin: 0em 0em -2em;\n}\n.ui.one.statistics .statistic {\n  min-width: 100%;\n  margin: 0em 0em 2em;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n}\n.ui.horizontal.statistics {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  margin: 0em;\n  max-width: none;\n}\n.ui.horizontal.statistics .statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  max-width: none;\n  margin: 1em 0em;\n}\n.ui.horizontal.statistic > .text.value,\n.ui.horizontal.statistics > .statistic > .text.value {\n  min-height: 0em !important;\n}\n.ui.horizontal.statistics .statistic > .value .icon,\n.ui.horizontal.statistic > .value .icon {\n  width: 1.18em;\n}\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  display: inline-block;\n  vertical-align: middle;\n}\n.ui.horizontal.statistics .statistic > .label,\n.ui.horizontal.statistic > .label {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0em 0em 0em 0.75em;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.red.statistics .statistic > .value,\n.ui.statistics .red.statistic > .value,\n.ui.red.statistic > .value {\n  color: #DB2828;\n}\n.ui.orange.statistics .statistic > .value,\n.ui.statistics .orange.statistic > .value,\n.ui.orange.statistic > .value {\n  color: #F2711C;\n}\n.ui.yellow.statistics .statistic > .value,\n.ui.statistics .yellow.statistic > .value,\n.ui.yellow.statistic > .value {\n  color: #FBBD08;\n}\n.ui.olive.statistics .statistic > .value,\n.ui.statistics .olive.statistic > .value,\n.ui.olive.statistic > .value {\n  color: #B5CC18;\n}\n.ui.green.statistics .statistic > .value,\n.ui.statistics .green.statistic > .value,\n.ui.green.statistic > .value {\n  color: #21BA45;\n}\n.ui.teal.statistics .statistic > .value,\n.ui.statistics .teal.statistic > .value,\n.ui.teal.statistic > .value {\n  color: #00B5AD;\n}\n.ui.blue.statistics .statistic > .value,\n.ui.statistics .blue.statistic > .value,\n.ui.blue.statistic > .value {\n  color: #2185D0;\n}\n.ui.violet.statistics .statistic > .value,\n.ui.statistics .violet.statistic > .value,\n.ui.violet.statistic > .value {\n  color: #6435C9;\n}\n.ui.purple.statistics .statistic > .value,\n.ui.statistics .purple.statistic > .value,\n.ui.purple.statistic > .value {\n  color: #A333C8;\n}\n.ui.pink.statistics .statistic > .value,\n.ui.statistics .pink.statistic > .value,\n.ui.pink.statistic > .value {\n  color: #E03997;\n}\n.ui.brown.statistics .statistic > .value,\n.ui.statistics .brown.statistic > .value,\n.ui.brown.statistic > .value {\n  color: #A5673F;\n}\n.ui.grey.statistics .statistic > .value,\n.ui.statistics .grey.statistic > .value,\n.ui.grey.statistic > .value {\n  color: #767676;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.statistics .statistic > .value,\n.ui.inverted.statistic .value {\n  color: #FFFFFF;\n}\n.ui.inverted.statistics .statistic > .label,\n.ui.inverted.statistic .label {\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.red.statistics .statistic > .value,\n.ui.statistics .inverted.red.statistic > .value,\n.ui.inverted.red.statistic > .value {\n  color: #FF695E;\n}\n.ui.inverted.orange.statistics .statistic > .value,\n.ui.statistics .inverted.orange.statistic > .value,\n.ui.inverted.orange.statistic > .value {\n  color: #FF851B;\n}\n.ui.inverted.yellow.statistics .statistic > .value,\n.ui.statistics .inverted.yellow.statistic > .value,\n.ui.inverted.yellow.statistic > .value {\n  color: #FFE21F;\n}\n.ui.inverted.olive.statistics .statistic > .value,\n.ui.statistics .inverted.olive.statistic > .value,\n.ui.inverted.olive.statistic > .value {\n  color: #D9E778;\n}\n.ui.inverted.green.statistics .statistic > .value,\n.ui.statistics .inverted.green.statistic > .value,\n.ui.inverted.green.statistic > .value {\n  color: #2ECC40;\n}\n.ui.inverted.teal.statistics .statistic > .value,\n.ui.statistics .inverted.teal.statistic > .value,\n.ui.inverted.teal.statistic > .value {\n  color: #6DFFFF;\n}\n.ui.inverted.blue.statistics .statistic > .value,\n.ui.statistics .inverted.blue.statistic > .value,\n.ui.inverted.blue.statistic > .value {\n  color: #54C8FF;\n}\n.ui.inverted.violet.statistics .statistic > .value,\n.ui.statistics .inverted.violet.statistic > .value,\n.ui.inverted.violet.statistic > .value {\n  color: #A291FB;\n}\n.ui.inverted.purple.statistics .statistic > .value,\n.ui.statistics .inverted.purple.statistic > .value,\n.ui.inverted.purple.statistic > .value {\n  color: #DC73FF;\n}\n.ui.inverted.pink.statistics .statistic > .value,\n.ui.statistics .inverted.pink.statistic > .value,\n.ui.inverted.pink.statistic > .value {\n  color: #FF8EDF;\n}\n.ui.inverted.brown.statistics .statistic > .value,\n.ui.statistics .inverted.brown.statistic > .value,\n.ui.inverted.brown.statistic > .value {\n  color: #D67C1C;\n}\n.ui.inverted.grey.statistics .statistic > .value,\n.ui.statistics .inverted.grey.statistic > .value,\n.ui.inverted.grey.statistic > .value {\n  color: #DCDDDE;\n}\n\n/*--------------\n    Floated\n---------------*/\n\n.ui[class*=\"left floated\"].statistic {\n  float: left;\n  margin: 0em 2em 1em 0em;\n}\n.ui[class*=\"right floated\"].statistic {\n  float: right;\n  margin: 0em 0em 1em 2em;\n}\n.ui.floated.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n\n/* Mini */\n.ui.mini.statistics .statistic > .value,\n.ui.mini.statistic > .value {\n  font-size: 1.5rem;\n}\n.ui.mini.horizontal.statistics .statistic > .value,\n.ui.mini.horizontal.statistic > .value {\n  font-size: 1.5rem;\n}\n.ui.mini.statistics .statistic > .text.value,\n.ui.mini.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Tiny */\n.ui.tiny.statistics .statistic > .value,\n.ui.tiny.statistic > .value {\n  font-size: 2rem;\n}\n.ui.tiny.horizontal.statistics .statistic > .value,\n.ui.tiny.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n.ui.tiny.statistics .statistic > .text.value,\n.ui.tiny.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Small */\n.ui.small.statistics .statistic > .value,\n.ui.small.statistic > .value {\n  font-size: 3rem;\n}\n.ui.small.horizontal.statistics .statistic > .value,\n.ui.small.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n.ui.small.statistics .statistic > .text.value,\n.ui.small.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Medium */\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-size: 4rem;\n}\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  font-size: 3rem;\n}\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  font-size: 2rem;\n}\n\n/* Large */\n.ui.large.statistics .statistic > .value,\n.ui.large.statistic > .value {\n  font-size: 5rem;\n}\n.ui.large.horizontal.statistics .statistic > .value,\n.ui.large.horizontal.statistic > .value {\n  font-size: 4rem;\n}\n.ui.large.statistics .statistic > .text.value,\n.ui.large.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n/* Huge */\n.ui.huge.statistics .statistic > .value,\n.ui.huge.statistic > .value {\n  font-size: 6rem;\n}\n.ui.huge.horizontal.statistics .statistic > .value,\n.ui.huge.horizontal.statistic > .value {\n  font-size: 5rem;\n}\n.ui.huge.statistics .statistic > .text.value,\n.ui.huge.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n    User Variable Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/step.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Step\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Plural\n*******************************/\n\n.ui.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n      -ms-flex-align: stretch;\n          align-items: stretch;\n  margin: 1em 0em;\n  background: '';\n  box-shadow: none;\n  line-height: 1.14285714em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* First Steps */\n.ui.steps:first-child {\n  margin-top: 0em;\n}\n\n/* Last Steps */\n.ui.steps:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n           Singular\n*******************************/\n\n.ui.steps .step {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n      -ms-flex: 1 0 auto;\n          flex: 1 0 auto;\n  -webkit-flex-wrap: wrap;\n      -ms-flex-wrap: wrap;\n          flex-wrap: wrap;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  vertical-align: middle;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n      -ms-flex-align: center;\n          align-items: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  margin: 0em 0em;\n  padding: 1.14285714em 2em;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border-radius: 0em;\n  border: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n          transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n}\n\n/* Arrow */\n.ui.steps .step:after {\n  display: none;\n  position: absolute;\n  z-index: 2;\n  content: '';\n  top: 50%;\n  right: 0%;\n  border: medium none;\n  background-color: #FFFFFF;\n  width: 1.14285714em;\n  height: 1.14285714em;\n  border-style: solid;\n  border-color: rgba(34, 36, 38, 0.15);\n  border-width: 0px 1px 1px 0px;\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n          transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n      -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n          transform: translateY(-50%) translateX(50%) rotate(-45deg);\n}\n\n/* First Step */\n.ui.steps .step:first-child {\n  padding-left: 2em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n/* Last Step */\n.ui.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n.ui.steps .step:last-child {\n  border-right: none;\n  margin-right: 0em;\n}\n\n/* Only Step */\n.ui.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n\n/*******************************\n            Content\n*******************************/\n\n\n/* Title */\n.ui.steps .step .title {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.14285714em;\n  font-weight: bold;\n}\n.ui.steps .step > .title {\n  width: 100%;\n}\n\n/* Description */\n.ui.steps .step .description {\n  font-weight: normal;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.steps .step > .description {\n  width: 100%;\n}\n.ui.steps .step .title ~ .description {\n  margin-top: 0.25em;\n}\n\n/* Icon */\n.ui.steps .step > .icon {\n  line-height: 1;\n  font-size: 2.5em;\n  margin: 0em 1rem 0em 0em;\n}\n.ui.steps .step > .icon,\n.ui.steps .step > .icon ~ .content {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n      -ms-flex: 0 1 auto;\n          flex: 0 1 auto;\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n}\n.ui.steps .step > .icon ~ .content {\n  -webkit-box-flex: 1 0 auto;\n  -webkit-flex-grow: 1 0 auto;\n      -ms-flex-positive: 1 0 auto;\n          flex-grow: 1 0 auto;\n}\n\n/* Horizontal Icon */\n.ui.steps:not(.vertical) .step > .icon {\n  width: auto;\n}\n\n/* Link */\n.ui.steps .link.step,\n.ui.steps a.step {\n  cursor: pointer;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n\n/*--------------\n     Ordered\n---------------*/\n\n.ui.ordered.steps {\n  counter-reset: ordered;\n}\n.ui.ordered.steps .step:before {\n  display: block;\n  position: static;\n  text-align: center;\n  content: counters(ordered, \".\");\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n  margin-right: 1rem;\n  font-size: 2.5em;\n  counter-increment: ordered;\n  font-family: inherit;\n  font-weight: bold;\n}\n.ui.ordered.steps .step > * {\n  display: block;\n  -webkit-align-self: middle;\n      -ms-flex-item-align: middle;\n          align-self: middle;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  overflow: visible;\n}\n.ui.vertical.steps .step {\n  -webkit-box-pack: start;\n  -webkit-justify-content: flex-start;\n      -ms-flex-pack: start;\n          justify-content: flex-start;\n  border-radius: 0em;\n  padding: 1.14285714em 2em;\n  border-right: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.vertical.steps .step:first-child {\n  padding: 1.14285714em 2em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.vertical.steps .step:last-child {\n  border-bottom: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.vertical.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n/* Arrow */\n.ui.vertical.steps .step:after {\n  display: none;\n}\n.ui.vertical.steps .step:after {\n  top: 50%;\n  right: 0%;\n  border-width: 0px 1px 1px 0px;\n}\n.ui.vertical.steps .step:after {\n  display: none;\n}\n.ui.vertical.steps .active.step:after {\n  display: block;\n}\n.ui.vertical.steps .step:last-child:after {\n  display: none;\n}\n.ui.vertical.steps .active.step:last-child:after {\n  display: block;\n}\n\n/*---------------\n    Responsive\n----------------*/\n\n\n/* Mobile (Default) */\n@media only screen and (max-width: 767px) {\n  .ui.steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  .ui.steps .step {\n    width: 100% !important;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n  .ui.steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n  .ui.steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n  \n/* Arrow */\n  .ui.steps .step:after {\n    display: none !important;\n  }\n  \n/* Content */\n  .ui.steps .step .content {\n    text-align: center;\n  }\n  \n/* Icon */\n  .ui.steps .step > .icon,\n  .ui.ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/* Link Hover */\n.ui.steps .link.step:hover::after,\n.ui.steps .link.step:hover,\n.ui.steps a.step:hover::after,\n.ui.steps a.step:hover {\n  background: #F9FAFB;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Link Down */\n.ui.steps .link.step:active::after,\n.ui.steps .link.step:active,\n.ui.steps a.step:active::after,\n.ui.steps a.step:active {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.9);\n}\n\n/* Active */\n.ui.steps .step.active {\n  cursor: auto;\n  background: #F3F4F5;\n}\n.ui.steps .step.active:after {\n  background: #F3F4F5;\n}\n.ui.steps .step.active .title {\n  color: #4183C4;\n}\n.ui.ordered.steps .step.active:before,\n.ui.steps .active.step .icon {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Active Arrow */\n.ui.steps .step:after {\n  display: block;\n}\n.ui.steps .active.step:after {\n  display: block;\n}\n.ui.steps .step:last-child:after {\n  display: none;\n}\n.ui.steps .active.step:last-child:after {\n  display: none;\n}\n\n/* Active Hover */\n.ui.steps .link.active.step:hover::after,\n.ui.steps .link.active.step:hover,\n.ui.steps a.active.step:hover::after,\n.ui.steps a.active.step:hover {\n  cursor: pointer;\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Completed */\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  color: #21BA45;\n}\n\n/* Disabled */\n.ui.steps .disabled.step {\n  cursor: auto;\n  background: #FFFFFF;\n  pointer-events: none;\n}\n.ui.steps .disabled.step,\n.ui.steps .disabled.step .title,\n.ui.steps .disabled.step .description {\n  color: rgba(40, 40, 40, 0.3);\n}\n.ui.steps .disabled.step:after {\n  background: #FFFFFF;\n}\n\n\n/*******************************\n           Variations\n*******************************/\n\n\n/*--------------\n   Stackable\n---------------*/\n\n\n/* Tablet Or Below */\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n  }\n  \n/* Steps */\n  .ui[class*=\"tablet stackable\"].steps .step {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n        -ms-flex-direction: column;\n            flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n  .ui[class*=\"tablet stackable\"].steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n  .ui[class*=\"tablet stackable\"].steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n  \n/* Arrow */\n  .ui[class*=\"tablet stackable\"].steps .step:after {\n    display: none !important;\n  }\n  \n/* Content */\n  .ui[class*=\"tablet stackable\"].steps .step .content {\n    text-align: center;\n  }\n  \n/* Icon */\n  .ui[class*=\"tablet stackable\"].steps .step > .icon,\n  .ui[class*=\"tablet stackable\"].ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n\n/* Fluid */\n.ui.fluid.steps {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n\n/* Top */\n.ui.attached.steps {\n  width: calc(100% +  2px ) !important;\n  margin: 0em -1px -1px;\n  max-width: calc(100% +  2px );\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.attached.steps .step:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui.attached.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n.ui.bottom.attached.steps {\n  margin: -1px -1px 0em;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui.bottom.attached.steps .step:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n.ui.bottom.attached.steps .step:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/*-------------------\n    Evenly Divided\n--------------------*/\n\n.ui.one.steps,\n.ui.two.steps,\n.ui.three.steps,\n.ui.four.steps,\n.ui.five.steps,\n.ui.six.steps,\n.ui.seven.steps,\n.ui.eight.steps {\n  width: 100%;\n}\n.ui.one.steps > .step,\n.ui.two.steps > .step,\n.ui.three.steps > .step,\n.ui.four.steps > .step,\n.ui.five.steps > .step,\n.ui.six.steps > .step,\n.ui.seven.steps > .step,\n.ui.eight.steps > .step {\n  -webkit-flex-wrap: nowrap;\n      -ms-flex-wrap: nowrap;\n          flex-wrap: nowrap;\n}\n.ui.one.steps > .step {\n  width: 100%;\n}\n.ui.two.steps > .step {\n  width: 50%;\n}\n.ui.three.steps > .step {\n  width: 33.333%;\n}\n.ui.four.steps > .step {\n  width: 25%;\n}\n.ui.five.steps > .step {\n  width: 20%;\n}\n.ui.six.steps > .step {\n  width: 16.666%;\n}\n.ui.seven.steps > .step {\n  width: 14.285%;\n}\n.ui.eight.steps > .step {\n  width: 12.500%;\n}\n\n/*-------------------\n       Sizes\n--------------------*/\n\n.ui.small.step,\n.ui.small.steps .step {\n  font-size: 0.92857143rem;\n}\n.ui.step,\n.ui.steps .step {\n  font-size: 1rem;\n}\n.ui.large.step,\n.ui.large.steps .step {\n  font-size: 1.14285714rem;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Step';\n  src: url(data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=) format('truetype'), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA) format('woff');\n}\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  font-family: 'Step';\n  content: '\\e800';\n  \n/* '' */\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/sticky.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Sticky\n*******************************/\n\n.ui.sticky {\n  position: static;\n  -webkit-transition: none;\n          transition: none;\n  z-index: 800;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/* Bound */\n.ui.sticky.bound {\n  position: absolute;\n  left: auto;\n  right: auto;\n}\n\n/* Fixed */\n.ui.sticky.fixed {\n  position: fixed;\n  left: auto;\n  right: auto;\n}\n\n/* Bound/Fixed Position */\n.ui.sticky.bound.top,\n.ui.sticky.fixed.top {\n  top: 0px;\n  bottom: auto;\n}\n.ui.sticky.bound.bottom,\n.ui.sticky.fixed.bottom {\n  top: auto;\n  bottom: 0px;\n}\n\n\n/*******************************\n            Types\n*******************************/\n\n.ui.native.sticky {\n  position: -webkit-sticky;\n  position: -moz-sticky;\n  position: -ms-sticky;\n  position: -o-sticky;\n  position: sticky;\n}\n\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/sticky.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sticky = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings              = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sticky.settings, parameters)\n          : $.extend({}, $.fn.sticky.settings),\n\n        className             = settings.className,\n        namespace             = settings.namespace,\n        error                 = settings.error,\n\n        eventNamespace        = '.' + namespace,\n        moduleNamespace       = 'module-' + namespace,\n\n        $module               = $(this),\n        $window               = $(window),\n        $scroll               = $(settings.scrollContext),\n        $container,\n        $context,\n\n        selector              = $module.selector || '',\n        instance              = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        observer,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          module.determineContainer();\n          module.determineContext();\n          module.verbose('Initializing sticky', settings, $container);\n\n          module.save.positions();\n          module.checkErrors();\n          module.bind.events();\n\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance');\n          module.reset();\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load' + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $scroll\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module.removeData(moduleNamespace);\n        },\n\n        observeChanges: function() {\n          var\n            context = $context[0]\n          ;\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu', mutations);\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            observer.observe(context, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        determineContainer: function() {\n          $container = $module.offsetParent();\n        },\n\n        determineContext: function() {\n          if(settings.context) {\n            $context = $(settings.context);\n          }\n          else {\n            $context = $container;\n          }\n          if($context.length === 0) {\n            module.error(error.invalidContext, settings.context, $module);\n            return;\n          }\n        },\n\n        checkErrors: function() {\n          if( module.is.hidden() ) {\n            module.error(error.visible, $module);\n          }\n          if(module.cache.element.height > module.cache.context.height) {\n            module.reset();\n            module.error(error.elementSize, $module);\n            return;\n          }\n        },\n\n        bind: {\n          events: function() {\n            $window\n              .on('load' + eventNamespace, module.event.load)\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $scroll\n              .off('scroll' + eventNamespace)\n              .on('scroll' + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          load: function() {\n            module.verbose('Page contents finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          resize: function() {\n            module.verbose('Window resized');\n            requestAnimationFrame(module.refresh);\n          },\n          scroll: function() {\n            requestAnimationFrame(function() {\n              $scroll.triggerHandler('scrollchange' + eventNamespace, $scroll.scrollTop() );\n            });\n          },\n          scrollchange: function(event, scrollPosition) {\n            module.stick(scrollPosition);\n            settings.onScroll.call(element);\n          }\n        },\n\n        refresh: function(hardRefresh) {\n          module.reset();\n          if(!settings.context) {\n            module.determineContext();\n          }\n          if(hardRefresh) {\n            module.determineContainer();\n          }\n          module.save.positions();\n          module.stick();\n          settings.onReposition.call(element);\n        },\n\n        supports: {\n          sticky: function() {\n            var\n              $element = $('<div/>'),\n              element = $element[0]\n            ;\n            $element.addClass(className.supported);\n            return($element.css('position').match('sticky'));\n          }\n        },\n\n        save: {\n          lastScroll: function(scroll) {\n            module.lastScroll = scroll;\n          },\n          elementScroll: function(scroll) {\n            module.elementScroll = scroll;\n          },\n          positions: function() {\n            var\n              scrollContext = {\n                height : $scroll.height()\n              },\n              element = {\n                margin: {\n                  top    : parseInt($module.css('margin-top'), 10),\n                  bottom : parseInt($module.css('margin-bottom'), 10),\n                },\n                offset : $module.offset(),\n                width  : $module.outerWidth(),\n                height : $module.outerHeight()\n              },\n              context = {\n                offset : $context.offset(),\n                height : $context.outerHeight()\n              },\n              container = {\n                height: $container.outerHeight()\n              }\n            ;\n            if( !module.is.standardScroll() ) {\n              module.debug('Non-standard scroll. Removing scroll offset from element offset');\n\n              scrollContext.top  = $scroll.scrollTop();\n              scrollContext.left = $scroll.scrollLeft();\n\n              element.offset.top  += scrollContext.top;\n              context.offset.top  += scrollContext.top;\n              element.offset.left += scrollContext.left;\n              context.offset.left += scrollContext.left;\n            }\n            module.cache = {\n              fits : ( element.height < scrollContext.height ),\n              scrollContext : {\n                height : scrollContext.height\n              },\n              element: {\n                margin : element.margin,\n                top    : element.offset.top - element.margin.top,\n                left   : element.offset.left,\n                width  : element.width,\n                height : element.height,\n                bottom : element.offset.top + element.height\n              },\n              context: {\n                top           : context.offset.top,\n                height        : context.height,\n                bottom        : context.offset.top + context.height\n              }\n            };\n            module.set.containerSize();\n            module.set.size();\n            module.stick();\n            module.debug('Caching element positions', module.cache);\n          }\n        },\n\n        get: {\n          direction: function(scroll) {\n            var\n              direction = 'down'\n            ;\n            scroll = scroll || $scroll.scrollTop();\n            if(module.lastScroll !== undefined) {\n              if(module.lastScroll < scroll) {\n                direction = 'down';\n              }\n              else if(module.lastScroll > scroll) {\n                direction = 'up';\n              }\n            }\n            return direction;\n          },\n          scrollChange: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            return (module.lastScroll)\n              ? (scroll - module.lastScroll)\n              : 0\n            ;\n          },\n          currentElementScroll: function() {\n            if(module.elementScroll) {\n              return module.elementScroll;\n            }\n            return ( module.is.top() )\n              ? Math.abs(parseInt($module.css('top'), 10))    || 0\n              : Math.abs(parseInt($module.css('bottom'), 10)) || 0\n            ;\n          },\n\n          elementScroll: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            var\n              element        = module.cache.element,\n              scrollContext  = module.cache.scrollContext,\n              delta          = module.get.scrollChange(scroll),\n              maxScroll      = (element.height - scrollContext.height + settings.offset),\n              elementScroll  = module.get.currentElementScroll(),\n              possibleScroll = (elementScroll + delta)\n            ;\n            if(module.cache.fits || possibleScroll < 0) {\n              elementScroll = 0;\n            }\n            else if(possibleScroll > maxScroll ) {\n              elementScroll = maxScroll;\n            }\n            else {\n              elementScroll = possibleScroll;\n            }\n            return elementScroll;\n          }\n        },\n\n        remove: {\n          lastScroll: function() {\n            delete module.lastScroll;\n          },\n          elementScroll: function(scroll) {\n            delete module.elementScroll;\n          },\n          offset: function() {\n            $module.css('margin-top', '');\n          }\n        },\n\n        set: {\n          offset: function() {\n            module.verbose('Setting offset on element', settings.offset);\n            $module\n              .css('margin-top', settings.offset)\n            ;\n          },\n          containerSize: function() {\n            var\n              tagName = $container.get(0).tagName\n            ;\n            if(tagName === 'HTML' || tagName == 'body') {\n              // this can trigger for too many reasons\n              //module.error(error.container, tagName, $module);\n              module.determineContainer();\n            }\n            else {\n              if( Math.abs($container.outerHeight() - module.cache.context.height) > settings.jitter) {\n                module.debug('Context has padding, specifying exact height for container', module.cache.context.height);\n                $container.css({\n                  height: module.cache.context.height\n                });\n              }\n            }\n          },\n          minimumSize: function() {\n            var\n              element   = module.cache.element\n            ;\n            $container\n              .css('min-height', element.height)\n            ;\n          },\n          scroll: function(scroll) {\n            module.debug('Setting scroll on element', scroll);\n            if(module.elementScroll == scroll) {\n              return;\n            }\n            if( module.is.top() ) {\n              $module\n                .css('bottom', '')\n                .css('top', -scroll)\n              ;\n            }\n            if( module.is.bottom() ) {\n              $module\n                .css('top', '')\n                .css('bottom', scroll)\n              ;\n            }\n          },\n          size: function() {\n            if(module.cache.element.height !== 0 && module.cache.element.width !== 0) {\n              element.style.setProperty('width',  module.cache.element.width  + 'px', 'important');\n              element.style.setProperty('height', module.cache.element.height + 'px', 'important');\n            }\n          }\n        },\n\n        is: {\n          standardScroll: function() {\n            return ($scroll[0] == window);\n          },\n          top: function() {\n            return $module.hasClass(className.top);\n          },\n          bottom: function() {\n            return $module.hasClass(className.bottom);\n          },\n          initialPosition: function() {\n            return (!module.is.fixed() && !module.is.bound());\n          },\n          hidden: function() {\n            return (!$module.is(':visible'));\n          },\n          bound: function() {\n            return $module.hasClass(className.bound);\n          },\n          fixed: function() {\n            return $module.hasClass(className.fixed);\n          }\n        },\n\n        stick: function(scroll) {\n          var\n            cachedPosition = scroll || $scroll.scrollTop(),\n            cache          = module.cache,\n            fits           = cache.fits,\n            element        = cache.element,\n            scrollContext  = cache.scrollContext,\n            context        = cache.context,\n            offset         = (module.is.bottom() && settings.pushing)\n              ? settings.bottomOffset\n              : settings.offset,\n            scroll         = {\n              top    : cachedPosition + offset,\n              bottom : cachedPosition + offset + scrollContext.height\n            },\n            direction      = module.get.direction(scroll.top),\n            elementScroll  = (fits)\n              ? 0\n              : module.get.elementScroll(scroll.top),\n\n            // shorthand\n            doesntFit      = !fits,\n            elementVisible = (element.height !== 0)\n          ;\n\n          if(elementVisible) {\n\n            if( module.is.initialPosition() ) {\n              if(scroll.top >= context.bottom) {\n                module.debug('Initial element position is bottom of container');\n                module.bindBottom();\n              }\n              else if(scroll.top > element.top) {\n                if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Initial element position is bottom of container');\n                  module.bindBottom();\n                }\n                else {\n                  module.debug('Initial element position is fixed');\n                  module.fixTop();\n                }\n              }\n\n            }\n            else if( module.is.fixed() ) {\n\n              // currently fixed top\n              if( module.is.top() ) {\n                if( scroll.top <= element.top ) {\n                  module.debug('Fixed element reached top of container');\n                  module.setInitialPosition();\n                }\n                else if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Fixed element reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n              }\n\n              // currently fixed bottom\n              else if(module.is.bottom() ) {\n\n                // top edge\n                if( (scroll.bottom - element.height) <= element.top) {\n                  module.debug('Bottom fixed rail has reached top of container');\n                  module.setInitialPosition();\n                }\n                // bottom edge\n                else if(scroll.bottom >= context.bottom) {\n                  module.debug('Bottom fixed rail has reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n\n              }\n            }\n            else if( module.is.bottom() ) {\n              if( scroll.top <= element.top ) {\n                module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button');\n                module.setInitialPosition();\n              }\n              else {\n                if(settings.pushing) {\n                  if(module.is.bound() && scroll.bottom <= context.bottom ) {\n                    module.debug('Fixing bottom attached element to bottom of browser.');\n                    module.fixBottom();\n                  }\n                }\n                else {\n                  if(module.is.bound() && (scroll.top <= context.bottom - element.height) ) {\n                    module.debug('Fixing bottom attached element to top of browser.');\n                    module.fixTop();\n                  }\n                }\n              }\n            }\n          }\n        },\n\n        bindTop: function() {\n          module.debug('Binding element to top of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : '',\n              marginBottom : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.bottom)\n            .addClass(className.bound)\n            .addClass(className.top)\n          ;\n          settings.onTop.call(element);\n          settings.onUnstick.call(element);\n        },\n        bindBottom: function() {\n          module.debug('Binding element to bottom of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.top)\n            .addClass(className.bound)\n            .addClass(className.bottom)\n          ;\n          settings.onBottom.call(element);\n          settings.onUnstick.call(element);\n        },\n\n        setInitialPosition: function() {\n          module.debug('Returning to initial position');\n          module.unfix();\n          module.unbind();\n        },\n\n\n        fixTop: function() {\n          module.debug('Fixing element to top of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.bottom)\n            .addClass(className.fixed)\n            .addClass(className.top)\n          ;\n          settings.onStick.call(element);\n        },\n\n        fixBottom: function() {\n          module.debug('Sticking element to bottom of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.top)\n            .addClass(className.fixed)\n            .addClass(className.bottom)\n          ;\n          settings.onStick.call(element);\n        },\n\n        unbind: function() {\n          if( module.is.bound() ) {\n            module.debug('Removing container bound position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.bound)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n          }\n        },\n\n        unfix: function() {\n          if( module.is.fixed() ) {\n            module.debug('Removing fixed position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.fixed)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n            settings.onUnstick.call(element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Reseting elements position');\n          module.unbind();\n          module.unfix();\n          module.resetCSS();\n          module.remove.offset();\n          module.remove.lastScroll();\n        },\n\n        resetCSS: function() {\n          $module\n            .css({\n              width  : '',\n              height : ''\n            })\n          ;\n          $container\n            .css({\n              height: ''\n            })\n          ;\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 0);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sticky.settings = {\n\n  name           : 'Sticky',\n  namespace      : 'sticky',\n\n  debug          : false,\n  verbose        : true,\n  performance    : true,\n\n  // whether to stick in the opposite direction on scroll up\n  pushing        : false,\n\n  context        : false,\n\n  // Context to watch scroll events\n  scrollContext  : window,\n\n  // Offset to adjust scroll\n  offset         : 0,\n\n  // Offset to adjust scroll when attached to bottom of screen\n  bottomOffset   : 0,\n\n  jitter         : 5, // will only set container height if difference between context and container is larger than this number\n\n  // Whether to automatically observe changes with Mutation Observers\n  observeChanges : false,\n\n  // Called when position is recalculated\n  onReposition   : function(){},\n\n  // Called on each scroll\n  onScroll       : function(){},\n\n  // Called when element is stuck to viewport\n  onStick        : function(){},\n\n  // Called when element is unstuck from viewport\n  onUnstick      : function(){},\n\n  // Called when element reaches top of context\n  onTop          : function(){},\n\n  // Called when element reaches bottom of context\n  onBottom       : function(){},\n\n  error         : {\n    container      : 'Sticky element must be inside a relative container',\n    visible        : 'Element is hidden, you must call refresh after element becomes visible',\n    method         : 'The method you called is not defined.',\n    invalidContext : 'Context specified does not exist',\n    elementSize    : 'Sticky element is larger than its container, cannot create sticky.'\n  },\n\n  className : {\n    bound     : 'bound',\n    fixed     : 'fixed',\n    supported : 'native',\n    top       : 'top',\n    bottom    : 'bottom'\n  }\n\n};\n\n})( jQuery, window, document );"
  },
  {
    "path": "src/asset/semantic-ui/components/tab.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n           UI Tabs\n*******************************/\n\n.ui.tab {\n  display: none;\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------------\n       Active\n---------------------*/\n\n.ui.tab.active,\n.ui.tab.open {\n  display: block;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.tab.loading {\n  position: relative;\n  overflow: hidden;\n  display: block;\n  min-height: 250px;\n}\n.ui.tab.loading * {\n  position: relative !important;\n  left: -10000px !important;\n}\n.ui.tab.loading:before,\n.ui.tab.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n.ui.tab.loading:after,\n.ui.tab.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  -webkit-animation: button-spin 0.6s linear;\n          animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n\n/*******************************\n         Tab Overrides\n*******************************/\n\n\n\n/*******************************\n        User Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/tab.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.tab = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n\n    moduleSelector  = $allModules.selector || '',\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    initializedHistory = false,\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.tab.settings, parameters)\n          : $.extend({}, $.fn.tab.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + settings.namespace,\n        moduleNamespace = 'module-' + settings.namespace,\n\n        $module         = $(this),\n        $context,\n        $tabs,\n\n        cache           = {},\n        firstLoad       = true,\n        recursionDepth  = 0,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        activeTabPath,\n        parameterArray,\n        module,\n\n        historyEvent\n\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing tab menu item', $module);\n          module.fix.callbacks();\n          module.determineTabs();\n\n          module.debug('Determining tabs', settings.context, $tabs);\n          // set up automatic routing\n          if(settings.auto) {\n            module.set.auto();\n          }\n          module.bind.events();\n\n          if(settings.history && !initializedHistory) {\n            module.initializeHistory();\n            initializedHistory = true;\n          }\n\n          module.instantiate();\n        },\n\n        instantiate: function () {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying tabs', $module);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            // if using $.tab don't add events\n            if( !$.isWindow( element ) ) {\n              module.debug('Attaching tab activation events to element', $module);\n              $module\n                .on('click' + eventNamespace, module.event.click)\n              ;\n            }\n          }\n        },\n\n        determineTabs: function() {\n          var\n            $reference\n          ;\n\n          // determine tab context\n          if(settings.context === 'parent') {\n            if($module.closest(selector.ui).length > 0) {\n              $reference = $module.closest(selector.ui);\n              module.verbose('Using closest UI element as parent', $reference);\n            }\n            else {\n              $reference = $module;\n            }\n            $context = $reference.parent();\n            module.verbose('Determined parent element for creating context', $context);\n          }\n          else if(settings.context) {\n            $context = $(settings.context);\n            module.verbose('Using selector for tab context', settings.context, $context);\n          }\n          else {\n            $context = $('body');\n          }\n          // find tabs\n          if(settings.childrenOnly) {\n            $tabs = $context.children(selector.tabs);\n            module.debug('Searching tab context children for tabs', $context, $tabs);\n          }\n          else {\n            $tabs = $context.find(selector.tabs);\n            module.debug('Searching tab context for tabs', $context, $tabs);\n          }\n        },\n\n        fix: {\n          callbacks: function() {\n            if( $.isPlainObject(parameters) && (parameters.onTabLoad || parameters.onTabInit) ) {\n              if(parameters.onTabLoad) {\n                parameters.onLoad = parameters.onTabLoad;\n                delete parameters.onTabLoad;\n                module.error(error.legacyLoad, parameters.onLoad);\n              }\n              if(parameters.onTabInit) {\n                parameters.onFirstLoad = parameters.onTabInit;\n                delete parameters.onTabInit;\n                module.error(error.legacyInit, parameters.onFirstLoad);\n              }\n              settings = $.extend(true, {}, $.fn.tab.settings, parameters);\n            }\n          }\n        },\n\n        initializeHistory: function() {\n          module.debug('Initializing page state');\n          if( $.address === undefined ) {\n            module.error(error.state);\n            return false;\n          }\n          else {\n            if(settings.historyType == 'state') {\n              module.debug('Using HTML5 to manage state');\n              if(settings.path !== false) {\n                $.address\n                  .history(true)\n                  .state(settings.path)\n                ;\n              }\n              else {\n                module.error(error.path);\n                return false;\n              }\n            }\n            $.address\n              .bind('change', module.event.history.change)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              tabPath = $(this).data(metadata.tab)\n            ;\n            if(tabPath !== undefined) {\n              if(settings.history) {\n                module.verbose('Updating page state', event);\n                $.address.value(tabPath);\n              }\n              else {\n                module.verbose('Changing tab', event);\n                module.changeTab(tabPath);\n              }\n              event.preventDefault();\n            }\n            else {\n              module.debug('No tab specified');\n            }\n          },\n          history: {\n            change: function(event) {\n              var\n                tabPath   = event.pathNames.join('/') || module.get.initialPath(),\n                pageTitle = settings.templates.determineTitle(tabPath) || false\n              ;\n              module.performance.display();\n              module.debug('History change event', tabPath, event);\n              historyEvent = event;\n              if(tabPath !== undefined) {\n                module.changeTab(tabPath);\n              }\n              if(pageTitle) {\n                $.address.title(pageTitle);\n              }\n            }\n          }\n        },\n\n        refresh: function() {\n          if(activeTabPath) {\n            module.debug('Refreshing tab', activeTabPath);\n            module.changeTab(activeTabPath);\n          }\n        },\n\n        cache: {\n\n          read: function(cacheKey) {\n            return (cacheKey !== undefined)\n              ? cache[cacheKey]\n              : false\n            ;\n          },\n          add: function(cacheKey, content) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Adding cached content for', cacheKey);\n            cache[cacheKey] = content;\n          },\n          remove: function(cacheKey) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Removing cached content for', cacheKey);\n            delete cache[cacheKey];\n          }\n        },\n\n        set: {\n          auto: function() {\n            var\n              url = (typeof settings.path == 'string')\n                ? settings.path.replace(/\\/$/, '') + '/{$tab}'\n                : '/{$tab}'\n            ;\n            module.verbose('Setting up automatic tab retrieval from server', url);\n            if($.isPlainObject(settings.apiSettings)) {\n              settings.apiSettings.url = url;\n            }\n            else {\n              settings.apiSettings = {\n                url: url\n              };\n            }\n          },\n          loading: function(tabPath) {\n            var\n              $tab      = module.get.tabElement(tabPath),\n              isLoading = $tab.hasClass(className.loading)\n            ;\n            if(!isLoading) {\n              module.verbose('Setting loading state for', $tab);\n              $tab\n                .addClass(className.loading)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onRequest.call($tab[0], tabPath);\n              }\n            }\n          },\n          state: function(state) {\n            $.address.value(state);\n          }\n        },\n\n        changeTab: function(tabPath) {\n          var\n            pushStateAvailable = (window.history && window.history.pushState),\n            shouldIgnoreLoad   = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad),\n            remoteContent      = (settings.auto || $.isPlainObject(settings.apiSettings) ),\n            // only add default path if not remote content\n            pathArray = (remoteContent && !shouldIgnoreLoad)\n              ? module.utilities.pathToArray(tabPath)\n              : module.get.defaultPathArray(tabPath)\n          ;\n          tabPath = module.utilities.arrayToPath(pathArray);\n          $.each(pathArray, function(index, tab) {\n            var\n              currentPathArray   = pathArray.slice(0, index + 1),\n              currentPath        = module.utilities.arrayToPath(currentPathArray),\n\n              isTab              = module.is.tab(currentPath),\n              isLastIndex        = (index + 1 == pathArray.length),\n\n              $tab               = module.get.tabElement(currentPath),\n              $anchor,\n              nextPathArray,\n              nextPath,\n              isLastTab\n            ;\n            module.verbose('Looking for tab', tab);\n            if(isTab) {\n              module.verbose('Tab was found', tab);\n              // scope up\n              activeTabPath  = currentPath;\n              parameterArray = module.utilities.filterArray(pathArray, currentPathArray);\n\n              if(isLastIndex) {\n                isLastTab = true;\n              }\n              else {\n                nextPathArray = pathArray.slice(0, index + 2);\n                nextPath      = module.utilities.arrayToPath(nextPathArray);\n                isLastTab     = ( !module.is.tab(nextPath) );\n                if(isLastTab) {\n                  module.verbose('Tab parameters found', nextPathArray);\n                }\n              }\n              if(isLastTab && remoteContent) {\n                if(!shouldIgnoreLoad) {\n                  module.activate.navigation(currentPath);\n                  module.fetch.content(currentPath, tabPath);\n                }\n                else {\n                  module.debug('Ignoring remote content on first tab load', currentPath);\n                  firstLoad = false;\n                  module.cache.add(tabPath, $tab.html());\n                  module.activate.all(currentPath);\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                return false;\n              }\n              else {\n                module.debug('Opened local tab', currentPath);\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n              }\n\n            }\n            else if(tabPath.search('/') == -1 && tabPath !== '') {\n              // look for in page anchor\n              $anchor     = $('#' + tabPath + ', a[name=\"' + tabPath + '\"]');\n              currentPath = $anchor.closest('[data-tab]').data(metadata.tab);\n              $tab        = module.get.tabElement(currentPath);\n              // if anchor exists use parent tab\n              if($anchor && $anchor.length > 0 && currentPath) {\n                module.debug('Anchor link used, opening parent tab', $tab, $anchor);\n                if( !$tab.hasClass(className.active) ) {\n                  setTimeout(function() {\n                    module.scrollTo($anchor);\n                  }, 0);\n                }\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                return false;\n              }\n            }\n            else {\n              module.error(error.missingTab, $module, $context, currentPath);\n              return false;\n            }\n          });\n        },\n\n        scrollTo: function($element) {\n          var\n            scrollOffset = ($element && $element.length > 0)\n              ? $element.offset().top\n              : false\n          ;\n          if(scrollOffset !== false) {\n            module.debug('Forcing scroll to an in-page link in a hidden tab', scrollOffset, $element);\n            $(document).scrollTop(scrollOffset);\n          }\n        },\n\n        update: {\n          content: function(tabPath, html, evaluateScripts) {\n            var\n              $tab = module.get.tabElement(tabPath),\n              tab  = $tab[0]\n            ;\n            evaluateScripts = (evaluateScripts !== undefined)\n              ? evaluateScripts\n              : settings.evaluateScripts\n            ;\n            if(evaluateScripts) {\n              module.debug('Updating HTML and evaluating inline scripts', tabPath, html);\n              $tab.html(html);\n            }\n            else {\n              module.debug('Updating HTML', tabPath, html);\n              tab.innerHTML = html;\n            }\n          }\n        },\n\n        fetch: {\n\n          content: function(tabPath, fullTabPath) {\n            var\n              $tab        = module.get.tabElement(tabPath),\n              apiSettings = {\n                dataType         : 'html',\n                encodeParameters : false,\n                on               : 'now',\n                cache            : settings.alwaysRefresh,\n                headers          : {\n                  'X-Remote': true\n                },\n                onSuccess : function(response) {\n                  module.cache.add(fullTabPath, response);\n                  module.update.content(tabPath, response);\n                  if(tabPath == activeTabPath) {\n                    module.debug('Content loaded', tabPath);\n                    module.activate.tab(tabPath);\n                  }\n                  else {\n                    module.debug('Content loaded in background', tabPath);\n                  }\n                  settings.onFirstLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                },\n                urlData: {\n                  tab: fullTabPath\n                }\n              },\n              request         = $tab.api('get request') || false,\n              existingRequest = ( request && request.state() === 'pending' ),\n              requestSettings,\n              cachedContent\n            ;\n\n            fullTabPath   = fullTabPath || tabPath;\n            cachedContent = module.cache.read(fullTabPath);\n\n\n            if(settings.cache && cachedContent) {\n              module.activate.tab(tabPath);\n              module.debug('Adding cached content', fullTabPath);\n              if(settings.evaluateScripts == 'once') {\n                module.update.content(tabPath, cachedContent, false);\n              }\n              else {\n                module.update.content(tabPath, cachedContent);\n              }\n              settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n            }\n            else if(existingRequest) {\n              module.set.loading(tabPath);\n              module.debug('Content is already loading', fullTabPath);\n            }\n            else if($.api !== undefined) {\n              requestSettings = $.extend(true, {}, settings.apiSettings, apiSettings);\n              module.debug('Retrieving remote content', fullTabPath, requestSettings);\n              module.set.loading(tabPath);\n              $tab.api(requestSettings);\n            }\n            else {\n              module.error(error.api);\n            }\n          }\n        },\n\n        activate: {\n          all: function(tabPath) {\n            module.activate.tab(tabPath);\n            module.activate.navigation(tabPath);\n          },\n          tab: function(tabPath) {\n            var\n              $tab     = module.get.tabElement(tabPath),\n              isActive = $tab.hasClass(className.active)\n            ;\n            module.verbose('Showing tab content for', $tab);\n            if(!isActive) {\n              $tab\n                .addClass(className.active)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onVisible.call($tab[0], tabPath);\n              }\n            }\n          },\n          navigation: function(tabPath) {\n            var\n              $navigation = module.get.navElement(tabPath),\n              isActive    = $navigation.hasClass(className.active)\n            ;\n            module.verbose('Activating tab navigation for', $navigation, tabPath);\n            if(!isActive) {\n              $navigation\n                .addClass(className.active)\n                .siblings($allModules)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n            }\n          }\n        },\n\n        deactivate: {\n          all: function() {\n            module.deactivate.navigation();\n            module.deactivate.tabs();\n          },\n          navigation: function() {\n            $allModules\n              .removeClass(className.active)\n            ;\n          },\n          tabs: function() {\n            $tabs\n              .removeClass(className.active + ' ' + className.loading)\n            ;\n          }\n        },\n\n        is: {\n          tab: function(tabName) {\n            return (tabName !== undefined)\n              ? ( module.get.tabElement(tabName).length > 0 )\n              : false\n            ;\n          }\n        },\n\n        get: {\n          initialPath: function() {\n            return $allModules.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab);\n          },\n          path: function() {\n            return $.address.value();\n          },\n          // adds default tabs to tab path\n          defaultPathArray: function(tabPath) {\n            return module.utilities.pathToArray( module.get.defaultPath(tabPath) );\n          },\n          defaultPath: function(tabPath) {\n            var\n              $defaultNav = $allModules.filter('[data-' + metadata.tab + '^=\"' + tabPath + '/\"]').eq(0),\n              defaultTab  = $defaultNav.data(metadata.tab) || false\n            ;\n            if( defaultTab ) {\n              module.debug('Found default tab', defaultTab);\n              if(recursionDepth < settings.maxDepth) {\n                recursionDepth++;\n                return module.get.defaultPath(defaultTab);\n              }\n              module.error(error.recursion);\n            }\n            else {\n              module.debug('No default tabs found for', tabPath, $tabs);\n            }\n            recursionDepth = 0;\n            return tabPath;\n          },\n          navElement: function(tabPath) {\n            tabPath = tabPath || activeTabPath;\n            return $allModules.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n          },\n          tabElement: function(tabPath) {\n            var\n              $fullPathTab,\n              $simplePathTab,\n              tabPathArray,\n              lastTab\n            ;\n            tabPath        = tabPath || activeTabPath;\n            tabPathArray   = module.utilities.pathToArray(tabPath);\n            lastTab        = module.utilities.last(tabPathArray);\n            $fullPathTab   = $tabs.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n            $simplePathTab = $tabs.filter('[data-' + metadata.tab + '=\"' + lastTab + '\"]');\n            return ($fullPathTab.length > 0)\n              ? $fullPathTab\n              : $simplePathTab\n            ;\n          },\n          tab: function() {\n            return activeTabPath;\n          }\n        },\n\n        utilities: {\n          filterArray: function(keepArray, removeArray) {\n            return $.grep(keepArray, function(keepValue) {\n              return ( $.inArray(keepValue, removeArray) == -1);\n            });\n          },\n          last: function(array) {\n            return $.isArray(array)\n              ? array[ array.length - 1]\n              : false\n            ;\n          },\n          pathToArray: function(pathName) {\n            if(pathName === undefined) {\n              pathName = activeTabPath;\n            }\n            return typeof pathName == 'string'\n              ? pathName.split('/')\n              : [pathName]\n            ;\n          },\n          arrayToPath: function(pathArray) {\n            return $.isArray(pathArray)\n              ? pathArray.join('/')\n              : false\n            ;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n\n};\n\n// shortcut for tabbed content with no defined navigation\n$.tab = function() {\n  $(window).tab.apply(this, arguments);\n};\n\n$.fn.tab.settings = {\n\n  name            : 'Tab',\n  namespace       : 'tab',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  auto            : false,  // uses pjax style endpoints fetching content from same url with remote-content headers\n  history         : false,  // use browser history\n  historyType     : 'hash', // #/ or html5 state\n  path            : false,  // base path of url\n\n  context         : false,  // specify a context that tabs must appear inside\n  childrenOnly    : false,  // use only tabs that are children of context\n  maxDepth        : 25,     // max depth a tab can be nested\n\n  alwaysRefresh   : false,  // load tab content new every tab click\n  cache           : true,   // cache the content requests to pull locally\n  ignoreFirstLoad : false,  // don't load remote content on first load\n\n  apiSettings     : false,  // settings for api call\n  evaluateScripts : 'once', // whether inline scripts should be parsed (true/false/once). Once will not re-evaluate on cached content\n\n  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded\n  onLoad      : function(tabPath, parameterArray, historyEvent) {}, // called on every load\n  onVisible   : function(tabPath, parameterArray, historyEvent) {}, // called every time tab visible\n  onRequest   : function(tabPath, parameterArray, historyEvent) {}, // called ever time a tab beings loading remote content\n\n  templates    : {\n    determineTitle: function(tabArray) {} // returns page title for path\n  },\n\n  error: {\n    api        : 'You attempted to load content without API module',\n    method     : 'The method you called is not defined',\n    missingTab : 'Activated tab cannot be found. Tabs are case-sensitive.',\n    noContent  : 'The tab you specified is missing a content url.',\n    path       : 'History enabled, but no path was specified',\n    recursion  : 'Max recursive depth reached',\n    legacyInit : 'onTabInit has been renamed to onFirstLoad in 2.0, please adjust your code.',\n    legacyLoad : 'onTabLoad has been renamed to onLoad in 2.0. Please adjust your code',\n    state      : 'History requires Asual\\'s Address library <https://github.com/asual/jquery-address>'\n  },\n\n  metadata : {\n    tab    : 'tab',\n    loaded : 'loaded',\n    promise: 'promise'\n  },\n\n  className   : {\n    loading : 'loading',\n    active  : 'active'\n  },\n\n  selector    : {\n    tabs : '.ui.tab',\n    ui   : '.ui'\n  }\n\n};\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/table.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Table\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n             Table\n*******************************/\n\n\n/* Prototype */\n.ui.table {\n  width: 100%;\n  background: #FFFFFF;\n  margin: 1em 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n  border-radius: 0.28571429rem;\n  text-align: left;\n  color: rgba(0, 0, 0, 0.87);\n  border-collapse: separate;\n  border-spacing: 0px;\n}\n.ui.table:first-child {\n  margin-top: 0em;\n}\n.ui.table:last-child {\n  margin-bottom: 0em;\n}\n\n\n/*******************************\n             Parts\n*******************************/\n\n\n/* Table Content */\n.ui.table th,\n.ui.table td {\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n          transition: background 0.1s ease, color 0.1s ease;\n}\n\n/* Headers */\n.ui.table thead {\n  box-shadow: none;\n}\n.ui.table thead th {\n  cursor: auto;\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.92857143em 0.71428571em;\n  vertical-align: inherit;\n  font-style: none;\n  font-weight: bold;\n  text-transform: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  border-left: none;\n}\n.ui.table thead tr > th:first-child {\n  border-left: none;\n}\n.ui.table thead tr:first-child > th:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n.ui.table thead tr:first-child > th:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n.ui.table thead tr:first-child > th:only-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Footer */\n.ui.table tfoot {\n  box-shadow: none;\n}\n.ui.table tfoot th {\n  cursor: auto;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571em 0.71428571em;\n  vertical-align: middle;\n  font-style: normal;\n  font-weight: normal;\n  text-transform: none;\n}\n.ui.table tfoot tr > th:first-child {\n  border-left: none;\n}\n.ui.table tfoot tr:first-child > th:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n.ui.table tfoot tr:first-child > th:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n.ui.table tfoot tr:first-child > th:only-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Table Row */\n.ui.table tr td {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n}\n.ui.table tr:first-child td {\n  border-top: none;\n}\n\n/* Table Cells */\n.ui.table td {\n  padding: 0.71428571em 0.71428571em;\n  text-align: inherit;\n}\n\n/* Icons */\n.ui.table > .icon {\n  vertical-align: baseline;\n}\n.ui.table > .icon:only-child {\n  margin: 0em;\n}\n\n/* Table Segment */\n.ui.table.segment {\n  padding: 0em;\n}\n.ui.table.segment:after {\n  display: none;\n}\n.ui.table.segment.stacked:after {\n  display: block;\n}\n\n/* Responsive */\n@media only screen and (max-width: 767px) {\n  .ui.table:not(.unstackable) {\n    width: 100%;\n  }\n  .ui.table:not(.unstackable) tbody,\n  .ui.table:not(.unstackable) tr,\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    width: auto !important;\n    display: block !important;\n  }\n  .ui.table:not(.unstackable) {\n    padding: 0em;\n  }\n  .ui.table:not(.unstackable) thead {\n    display: block;\n  }\n  .ui.table:not(.unstackable) tfoot {\n    display: block;\n  }\n  .ui.table:not(.unstackable) tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em !important;\n    box-shadow: none !important;\n  }\n  .ui.table:not(.unstackable) th:first-child,\n  .ui.table:not(.unstackable) td:first-child {\n    font-weight: bold;\n  }\n  \n/* Definition Table */\n  .ui.definition.table:not(.unstackable) thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n\n/*******************************\n            Coupling\n*******************************/\n\n\n/* UI Image */\n.ui.table th .image,\n.ui.table th .image img,\n.ui.table td .image,\n.ui.table td .image img {\n  max-width: none;\n}\n\n\n/*******************************\n             Types\n*******************************/\n\n\n/*--------------\n    Complex\n---------------*/\n\n.ui.structured.table {\n  border-collapse: collapse;\n}\n.ui.structured.table thead th {\n  border-left: none;\n  border-right: none;\n}\n.ui.structured.sortable.table thead th {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.structured.basic.table th {\n  border-left: none;\n  border-right: none;\n}\n.ui.structured.celled.table tr th,\n.ui.structured.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n  border-right: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n   Definition\n---------------*/\n\n.ui.definition.table thead:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: -1px -1px 0px 1px #FFFFFF;\n}\n.ui.definition.table tfoot:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: rgba(0, 0, 0, 0.4);\n  color: normal;\n  box-shadow: 1px 1px 0px 1px #FFFFFF;\n}\n\n/* Remove Border */\n.ui.celled.definition.table thead:not(.full-width) th:first-child {\n  box-shadow: 0px -1px 0px 1px #FFFFFF;\n}\n.ui.celled.definition.table tfoot:not(.full-width) th:first-child {\n  box-shadow: 0px 1px 0px 1px #FFFFFF;\n}\n\n/* Highlight Defining Column */\n.ui.definition.table tr td:first-child {\n  background: rgba(0, 0, 0, 0.03);\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Fix 2nd Column */\n.ui.definition.table thead:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n.ui.definition.table td:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n\n/*******************************\n             States\n*******************************/\n\n\n/*--------------\n    Positive\n---------------*/\n\n.ui.table tr.positive,\n.ui.table td.positive {\n  box-shadow: 0px 0px 0px #A3C293 inset;\n}\n.ui.table tr.positive,\n.ui.table td.positive {\n  background: #FCFFF5 !important;\n  color: #2C662D !important;\n}\n\n/*--------------\n     Negative\n---------------*/\n\n.ui.table tr.negative,\n.ui.table td.negative {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n.ui.table tr.negative,\n.ui.table td.negative {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n      Error\n---------------*/\n\n.ui.table tr.error,\n.ui.table td.error {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n.ui.table tr.error,\n.ui.table td.error {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.table tr.warning,\n.ui.table td.warning {\n  box-shadow: 0px 0px 0px #C9BA9B inset;\n}\n.ui.table tr.warning,\n.ui.table td.warning {\n  background: #FFFAF3 !important;\n  color: #573A08 !important;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.table tr.active,\n.ui.table td.active {\n  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset;\n}\n.ui.table tr.active,\n.ui.table td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.table tr.disabled td,\n.ui.table tr td.disabled,\n.ui.table tr.disabled:hover,\n.ui.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].table,\n  .ui[class*=\"tablet stackable\"].table tbody,\n  .ui[class*=\"tablet stackable\"].table tr,\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    width: 100% !important;\n    display: block !important;\n  }\n  .ui[class*=\"tablet stackable\"].table {\n    padding: 0em;\n  }\n  .ui[class*=\"tablet stackable\"].table thead {\n    display: block;\n  }\n  .ui[class*=\"tablet stackable\"].table tfoot {\n    display: block;\n  }\n  .ui[class*=\"tablet stackable\"].table tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em;\n    box-shadow: none !important;\n  }\n  \n/* Definition Table */\n  .ui.definition[class*=\"tablet stackable\"].table thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n/*--------------\n Text Alignment\n---------------*/\n\n.ui.table[class*=\"left aligned\"],\n.ui.table [class*=\"left aligned\"] {\n  text-align: left;\n}\n.ui.table[class*=\"center aligned\"],\n.ui.table [class*=\"center aligned\"] {\n  text-align: center;\n}\n.ui.table[class*=\"right aligned\"],\n.ui.table [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*------------------\n Vertical Alignment\n------------------*/\n\n.ui.table[class*=\"top aligned\"],\n.ui.table [class*=\"top aligned\"] {\n  vertical-align: top;\n}\n.ui.table[class*=\"middle aligned\"],\n.ui.table [class*=\"middle aligned\"] {\n  vertical-align: middle;\n}\n.ui.table[class*=\"bottom aligned\"],\n.ui.table [class*=\"bottom aligned\"] {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Collapsing\n---------------*/\n\n.ui.table th.collapsing,\n.ui.table td.collapsing {\n  width: 1px;\n  white-space: nowrap;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.table {\n  table-layout: fixed;\n}\n.ui.fixed.table th,\n.ui.fixed.table td {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n/*--------------\n   Selectable\n---------------*/\n\n.ui.selectable.table tbody tr:hover,\n.ui.table tbody tr td.selectable:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n.ui.selectable.inverted.table tbody tr:hover,\n.ui.inverted.table tbody tr td.selectable:hover {\n  background: rgba(255, 255, 255, 0.08) !important;\n  color: #ffffff !important;\n}\n\n/* Selectable Cell Link */\n.ui.table tbody tr td.selectable {\n  padding: 0em;\n}\n.ui.table tbody tr td.selectable > a:not(.ui) {\n  display: block;\n  color: inherit;\n  padding: 0.71428571em 0.71428571em;\n}\n\n/* Other States */\n.ui.selectable.table tr.error:hover,\n.ui.table tr td.selectable.error:hover,\n.ui.selectable.table tr:hover td.error {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n.ui.selectable.table tr.warning:hover,\n.ui.table tr td.selectable.warning:hover,\n.ui.selectable.table tr:hover td.warning {\n  background: #fff4e4 !important;\n  color: #493107 !important;\n}\n.ui.selectable.table tr.active:hover,\n.ui.table tr td.selectable.active:hover,\n.ui.selectable.table tr:hover td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n.ui.selectable.table tr.positive:hover,\n.ui.table tr td.selectable.positive:hover,\n.ui.selectable.table tr:hover td.positive {\n  background: #f7ffe6 !important;\n  color: #275b28 !important;\n}\n.ui.selectable.table tr.negative:hover,\n.ui.table tr td.selectable.negative:hover,\n.ui.selectable.table tr:hover td.negative {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n\n/* Middle */\n.ui.attached.table {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n.ui.attached + .ui.attached.table:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n.ui[class*=\"top attached\"].table {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n.ui.table[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n.ui[class*=\"bottom attached\"].table {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1em;\n  box-shadow: none, none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n.ui[class*=\"bottom attached\"].table:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Striped\n---------------*/\n\n\n/* Table Striping */\n.ui.striped.table > tr:nth-child(2n),\n.ui.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 50, 0.02);\n}\n\n/* Stripes */\n.ui.inverted.striped.table > tr:nth-child(2n),\n.ui.inverted.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n/*--------------\n   Single Line\n---------------*/\n\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n\n/* Red */\n.ui.red.table {\n  border-top: 0.2em solid #DB2828;\n}\n.ui.inverted.red.table {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n.ui.orange.table {\n  border-top: 0.2em solid #F2711C;\n}\n.ui.inverted.orange.table {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n.ui.yellow.table {\n  border-top: 0.2em solid #FBBD08;\n}\n.ui.inverted.yellow.table {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n.ui.olive.table {\n  border-top: 0.2em solid #B5CC18;\n}\n.ui.inverted.olive.table {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n.ui.green.table {\n  border-top: 0.2em solid #21BA45;\n}\n.ui.inverted.green.table {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n.ui.teal.table {\n  border-top: 0.2em solid #00B5AD;\n}\n.ui.inverted.teal.table {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n.ui.blue.table {\n  border-top: 0.2em solid #2185D0;\n}\n.ui.inverted.blue.table {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n.ui.violet.table {\n  border-top: 0.2em solid #6435C9;\n}\n.ui.inverted.violet.table {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n.ui.purple.table {\n  border-top: 0.2em solid #A333C8;\n}\n.ui.inverted.purple.table {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n.ui.pink.table {\n  border-top: 0.2em solid #E03997;\n}\n.ui.inverted.pink.table {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n.ui.brown.table {\n  border-top: 0.2em solid #A5673F;\n}\n.ui.inverted.brown.table {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n.ui.grey.table {\n  border-top: 0.2em solid #767676;\n}\n.ui.inverted.grey.table {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n.ui.black.table {\n  border-top: 0.2em solid #1B1C1D;\n}\n.ui.inverted.black.table {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n  Column Count\n---------------*/\n\n\n/* Grid Based */\n.ui.one.column.table td {\n  width: 100%;\n}\n.ui.two.column.table td {\n  width: 50%;\n}\n.ui.three.column.table td {\n  width: 33.33333333%;\n}\n.ui.four.column.table td {\n  width: 25%;\n}\n.ui.five.column.table td {\n  width: 20%;\n}\n.ui.six.column.table td {\n  width: 16.66666667%;\n}\n.ui.seven.column.table td {\n  width: 14.28571429%;\n}\n.ui.eight.column.table td {\n  width: 12.5%;\n}\n.ui.nine.column.table td {\n  width: 11.11111111%;\n}\n.ui.ten.column.table td {\n  width: 10%;\n}\n.ui.eleven.column.table td {\n  width: 9.09090909%;\n}\n.ui.twelve.column.table td {\n  width: 8.33333333%;\n}\n.ui.thirteen.column.table td {\n  width: 7.69230769%;\n}\n.ui.fourteen.column.table td {\n  width: 7.14285714%;\n}\n.ui.fifteen.column.table td {\n  width: 6.66666667%;\n}\n.ui.sixteen.column.table td {\n  width: 6.25%;\n}\n\n/* Column Width */\n.ui.table th.one.wide,\n.ui.table td.one.wide {\n  width: 6.25%;\n}\n.ui.table th.two.wide,\n.ui.table td.two.wide {\n  width: 12.5%;\n}\n.ui.table th.three.wide,\n.ui.table td.three.wide {\n  width: 18.75%;\n}\n.ui.table th.four.wide,\n.ui.table td.four.wide {\n  width: 25%;\n}\n.ui.table th.five.wide,\n.ui.table td.five.wide {\n  width: 31.25%;\n}\n.ui.table th.six.wide,\n.ui.table td.six.wide {\n  width: 37.5%;\n}\n.ui.table th.seven.wide,\n.ui.table td.seven.wide {\n  width: 43.75%;\n}\n.ui.table th.eight.wide,\n.ui.table td.eight.wide {\n  width: 50%;\n}\n.ui.table th.nine.wide,\n.ui.table td.nine.wide {\n  width: 56.25%;\n}\n.ui.table th.ten.wide,\n.ui.table td.ten.wide {\n  width: 62.5%;\n}\n.ui.table th.eleven.wide,\n.ui.table td.eleven.wide {\n  width: 68.75%;\n}\n.ui.table th.twelve.wide,\n.ui.table td.twelve.wide {\n  width: 75%;\n}\n.ui.table th.thirteen.wide,\n.ui.table td.thirteen.wide {\n  width: 81.25%;\n}\n.ui.table th.fourteen.wide,\n.ui.table td.fourteen.wide {\n  width: 87.5%;\n}\n.ui.table th.fifteen.wide,\n.ui.table td.fifteen.wide {\n  width: 93.75%;\n}\n.ui.table th.sixteen.wide,\n.ui.table td.sixteen.wide {\n  width: 100%;\n}\n\n/*--------------\n    Sortable\n---------------*/\n\n.ui.sortable.table thead th {\n  cursor: pointer;\n  white-space: nowrap;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n}\n.ui.sortable.table thead th:first-child {\n  border-left: none;\n}\n.ui.sortable.table thead th.sorted,\n.ui.sortable.table thead th.sorted:hover {\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none;\n}\n.ui.sortable.table thead th:after {\n  display: none;\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  content: '';\n  height: 1em;\n  width: auto;\n  opacity: 0.8;\n  margin: 0em 0em 0em 0.5em;\n  font-family: 'Icons';\n}\n.ui.sortable.table thead th.ascending:after {\n  content: '\\f0d8';\n}\n.ui.sortable.table thead th.descending:after {\n  content: '\\f0d7';\n}\n\n/* Hover */\n.ui.sortable.table th.disabled:hover {\n  cursor: auto;\n  color: rgba(40, 40, 40, 0.3);\n}\n.ui.sortable.table thead th:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Sorted */\n.ui.sortable.table thead th.sorted {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n.ui.sortable.table thead th.sorted:after {\n  display: inline-block;\n}\n\n/* Sorted Hover */\n.ui.sortable.table thead th.sorted:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n.ui.inverted.sortable.table thead th.sorted {\n  background: rgba(255, 255, 255, 0.15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n.ui.inverted.sortable.table thead th:hover {\n  background: rgba(255, 255, 255, 0.08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n.ui.inverted.sortable.table thead th {\n  border-left-color: transparent;\n  border-right-color: transparent;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n\n/* Text Color */\n.ui.inverted.table {\n  background: #333333;\n  color: rgba(255, 255, 255, 0.9);\n  border: none;\n}\n.ui.inverted.table th {\n  background-color: rgba(0, 0, 0, 0.15);\n  border-color: rgba(255, 255, 255, 0.1) !important;\n  color: rgba(255, 255, 255, 0.9);\n}\n.ui.inverted.table tr td {\n  border-color: rgba(255, 255, 255, 0.1) !important;\n}\n.ui.inverted.table tr.disabled td,\n.ui.inverted.table tr td.disabled,\n.ui.inverted.table tr.disabled:hover td,\n.ui.inverted.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/* Definition */\n.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,\n.ui.inverted.definition.table thead:not(.full-width) th:first-child {\n  background: #FFFFFF;\n}\n.ui.inverted.definition.table tr td:first-child {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n\n/*--------------\n   Collapsing\n---------------*/\n\n.ui.collapsing.table {\n  width: auto;\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.basic.table {\n  background: transparent;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n.ui.basic.table thead,\n.ui.basic.table tfoot {\n  box-shadow: none;\n}\n.ui.basic.table th {\n  background: transparent;\n  border-left: none;\n}\n.ui.basic.table tbody tr {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n.ui.basic.table td {\n  background: transparent;\n}\n.ui.basic.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 0, 0.05) !important;\n}\n\n/* Very Basic */\n.ui[class*=\"very basic\"].table {\n  border: none;\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td {\n  padding: '';\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:first-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:first-child {\n  padding-left: 0em;\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:last-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:last-child {\n  padding-right: 0em;\n}\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) thead tr:first-child th {\n  padding-top: 0em;\n}\n\n/*--------------\n     Celled\n---------------*/\n\n.ui.celled.table tr th,\n.ui.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n}\n.ui.celled.table tr th:first-child,\n.ui.celled.table tr td:first-child {\n  border-left: none;\n}\n\n/*--------------\n     Padded\n---------------*/\n\n.ui.padded.table th {\n  padding-left: 1em;\n  padding-right: 1em;\n}\n.ui.padded.table th,\n.ui.padded.table td {\n  padding: 1em 1em;\n}\n\n/* Very */\n.ui[class*=\"very padded\"].table th {\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n}\n.ui[class*=\"very padded\"].table td {\n  padding: 1.5em 1.5em;\n}\n\n/*--------------\n     Compact\n---------------*/\n\n.ui.compact.table th {\n  padding-left: 0.7em;\n  padding-right: 0.7em;\n}\n.ui.compact.table td {\n  padding: 0.5em 0.7em;\n}\n\n/* Very */\n.ui[class*=\"very compact\"].table th {\n  padding-left: 0.6em;\n  padding-right: 0.6em;\n}\n.ui[class*=\"very compact\"].table td {\n  padding: 0.4em 0.6em;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n\n/* Small */\n.ui.small.table {\n  font-size: 0.9em;\n}\n\n/* Standard */\n.ui.table {\n  font-size: 1em;\n}\n\n/* Large */\n.ui.large.table {\n  font-size: 1.1em;\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/transition.css",
    "content": "/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n          Transitions\n*******************************/\n\n.transition {\n  -webkit-animation-iteration-count: 1;\n          animation-iteration-count: 1;\n  -webkit-animation-duration: 300ms;\n          animation-duration: 300ms;\n  -webkit-animation-timing-function: ease;\n          animation-timing-function: ease;\n  -webkit-animation-fill-mode: both;\n          animation-fill-mode: both;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/* Animating */\n.animating.transition {\n  -webkit-backface-visibility: hidden;\n          backface-visibility: hidden;\n  visibility: visible !important;\n}\n\n/* Loading */\n.loading.transition {\n  position: absolute;\n  top: -99999px;\n  left: -99999px;\n}\n\n/* Hidden */\n.hidden.transition {\n  display: none;\n  visibility: hidden;\n}\n\n/* Visible */\n.visible.transition {\n  display: block !important;\n  visibility: visible !important;\n  \n/*  backface-visibility: @backfaceVisibility;\n  transform: @use3DAcceleration;*/\n}\n/* Disabled */\n.disabled.transition {\n  -webkit-animation-play-state: paused;\n          animation-play-state: paused;\n}\n\n\n/*******************************\n          Variations\n*******************************/\n\n.looping.transition {\n  -webkit-animation-iteration-count: infinite;\n          animation-iteration-count: infinite;\n}\n\n\n/*******************************\n          Transitions\n*******************************/\n\n/*\n  Some transitions adapted from Animate CSS\n  https://github.com/daneden/animate.css\n\n  Additional transitions adapted from Glide\n  by Nick Pettit - https://github.com/nickpettit/glide\n*/\n\n/*--------------\n     Browse\n---------------*/\n\n.transition.browse {\n  -webkit-animation-duration: 500ms;\n          animation-duration: 500ms;\n}\n.transition.browse.in {\n  -webkit-animation-name: browseIn;\n          animation-name: browseIn;\n}\n.transition.browse.out,\n.transition.browse.left.out {\n  -webkit-animation-name: browseOutLeft;\n          animation-name: browseOutLeft;\n}\n.transition.browse.right.out {\n  -webkit-animation-name: browseOutRight;\n          animation-name: browseOutRight;\n}\n\n/* In */\n@-webkit-keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n            transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n            transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n@keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n            transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n            transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n            transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n\n/* Out */\n@-webkit-keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n@keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n@keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n            transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n  80% {\n    opacity: 1;\n  }\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n            transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n/*--------------\n     Drop\n---------------*/\n\n.drop.transition {\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n  -webkit-animation-duration: 400ms;\n          animation-duration: 400ms;\n  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n          animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n}\n.drop.transition.in {\n  -webkit-animation-name: dropIn;\n          animation-name: dropIn;\n}\n.drop.transition.out {\n  -webkit-animation-name: dropOut;\n          animation-name: dropOut;\n}\n\n/* Drop */\n@-webkit-keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@-webkit-keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n}\n@keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n            transform: scale(0);\n  }\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.transition.fade.in {\n  -webkit-animation-name: fadeIn;\n          animation-name: fadeIn;\n}\n.transition[class*=\"fade up\"].in {\n  -webkit-animation-name: fadeInUp;\n          animation-name: fadeInUp;\n}\n.transition[class*=\"fade down\"].in {\n  -webkit-animation-name: fadeInDown;\n          animation-name: fadeInDown;\n}\n.transition[class*=\"fade left\"].in {\n  -webkit-animation-name: fadeInLeft;\n          animation-name: fadeInLeft;\n}\n.transition[class*=\"fade right\"].in {\n  -webkit-animation-name: fadeInRight;\n          animation-name: fadeInRight;\n}\n.transition.fade.out {\n  -webkit-animation-name: fadeOut;\n          animation-name: fadeOut;\n}\n.transition[class*=\"fade up\"].out {\n  -webkit-animation-name: fadeOutUp;\n          animation-name: fadeOutUp;\n}\n.transition[class*=\"fade down\"].out {\n  -webkit-animation-name: fadeOutDown;\n          animation-name: fadeOutDown;\n}\n.transition[class*=\"fade left\"].out {\n  -webkit-animation-name: fadeOutLeft;\n          animation-name: fadeOutLeft;\n}\n.transition[class*=\"fade right\"].out {\n  -webkit-animation-name: fadeOutRight;\n          animation-name: fadeOutRight;\n}\n\n/* In */\n@-webkit-keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n  100% {\n    opacity: 1;\n  }\n}\n@-webkit-keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n            transform: translateY(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n            transform: translateY(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@-webkit-keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n            transform: translateY(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n            transform: translateY(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n}\n@-webkit-keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n            transform: translateX(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n@keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n            transform: translateX(10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n@-webkit-keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n            transform: translateX(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n@keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n            transform: translateX(-10%);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n}\n\n/* Out */\n@-webkit-keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n@keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n  100% {\n    opacity: 0;\n  }\n}\n@-webkit-keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n            transform: translateY(5%);\n  }\n}\n@keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n            transform: translateY(5%);\n  }\n}\n@-webkit-keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n            transform: translateY(-5%);\n  }\n}\n@keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n            transform: translateY(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n            transform: translateY(-5%);\n  }\n}\n@-webkit-keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n            transform: translateX(5%);\n  }\n}\n@keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n            transform: translateX(5%);\n  }\n}\n@-webkit-keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n            transform: translateX(-5%);\n  }\n}\n@keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n            transform: translateX(0%);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n            transform: translateX(-5%);\n  }\n}\n\n/*--------------\n     Flips\n---------------*/\n\n.flip.transition.in,\n.flip.transition.out {\n  -webkit-animation-duration: 600ms;\n          animation-duration: 600ms;\n}\n.horizontal.flip.transition.in {\n  -webkit-animation-name: horizontalFlipIn;\n          animation-name: horizontalFlipIn;\n}\n.horizontal.flip.transition.out {\n  -webkit-animation-name: horizontalFlipOut;\n          animation-name: horizontalFlipOut;\n}\n.vertical.flip.transition.in {\n  -webkit-animation-name: verticalFlipIn;\n          animation-name: verticalFlipIn;\n}\n.vertical.flip.transition.out {\n  -webkit-animation-name: verticalFlipOut;\n          animation-name: verticalFlipOut;\n}\n\n/* In */\n@-webkit-keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n            transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n@keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n            transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n@-webkit-keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n@keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n\n/* Out */\n@-webkit-keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n            transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n@keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n            transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n            transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n@keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n            transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n            transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n\n/*--------------\n      Scale\n---------------*/\n\n.scale.transition.in {\n  -webkit-animation-name: scaleIn;\n          animation-name: scaleIn;\n}\n.scale.transition.out {\n  -webkit-animation-name: scaleOut;\n          animation-name: scaleOut;\n}\n@-webkit-keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n            transform: scale(0.8);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n@keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n            transform: scale(0.8);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n}\n\n/* Out */\n@-webkit-keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n  }\n}\n@keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n  }\n}\n\n/*--------------\n      Fly\n---------------*/\n\n\n/* Inward */\n.transition.fly {\n  -webkit-animation-duration: 0.6s;\n          animation-duration: 0.6s;\n  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n          transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n.transition.fly.in {\n  -webkit-animation-name: flyIn;\n          animation-name: flyIn;\n}\n.transition[class*=\"fly up\"].in {\n  -webkit-animation-name: flyInUp;\n          animation-name: flyInUp;\n}\n.transition[class*=\"fly down\"].in {\n  -webkit-animation-name: flyInDown;\n          animation-name: flyInDown;\n}\n.transition[class*=\"fly left\"].in {\n  -webkit-animation-name: flyInLeft;\n          animation-name: flyInLeft;\n}\n.transition[class*=\"fly right\"].in {\n  -webkit-animation-name: flyInRight;\n          animation-name: flyInRight;\n}\n\n/* Outward */\n.transition.fly.out {\n  -webkit-animation-name: flyOut;\n          animation-name: flyOut;\n}\n.transition[class*=\"fly up\"].out {\n  -webkit-animation-name: flyOutUp;\n          animation-name: flyOutUp;\n}\n.transition[class*=\"fly down\"].out {\n  -webkit-animation-name: flyOutDown;\n          animation-name: flyOutDown;\n}\n.transition[class*=\"fly left\"].out {\n  -webkit-animation-name: flyOutLeft;\n          animation-name: flyOutLeft;\n}\n.transition[class*=\"fly right\"].out {\n  -webkit-animation-name: flyOutRight;\n          animation-name: flyOutRight;\n}\n\n/* In */\n@-webkit-keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n            transform: scale3d(1.03, 1.03, 1.03);\n  }\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n            transform: scale3d(0.97, 0.97, 0.97);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n@keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n            transform: scale3d(1.03, 1.03, 1.03);\n  }\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n            transform: scale3d(0.97, 0.97, 0.97);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n@-webkit-keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n            transform: translate3d(0, 1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n            transform: translate3d(0, -5px, 0);\n  }\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n@keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n            transform: translate3d(0, 1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n            transform: translate3d(0, -5px, 0);\n  }\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n            transform: translate3d(0, 0, 0);\n  }\n}\n@-webkit-keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n            transform: translate3d(0, -1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n            transform: translate3d(0, 25px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n            transform: translate3d(0, 5px, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n            transform: translate3d(0, -1500px, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n            transform: translate3d(0, 25px, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n            transform: translate3d(0, 5px, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@-webkit-keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n            transform: translate3d(1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n            transform: translate3d(-25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n            transform: translate3d(10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n            transform: translate3d(-5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n            transform: translate3d(1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n            transform: translate3d(-25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n            transform: translate3d(10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n            transform: translate3d(-5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@-webkit-keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n            transform: translate3d(-1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n            transform: translate3d(25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n            transform: translate3d(-10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n            transform: translate3d(5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n@keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n            transform: translate3d(-1500px, 0, 0);\n  }\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n            transform: translate3d(25px, 0, 0);\n  }\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n            transform: translate3d(-10px, 0, 0);\n  }\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n            transform: translate3d(5px, 0, 0);\n  }\n  100% {\n    -webkit-transform: none;\n            transform: none;\n  }\n}\n\n/* Out */\n@-webkit-keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  50%,\n  55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n@keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n            transform: scale3d(0.9, 0.9, 0.9);\n  }\n  50%,\n  55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n            transform: scale3d(1.1, 1.1, 1.1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n            transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n@-webkit-keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n            transform: translate3d(0, 2000px, 0);\n  }\n}\n@keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n            transform: translate3d(0, 10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n            transform: translate3d(0, -20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n            transform: translate3d(0, 2000px, 0);\n  }\n}\n@-webkit-keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n            transform: translate3d(0, 20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n            transform: translate3d(0, -2000px, 0);\n  }\n}\n@keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n            transform: translate3d(0, -10px, 0);\n  }\n  40%,\n  45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n            transform: translate3d(0, 20px, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n            transform: translate3d(0, -2000px, 0);\n  }\n}\n@-webkit-keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n            transform: translate3d(20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n            transform: translate3d(-2000px, 0, 0);\n  }\n}\n@keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n            transform: translate3d(20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n            transform: translate3d(-2000px, 0, 0);\n  }\n}\n@-webkit-keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n            transform: translate3d(-20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n            transform: translate3d(2000px, 0, 0);\n  }\n}\n@keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n            transform: translate3d(-20px, 0, 0);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n            transform: translate3d(2000px, 0, 0);\n  }\n}\n\n/*--------------\n     Slide\n---------------*/\n\n.transition.slide.in,\n.transition[class*=\"slide down\"].in {\n  -webkit-animation-name: slideInY;\n          animation-name: slideInY;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"slide up\"].in {\n  -webkit-animation-name: slideInY;\n          animation-name: slideInY;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"slide left\"].in {\n  -webkit-animation-name: slideInX;\n          animation-name: slideInX;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"slide right\"].in {\n  -webkit-animation-name: slideInX;\n          animation-name: slideInX;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n.transition.slide.out,\n.transition[class*=\"slide down\"].out {\n  -webkit-animation-name: slideOutY;\n          animation-name: slideOutY;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"slide up\"].out {\n  -webkit-animation-name: slideOutY;\n          animation-name: slideOutY;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"slide left\"].out {\n  -webkit-animation-name: slideOutX;\n          animation-name: slideOutX;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"slide right\"].out {\n  -webkit-animation-name: slideOutX;\n          animation-name: slideOutX;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n\n/* In */\n@-webkit-keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n}\n@keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n}\n@-webkit-keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n}\n@keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n}\n\n/* Out */\n@-webkit-keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n}\n@keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n            transform: scaleY(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n            transform: scaleY(0);\n  }\n}\n@-webkit-keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n}\n@keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n            transform: scaleX(1);\n  }\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n            transform: scaleX(0);\n  }\n}\n\n/*--------------\n     Swing\n---------------*/\n\n.transition.swing {\n  -webkit-animation-duration: 800ms;\n          animation-duration: 800ms;\n}\n.transition[class*=\"swing down\"].in {\n  -webkit-animation-name: swingInX;\n          animation-name: swingInX;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"swing up\"].in {\n  -webkit-animation-name: swingInX;\n          animation-name: swingInX;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"swing left\"].in {\n  -webkit-animation-name: swingInY;\n          animation-name: swingInY;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"swing right\"].in {\n  -webkit-animation-name: swingInY;\n          animation-name: swingInY;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n.transition.swing.out,\n.transition[class*=\"swing down\"].out {\n  -webkit-animation-name: swingOutX;\n          animation-name: swingOutX;\n  -webkit-transform-origin: top center;\n      -ms-transform-origin: top center;\n          transform-origin: top center;\n}\n.transition[class*=\"swing up\"].out {\n  -webkit-animation-name: swingOutX;\n          animation-name: swingOutX;\n  -webkit-transform-origin: bottom center;\n      -ms-transform-origin: bottom center;\n          transform-origin: bottom center;\n}\n.transition[class*=\"swing left\"].out {\n  -webkit-animation-name: swingOutY;\n          animation-name: swingOutY;\n  -webkit-transform-origin: center right;\n      -ms-transform-origin: center right;\n          transform-origin: center right;\n}\n.transition[class*=\"swing right\"].out {\n  -webkit-animation-name: swingOutY;\n          animation-name: swingOutY;\n  -webkit-transform-origin: center left;\n      -ms-transform-origin: center left;\n          transform-origin: center left;\n}\n\n/* In */\n@-webkit-keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n            transform: perspective(1000px) rotateX(15deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n}\n@keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n            transform: perspective(1000px) rotateX(15deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n}\n@-webkit-keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n            transform: perspective(1000px) rotateY(-17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n}\n@keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n            transform: perspective(1000px) rotateY(-17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n}\n\n/* Out */\n@-webkit-keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n            transform: perspective(1000px) rotateX(17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n@keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n            transform: perspective(1000px) rotateX(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n            transform: perspective(1000px) rotateX(-7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n            transform: perspective(1000px) rotateX(17.5deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n            transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n            transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n@-webkit-keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n            transform: perspective(1000px) rotateY(-10deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n@keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n            transform: perspective(1000px) rotateY(0deg);\n  }\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n            transform: perspective(1000px) rotateY(7.5deg);\n  }\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n            transform: perspective(1000px) rotateY(-10deg);\n  }\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n            transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n            transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n\n\n/*******************************\n       Static Animations\n*******************************/\n\n\n/*--------------\n    Emphasis\n---------------*/\n\n.flash.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: flash;\n          animation-name: flash;\n}\n.shake.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: shake;\n          animation-name: shake;\n}\n.bounce.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: bounce;\n          animation-name: bounce;\n}\n.tada.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: tada;\n          animation-name: tada;\n}\n.pulse.transition {\n  -webkit-animation-duration: 500ms;\n          animation-duration: 500ms;\n  -webkit-animation-name: pulse;\n          animation-name: pulse;\n}\n.jiggle.transition {\n  -webkit-animation-duration: 750ms;\n          animation-duration: 750ms;\n  -webkit-animation-name: jiggle;\n          animation-name: jiggle;\n}\n\n/* Flash */\n@-webkit-keyframes flash {\n  0%,\n  50%,\n  100% {\n    opacity: 1;\n  }\n  25%,\n  75% {\n    opacity: 0;\n  }\n}\n@keyframes flash {\n  0%,\n  50%,\n  100% {\n    opacity: 1;\n  }\n  25%,\n  75% {\n    opacity: 0;\n  }\n}\n\n/* Shake */\n@-webkit-keyframes shake {\n  0%,\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n  }\n  10%,\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: translateX(-10px);\n            transform: translateX(-10px);\n  }\n  20%,\n  40%,\n  60%,\n  80% {\n    -webkit-transform: translateX(10px);\n            transform: translateX(10px);\n  }\n}\n@keyframes shake {\n  0%,\n  100% {\n    -webkit-transform: translateX(0);\n            transform: translateX(0);\n  }\n  10%,\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: translateX(-10px);\n            transform: translateX(-10px);\n  }\n  20%,\n  40%,\n  60%,\n  80% {\n    -webkit-transform: translateX(10px);\n            transform: translateX(10px);\n  }\n}\n\n/* Bounce */\n@-webkit-keyframes bounce {\n  0%,\n  20%,\n  50%,\n  80%,\n  100% {\n    -webkit-transform: translateY(0);\n            transform: translateY(0);\n  }\n  40% {\n    -webkit-transform: translateY(-30px);\n            transform: translateY(-30px);\n  }\n  60% {\n    -webkit-transform: translateY(-15px);\n            transform: translateY(-15px);\n  }\n}\n@keyframes bounce {\n  0%,\n  20%,\n  50%,\n  80%,\n  100% {\n    -webkit-transform: translateY(0);\n            transform: translateY(0);\n  }\n  40% {\n    -webkit-transform: translateY(-30px);\n            transform: translateY(-30px);\n  }\n  60% {\n    -webkit-transform: translateY(-15px);\n            transform: translateY(-15px);\n  }\n}\n\n/* Tada */\n@-webkit-keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  10%,\n  20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n            transform: scale(0.9) rotate(-3deg);\n  }\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n            transform: scale(1.1) rotate(3deg);\n  }\n  40%,\n  60%,\n  80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n            transform: scale(1.1) rotate(-3deg);\n  }\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n            transform: scale(1) rotate(0);\n  }\n}\n@keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n  }\n  10%,\n  20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n            transform: scale(0.9) rotate(-3deg);\n  }\n  30%,\n  50%,\n  70%,\n  90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n            transform: scale(1.1) rotate(3deg);\n  }\n  40%,\n  60%,\n  80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n            transform: scale(1.1) rotate(-3deg);\n  }\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n            transform: scale(1) rotate(0);\n  }\n}\n\n/* Pulse */\n@-webkit-keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n  50% {\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n    opacity: 0.7;\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n}\n@keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n  50% {\n    -webkit-transform: scale(0.9);\n            transform: scale(0.9);\n    opacity: 0.7;\n  }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1;\n  }\n}\n\n/* Rubberband */\n@-webkit-keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n            transform: scale3d(1.25, 0.75, 1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n            transform: scale3d(0.75, 1.25, 1);\n  }\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n            transform: scale3d(1.15, 0.85, 1);\n  }\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n            transform: scale3d(0.95, 1.05, 1);\n  }\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n            transform: scale3d(1.05, 0.95, 1);\n  }\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n@keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n            transform: scale3d(1.25, 0.75, 1);\n  }\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n            transform: scale3d(0.75, 1.25, 1);\n  }\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n            transform: scale3d(1.15, 0.85, 1);\n  }\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n            transform: scale3d(0.95, 1.05, 1);\n  }\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n            transform: scale3d(1.05, 0.95, 1);\n  }\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n            transform: scale3d(1, 1, 1);\n  }\n}\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/transition.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.transition = function() {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    moduleArguments = arguments,\n    query           = moduleArguments[0],\n    queryArguments  = [].slice.call(arguments, 1),\n    methodInvoked   = (typeof query === 'string'),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function(index) {\n      var\n        $module  = $(this),\n        element  = this,\n\n        // set at run time\n        settings,\n        instance,\n\n        error,\n        className,\n        metadata,\n        animationEnd,\n        animationName,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n\n          // get full settings\n          settings        = module.get.settings.apply(element, moduleArguments);\n\n          // shorthand\n          className       = settings.className;\n          error           = settings.error;\n          metadata        = settings.metadata;\n\n          // define namespace\n          eventNamespace  = '.' + settings.namespace;\n          moduleNamespace = 'module-' + settings.namespace;\n          instance        = $module.data(moduleNamespace) || module;\n\n          // get vendor specific events\n          animationEnd    = module.get.animationEndEvent();\n\n          if(methodInvoked) {\n            methodInvoked = module.invoke(query);\n          }\n\n          // method not invoked, lets run an animation\n          if(methodInvoked === false) {\n            module.verbose('Converted arguments into settings object', settings);\n            if(settings.interval) {\n              module.delay(settings.animate);\n            }\n            else  {\n              module.animate();\n            }\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing display type on next animation');\n          delete module.displayType;\n        },\n\n        forceRepaint: function() {\n          module.verbose('Forcing element repaint');\n          var\n            $parentElement = $module.parent(),\n            $nextElement = $module.next()\n          ;\n          if($nextElement.length === 0) {\n            $module.detach().appendTo($parentElement);\n          }\n          else {\n            $module.detach().insertBefore($nextElement);\n          }\n        },\n\n        repaint: function() {\n          module.verbose('Repainting element');\n          var\n            fakeAssignment = element.offsetWidth\n          ;\n        },\n\n        delay: function(interval) {\n          var\n            direction = module.get.animationDirection(),\n            shouldReverse,\n            delay\n          ;\n          if(!direction) {\n            direction = module.can.transition()\n              ? module.get.direction()\n              : 'static'\n            ;\n          }\n          interval = (interval !== undefined)\n            ? interval\n            : settings.interval\n          ;\n          shouldReverse = (settings.reverse == 'auto' && direction == className.outward);\n          delay = (shouldReverse || settings.reverse == true)\n            ? ($allModules.length - index) * settings.interval\n            : index * settings.interval\n          ;\n          module.debug('Delaying animation by', delay);\n          setTimeout(module.animate, delay);\n        },\n\n        animate: function(overrideSettings) {\n          settings = overrideSettings || settings;\n          if(!module.is.supported()) {\n            module.error(error.support);\n            return false;\n          }\n          module.debug('Preparing animation', settings.animation);\n          if(module.is.animating()) {\n            if(settings.queue) {\n              if(!settings.allowRepeats && module.has.direction() && module.is.occurring() && module.queuing !== true) {\n                module.debug('Animation is currently occurring, preventing queueing same animation', settings.animation);\n              }\n              else {\n                module.queue(settings.animation);\n              }\n              return false;\n            }\n            else if(!settings.allowRepeats && module.is.occurring()) {\n              module.debug('Animation is already occurring, will not execute repeated animation', settings.animation);\n              return false;\n            }\n            else {\n              module.debug('New animation started, completing previous early', settings.animation);\n              instance.complete();\n            }\n          }\n          if( module.can.animate() ) {\n            module.set.animating(settings.animation);\n          }\n          else {\n            module.error(error.noAnimation, settings.animation, element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Resetting animation to beginning conditions');\n          module.remove.animationCallbacks();\n          module.restore.conditions();\n          module.remove.animating();\n        },\n\n        queue: function(animation) {\n          module.debug('Queueing animation of', animation);\n          module.queuing = true;\n          $module\n            .one(animationEnd + '.queue' + eventNamespace, function() {\n              module.queuing = false;\n              module.repaint();\n              module.animate.apply(this, settings);\n            })\n          ;\n        },\n\n        complete: function (event) {\n          module.debug('Animation complete', settings.animation);\n          module.remove.completeCallback();\n          module.remove.failSafe();\n          if(!module.is.looping()) {\n            if( module.is.outward() ) {\n              module.verbose('Animation is outward, hiding element');\n              module.restore.conditions();\n              module.hide();\n            }\n            else if( module.is.inward() ) {\n              module.verbose('Animation is outward, showing element');\n              module.restore.conditions();\n              module.show();\n            }\n            else {\n              module.verbose('Static animation completed');\n              module.restore.conditions();\n              settings.onComplete.call(element);\n            }\n          }\n        },\n\n        force: {\n          visible: function() {\n            var\n              style          = $module.attr('style'),\n              userStyle      = module.get.userStyle(),\n              displayType    = module.get.displayType(),\n              overrideStyle  = userStyle + 'display: ' + displayType + ' !important;',\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== displayType) {\n              module.verbose('Overriding default display to show element', displayType);\n              $module\n                .attr('style', overrideStyle)\n              ;\n            }\n            else if(emptyStyle) {\n              $module.removeAttr('style');\n            }\n          },\n          hidden: function() {\n            var\n              style          = $module.attr('style'),\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== 'none' && !module.is.hidden()) {\n              module.verbose('Overriding default display to hide element');\n              $module\n                .css('display', 'none')\n              ;\n            }\n            else if(emptyStyle) {\n              $module\n                .removeAttr('style')\n              ;\n            }\n          }\n        },\n\n        has: {\n          direction: function(animation) {\n            var\n              hasDirection = false\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              $.each(animation, function(index, word){\n                if(word === className.inward || word === className.outward) {\n                  hasDirection = true;\n                }\n              });\n            }\n            return hasDirection;\n          },\n          inlineDisplay: function() {\n            var\n              style = $module.attr('style') || ''\n            ;\n            return $.isArray(style.match(/display.*?;/, ''));\n          }\n        },\n\n        set: {\n          animating: function(animation) {\n            var\n              animationClass,\n              direction\n            ;\n            // remove previous callbacks\n            module.remove.completeCallback();\n\n            // determine exact animation\n            animation      = animation || settings.animation;\n            animationClass = module.get.animationClass(animation);\n\n            // save animation class in cache to restore class names\n            module.save.animation(animationClass);\n\n            // override display if necessary so animation appears visibly\n            module.force.visible();\n\n            module.remove.hidden();\n            module.remove.direction();\n\n            module.start.animation(animationClass);\n\n          },\n          duration: function(animationName, duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            if(duration || duration === 0) {\n              module.verbose('Setting animation duration', duration);\n              $module\n                .css({\n                  'animation-duration':  duration\n                })\n              ;\n            }\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            if(direction == className.inward) {\n              module.set.inward();\n            }\n            else {\n              module.set.outward();\n            }\n          },\n          looping: function() {\n            module.debug('Transition set to loop');\n            $module\n              .addClass(className.looping)\n            ;\n          },\n          hidden: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.hidden)\n            ;\n          },\n          inward: function() {\n            module.debug('Setting direction to inward');\n            $module\n              .removeClass(className.outward)\n              .addClass(className.inward)\n            ;\n          },\n          outward: function() {\n            module.debug('Setting direction to outward');\n            $module\n              .removeClass(className.inward)\n              .addClass(className.outward)\n            ;\n          },\n          visible: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.visible)\n            ;\n          }\n        },\n\n        start: {\n          animation: function(animationClass) {\n            animationClass = animationClass || module.get.animationClass();\n            module.debug('Starting tween', animationClass);\n            $module\n              .addClass(animationClass)\n              .one(animationEnd + '.complete' + eventNamespace, module.complete)\n            ;\n            if(settings.useFailSafe) {\n              module.add.failSafe();\n            }\n            module.set.duration(settings.duration);\n            settings.onStart.call(element);\n          }\n        },\n\n        save: {\n          animation: function(animation) {\n            if(!module.cache) {\n              module.cache = {};\n            }\n            module.cache.animation = animation;\n          },\n          displayType: function(displayType) {\n            if(displayType !== 'none') {\n              $module.data(metadata.displayType, displayType);\n            }\n          },\n          transitionExists: function(animation, exists) {\n            $.fn.transition.exists[animation] = exists;\n            module.verbose('Saving existence of transition', animation, exists);\n          }\n        },\n\n        restore: {\n          conditions: function() {\n            var\n              animation = module.get.currentAnimation()\n            ;\n            if(animation) {\n              $module\n                .removeClass(animation)\n              ;\n              module.verbose('Removing animation class', module.cache);\n            }\n            module.remove.duration();\n          }\n        },\n\n        add: {\n          failSafe: function() {\n            var\n              duration = module.get.duration()\n            ;\n            module.timer = setTimeout(function() {\n              $module.triggerHandler(animationEnd);\n            }, duration + settings.failSafeDelay);\n            module.verbose('Adding fail safe timer', module.timer);\n          }\n        },\n\n        remove: {\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          animationCallbacks: function() {\n            module.remove.queueCallback();\n            module.remove.completeCallback();\n          },\n          queueCallback: function() {\n            $module.off('.queue' + eventNamespace);\n          },\n          completeCallback: function() {\n            $module.off('.complete' + eventNamespace);\n          },\n          display: function() {\n            $module.css('display', '');\n          },\n          direction: function() {\n            $module\n              .removeClass(className.inward)\n              .removeClass(className.outward)\n            ;\n          },\n          duration: function() {\n            $module\n              .css('animation-duration', '')\n            ;\n          },\n          failSafe: function() {\n            module.verbose('Removing fail safe timer', module.timer);\n            if(module.timer) {\n              clearTimeout(module.timer);\n            }\n          },\n          hidden: function() {\n            $module.removeClass(className.hidden);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          looping: function() {\n            module.debug('Transitions are no longer looping');\n            if( module.is.looping() ) {\n              module.reset();\n              $module\n                .removeClass(className.looping)\n              ;\n            }\n          },\n          transition: function() {\n            $module\n              .removeClass(className.visible)\n              .removeClass(className.hidden)\n            ;\n          }\n        },\n        get: {\n          settings: function(animation, duration, onComplete) {\n            // single settings object\n            if(typeof animation == 'object') {\n              return $.extend(true, {}, $.fn.transition.settings, animation);\n            }\n            // all arguments provided\n            else if(typeof onComplete == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : onComplete,\n                duration   : duration\n              });\n            }\n            // only duration provided\n            else if(typeof duration == 'string' || typeof duration == 'number') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation,\n                duration  : duration\n              });\n            }\n            // duration is actually settings object\n            else if(typeof duration == 'object') {\n              return $.extend({}, $.fn.transition.settings, duration, {\n                animation : animation\n              });\n            }\n            // duration is actually callback\n            else if(typeof duration == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : duration\n              });\n            }\n            // only animation provided\n            else {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation\n              });\n            }\n            return $.fn.transition.settings;\n          },\n          animationClass: function(animation) {\n            var\n              animationClass = animation || settings.animation,\n              directionClass = (module.can.transition() && !module.has.direction())\n                ? module.get.direction() + ' '\n                : ''\n            ;\n            return className.animating + ' '\n              + className.transition + ' '\n              + directionClass\n              + animationClass\n            ;\n          },\n          currentAnimation: function() {\n            return (module.cache && module.cache.animation !== undefined)\n              ? module.cache.animation\n              : false\n            ;\n          },\n          currentDirection: function() {\n            return module.is.inward()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          direction: function() {\n            return module.is.hidden() || !module.is.visible()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          animationDirection: function(animation) {\n            var\n              direction\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              // search animation name for out/in class\n              $.each(animation, function(index, word){\n                if(word === className.inward) {\n                  direction = className.inward;\n                }\n                else if(word === className.outward) {\n                  direction = className.outward;\n                }\n              });\n            }\n            // return found direction\n            if(direction) {\n              return direction;\n            }\n            return false;\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            if(duration === false) {\n              duration = $module.css('animation-duration') || 0;\n            }\n            return (typeof duration === 'string')\n              ? (duration.indexOf('ms') > -1)\n                ? parseFloat(duration)\n                : parseFloat(duration) * 1000\n              : duration\n            ;\n          },\n          displayType: function() {\n            if(settings.displayType) {\n              return settings.displayType;\n            }\n            if($module.data(metadata.displayType) === undefined) {\n              // create fake element to determine display state\n              module.can.transition(true);\n            }\n            return $module.data(metadata.displayType);\n          },\n          userStyle: function(style) {\n            style = style || $module.attr('style') || '';\n            return style.replace(/display.*?;/, '');\n          },\n          transitionExists: function(animation) {\n            return $.fn.transition.exists[animation];\n          },\n          animationStartEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationstart',\n                'OAnimation'      :'oAnimationStart',\n                'MozAnimation'    :'mozAnimationStart',\n                'WebkitAnimation' :'webkitAnimationStart'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          },\n          animationEndEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationend',\n                'OAnimation'      :'oAnimationEnd',\n                'MozAnimation'    :'mozAnimationEnd',\n                'WebkitAnimation' :'webkitAnimationEnd'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          }\n\n        },\n\n        can: {\n          transition: function(forced) {\n            var\n              animation         = settings.animation,\n              transitionExists  = module.get.transitionExists(animation),\n              elementClass,\n              tagName,\n              $clone,\n              currentAnimation,\n              inAnimation,\n              directionExists,\n              displayType\n            ;\n            if( transitionExists === undefined || forced) {\n              module.verbose('Determining whether animation exists');\n              elementClass = $module.attr('class');\n              tagName      = $module.prop('tagName');\n\n              $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module);\n              currentAnimation = $clone\n                .addClass(animation)\n                .removeClass(className.inward)\n                .removeClass(className.outward)\n                .addClass(className.animating)\n                .addClass(className.transition)\n                .css('animationName')\n              ;\n              inAnimation = $clone\n                .addClass(className.inward)\n                .css('animationName')\n              ;\n              displayType = $clone\n                .attr('class', elementClass)\n                .removeAttr('style')\n                .removeClass(className.hidden)\n                .removeClass(className.visible)\n                .show()\n                .css('display')\n              ;\n              module.verbose('Determining final display state', displayType);\n              module.save.displayType(displayType);\n\n              $clone.remove();\n              if(currentAnimation != inAnimation) {\n                module.debug('Direction exists for animation', animation);\n                directionExists = true;\n              }\n              else if(currentAnimation == 'none' || !currentAnimation) {\n                module.debug('No animation defined in css', animation);\n                return;\n              }\n              else {\n                module.debug('Static animation found', animation, displayType);\n                directionExists = false;\n              }\n              module.save.transitionExists(animation, directionExists);\n            }\n            return (transitionExists !== undefined)\n              ? transitionExists\n              : directionExists\n            ;\n          },\n          animate: function() {\n            // can transition does not return a value if animation does not exist\n            return (module.can.transition() !== undefined);\n          }\n        },\n\n        is: {\n          animating: function() {\n            return $module.hasClass(className.animating);\n          },\n          inward: function() {\n            return $module.hasClass(className.inward);\n          },\n          outward: function() {\n            return $module.hasClass(className.outward);\n          },\n          looping: function() {\n            return $module.hasClass(className.looping);\n          },\n          occurring: function(animation) {\n            animation = animation || settings.animation;\n            animation = '.' + animation.replace(' ', '.');\n            return ( $module.filter(animation).length > 0 );\n          },\n          visible: function() {\n            return $module.is(':visible');\n          },\n          hidden: function() {\n            return $module.css('visibility') === 'hidden';\n          },\n          supported: function() {\n            return(animationEnd !== false);\n          }\n        },\n\n        hide: function() {\n          module.verbose('Hiding element');\n          if( module.is.animating() ) {\n            module.reset();\n          }\n          element.blur(); // IE will trigger focus change if element is not blurred before hiding\n          module.remove.display();\n          module.remove.visible();\n          module.set.hidden();\n          module.force.hidden();\n          settings.onHide.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        show: function(display) {\n          module.verbose('Showing element', display);\n          module.remove.hidden();\n          module.set.visible();\n          module.force.visible();\n          settings.onShow.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        toggle: function() {\n          if( module.is.visible() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        stop: function() {\n          module.debug('Stopping current animation');\n          $module.triggerHandler(animationEnd);\n        },\n\n        stopAll: function() {\n          module.debug('Stopping all animation');\n          module.remove.queueCallback();\n          $module.triggerHandler(animationEnd);\n        },\n\n        clear: {\n          queue: function() {\n            module.debug('Clearing animation queue');\n            module.remove.queueCallback();\n          }\n        },\n\n        enable: function() {\n          module.verbose('Starting animation');\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          module.debug('Stopping animation');\n          $module.addClass(className.disabled);\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        // modified for transition to return invoke success\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return (found !== undefined)\n            ? found\n            : false\n          ;\n        }\n      };\n      module.initialize();\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n// Records if CSS transition is available\n$.fn.transition.exists = {};\n\n$.fn.transition.settings = {\n\n  // module info\n  name          : 'Transition',\n\n  // debug content outputted to console\n  debug         : false,\n\n  // verbose debug output\n  verbose       : false,\n\n  // performance data output\n  performance   : true,\n\n  // event namespace\n  namespace     : 'transition',\n\n  // delay between animations in group\n  interval      : 0,\n\n  // whether group animations should be reversed\n  reverse       : 'auto',\n\n  // animation callback event\n  onStart       : function() {},\n  onComplete    : function() {},\n  onShow        : function() {},\n  onHide        : function() {},\n\n  // whether timeout should be used to ensure callback fires in cases animationend does not\n  useFailSafe   : true,\n\n  // delay in ms for fail safe\n  failSafeDelay : 100,\n\n  // whether EXACT animation can occur twice in a row\n  allowRepeats  : false,\n\n  // Override final display type on visible\n  displayType   : false,\n\n  // animation duration\n  animation     : 'fade',\n  duration      : false,\n\n  // new animations will occur after previous ones\n  queue         : true,\n\n  metadata : {\n    displayType: 'display'\n  },\n\n  className   : {\n    animating  : 'animating',\n    disabled   : 'disabled',\n    hidden     : 'hidden',\n    inward     : 'in',\n    loading    : 'loading',\n    looping    : 'looping',\n    outward    : 'out',\n    transition : 'transition',\n    visible    : 'visible'\n  },\n\n  // possible errors\n  error: {\n    noAnimation : 'There is no css animation matching the one you specified. Please make sure your css is vendor prefixed, and you have included transition css.',\n    repeated    : 'That animation is already occurring, cancelling repeated animation',\n    method      : 'The method you called is not defined',\n    support     : 'This browser does not support CSS animations'\n  }\n\n};\n\n\n})( jQuery, window, document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/video.css",
    "content": "/*!\n * # Semantic UI 2.0.0 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n\n/*******************************\n            Video\n*******************************/\n\n.ui.video {\n  background-color: #dddddd;\n  position: relative;\n  max-width: 100%;\n  padding-bottom: 56.25%;\n  height: 0px;\n  overflow: hidden;\n}\n\n/*--------------\n     Content\n---------------*/\n\n\n/* Placeholder Image */\n.ui.video .placeholder {\n  background-color: #333333;\n}\n\n/* Play Icon Overlay */\n.ui.video .play {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  z-index: 10;\n  width: 100%;\n  height: 100%;\n  background: transparent;\n  -webkit-transition: background 0.2s ease;\n          transition: background 0.2s ease;\n}\n.ui.video .play.icon:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 11;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n      -ms-transform: translateX(-50%) translateY(-50%);\n          transform: translateX(-50%) translateY(-50%);\n  color: rgba(255, 255, 255, 0.7);\n  font-size: 7rem;\n  text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.15);\n  -webkit-transition: color 0.2s ease;\n          transition: color 0.2s ease;\n}\n.ui.video .placeholder {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: 100%;\n  height: 100%;\n}\n\n/* IFrame Embed */\n.ui.video .embed iframe,\n.ui.video .embed embed,\n.ui.video .embed object {\n  position: absolute;\n  border: none;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  margin: 0em;\n  padding: 0em;\n}\n\n\n/*******************************\n            States\n*******************************/\n\n\n/*--------------\n    Hover\n---------------*/\n\n.ui.video .play:hover {\n  background: rgba(0, 0, 0, 0);\n}\n.ui.video .play:hover:before {\n  color: #ffffff;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.video .play,\n.ui.active.video .placeholder {\n  display: none;\n}\n.ui.active.video .embed {\n  display: inline;\n}\n\n\n/*******************************\n        Video Overrides\n*******************************/\n\n\n\n/*******************************\n         Site Overrides\n*******************************/\n\n"
  },
  {
    "path": "src/asset/semantic-ui/components/video.js",
    "content": "/*!\n * # Semantic UI 2.0.0 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2014 Contributorss\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.video = function(parameters) {\n\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.video.settings, parameters)\n          : $.extend({}, $.fn.video.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        error           = settings.error,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n        $module         = $(this),\n        $placeholder    = $module.find(selector.placeholder),\n        $playButton     = $module.find(selector.playButton),\n        $embed          = $module.find(selector.embed),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing video');\n          module.create();\n          $module\n            .on('click' + eventNamespace, selector.placeholder, module.play)\n            .on('click' + eventNamespace, selector.playButton, module.play)\n          ;\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        create: function() {\n          var\n            image = $module.data(metadata.image),\n            html = templates.video(image)\n          ;\n          $module.html(html);\n          module.refresh();\n          if(!image) {\n            module.play();\n          }\n          module.debug('Creating html for video element', html);\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance of video');\n          module.reset();\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $placeholder    = $module.find(selector.placeholder);\n          $playButton     = $module.find(selector.playButton);\n          $embed          = $module.find(selector.embed);\n        },\n\n        // sets new video\n        change: function(source, id, url) {\n          module.debug('Changing video to ', source, id, url);\n          $module\n            .data(metadata.source, source)\n            .data(metadata.id, id)\n            .data(metadata.url, url)\n          ;\n          settings.onChange();\n        },\n\n        // clears video embed\n        reset: function() {\n          module.debug('Clearing video embed and showing placeholder');\n          $module\n            .removeClass(className.active)\n          ;\n          $embed\n            .html(' ')\n          ;\n          $placeholder\n            .show()\n          ;\n          settings.onReset();\n        },\n\n        // plays current video\n        play: function() {\n          module.debug('Playing video');\n          var\n            source = $module.data(metadata.source) || false,\n            url    = $module.data(metadata.url)    || false,\n            id     = $module.data(metadata.id)     || false\n          ;\n          $embed\n            .html( module.generate.html(source, id, url) )\n          ;\n          $module\n            .addClass(className.active)\n          ;\n          settings.onPlay();\n        },\n\n        get: {\n          source: function(url) {\n            if(typeof url !== 'string') {\n              return false;\n            }\n            if(url.search('youtube.com') !== -1) {\n              return 'youtube';\n            }\n            else if(url.search('vimeo.com') !== -1) {\n              return 'vimeo';\n            }\n            return false;\n          },\n          id: function(url) {\n            if(url.match(settings.regExp.youtube)) {\n              return url.match(settings.regExp.youtube)[1];\n            }\n            else if(url.match(settings.regExp.vimeo)) {\n              return url.match(settings.regExp.vimeo)[2];\n            }\n            return false;\n          }\n        },\n\n        generate: {\n          // generates iframe html\n          html: function(source, id, url) {\n            module.debug('Generating embed html');\n            var\n              html\n            ;\n            // allow override of settings\n            source = source || settings.source;\n            id     = id     || settings.id;\n            if((source && id) || url) {\n              if(!source || !id) {\n                source = module.get.source(url);\n                id     = module.get.id(url);\n              }\n              if(source == 'vimeo') {\n                html = ''\n                  + '<iframe src=\"//player.vimeo.com/video/' + id + '?=' + module.generate.url(source) + '\"'\n                  + ' width=\"100%\" height=\"100%\"'\n                  + ' frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n                ;\n              }\n              else if(source == 'youtube') {\n                html = ''\n                  + '<iframe src=\"//www.youtube.com/embed/' + id + '?=' + module.generate.url(source) + '\"'\n                  + ' width=\"100%\" height=\"100%\"'\n                  + ' frameborder=\"0\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n                ;\n              }\n            }\n            else {\n              module.error(error.noVideo);\n            }\n            return html;\n          },\n\n          // generate url parameters\n          url: function(source) {\n            var\n              api      = (settings.api)\n                ? 1\n                : 0,\n              autoplay = (settings.autoplay === 'auto')\n                ? ($module.data('image') !== undefined)\n                : settings.autoplay,\n              hd       = (settings.hd)\n                ? 1\n                : 0,\n              showUI   = (settings.showUI)\n                ? 1\n                : 0,\n              // opposite used for some params\n              hideUI   = !(settings.showUI)\n                ? 1\n                : 0,\n              url = ''\n            ;\n            if(source == 'vimeo') {\n              url = ''\n                +      'api='      + api\n                + '&amp;title='    + showUI\n                + '&amp;byline='   + showUI\n                + '&amp;portrait=' + showUI\n                + '&amp;autoplay=' + autoplay\n              ;\n              if(settings.color) {\n                url += '&amp;color=' + settings.color;\n              }\n            }\n            if(source == 'ustream') {\n              url = ''\n                + 'autoplay=' + autoplay\n              ;\n              if(settings.color) {\n                url += '&amp;color=' + settings.color;\n              }\n            }\n            else if(source == 'youtube') {\n              url = ''\n                + 'enablejsapi='      + api\n                + '&amp;autoplay='    + autoplay\n                + '&amp;autohide='    + hideUI\n                + '&amp;hq='          + hd\n                + '&amp;modestbranding=1'\n              ;\n              if(settings.color) {\n                url += '&amp;color=' + settings.color;\n              }\n            }\n            return url;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.video.settings = {\n\n  name        : 'Video',\n  namespace   : 'video',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  metadata    : {\n    id     : 'id',\n    image  : 'image',\n    source : 'source',\n    url    : 'url'\n  },\n\n  source      : false,\n  url         : false,\n  id          : false,\n\n  aspectRatio : (16/9),\n\n  onPlay   : function(){},\n  onReset  : function(){},\n  onChange : function(){},\n\n  // callbacks not coded yet (needs to use jsapi)\n  onPause  : function() {},\n  onStop   : function() {},\n\n  width    : 'auto',\n  height   : 'auto',\n\n  autoplay : 'auto',\n  color    : '#442359',\n  hd       : true,\n  showUI   : false,\n  api      : true,\n\n  regExp : {\n    youtube : /^(?:https?:\\/\\/)?(?:www\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:embed\\/|v\\/|watch\\?v=|watch\\?.+&v=))((\\w|-){11})(?:\\S+)?$/,\n    vimeo   : /http:\\/\\/(www\\.)?vimeo.com\\/(\\d+)($|\\/)/\n  },\n\n  error      : {\n    noVideo     : 'No video specified',\n    method      : 'The method you called is not defined'\n  },\n\n  className   : {\n    active      : 'active'\n  },\n\n  selector    : {\n    embed       : '.embed',\n    placeholder : '.placeholder',\n    playButton  : '.play'\n  }\n};\n\n$.fn.video.settings.templates = {\n  video: function(image) {\n    var\n      html = ''\n    ;\n    if(image) {\n      html += ''\n        + '<i class=\"video play icon\"></i>'\n        + '<img class=\"placeholder\" src=\"' + image + '\">'\n      ;\n    }\n    html += '<div class=\"embed\"></div>';\n    return html;\n  }\n};\n\n\n})( jQuery, window , document );\n"
  },
  {
    "path": "src/asset/semantic-ui/components/visibility.js",
    "content": "/*!\n * # Semantic UI 2.1.6 - Visibility\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.visibility = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.visibility.settings, parameters)\n          : $.extend({}, $.fn.visibility.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n        metadata        = settings.metadata,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $placeholder,\n\n        selector        = $module.selector || '',\n        instance        = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        disabled        = false,\n\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', settings);\n\n          module.setup.cache();\n\n          if( module.should.trackChanges() ) {\n\n            if(settings.type == 'image') {\n              module.setup.image();\n            }\n            if(settings.type == 'fixed') {\n              module.setup.fixed();\n            }\n\n            if(settings.observeChanges) {\n              module.observeChanges();\n            }\n            module.bind.events();\n          }\n\n          module.save.position();\n          if( !module.is.visible() ) {\n            module.error(error.visible, $module);\n          }\n\n          if(settings.initialCheck) {\n            module.checkVisibility();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.debug('Storing instance', module);\n          $module\n            .data(moduleNamespace, module)\n          ;\n          instance = module;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module');\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load'   + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $context\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.verbose('DOM tree modified, updating visibility calculations');\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu');\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding visibility events to scroll and resize');\n            if(settings.refreshOnLoad) {\n              $window\n                .on('load'   + eventNamespace, module.event.load)\n              ;\n            }\n            $window\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $context\n              .off('scroll'      + eventNamespace)\n              .on('scroll'       + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          resize: function() {\n            module.debug('Window resized');\n            if(settings.refreshOnResize) {\n              requestAnimationFrame(module.refresh);\n            }\n          },\n          load: function() {\n            module.debug('Page finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          // publishes scrollchange event on one scroll\n          scroll: function() {\n            if(settings.throttle) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              }, settings.throttle);\n            }\n            else {\n              requestAnimationFrame(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              });\n            }\n          },\n          // subscribes to scrollchange\n          scrollchange: function(event, scrollPosition) {\n            module.checkVisibility(scrollPosition);\n          },\n        },\n\n        precache: function(images, callback) {\n          if (!(images instanceof Array)) {\n            images = [images];\n          }\n          var\n            imagesLength  = images.length,\n            loadedCounter = 0,\n            cache         = [],\n            cacheImage    = document.createElement('img'),\n            handleLoad    = function() {\n              loadedCounter++;\n              if (loadedCounter >= images.length) {\n                if ($.isFunction(callback)) {\n                  callback();\n                }\n              }\n            }\n          ;\n          while (imagesLength--) {\n            cacheImage         = document.createElement('img');\n            cacheImage.onload  = handleLoad;\n            cacheImage.onerror = handleLoad;\n            cacheImage.src     = images[imagesLength];\n            cache.push(cacheImage);\n          }\n        },\n\n        enableCallbacks: function() {\n          module.debug('Allowing callbacks to occur');\n          disabled = false;\n        },\n\n        disableCallbacks: function() {\n          module.debug('Disabling all callbacks temporarily');\n          disabled = true;\n        },\n\n        should: {\n          trackChanges: function() {\n            if(methodInvoked) {\n              module.debug('One time query, no need to bind events');\n              return false;\n            }\n            module.debug('Callbacks being attached');\n            return true;\n          }\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              occurred : {},\n              screen   : {},\n              element  : {},\n            };\n          },\n          image: function() {\n            var\n              src = $module.data(metadata.src)\n            ;\n            if(src) {\n              module.verbose('Lazy loading image', src);\n              settings.once           = true;\n              settings.observeChanges = false;\n\n              // show when top visible\n              settings.onOnScreen = function() {\n                module.debug('Image on screen', element);\n                module.precache(src, function() {\n                  module.set.image(src);\n                });\n              };\n            }\n          },\n          fixed: function() {\n            module.debug('Setting up fixed');\n            settings.once           = false;\n            settings.observeChanges = false;\n            settings.initialCheck   = true;\n            settings.refreshOnLoad  = true;\n            if(!parameters.transition) {\n              settings.transition = false;\n            }\n            module.create.placeholder();\n            module.debug('Added placeholder', $placeholder);\n            settings.onTopPassed = function() {\n              module.debug('Element passed, adding fixed position', $module);\n              module.show.placeholder();\n              module.set.fixed();\n              if(settings.transition) {\n                if($.fn.transition !== undefined) {\n                  $module.transition(settings.transition, settings.duration);\n                }\n              }\n            };\n            settings.onTopPassedReverse = function() {\n              module.debug('Element returned to position, removing fixed', $module);\n              module.hide.placeholder();\n              module.remove.fixed();\n            };\n          }\n        },\n\n        create: {\n          placeholder: function() {\n            module.verbose('Creating fixed position placeholder');\n            $placeholder = $module\n              .clone(false)\n              .css('display', 'none')\n              .addClass(className.placeholder)\n              .insertAfter($module)\n            ;\n          }\n        },\n\n        show: {\n          placeholder: function() {\n            module.verbose('Showing placeholder');\n            $placeholder\n              .css('display', 'block')\n              .css('visibility', 'hidden')\n            ;\n          }\n        },\n        hide: {\n          placeholder: function() {\n            module.verbose('Hiding placeholder');\n            $placeholder\n              .css('display', 'none')\n              .css('visibility', '')\n            ;\n          }\n        },\n\n        set: {\n          fixed: function() {\n            module.verbose('Setting element to fixed position');\n            $module\n              .addClass(className.fixed)\n              .css({\n                position : 'fixed',\n                top      : settings.offset + 'px',\n                left     : 'auto',\n                zIndex   : '1'\n              })\n            ;\n          },\n          image: function(src) {\n            $module\n              .attr('src', src)\n            ;\n            if(settings.transition) {\n              if( $.fn.transition !== undefined ) {\n                $module.transition(settings.transition, settings.duration);\n              }\n              else {\n                $module.fadeIn(settings.duration);\n              }\n            }\n            else {\n              $module.show();\n            }\n          }\n        },\n\n        is: {\n          onScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.onScreen;\n          },\n          offScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.offScreen;\n          },\n          visible: function() {\n            if(module.cache && module.cache.element) {\n              return !(module.cache.element.width === 0 && module.cache.element.offset.top === 0);\n            }\n            return false;\n          }\n        },\n\n        refresh: function() {\n          module.debug('Refreshing constants (width/height)');\n          if(settings.type == 'fixed') {\n            module.remove.fixed();\n            module.remove.occurred();\n          }\n          module.reset();\n          module.save.position();\n          if(settings.checkOnRefresh) {\n            module.checkVisibility();\n          }\n          settings.onRefresh.call(element);\n        },\n\n        reset: function() {\n          module.verbose('Reseting all cached values');\n          if( $.isPlainObject(module.cache) ) {\n            module.cache.screen = {};\n            module.cache.element = {};\n          }\n        },\n\n        checkVisibility: function(scroll) {\n          module.verbose('Checking visibility of element', module.cache.element);\n\n          if( !disabled && module.is.visible() ) {\n\n            // save scroll position\n            module.save.scroll(scroll);\n\n            // update calculations derived from scroll\n            module.save.calculations();\n\n            // percentage\n            module.passed();\n\n            // reverse (must be first)\n            module.passingReverse();\n            module.topVisibleReverse();\n            module.bottomVisibleReverse();\n            module.topPassedReverse();\n            module.bottomPassedReverse();\n\n            // one time\n            module.onScreen();\n            module.offScreen();\n            module.passing();\n            module.topVisible();\n            module.bottomVisible();\n            module.topPassed();\n            module.bottomPassed();\n\n            // on update callback\n            if(settings.onUpdate) {\n              settings.onUpdate.call(element, module.get.elementCalculations());\n            }\n          }\n        },\n\n        passed: function(amount, newCallback) {\n          var\n            calculations   = module.get.elementCalculations(),\n            amountInPixels\n          ;\n          // assign callback\n          if(amount && newCallback) {\n            settings.onPassed[amount] = newCallback;\n          }\n          else if(amount !== undefined) {\n            return (module.get.pixelsPassed(amount) > calculations.pixelsPassed);\n          }\n          else if(calculations.passing) {\n            $.each(settings.onPassed, function(amount, callback) {\n              if(calculations.bottomVisible || calculations.pixelsPassed > module.get.pixelsPassed(amount)) {\n                module.execute(callback, amount);\n              }\n              else if(!settings.once) {\n                module.remove.occurred(callback);\n              }\n            });\n          }\n        },\n\n        onScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOnScreen,\n            callbackName = 'onScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for onScreen', newCallback);\n            settings.onOnScreen = newCallback;\n          }\n          if(calculations.onScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOnScreen;\n          }\n        },\n\n        offScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOffScreen,\n            callbackName = 'offScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for offScreen', newCallback);\n            settings.onOffScreen = newCallback;\n          }\n          if(calculations.offScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOffScreen;\n          }\n        },\n\n        passing: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassing,\n            callbackName = 'passing'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing', newCallback);\n            settings.onPassing = newCallback;\n          }\n          if(calculations.passing) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.passing;\n          }\n        },\n\n\n        topVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisible,\n            callbackName = 'topVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible', newCallback);\n            settings.onTopVisible = newCallback;\n          }\n          if(calculations.topVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topVisible;\n          }\n        },\n\n        bottomVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisible,\n            callbackName = 'bottomVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible', newCallback);\n            settings.onBottomVisible = newCallback;\n          }\n          if(calculations.bottomVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomVisible;\n          }\n        },\n\n        topPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassed,\n            callbackName = 'topPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed', newCallback);\n            settings.onTopPassed = newCallback;\n          }\n          if(calculations.topPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topPassed;\n          }\n        },\n\n        bottomPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassed,\n            callbackName = 'bottomPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed', newCallback);\n            settings.onBottomPassed = newCallback;\n          }\n          if(calculations.bottomPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomPassed;\n          }\n        },\n\n        passingReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassingReverse,\n            callbackName = 'passingReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing reverse', newCallback);\n            settings.onPassingReverse = newCallback;\n          }\n          if(!calculations.passing) {\n            if(module.get.occurred('passing')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return !calculations.passing;\n          }\n        },\n\n\n        topVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisibleReverse,\n            callbackName = 'topVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible reverse', newCallback);\n            settings.onTopVisibleReverse = newCallback;\n          }\n          if(!calculations.topVisible) {\n            if(module.get.occurred('topVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.topVisible;\n          }\n        },\n\n        bottomVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisibleReverse,\n            callbackName = 'bottomVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible reverse', newCallback);\n            settings.onBottomVisibleReverse = newCallback;\n          }\n          if(!calculations.bottomVisible) {\n            if(module.get.occurred('bottomVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomVisible;\n          }\n        },\n\n        topPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassedReverse,\n            callbackName = 'topPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed reverse', newCallback);\n            settings.onTopPassedReverse = newCallback;\n          }\n          if(!calculations.topPassed) {\n            if(module.get.occurred('topPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.onTopPassed;\n          }\n        },\n\n        bottomPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassedReverse,\n            callbackName = 'bottomPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed reverse', newCallback);\n            settings.onBottomPassedReverse = newCallback;\n          }\n          if(!calculations.bottomPassed) {\n            if(module.get.occurred('bottomPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomPassed;\n          }\n        },\n\n        execute: function(callback, callbackName) {\n          var\n            calculations = module.get.elementCalculations(),\n            screen       = module.get.screenCalculations()\n          ;\n          callback = callback || false;\n          if(callback) {\n            if(settings.continuous) {\n              module.debug('Callback being called continuously', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n            else if(!module.get.occurred(callbackName)) {\n              module.debug('Conditions met', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n          }\n          module.save.occurred(callbackName);\n        },\n\n        remove: {\n          fixed: function() {\n            module.debug('Removing fixed position');\n            $module\n              .removeClass(className.fixed)\n              .css({\n                position : '',\n                top      : '',\n                left     : '',\n                zIndex   : ''\n              })\n            ;\n          },\n          occurred: function(callback) {\n            if(callback) {\n              var\n                occurred = module.cache.occurred\n              ;\n              if(occurred[callback] !== undefined && occurred[callback] === true) {\n                module.debug('Callback can now be called again', callback);\n                module.cache.occurred[callback] = false;\n              }\n            }\n            else {\n              module.cache.occurred = {};\n            }\n          }\n        },\n\n        save: {\n          calculations: function() {\n            module.verbose('Saving all calculations necessary to determine positioning');\n            module.save.direction();\n            module.save.screenCalculations();\n            module.save.elementCalculations();\n          },\n          occurred: function(callback) {\n            if(callback) {\n              if(module.cache.occurred[callback] === undefined || (module.cache.occurred[callback] !== true)) {\n                module.verbose('Saving callback occurred', callback);\n                module.cache.occurred[callback] = true;\n              }\n            }\n          },\n          scroll: function(scrollPosition) {\n            scrollPosition      = scrollPosition + settings.offset || $context.scrollTop() + settings.offset;\n            module.cache.scroll = scrollPosition;\n          },\n          direction: function() {\n            var\n              scroll     = module.get.scroll(),\n              lastScroll = module.get.lastScroll(),\n              direction\n            ;\n            if(scroll > lastScroll && lastScroll) {\n              direction = 'down';\n            }\n            else if(scroll < lastScroll && lastScroll) {\n              direction = 'up';\n            }\n            else {\n              direction = 'static';\n            }\n            module.cache.direction = direction;\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            var\n              element = module.cache.element,\n              screen  = module.get.screenSize()\n            ;\n            module.verbose('Saving element position');\n            // (quicker than $.extend)\n            element.fits          = (element.height < screen.height);\n            element.offset        = $module.offset();\n            element.width         = $module.outerWidth();\n            element.height        = $module.outerHeight();\n            // store\n            module.cache.element = element;\n            return element;\n          },\n          elementCalculations: function() {\n            var\n              screen     = module.get.screenCalculations(),\n              element    = module.get.elementPosition()\n            ;\n            // offset\n            if(settings.includeMargin) {\n              element.margin        = {};\n              element.margin.top    = parseInt($module.css('margin-top'), 10);\n              element.margin.bottom = parseInt($module.css('margin-bottom'), 10);\n              element.top    = element.offset.top - element.margin.top;\n              element.bottom = element.offset.top + element.height + element.margin.bottom;\n            }\n            else {\n              element.top    = element.offset.top;\n              element.bottom = element.offset.top + element.height;\n            }\n\n            // visibility\n            element.topVisible       = (screen.bottom >= element.top);\n            element.topPassed        = (screen.top >= element.top);\n            element.bottomVisible    = (screen.bottom >= element.bottom);\n            element.bottomPassed     = (screen.top >= element.bottom);\n            element.pixelsPassed     = 0;\n            element.percentagePassed = 0;\n\n            // meta calculations\n            element.onScreen  = (element.topVisible && !element.bottomPassed);\n            element.passing   = (element.topPassed && !element.bottomPassed);\n            element.offScreen = (!element.onScreen);\n\n            // passing calculations\n            if(element.passing) {\n              element.pixelsPassed     = (screen.top - element.top);\n              element.percentagePassed = (screen.top - element.top) / element.height;\n            }\n            module.cache.element = element;\n            module.verbose('Updated element calculations', element);\n            return element;\n          },\n          screenCalculations: function() {\n            var\n              scroll = module.get.scroll()\n            ;\n            module.save.direction();\n            module.cache.screen.top    = scroll;\n            module.cache.screen.bottom = scroll + module.cache.screen.height;\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            module.verbose('Saving window position');\n            module.cache.screen = {\n              height: $context.height()\n            };\n          },\n          position: function() {\n            module.save.screenSize();\n            module.save.elementPosition();\n          }\n        },\n\n        get: {\n          pixelsPassed: function(amount) {\n            var\n              element = module.get.elementCalculations()\n            ;\n            if(amount.search('%') > -1) {\n              return ( element.height * (parseInt(amount, 10) / 100) );\n            }\n            return parseInt(amount, 10);\n          },\n          occurred: function(callback) {\n            return (module.cache.occurred !== undefined)\n              ? module.cache.occurred[callback] || false\n              : false\n            ;\n          },\n          direction: function() {\n            if(module.cache.direction === undefined) {\n              module.save.direction();\n            }\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementPosition();\n            }\n            return module.cache.element;\n          },\n          elementCalculations: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementCalculations();\n            }\n            return module.cache.element;\n          },\n          screenCalculations: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenCalculations();\n            }\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenSize();\n            }\n            return module.cache.screen;\n          },\n          scroll: function() {\n            if(module.cache.scroll === undefined) {\n              module.save.scroll();\n            }\n            return module.cache.scroll;\n          },\n          lastScroll: function() {\n            if(module.cache.screen === undefined) {\n              module.debug('First scroll event, no last scroll could be found');\n              return false;\n            }\n            return module.cache.screen.top;\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        instance.save.scroll();\n        instance.save.calculations();\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.visibility.settings = {\n\n  name                   : 'Visibility',\n  namespace              : 'visibility',\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  // whether to use mutation observers to follow changes\n  observeChanges         : true,\n\n  // check position immediately on init\n  initialCheck           : true,\n\n  // whether to refresh calculations after all page images load\n  refreshOnLoad          : true,\n\n  // whether to refresh calculations after page resize event\n  refreshOnResize        : true,\n\n  // should call callbacks on refresh event (resize, etc)\n  checkOnRefresh         : true,\n\n  // callback should only occur one time\n  once                   : true,\n\n  // callback should fire continuously whe evaluates to true\n  continuous             : false,\n\n  // offset to use with scroll top\n  offset                 : 0,\n\n  // whether to include margin in elements position\n  includeMargin          : false,\n\n  // scroll context for visibility checks\n  context                : window,\n\n  // visibility check delay in ms (defaults to animationFrame)\n  throttle               : false,\n\n  // special visibility type (image, fixed)\n  type                   : false,\n\n  // image only animation settings\n  transition             : 'fade in',\n  duration               : 1000,\n\n  // array of callbacks for percentage\n  onPassed               : {},\n\n  // standard callbacks\n  onOnScreen             : false,\n  onOffScreen            : false,\n  onPassing              : false,\n  onTopVisible           : false,\n  onBottomVisible        : false,\n  onTopPassed            : false,\n  onBottomPassed         : false,\n\n  // reverse callbacks\n  onPassingReverse       : false,\n  onTopVisibleReverse    : false,\n  onBottomVisibleReverse : false,\n  onTopPassedReverse     : false,\n  onBottomPassedReverse  : false,\n\n  // utility callbacks\n  onUpdate               : false, // disabled by default for performance\n  onRefresh              : function(){},\n\n  metadata : {\n    src: 'src'\n  },\n\n  className: {\n    fixed       : 'fixed',\n    placeholder : 'placeholder'\n  },\n\n  error : {\n    method  : 'The method you called is not defined.',\n    visible : 'Element is hidden, you must call refresh after element becomes visible'\n  }\n\n};\n\n})( jQuery, window, document );"
  },
  {
    "path": "src/asset/semantic-ui/components/visit.js",
    "content": "/*!\n * # Semantic UI 2.0.0 - Visit\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.visit = $.fn.visit = function(parameters) {\n  var\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.visit.settings, parameters)\n          : $.extend({}, $.fn.visit.settings),\n\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n        $displays       = $(),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n      module = {\n\n        initialize: function() {\n          if(settings.count) {\n            module.store(settings.key.count, settings.count);\n          }\n          else if(settings.id) {\n            module.add.id(settings.id);\n          }\n          else if(settings.increment && methodInvoked !== 'increment') {\n            module.increment();\n          }\n          module.add.display($module);\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of visit module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        increment: function(id) {\n          var\n            currentValue = module.get.count(),\n            newValue     = +(currentValue) + 1\n          ;\n          if(id) {\n            module.add.id(id);\n          }\n          else {\n            if(newValue > settings.limit && !settings.surpass) {\n              newValue = settings.limit;\n            }\n            module.debug('Incrementing visits', newValue);\n            module.store(settings.key.count, newValue);\n          }\n        },\n\n        decrement: function(id) {\n          var\n            currentValue = module.get.count(),\n            newValue     = +(currentValue) - 1\n          ;\n          if(id) {\n            module.remove.id(id);\n          }\n          else {\n            module.debug('Removing visit');\n            module.store(settings.key.count, newValue);\n          }\n        },\n\n        get: {\n          count: function() {\n            return +(module.retrieve(settings.key.count)) || 0;\n          },\n          idCount: function(ids) {\n            ids = ids || module.get.ids();\n            return ids.length;\n          },\n          ids: function(delimitedIDs) {\n            var\n              idArray = []\n            ;\n            delimitedIDs = delimitedIDs || module.retrieve(settings.key.ids);\n            if(typeof delimitedIDs === 'string') {\n              idArray = delimitedIDs.split(settings.delimiter);\n            }\n            module.verbose('Found visited ID list', idArray);\n            return idArray;\n          },\n          storageOptions: function(data) {\n            var\n              options = {}\n            ;\n            if(settings.expires) {\n              options.expires = settings.expires;\n            }\n            if(settings.domain) {\n              options.domain = settings.domain;\n            }\n            if(settings.path) {\n              options.path = settings.path;\n            }\n            return options;\n          }\n        },\n\n        has: {\n          visited: function(id, ids) {\n            var\n              visited = false\n            ;\n            ids = ids || module.get.ids();\n            if(id !== undefined && ids) {\n              $.each(ids, function(index, value){\n                if(value == id) {\n                  visited = true;\n                }\n              });\n            }\n            return visited;\n          }\n        },\n\n        set: {\n          count: function(value) {\n            module.store(settings.key.count, value);\n          },\n          ids: function(value) {\n            module.store(settings.key.ids, value);\n          }\n        },\n\n        reset: function() {\n          module.store(settings.key.count, 0);\n          module.store(settings.key.ids, null);\n        },\n\n        add: {\n          id: function(id) {\n            var\n              currentIDs = module.retrieve(settings.key.ids),\n              newIDs = (currentIDs === undefined || currentIDs === '')\n                ? id\n                : currentIDs + settings.delimiter + id\n            ;\n            if( module.has.visited(id) ) {\n              module.debug('Unique content already visited, not adding visit', id, currentIDs);\n            }\n            else if(id === undefined) {\n              module.debug('ID is not defined');\n            }\n            else {\n              module.debug('Adding visit to unique content', id);\n              module.store(settings.key.ids, newIDs);\n            }\n            module.set.count( module.get.idCount() );\n          },\n          display: function(selector) {\n            var\n              $element = $(selector)\n            ;\n            if($element.length > 0 && !$.isWindow($element[0])) {\n              module.debug('Updating visit count for element', $element);\n              $displays = ($displays.length > 0)\n                ? $displays.add($element)\n                : $element\n              ;\n            }\n          }\n        },\n\n        remove: {\n          id: function(id) {\n            var\n              currentIDs = module.get.ids(),\n              newIDs     = []\n            ;\n            if(id !== undefined && currentIDs !== undefined) {\n              module.debug('Removing visit to unique content', id, currentIDs);\n              $.each(currentIDs, function(index, value){\n                if(value !== id) {\n                  newIDs.push(value);\n                }\n              });\n              newIDs = newIDs.join(settings.delimiter);\n              module.store(settings.key.ids, newIDs );\n            }\n            module.set.count( module.get.idCount() );\n          }\n        },\n\n        check: {\n          limit: function(value) {\n            value = value || module.get.count();\n            if(settings.limit) {\n              if(value >= settings.limit) {\n                module.debug('Pages viewed exceeded limit, firing callback', value, settings.limit);\n                settings.onLimit.call(element, value);\n              }\n              module.debug('Limit not reached', value, settings.limit);\n              settings.onChange.call(element, value);\n            }\n            module.update.display(value);\n          }\n        },\n\n        update: {\n          display: function(value) {\n            value = value || module.get.count();\n            if($displays.length > 0) {\n              module.debug('Updating displayed view count', $displays);\n              $displays.html(value);\n            }\n          }\n        },\n\n        store: function(key, value) {\n          var\n            options = module.get.storageOptions(value)\n          ;\n          if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n            window.localStorage.setItem(key, value);\n            module.debug('Value stored using local storage', key, value);\n          }\n          else if($.cookie !== undefined) {\n            $.cookie(key, value, options);\n            module.debug('Value stored using cookie', key, value, options);\n          }\n          else {\n            module.error(error.noCookieStorage);\n            return;\n          }\n          if(key == settings.key.count) {\n            module.check.limit(value);\n          }\n        },\n        retrieve: function(key, value) {\n          var\n            storedValue\n          ;\n          if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n            storedValue = window.localStorage.getItem(key);\n          }\n          // get by cookie\n          else if($.cookie !== undefined) {\n            storedValue = $.cookie(key);\n          }\n          else {\n            module.error(error.noCookieStorage);\n          }\n          if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {\n            storedValue = undefined;\n          }\n          return storedValue;\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          module.debug('Changing internal', name, value);\n          if(value !== undefined) {\n            if( $.isPlainObject(name) ) {\n              $.extend(true, module, name);\n            }\n            else {\n              module[name] = value;\n            }\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.visit.settings = {\n\n  name          : 'Visit',\n\n  debug         : false,\n  verbose       : false,\n  performance   : true,\n\n  namespace     : 'visit',\n\n  increment     : false,\n  surpass       : false,\n  count         : false,\n  limit         : false,\n\n  delimiter     : '&',\n  storageMethod : 'localstorage',\n\n  key           : {\n    count : 'visit-count',\n    ids   : 'visit-ids'\n  },\n\n  expires       : 30,\n  domain        : false,\n  path          : '/',\n\n  onLimit       : function() {},\n  onChange      : function() {},\n\n  error         : {\n    method          : 'The method you called is not defined',\n    missingPersist  : 'Using the persist setting requires the inclusion of PersistJS',\n    noCookieStorage : 'The default storage cookie requires $.cookie to be included.'\n  }\n\n};\n\n})( jQuery, window , document );\n"
  },
  {
    "path": "src/asset/semantic-ui/semantic.css",
    "content": " /*\n * # Semantic UI - 2.1.6\n * https://github.com/Semantic-Org/Semantic-UI\n * http://www.semantic-ui.com/\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic&subset=latin');\n/*!\n * # Semantic UI 2.1.6 - Reset\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Reset\n*******************************/\n\n/* Border-Box */\n\n*,\n*:before,\n*:after {\n  box-sizing: inherit;\n}\n\nhtml {\n  box-sizing: border-box;\n}\n\n/* iPad Input Shadows */\n\ninput[type=\"text\"],\ninput[type=\"email\"],\ninput[type=\"search\"],\ninput[type=\"password\"] {\n  -webkit-appearance: none;\n  -moz-appearance: none;\n  /* mobile firefox too! */\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n\n/**\n * Correct `block` display not defined in IE 8/9.\n */\n\n/*! normalize.css v3.0.1 | MIT License | git.io/normalize */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS text size adjust after orientation change, without disabling\n *    user zoom.\n */\n\nhtml {\n  font-family: sans-serif;\n  /* 1 */\n  -ms-text-size-adjust: 100%;\n  /* 2 */\n  -webkit-text-size-adjust: 100%;\n  /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block;\n  /* 1 */\n  vertical-align: baseline;\n  /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background: transparent;\n}\n\n/**\n * Improve readability when focused and also mouse hovered in all browsers.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit;\n  /* 1 */\n  font: inherit;\n  /* 2 */\n  margin: 0;\n  /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button;\n  /* 2 */\n  cursor: pointer;\n  /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box;\n  /* 1 */\n  padding: 0;\n  /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome\n *    (include `-moz` to future-proof).\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield;\n  /* 1 */\n  /* 2 */\n  box-sizing: content-box;\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0;\n  /* 1 */\n  padding: 0;\n  /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Page\n*******************************/\n\nhtml,\nbody {\n  height: 100%;\n}\n\nhtml {\n  font-size: 14px;\n}\n\nbody {\n  margin: 0px;\n  padding: 0px;\n  overflow-x: hidden;\n  min-width: 320px;\n  background: #FFFFFF;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 14px;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  font-smoothing: antialiased;\n}\n\n/*******************************\n             Headers\n*******************************/\n\nh1,\nh2,\nh3,\nh4,\nh5 {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  line-height: 1.2857em;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  font-weight: bold;\n  padding: 0em;\n}\n\nh1 {\n  min-height: 1rem;\n  font-size: 2rem;\n}\n\nh2 {\n  font-size: 1.714rem;\n}\n\nh3 {\n  font-size: 1.28rem;\n}\n\nh4 {\n  font-size: 1.071rem;\n}\n\nh5 {\n  font-size: 1rem;\n}\n\nh1:first-child,\nh2:first-child,\nh3:first-child,\nh4:first-child,\nh5:first-child {\n  margin-top: 0em;\n}\n\nh1:last-child,\nh2:last-child,\nh3:last-child,\nh4:last-child,\nh5:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n             Text\n*******************************/\n\np {\n  margin: 0em 0em 1em;\n  line-height: 1.4285em;\n}\n\np:first-child {\n  margin-top: 0em;\n}\n\np:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n        Links\n--------------------*/\n\na {\n  color: #4183C4;\n  text-decoration: none;\n}\n\na:hover {\n  color: #1e70bf;\n  text-decoration: none;\n}\n\n/*******************************\n          Highlighting\n*******************************/\n\n/* Site */\n\n::-webkit-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n::-moz-selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n::selection {\n  background-color: #CCE2FF;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Form */\n\ntextarea::-webkit-selection,\ninput::-webkit-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\ntextarea::-moz-selection,\ninput::-moz-selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\ntextarea::selection,\ninput::selection {\n  background-color: rgba(100, 100, 100, 0.4);\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*******************************\n        Global Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Button\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Button\n*******************************/\n\n.ui.button {\n  cursor: pointer;\n  display: inline-block;\n  min-height: 1em;\n  outline: none;\n  border: none;\n  vertical-align: baseline;\n  background: #E0E1E2 none;\n  color: rgba(0, 0, 0, 0.6);\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em 0.25em 0em 0em;\n  padding: 0.78571429em 1.5em 0.78571429em;\n  text-transform: none;\n  text-shadow: none;\n  font-weight: bold;\n  line-height: 1em;\n  font-style: normal;\n  text-align: center;\n  text-decoration: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n  transition: opacity 0.1s ease, background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, background 0.1s ease;\n  will-change: '';\n  -webkit-tap-highlight-color: transparent;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.button:hover {\n  background-color: #CACBCD;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.button:hover .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Focus\n---------------*/\n\n.ui.button:focus {\n  background-color: #CACBCD;\n  color: rgba(0, 0, 0, 0.8);\n  background-image: '' !important;\n  box-shadow: '' !important;\n}\n\n.ui.button:focus .icon {\n  opacity: 0.85;\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.button:active,\n.ui.active.button:active {\n  background-color: #BABBBC;\n  background-image: '';\n  color: rgba(0, 0, 0, 0.9);\n  box-shadow: 0px 0px 0px 1px transparent inset, none;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.button {\n  background-color: #C0C1C2;\n  background-image: none;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.active.button:hover {\n  background-color: #C0C1C2;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.active.button:active {\n  background-color: #C0C1C2;\n  background-image: none;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n/* Specificity hack */\n\n.ui.loading.loading.loading.loading.loading.loading.button {\n  position: relative;\n  cursor: default;\n  text-shadow: none !important;\n  color: transparent !important;\n  opacity: 1;\n  pointer-events: auto;\n  -webkit-transition: all 0s linear, opacity 0.1s ease;\n  transition: all 0s linear, opacity 0.1s ease;\n}\n\n.ui.loading.button:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.15);\n}\n\n.ui.loading.button:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #FFFFFF transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n.ui.labeled.icon.loading.button .icon {\n  background-color: transparent;\n  box-shadow: none;\n}\n\n@-webkit-keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes button-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n.ui.basic.loading.button:not(.inverted):before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.ui.basic.loading.button:not(.inverted):after {\n  border-top-color: #767676;\n}\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.buttons .disabled.button,\n.ui.disabled.button,\n.ui.button:disabled,\n.ui.disabled.button:hover,\n.ui.disabled.active.button {\n  cursor: default;\n  opacity: 0.45 !important;\n  background-image: none !important;\n  box-shadow: none !important;\n  pointer-events: none;\n}\n\n/* Basic Group With Disabled */\n\n.ui.basic.buttons .ui.disabled.button {\n  border-color: rgba(34, 36, 38, 0.5);\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.button {\n  position: relative;\n  overflow: hidden;\n  padding-right: 0em !important;\n  vertical-align: middle;\n  z-index: 1;\n}\n\n.ui.animated.button .content {\n  will-change: transform, opacity;\n}\n\n.ui.animated.button .visible.content {\n  position: relative;\n  margin-right: 1.5em;\n}\n\n.ui.animated.button .hidden.content {\n  position: absolute;\n  width: 100%;\n}\n\n/* Horizontal */\n\n.ui.animated.button .visible.content,\n.ui.animated.button .hidden.content {\n  -webkit-transition: right 0.3s ease 0s;\n  transition: right 0.3s ease 0s;\n}\n\n.ui.animated.button .visible.content {\n  left: auto;\n  right: 0%;\n}\n\n.ui.animated.button .hidden.content {\n  top: 50%;\n  left: auto;\n  right: -100%;\n  margin-top: -0.5em;\n}\n\n.ui.animated.button:focus .visible.content,\n.ui.animated.button:hover .visible.content {\n  left: auto;\n  right: 200%;\n}\n\n.ui.animated.button:focus .hidden.content,\n.ui.animated.button:hover .hidden.content {\n  left: auto;\n  right: 0%;\n}\n\n/* Vertical */\n\n.ui.vertical.animated.button .visible.content,\n.ui.vertical.animated.button .hidden.content {\n  -webkit-transition: top 0.3s ease, -webkit-transform 0.3s ease;\n  transition: top 0.3s ease, transform 0.3s ease;\n}\n\n.ui.vertical.animated.button .visible.content {\n  -webkit-transform: translateY(0%);\n  -ms-transform: translateY(0%);\n  transform: translateY(0%);\n  right: auto;\n}\n\n.ui.vertical.animated.button .hidden.content {\n  top: -50%;\n  left: 0%;\n  right: auto;\n}\n\n.ui.vertical.animated.button:focus .visible.content,\n.ui.vertical.animated.button:hover .visible.content {\n  -webkit-transform: translateY(200%);\n  -ms-transform: translateY(200%);\n  transform: translateY(200%);\n  right: auto;\n}\n\n.ui.vertical.animated.button:focus .hidden.content,\n.ui.vertical.animated.button:hover .hidden.content {\n  top: 50%;\n  right: auto;\n}\n\n/* Fade */\n\n.ui.fade.animated.button .visible.content,\n.ui.fade.animated.button .hidden.content {\n  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;\n  transition: opacity 0.3s ease, transform 0.3s ease;\n}\n\n.ui.fade.animated.button .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n  -ms-transform: scale(1);\n  transform: scale(1);\n}\n\n.ui.fade.animated.button .hidden.content {\n  opacity: 0;\n  left: 0%;\n  right: auto;\n  -webkit-transform: scale(1.5);\n  -ms-transform: scale(1.5);\n  transform: scale(1.5);\n}\n\n.ui.fade.animated.button:focus .visible.content,\n.ui.fade.animated.button:hover .visible.content {\n  left: auto;\n  right: auto;\n  opacity: 0;\n  -webkit-transform: scale(0.75);\n  -ms-transform: scale(0.75);\n  transform: scale(0.75);\n}\n\n.ui.fade.animated.button:focus .hidden.content,\n.ui.fade.animated.button:hover .hidden.content {\n  left: 0%;\n  right: auto;\n  opacity: 1;\n  -webkit-transform: scale(1);\n  -ms-transform: scale(1);\n  transform: scale(1);\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.button {\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  background: transparent none;\n  color: #FFFFFF;\n  text-shadow: none !important;\n}\n\n/* Group */\n\n.ui.inverted.buttons .button {\n  margin: 0px 0px 0px -2px;\n}\n\n.ui.inverted.buttons .button:first-child {\n  margin-left: 0em;\n}\n\n.ui.inverted.vertical.buttons .button {\n  margin: 0px 0px -2px 0px;\n}\n\n.ui.inverted.vertical.buttons .button:first-child {\n  margin-top: 0em;\n}\n\n/* States */\n\n/* Hover */\n\n.ui.inverted.button:hover {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active / Focus */\n\n.ui.inverted.button:focus,\n.ui.inverted.button.active {\n  background: #FFFFFF;\n  box-shadow: 0px 0px 0px 2px #FFFFFF inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active Focus */\n\n.ui.inverted.button.active:focus {\n  background: #DCDDDE;\n  box-shadow: 0px 0px 0px 2px #DCDDDE inset !important;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n    Labeled Button\n--------------------*/\n\n.ui.labeled.button:not(.icon) {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  background: none !important;\n  padding: 0px !important;\n  border: none !important;\n  box-shadow: none !important;\n}\n\n.ui.labeled.button > .button {\n  margin: 0px;\n}\n\n.ui.labeled.button > .label {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  margin: 0px 0px 0px -1px !important;\n  padding: '';\n  font-size: 1em;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Tag */\n\n.ui.labeled.button > .tag.label:before {\n  width: 1.85em;\n  height: 1.85em;\n}\n\n/* Right */\n\n.ui.labeled.button:not([class*=\"left labeled\"]) > .button {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n.ui.labeled.button:not([class*=\"left labeled\"]) > .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n/* Left Side */\n\n.ui[class*=\"left labeled\"].button > .button {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n.ui[class*=\"left labeled\"].button > .label {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n/*-------------------\n       Social\n--------------------*/\n\n/* Facebook */\n\n.ui.facebook.button {\n  background-color: #3B5998;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.facebook.button:hover {\n  background-color: #304d8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.facebook.button:active {\n  background-color: #2d4373;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Twitter */\n\n.ui.twitter.button {\n  background-color: #0084B4;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.twitter.button:hover {\n  background-color: #00719b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.twitter.button:active {\n  background-color: #005f81;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Google Plus */\n\n.ui.google.plus.button {\n  background-color: #DC4A38;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.google.plus.button:hover {\n  background-color: #de321d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.google.plus.button:active {\n  background-color: #bf3322;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Linked In */\n\n.ui.linkedin.button {\n  background-color: #1F88BE;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.linkedin.button:hover {\n  background-color: #147baf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.linkedin.button:active {\n  background-color: #186992;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* YouTube */\n\n.ui.youtube.button {\n  background-color: #CC181E;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.youtube.button:hover {\n  background-color: #bd0d13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.youtube.button:active {\n  background-color: #9e1317;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Instagram */\n\n.ui.instagram.button {\n  background-color: #49769C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.instagram.button:hover {\n  background-color: #3d698e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.instagram.button:active {\n  background-color: #395c79;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Pinterest */\n\n.ui.pinterest.button {\n  background-color: #00ACED;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.pinterest.button:hover {\n  background-color: #0099d4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pinterest.button:active {\n  background-color: #0087ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* VK */\n\n.ui.vk.button {\n  background-color: #4D7198;\n  color: #FFFFFF;\n  background-image: none;\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.vk.button:hover {\n  background-color: #41648a;\n  color: #FFFFFF;\n}\n\n.ui.vk.button:active {\n  background-color: #3c5876;\n  color: #FFFFFF;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.button > .icon:not(.button) {\n  height: 0.85714286em;\n  opacity: 0.8;\n  margin: 0em 0.42857143em 0em -0.21428571em;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n  vertical-align: '';\n  color: '';\n}\n\n.ui.button > .right.icon:not(.button) {\n  margin: 0em -0.21428571em 0em 0.42857143em;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui[class*=\"left floated\"].buttons,\n.ui[class*=\"left floated\"].button {\n  float: left;\n  margin-left: 0em;\n  margin-right: 0.25em;\n}\n\n.ui[class*=\"right floated\"].buttons,\n.ui[class*=\"right floated\"].button {\n  float: right;\n  margin-right: 0em;\n  margin-left: 0.25em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.buttons .button,\n.ui.compact.button {\n  padding: 0.58928571em 1.125em 0.58928571em;\n}\n\n.ui.compact.icon.buttons .button,\n.ui.compact.icon.button {\n  padding: 0.58928571em 0.58928571em 0.58928571em;\n}\n\n.ui.compact.labeled.icon.buttons .button,\n.ui.compact.labeled.icon.button {\n  padding: 0.58928571em 3.69642857em 0.58928571em;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.buttons .button,\n.ui.mini.buttons .or,\n.ui.mini.button {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.buttons .button,\n.ui.tiny.buttons .or,\n.ui.tiny.button {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.buttons .button,\n.ui.small.buttons .or,\n.ui.small.button {\n  font-size: 0.92857143rem;\n}\n\n.ui.buttons .button,\n.ui.buttons .or,\n.ui.button {\n  font-size: 1rem;\n}\n\n.ui.large.buttons .button,\n.ui.large.buttons .or,\n.ui.large.button {\n  font-size: 1.14285714rem;\n}\n\n.ui.big.buttons .button,\n.ui.big.buttons .or,\n.ui.big.button {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.buttons .button,\n.ui.huge.buttons .or,\n.ui.huge.button {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.buttons .button,\n.ui.massive.buttons .or,\n.ui.massive.button {\n  font-size: 1.71428571rem;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n.ui.icon.buttons .button,\n.ui.icon.button {\n  padding: 0.78571429em 0.78571429em 0.78571429em;\n}\n\n.ui.icon.buttons .button > .icon,\n.ui.icon.button > .icon {\n  opacity: 0.9;\n  margin: 0em;\n  vertical-align: top;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.buttons .button,\n.ui.basic.button {\n  background: transparent none !important;\n  color: rgba(0, 0, 0, 0.6) !important;\n  font-weight: normal;\n  border-radius: 0.28571429rem;\n  text-transform: none;\n  text-shadow: none !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons {\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n\n.ui.basic.buttons .button {\n  border-radius: 0em;\n}\n\n.ui.basic.buttons .button:hover,\n.ui.basic.button:hover {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons .button:focus,\n.ui.basic.button:focus {\n  background: #FFFFFF !important;\n  color: rgba(0, 0, 0, 0.8) !important;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons .button:active,\n.ui.basic.button:active {\n  background: #F8F8F8 !important;\n  color: rgba(0, 0, 0, 0.9) !important;\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.basic.buttons .active.button,\n.ui.basic.active.button {\n  background: rgba(0, 0, 0, 0.05) !important;\n  box-shadow: '' !important;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: rgba(34, 36, 38, 0.35);\n}\n\n.ui.basic.buttons .active.button:hover,\n.ui.basic.active.button:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n}\n\n/* Vertical */\n\n.ui.basic.buttons .button:hover {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.35) inset, 0px 0px 0px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n\n.ui.basic.buttons .button:active {\n  box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.15) inset, 0px 1px 4px 0px rgba(34, 36, 38, 0.15) inset inset;\n}\n\n.ui.basic.buttons .active.button {\n  box-shadow: rgba(34, 36, 38, 0.35) inset;\n}\n\n/* Standard Basic Inverted */\n\n.ui.basic.inverted.buttons .button,\n.ui.basic.inverted.button {\n  background-color: transparent !important;\n  color: #F9FAFB !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n}\n\n.ui.basic.inverted.buttons .button:hover,\n.ui.basic.inverted.button:hover {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n.ui.basic.inverted.buttons .button:focus,\n.ui.basic.inverted.button:focus {\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n.ui.basic.inverted.buttons .button:active,\n.ui.basic.inverted.button:active {\n  background-color: rgba(255, 255, 255, 0.08) !important;\n  color: #FFFFFF !important;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.9) inset !important;\n}\n\n.ui.basic.inverted.buttons .active.button,\n.ui.basic.inverted.active.button {\n  background-color: rgba(255, 255, 255, 0.08);\n  color: #FFFFFF;\n  text-shadow: none;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.7) inset;\n}\n\n.ui.basic.inverted.buttons .active.button:hover,\n.ui.basic.inverted.active.button:hover {\n  background-color: rgba(255, 255, 255, 0.15);\n  box-shadow: 0px 0px 0px 2px #ffffff inset !important;\n}\n\n/* Basic Group */\n\n.ui.basic.buttons .button {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n.ui.basic.vertical.buttons .button {\n  border-left: none;\n}\n\n.ui.basic.vertical.buttons .button {\n  border-left-width: 0px;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.basic.vertical.buttons .button:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Labeled Icon\n---------------*/\n\n.ui.labeled.icon.buttons .button,\n.ui.labeled.icon.button {\n  position: relative;\n  padding-left: 4.07142857em !important;\n  padding-right: 1.5em !important;\n}\n\n/* Left Labeled */\n\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  position: absolute;\n  height: 100%;\n  line-height: 1;\n  border-radius: 0px;\n  border-top-left-radius: inherit;\n  border-bottom-left-radius: inherit;\n  text-align: center;\n  margin: 0em;\n  width: 2.57142857em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: '';\n  box-shadow: -1px 0px 0px 0px transparent inset;\n}\n\n/* Left Labeled */\n\n.ui.labeled.icon.buttons > .button > .icon,\n.ui.labeled.icon.button > .icon {\n  top: 0em;\n  left: 0em;\n}\n\n/* Right Labeled */\n\n.ui[class*=\"right labeled\"].icon.button {\n  padding-right: 4.07142857em !important;\n  padding-left: 1.5em !important;\n}\n\n.ui[class*=\"right labeled\"].icon.button > .icon {\n  left: auto;\n  right: 0em;\n  border-radius: 0px;\n  border-top-right-radius: inherit;\n  border-bottom-right-radius: inherit;\n  box-shadow: 1px 0px 0px 0px transparent inset;\n}\n\n.ui.labeled.icon.buttons > .button > .icon:before,\n.ui.labeled.icon.button > .icon:before,\n.ui.labeled.icon.buttons > .button > .icon:after,\n.ui.labeled.icon.button > .icon:after {\n  display: block;\n  position: absolute;\n  width: 100%;\n  top: 50%;\n  text-align: center;\n  -webkit-transform: translateY(-50%);\n  -ms-transform: translateY(-50%);\n  transform: translateY(-50%);\n}\n\n.ui.labeled.icon.buttons .button > .icon {\n  border-radius: 0em;\n}\n\n.ui.labeled.icon.buttons .button:first-child > .icon {\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n.ui.labeled.icon.buttons .button:last-child > .icon {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n.ui.vertical.labeled.icon.buttons .button:first-child > .icon {\n  border-radius: 0em;\n  border-top-left-radius: 0.28571429rem;\n}\n\n.ui.vertical.labeled.icon.buttons .button:last-child > .icon {\n  border-radius: 0em;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n/* Fluid Labeled */\n\n.ui.fluid[class*=\"left labeled\"].icon.button,\n.ui.fluid[class*=\"right labeled\"].icon.button {\n  padding-left: 1.5em !important;\n  padding-right: 1.5em !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n/* Toggle (Modifies active state to give affordances) */\n\n.ui.toggle.buttons .active.button,\n.ui.buttons .button.toggle.active,\n.ui.button.toggle.active {\n  background-color: #21BA45 !important;\n  box-shadow: none !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n\n.ui.button.toggle.active:hover {\n  background-color: #16ab39 !important;\n  text-shadow: none;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.button {\n  border-radius: 10em;\n}\n\n.ui.circular.button > .icon {\n  width: 1em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n      Or Buttons\n--------------------*/\n\n.ui.buttons .or {\n  position: relative;\n  width: 0.3em;\n  height: 2.57142857em;\n  z-index: 3;\n}\n\n.ui.buttons .or:before {\n  position: absolute;\n  text-align: center;\n  border-radius: 500rem;\n  content: 'or';\n  top: 50%;\n  left: 50%;\n  background-color: #FFFFFF;\n  text-shadow: none;\n  margin-top: -0.89285714em;\n  margin-left: -0.89285714em;\n  width: 1.78571429em;\n  height: 1.78571429em;\n  line-height: 1.78571429em;\n  color: rgba(0, 0, 0, 0.4);\n  font-style: normal;\n  font-weight: bold;\n  box-shadow: 0px 0px 0px 1px transparent inset;\n}\n\n.ui.buttons .or[data-text]:before {\n  content: attr(data-text);\n}\n\n/* Fluid Or */\n\n.ui.fluid.buttons .or {\n  width: 0em !important;\n}\n\n.ui.fluid.buttons .or:after {\n  display: none;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n/* Singular */\n\n.ui.attached.button {\n  position: relative;\n  display: block;\n  margin: 0em;\n  border-radius: 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) !important;\n}\n\n/* Top / Bottom */\n\n.ui.attached.top.button {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.attached.bottom.button {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Left / Right */\n\n.ui.left.attached.button {\n  display: inline-block;\n  border-left: none;\n  text-align: right;\n  padding-right: 0.75em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui.right.attached.button {\n  display: inline-block;\n  text-align: left;\n  padding-left: 0.75em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/* Plural */\n\n.ui.attached.buttons {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  border-radius: 0em;\n  width: auto !important;\n  z-index: 2;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n\n.ui.attached.buttons .button {\n  margin: 0em;\n}\n\n.ui.attached.buttons .button:first-child {\n  border-radius: 0em;\n}\n\n.ui.attached.buttons .button:last-child {\n  border-radius: 0em;\n}\n\n/* Top / Bottom */\n\n.ui[class*=\"top attached\"].buttons {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui[class*=\"top attached\"].buttons .button:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui[class*=\"top attached\"].buttons .button:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui[class*=\"bottom attached\"].buttons {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].buttons .button:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].buttons .button:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Left / Right */\n\n.ui[class*=\"left attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-right: 0em;\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui[class*=\"left attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui[class*=\"left attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n.ui[class*=\"right attached\"].buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin-left: 0em;\n  margin-right: -1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"right attached\"].buttons .button:first-child {\n  margin-left: -1px;\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui[class*=\"right attached\"].buttons .button:last-child {\n  margin-left: -1px;\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.buttons,\n.ui.fluid.button {\n  width: 100%;\n}\n\n.ui.fluid.button {\n  display: block;\n}\n\n.ui.two.buttons {\n  width: 100%;\n}\n\n.ui.two.buttons > .button {\n  width: 50%;\n}\n\n.ui.three.buttons {\n  width: 100%;\n}\n\n.ui.three.buttons > .button {\n  width: 33.333%;\n}\n\n.ui.four.buttons {\n  width: 100%;\n}\n\n.ui.four.buttons > .button {\n  width: 25%;\n}\n\n.ui.five.buttons {\n  width: 100%;\n}\n\n.ui.five.buttons > .button {\n  width: 20%;\n}\n\n.ui.six.buttons {\n  width: 100%;\n}\n\n.ui.six.buttons > .button {\n  width: 16.666%;\n}\n\n.ui.seven.buttons {\n  width: 100%;\n}\n\n.ui.seven.buttons > .button {\n  width: 14.285%;\n}\n\n.ui.eight.buttons {\n  width: 100%;\n}\n\n.ui.eight.buttons > .button {\n  width: 12.500%;\n}\n\n.ui.nine.buttons {\n  width: 100%;\n}\n\n.ui.nine.buttons > .button {\n  width: 11.11%;\n}\n\n.ui.ten.buttons {\n  width: 100%;\n}\n\n.ui.ten.buttons > .button {\n  width: 10%;\n}\n\n.ui.eleven.buttons {\n  width: 100%;\n}\n\n.ui.eleven.buttons > .button {\n  width: 9.09%;\n}\n\n.ui.twelve.buttons {\n  width: 100%;\n}\n\n.ui.twelve.buttons > .button {\n  width: 8.3333%;\n}\n\n/* Fluid Vertical Buttons */\n\n.ui.fluid.vertical.buttons,\n.ui.fluid.vertical.buttons > .button {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: auto;\n}\n\n.ui.two.vertical.buttons > .button {\n  height: 50%;\n}\n\n.ui.three.vertical.buttons > .button {\n  height: 33.333%;\n}\n\n.ui.four.vertical.buttons > .button {\n  height: 25%;\n}\n\n.ui.five.vertical.buttons > .button {\n  height: 20%;\n}\n\n.ui.six.vertical.buttons > .button {\n  height: 16.666%;\n}\n\n.ui.seven.vertical.buttons > .button {\n  height: 14.285%;\n}\n\n.ui.eight.vertical.buttons > .button {\n  height: 12.500%;\n}\n\n.ui.nine.vertical.buttons > .button {\n  height: 11.11%;\n}\n\n.ui.ten.vertical.buttons > .button {\n  height: 10%;\n}\n\n.ui.eleven.vertical.buttons > .button {\n  height: 9.09%;\n}\n\n.ui.twelve.vertical.buttons > .button {\n  height: 8.3333%;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/*--- Black ---*/\n\n.ui.black.buttons .button,\n.ui.black.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.black.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.black.buttons .button:hover,\n.ui.black.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.black.buttons .button:focus,\n.ui.black.button:focus {\n  background-color: #2f3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.black.buttons .button:active,\n.ui.black.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.black.buttons .active.button,\n.ui.black.buttons .active.button:active,\n.ui.black.active.button,\n.ui.black.button .active.button:active {\n  background-color: #0f0f10;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.black.buttons .button,\n.ui.basic.black.button {\n  box-shadow: 0px 0px 0px 1px #1B1C1D inset !important;\n  color: #1B1C1D !important;\n}\n\n.ui.basic.black.buttons .button:hover,\n.ui.basic.black.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #27292a inset !important;\n  color: #27292a !important;\n}\n\n.ui.basic.black.buttons .button:focus,\n.ui.basic.black.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #2f3032 inset !important;\n  color: #27292a !important;\n}\n\n.ui.basic.black.buttons .active.button,\n.ui.basic.black.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0f0f10 inset !important;\n  color: #343637 !important;\n}\n\n.ui.basic.black.buttons .button:active,\n.ui.basic.black.button:active {\n  box-shadow: 0px 0px 0px 1px #343637 inset !important;\n  color: #343637 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.black.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.black.buttons .button,\n.ui.inverted.black.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover,\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus,\n.ui.inverted.black.buttons .button.active,\n.ui.inverted.black.button.active,\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.black.buttons .button:hover,\n.ui.inverted.black.button:hover {\n  background-color: #000000;\n}\n\n.ui.inverted.black.buttons .button:focus,\n.ui.inverted.black.button:focus {\n  background-color: #000000;\n}\n\n.ui.inverted.black.buttons .active.button,\n.ui.inverted.black.active.button {\n  background-color: #000000;\n}\n\n.ui.inverted.black.buttons .button:active,\n.ui.inverted.black.button:active {\n  background-color: #000000;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.black.basic.buttons .button,\n.ui.inverted.black.buttons .basic.button,\n.ui.inverted.black.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.black.basic.buttons .button:hover,\n.ui.inverted.black.buttons .basic.button:hover,\n.ui.inverted.black.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.buttons .button:focus,\n.ui.inverted.black.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #545454 !important;\n}\n\n.ui.inverted.black.basic.buttons .active.button,\n.ui.inverted.black.buttons .basic.active.button,\n.ui.inverted.black.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.black.basic.buttons .button:active,\n.ui.inverted.black.buttons .basic.button:active,\n.ui.inverted.black.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #000000 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.buttons .button,\n.ui.grey.button {\n  background-color: #767676;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.grey.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.grey.buttons .button:hover,\n.ui.grey.button:hover {\n  background-color: #838383;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.grey.buttons .button:focus,\n.ui.grey.button:focus {\n  background-color: #8a8a8a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.grey.buttons .button:active,\n.ui.grey.button:active {\n  background-color: #909090;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.grey.buttons .active.button,\n.ui.grey.buttons .active.button:active,\n.ui.grey.active.button,\n.ui.grey.button .active.button:active {\n  background-color: #696969;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.grey.buttons .button,\n.ui.basic.grey.button {\n  box-shadow: 0px 0px 0px 1px #767676 inset !important;\n  color: #767676 !important;\n}\n\n.ui.basic.grey.buttons .button:hover,\n.ui.basic.grey.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #838383 inset !important;\n  color: #838383 !important;\n}\n\n.ui.basic.grey.buttons .button:focus,\n.ui.basic.grey.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8a8a8a inset !important;\n  color: #838383 !important;\n}\n\n.ui.basic.grey.buttons .active.button,\n.ui.basic.grey.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #696969 inset !important;\n  color: #909090 !important;\n}\n\n.ui.basic.grey.buttons .button:active,\n.ui.basic.grey.button:active {\n  box-shadow: 0px 0px 0px 1px #909090 inset !important;\n  color: #909090 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.grey.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.grey.buttons .button,\n.ui.inverted.grey.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D4D4D5 inset !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover,\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus,\n.ui.inverted.grey.buttons .button.active,\n.ui.inverted.grey.button.active,\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.grey.buttons .button:hover,\n.ui.inverted.grey.button:hover {\n  background-color: #cfd0d2;\n}\n\n.ui.inverted.grey.buttons .button:focus,\n.ui.inverted.grey.button:focus {\n  background-color: #c7c9cb;\n}\n\n.ui.inverted.grey.buttons .active.button,\n.ui.inverted.grey.active.button {\n  background-color: #cfd0d2;\n}\n\n.ui.inverted.grey.buttons .button:active,\n.ui.inverted.grey.button:active {\n  background-color: #c2c4c5;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.grey.basic.buttons .button,\n.ui.inverted.grey.buttons .basic.button,\n.ui.inverted.grey.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.grey.basic.buttons .button:hover,\n.ui.inverted.grey.buttons .basic.button:hover,\n.ui.inverted.grey.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.buttons .button:focus,\n.ui.inverted.grey.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c7c9cb inset !important;\n  color: #DCDDDE !important;\n}\n\n.ui.inverted.grey.basic.buttons .active.button,\n.ui.inverted.grey.buttons .basic.active.button,\n.ui.inverted.grey.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cfd0d2 inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.grey.basic.buttons .button:active,\n.ui.inverted.grey.buttons .basic.button:active,\n.ui.inverted.grey.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #c2c4c5 inset !important;\n  color: #FFFFFF !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.buttons .button,\n.ui.brown.button {\n  background-color: #A5673F;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.brown.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.brown.buttons .button:hover,\n.ui.brown.button:hover {\n  background-color: #975b33;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.brown.buttons .button:focus,\n.ui.brown.button:focus {\n  background-color: #90532b;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.brown.buttons .button:active,\n.ui.brown.button:active {\n  background-color: #805031;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.brown.buttons .active.button,\n.ui.brown.buttons .active.button:active,\n.ui.brown.active.button,\n.ui.brown.button .active.button:active {\n  background-color: #995a31;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.brown.buttons .button,\n.ui.basic.brown.button {\n  box-shadow: 0px 0px 0px 1px #A5673F inset !important;\n  color: #A5673F !important;\n}\n\n.ui.basic.brown.buttons .button:hover,\n.ui.basic.brown.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #975b33 inset !important;\n  color: #975b33 !important;\n}\n\n.ui.basic.brown.buttons .button:focus,\n.ui.basic.brown.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #90532b inset !important;\n  color: #975b33 !important;\n}\n\n.ui.basic.brown.buttons .active.button,\n.ui.basic.brown.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #995a31 inset !important;\n  color: #805031 !important;\n}\n\n.ui.basic.brown.buttons .button:active,\n.ui.basic.brown.button:active {\n  box-shadow: 0px 0px 0px 1px #805031 inset !important;\n  color: #805031 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.brown.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.brown.buttons .button,\n.ui.inverted.brown.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D67C1C inset !important;\n  color: #D67C1C;\n}\n\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover,\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus,\n.ui.inverted.brown.buttons .button.active,\n.ui.inverted.brown.button.active,\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.brown.buttons .button:hover,\n.ui.inverted.brown.button:hover {\n  background-color: #c86f11;\n}\n\n.ui.inverted.brown.buttons .button:focus,\n.ui.inverted.brown.button:focus {\n  background-color: #c16808;\n}\n\n.ui.inverted.brown.buttons .active.button,\n.ui.inverted.brown.active.button {\n  background-color: #cc6f0d;\n}\n\n.ui.inverted.brown.buttons .button:active,\n.ui.inverted.brown.button:active {\n  background-color: #a96216;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.brown.basic.buttons .button,\n.ui.inverted.brown.buttons .basic.button,\n.ui.inverted.brown.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.brown.basic.buttons .button:hover,\n.ui.inverted.brown.buttons .basic.button:hover,\n.ui.inverted.brown.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #c86f11 inset !important;\n  color: #D67C1C !important;\n}\n\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.buttons .button:focus,\n.ui.inverted.brown.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #c16808 inset !important;\n  color: #D67C1C !important;\n}\n\n.ui.inverted.brown.basic.buttons .active.button,\n.ui.inverted.brown.buttons .basic.active.button,\n.ui.inverted.brown.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #cc6f0d inset !important;\n  color: #D67C1C !important;\n}\n\n.ui.inverted.brown.basic.buttons .button:active,\n.ui.inverted.brown.buttons .basic.button:active,\n.ui.inverted.brown.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #a96216 inset !important;\n  color: #D67C1C !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.buttons .button,\n.ui.blue.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.blue.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.blue.buttons .button:hover,\n.ui.blue.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.blue.buttons .button:focus,\n.ui.blue.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.blue.buttons .button:active,\n.ui.blue.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.blue.buttons .active.button,\n.ui.blue.buttons .active.button:active,\n.ui.blue.active.button,\n.ui.blue.button .active.button:active {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.blue.buttons .button,\n.ui.basic.blue.button {\n  box-shadow: 0px 0px 0px 1px #2185D0 inset !important;\n  color: #2185D0 !important;\n}\n\n.ui.basic.blue.buttons .button:hover,\n.ui.basic.blue.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1678c2 inset !important;\n  color: #1678c2 !important;\n}\n\n.ui.basic.blue.buttons .button:focus,\n.ui.basic.blue.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0d71bb inset !important;\n  color: #1678c2 !important;\n}\n\n.ui.basic.blue.buttons .active.button,\n.ui.basic.blue.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #1279c6 inset !important;\n  color: #1a69a4 !important;\n}\n\n.ui.basic.blue.buttons .button:active,\n.ui.basic.blue.button:active {\n  box-shadow: 0px 0px 0px 1px #1a69a4 inset !important;\n  color: #1a69a4 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.blue.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.blue.buttons .button,\n.ui.inverted.blue.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #54C8FF inset !important;\n  color: #54C8FF;\n}\n\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover,\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus,\n.ui.inverted.blue.buttons .button.active,\n.ui.inverted.blue.button.active,\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.blue.buttons .button:hover,\n.ui.inverted.blue.button:hover {\n  background-color: #3ac0ff;\n}\n\n.ui.inverted.blue.buttons .button:focus,\n.ui.inverted.blue.button:focus {\n  background-color: #2bbbff;\n}\n\n.ui.inverted.blue.buttons .active.button,\n.ui.inverted.blue.active.button {\n  background-color: #3ac0ff;\n}\n\n.ui.inverted.blue.buttons .button:active,\n.ui.inverted.blue.button:active {\n  background-color: #21b8ff;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.blue.basic.buttons .button,\n.ui.inverted.blue.buttons .basic.button,\n.ui.inverted.blue.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.blue.basic.buttons .button:hover,\n.ui.inverted.blue.buttons .basic.button:hover,\n.ui.inverted.blue.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.buttons .button:focus,\n.ui.inverted.blue.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #2bbbff inset !important;\n  color: #54C8FF !important;\n}\n\n.ui.inverted.blue.basic.buttons .active.button,\n.ui.inverted.blue.buttons .basic.active.button,\n.ui.inverted.blue.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #3ac0ff inset !important;\n  color: #54C8FF !important;\n}\n\n.ui.inverted.blue.basic.buttons .button:active,\n.ui.inverted.blue.buttons .basic.button:active,\n.ui.inverted.blue.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #21b8ff inset !important;\n  color: #54C8FF !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.buttons .button,\n.ui.green.button {\n  background-color: #21BA45;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.green.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.green.buttons .button:hover,\n.ui.green.button:hover {\n  background-color: #16ab39;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.green.buttons .button:focus,\n.ui.green.button:focus {\n  background-color: #0ea432;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.green.buttons .button:active,\n.ui.green.button:active {\n  background-color: #198f35;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.green.buttons .active.button,\n.ui.green.buttons .active.button:active,\n.ui.green.active.button,\n.ui.green.button .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.green.buttons .button,\n.ui.basic.green.button {\n  box-shadow: 0px 0px 0px 1px #21BA45 inset !important;\n  color: #21BA45 !important;\n}\n\n.ui.basic.green.buttons .button:hover,\n.ui.basic.green.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #16ab39 inset !important;\n  color: #16ab39 !important;\n}\n\n.ui.basic.green.buttons .button:focus,\n.ui.basic.green.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #0ea432 inset !important;\n  color: #16ab39 !important;\n}\n\n.ui.basic.green.buttons .active.button,\n.ui.basic.green.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #13ae38 inset !important;\n  color: #198f35 !important;\n}\n\n.ui.basic.green.buttons .button:active,\n.ui.basic.green.button:active {\n  box-shadow: 0px 0px 0px 1px #198f35 inset !important;\n  color: #198f35 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.green.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.green.buttons .button,\n.ui.inverted.green.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #2ECC40 inset !important;\n  color: #2ECC40;\n}\n\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover,\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus,\n.ui.inverted.green.buttons .button.active,\n.ui.inverted.green.button.active,\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  box-shadlightOw: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.green.buttons .button:hover,\n.ui.inverted.green.button:hover {\n  background-color: #22be34;\n}\n\n.ui.inverted.green.buttons .button:focus,\n.ui.inverted.green.button:focus {\n  background-color: #19b82b;\n}\n\n.ui.inverted.green.buttons .active.button,\n.ui.inverted.green.active.button {\n  background-color: #1fc231;\n}\n\n.ui.inverted.green.buttons .button:active,\n.ui.inverted.green.button:active {\n  background-color: #25a233;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.green.basic.buttons .button,\n.ui.inverted.green.buttons .basic.button,\n.ui.inverted.green.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.green.basic.buttons .button:hover,\n.ui.inverted.green.buttons .basic.button:hover,\n.ui.inverted.green.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #22be34 inset !important;\n  color: #2ECC40 !important;\n}\n\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.buttons .button:focus,\n.ui.inverted.green.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #19b82b inset !important;\n  color: #2ECC40 !important;\n}\n\n.ui.inverted.green.basic.buttons .active.button,\n.ui.inverted.green.buttons .basic.active.button,\n.ui.inverted.green.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #1fc231 inset !important;\n  color: #2ECC40 !important;\n}\n\n.ui.inverted.green.basic.buttons .button:active,\n.ui.inverted.green.buttons .basic.button:active,\n.ui.inverted.green.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #25a233 inset !important;\n  color: #2ECC40 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.buttons .button,\n.ui.orange.button {\n  background-color: #F2711C;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.orange.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.orange.buttons .button:hover,\n.ui.orange.button:hover {\n  background-color: #f26202;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.orange.buttons .button:focus,\n.ui.orange.button:focus {\n  background-color: #e55b00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.orange.buttons .button:active,\n.ui.orange.button:active {\n  background-color: #cf590c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.orange.buttons .active.button,\n.ui.orange.buttons .active.button:active,\n.ui.orange.active.button,\n.ui.orange.button .active.button:active {\n  background-color: #f56100;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.orange.buttons .button,\n.ui.basic.orange.button {\n  box-shadow: 0px 0px 0px 1px #F2711C inset !important;\n  color: #F2711C !important;\n}\n\n.ui.basic.orange.buttons .button:hover,\n.ui.basic.orange.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f26202 inset !important;\n  color: #f26202 !important;\n}\n\n.ui.basic.orange.buttons .button:focus,\n.ui.basic.orange.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e55b00 inset !important;\n  color: #f26202 !important;\n}\n\n.ui.basic.orange.buttons .active.button,\n.ui.basic.orange.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #f56100 inset !important;\n  color: #cf590c !important;\n}\n\n.ui.basic.orange.buttons .button:active,\n.ui.basic.orange.button:active {\n  box-shadow: 0px 0px 0px 1px #cf590c inset !important;\n  color: #cf590c !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.orange.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.orange.buttons .button,\n.ui.inverted.orange.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF851B inset !important;\n  color: #FF851B;\n}\n\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover,\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus,\n.ui.inverted.orange.buttons .button.active,\n.ui.inverted.orange.button.active,\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.orange.buttons .button:hover,\n.ui.inverted.orange.button:hover {\n  background-color: #ff7701;\n}\n\n.ui.inverted.orange.buttons .button:focus,\n.ui.inverted.orange.button:focus {\n  background-color: #f17000;\n}\n\n.ui.inverted.orange.buttons .active.button,\n.ui.inverted.orange.active.button {\n  background-color: #ff7701;\n}\n\n.ui.inverted.orange.buttons .button:active,\n.ui.inverted.orange.button:active {\n  background-color: #e76b00;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.orange.basic.buttons .button,\n.ui.inverted.orange.buttons .basic.button,\n.ui.inverted.orange.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.orange.basic.buttons .button:hover,\n.ui.inverted.orange.buttons .basic.button:hover,\n.ui.inverted.orange.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.buttons .button:focus,\n.ui.inverted.orange.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f17000 inset !important;\n  color: #FF851B !important;\n}\n\n.ui.inverted.orange.basic.buttons .active.button,\n.ui.inverted.orange.buttons .basic.active.button,\n.ui.inverted.orange.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff7701 inset !important;\n  color: #FF851B !important;\n}\n\n.ui.inverted.orange.basic.buttons .button:active,\n.ui.inverted.orange.buttons .basic.button:active,\n.ui.inverted.orange.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #e76b00 inset !important;\n  color: #FF851B !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.buttons .button,\n.ui.pink.button {\n  background-color: #E03997;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.pink.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.pink.buttons .button:hover,\n.ui.pink.button:hover {\n  background-color: #e61a8d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pink.buttons .button:focus,\n.ui.pink.button:focus {\n  background-color: #e10f85;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pink.buttons .button:active,\n.ui.pink.button:active {\n  background-color: #c71f7e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.pink.buttons .active.button,\n.ui.pink.buttons .active.button:active,\n.ui.pink.active.button,\n.ui.pink.button .active.button:active {\n  background-color: #ea158d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.pink.buttons .button,\n.ui.basic.pink.button {\n  box-shadow: 0px 0px 0px 1px #E03997 inset !important;\n  color: #E03997 !important;\n}\n\n.ui.basic.pink.buttons .button:hover,\n.ui.basic.pink.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e61a8d inset !important;\n  color: #e61a8d !important;\n}\n\n.ui.basic.pink.buttons .button:focus,\n.ui.basic.pink.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #e10f85 inset !important;\n  color: #e61a8d !important;\n}\n\n.ui.basic.pink.buttons .active.button,\n.ui.basic.pink.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ea158d inset !important;\n  color: #c71f7e !important;\n}\n\n.ui.basic.pink.buttons .button:active,\n.ui.basic.pink.button:active {\n  box-shadow: 0px 0px 0px 1px #c71f7e inset !important;\n  color: #c71f7e !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.pink.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.pink.buttons .button,\n.ui.inverted.pink.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF8EDF inset !important;\n  color: #FF8EDF;\n}\n\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover,\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus,\n.ui.inverted.pink.buttons .button.active,\n.ui.inverted.pink.button.active,\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.pink.buttons .button:hover,\n.ui.inverted.pink.button:hover {\n  background-color: #ff74d8;\n}\n\n.ui.inverted.pink.buttons .button:focus,\n.ui.inverted.pink.button:focus {\n  background-color: #ff65d3;\n}\n\n.ui.inverted.pink.buttons .active.button,\n.ui.inverted.pink.active.button {\n  background-color: #ff74d8;\n}\n\n.ui.inverted.pink.buttons .button:active,\n.ui.inverted.pink.button:active {\n  background-color: #ff5bd1;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.pink.basic.buttons .button,\n.ui.inverted.pink.buttons .basic.button,\n.ui.inverted.pink.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.pink.basic.buttons .button:hover,\n.ui.inverted.pink.buttons .basic.button:hover,\n.ui.inverted.pink.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.buttons .button:focus,\n.ui.inverted.pink.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff65d3 inset !important;\n  color: #FF8EDF !important;\n}\n\n.ui.inverted.pink.basic.buttons .active.button,\n.ui.inverted.pink.buttons .basic.active.button,\n.ui.inverted.pink.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff74d8 inset !important;\n  color: #FF8EDF !important;\n}\n\n.ui.inverted.pink.basic.buttons .button:active,\n.ui.inverted.pink.buttons .basic.button:active,\n.ui.inverted.pink.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff5bd1 inset !important;\n  color: #FF8EDF !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.buttons .button,\n.ui.violet.button {\n  background-color: #6435C9;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.violet.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.violet.buttons .button:hover,\n.ui.violet.button:hover {\n  background-color: #5829bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.violet.buttons .button:focus,\n.ui.violet.button:focus {\n  background-color: #4f20b5;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.violet.buttons .button:active,\n.ui.violet.button:active {\n  background-color: #502aa1;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.violet.buttons .active.button,\n.ui.violet.buttons .active.button:active,\n.ui.violet.active.button,\n.ui.violet.button .active.button:active {\n  background-color: #5626bf;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.violet.buttons .button,\n.ui.basic.violet.button {\n  box-shadow: 0px 0px 0px 1px #6435C9 inset !important;\n  color: #6435C9 !important;\n}\n\n.ui.basic.violet.buttons .button:hover,\n.ui.basic.violet.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5829bb inset !important;\n  color: #5829bb !important;\n}\n\n.ui.basic.violet.buttons .button:focus,\n.ui.basic.violet.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #4f20b5 inset !important;\n  color: #5829bb !important;\n}\n\n.ui.basic.violet.buttons .active.button,\n.ui.basic.violet.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #5626bf inset !important;\n  color: #502aa1 !important;\n}\n\n.ui.basic.violet.buttons .button:active,\n.ui.basic.violet.button:active {\n  box-shadow: 0px 0px 0px 1px #502aa1 inset !important;\n  color: #502aa1 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.violet.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.violet.buttons .button,\n.ui.inverted.violet.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #A291FB inset !important;\n  color: #A291FB;\n}\n\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover,\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus,\n.ui.inverted.violet.buttons .button.active,\n.ui.inverted.violet.button.active,\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.violet.buttons .button:hover,\n.ui.inverted.violet.button:hover {\n  background-color: #8a73ff;\n}\n\n.ui.inverted.violet.buttons .button:focus,\n.ui.inverted.violet.button:focus {\n  background-color: #7d64ff;\n}\n\n.ui.inverted.violet.buttons .active.button,\n.ui.inverted.violet.active.button {\n  background-color: #8a73ff;\n}\n\n.ui.inverted.violet.buttons .button:active,\n.ui.inverted.violet.button:active {\n  background-color: #7860f9;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.violet.basic.buttons .button,\n.ui.inverted.violet.buttons .basic.button,\n.ui.inverted.violet.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.violet.basic.buttons .button:hover,\n.ui.inverted.violet.buttons .basic.button:hover,\n.ui.inverted.violet.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.buttons .button:focus,\n.ui.inverted.violet.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #7d64ff inset !important;\n  color: #A291FB !important;\n}\n\n.ui.inverted.violet.basic.buttons .active.button,\n.ui.inverted.violet.buttons .basic.active.button,\n.ui.inverted.violet.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #8a73ff inset !important;\n  color: #A291FB !important;\n}\n\n.ui.inverted.violet.basic.buttons .button:active,\n.ui.inverted.violet.buttons .basic.button:active,\n.ui.inverted.violet.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #7860f9 inset !important;\n  color: #A291FB !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.buttons .button,\n.ui.purple.button {\n  background-color: #A333C8;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.purple.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.purple.buttons .button:hover,\n.ui.purple.button:hover {\n  background-color: #9627ba;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.purple.buttons .button:focus,\n.ui.purple.button:focus {\n  background-color: #8f1eb4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.purple.buttons .button:active,\n.ui.purple.button:active {\n  background-color: #82299f;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.purple.buttons .active.button,\n.ui.purple.buttons .active.button:active,\n.ui.purple.active.button,\n.ui.purple.button .active.button:active {\n  background-color: #9724be;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.purple.buttons .button,\n.ui.basic.purple.button {\n  box-shadow: 0px 0px 0px 1px #A333C8 inset !important;\n  color: #A333C8 !important;\n}\n\n.ui.basic.purple.buttons .button:hover,\n.ui.basic.purple.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9627ba inset !important;\n  color: #9627ba !important;\n}\n\n.ui.basic.purple.buttons .button:focus,\n.ui.basic.purple.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #8f1eb4 inset !important;\n  color: #9627ba !important;\n}\n\n.ui.basic.purple.buttons .active.button,\n.ui.basic.purple.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #9724be inset !important;\n  color: #82299f !important;\n}\n\n.ui.basic.purple.buttons .button:active,\n.ui.basic.purple.button:active {\n  box-shadow: 0px 0px 0px 1px #82299f inset !important;\n  color: #82299f !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.purple.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.purple.buttons .button,\n.ui.inverted.purple.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #DC73FF inset !important;\n  color: #DC73FF;\n}\n\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover,\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus,\n.ui.inverted.purple.buttons .button.active,\n.ui.inverted.purple.button.active,\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.purple.buttons .button:hover,\n.ui.inverted.purple.button:hover {\n  background-color: #d65aff;\n}\n\n.ui.inverted.purple.buttons .button:focus,\n.ui.inverted.purple.button:focus {\n  background-color: #d24aff;\n}\n\n.ui.inverted.purple.buttons .active.button,\n.ui.inverted.purple.active.button {\n  background-color: #d65aff;\n}\n\n.ui.inverted.purple.buttons .button:active,\n.ui.inverted.purple.button:active {\n  background-color: #cf40ff;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.purple.basic.buttons .button,\n.ui.inverted.purple.buttons .basic.button,\n.ui.inverted.purple.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.purple.basic.buttons .button:hover,\n.ui.inverted.purple.buttons .basic.button:hover,\n.ui.inverted.purple.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.buttons .button:focus,\n.ui.inverted.purple.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #d24aff inset !important;\n  color: #DC73FF !important;\n}\n\n.ui.inverted.purple.basic.buttons .active.button,\n.ui.inverted.purple.buttons .basic.active.button,\n.ui.inverted.purple.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #d65aff inset !important;\n  color: #DC73FF !important;\n}\n\n.ui.inverted.purple.basic.buttons .button:active,\n.ui.inverted.purple.buttons .basic.button:active,\n.ui.inverted.purple.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cf40ff inset !important;\n  color: #DC73FF !important;\n}\n\n/*--- Red ---*/\n\n.ui.red.buttons .button,\n.ui.red.button {\n  background-color: #DB2828;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.red.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.red.buttons .button:hover,\n.ui.red.button:hover {\n  background-color: #d01919;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.red.buttons .button:focus,\n.ui.red.button:focus {\n  background-color: #ca1010;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.red.buttons .button:active,\n.ui.red.button:active {\n  background-color: #b21e1e;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.red.buttons .active.button,\n.ui.red.buttons .active.button:active,\n.ui.red.active.button,\n.ui.red.button .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.red.buttons .button,\n.ui.basic.red.button {\n  box-shadow: 0px 0px 0px 1px #DB2828 inset !important;\n  color: #DB2828 !important;\n}\n\n.ui.basic.red.buttons .button:hover,\n.ui.basic.red.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d01919 inset !important;\n  color: #d01919 !important;\n}\n\n.ui.basic.red.buttons .button:focus,\n.ui.basic.red.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #ca1010 inset !important;\n  color: #d01919 !important;\n}\n\n.ui.basic.red.buttons .active.button,\n.ui.basic.red.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #d41515 inset !important;\n  color: #b21e1e !important;\n}\n\n.ui.basic.red.buttons .button:active,\n.ui.basic.red.button:active {\n  box-shadow: 0px 0px 0px 1px #b21e1e inset !important;\n  color: #b21e1e !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.red.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.red.buttons .button,\n.ui.inverted.red.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FF695E inset !important;\n  color: #FF695E;\n}\n\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover,\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus,\n.ui.inverted.red.buttons .button.active,\n.ui.inverted.red.button.active,\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.inverted.red.buttons .button:hover,\n.ui.inverted.red.button:hover {\n  background-color: #ff5144;\n}\n\n.ui.inverted.red.buttons .button:focus,\n.ui.inverted.red.button:focus {\n  background-color: #ff4335;\n}\n\n.ui.inverted.red.buttons .active.button,\n.ui.inverted.red.active.button {\n  background-color: #ff5144;\n}\n\n.ui.inverted.red.buttons .button:active,\n.ui.inverted.red.button:active {\n  background-color: #ff392b;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.red.basic.buttons .button,\n.ui.inverted.red.buttons .basic.button,\n.ui.inverted.red.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.red.basic.buttons .button:hover,\n.ui.inverted.red.buttons .basic.button:hover,\n.ui.inverted.red.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.buttons .button:focus,\n.ui.inverted.red.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #ff4335 inset !important;\n  color: #FF695E !important;\n}\n\n.ui.inverted.red.basic.buttons .active.button,\n.ui.inverted.red.buttons .basic.active.button,\n.ui.inverted.red.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ff5144 inset !important;\n  color: #FF695E !important;\n}\n\n.ui.inverted.red.basic.buttons .button:active,\n.ui.inverted.red.buttons .basic.button:active,\n.ui.inverted.red.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ff392b inset !important;\n  color: #FF695E !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.buttons .button,\n.ui.teal.button {\n  background-color: #00B5AD;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.teal.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.teal.buttons .button:hover,\n.ui.teal.button:hover {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.teal.buttons .button:focus,\n.ui.teal.button:focus {\n  background-color: #008c86;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.teal.buttons .button:active,\n.ui.teal.button:active {\n  background-color: #00827c;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.teal.buttons .active.button,\n.ui.teal.buttons .active.button:active,\n.ui.teal.active.button,\n.ui.teal.button .active.button:active {\n  background-color: #009c95;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.teal.buttons .button,\n.ui.basic.teal.button {\n  box-shadow: 0px 0px 0px 1px #00B5AD inset !important;\n  color: #00B5AD !important;\n}\n\n.ui.basic.teal.buttons .button:hover,\n.ui.basic.teal.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #009c95 !important;\n}\n\n.ui.basic.teal.buttons .button:focus,\n.ui.basic.teal.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #008c86 inset !important;\n  color: #009c95 !important;\n}\n\n.ui.basic.teal.buttons .active.button,\n.ui.basic.teal.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #009c95 inset !important;\n  color: #00827c !important;\n}\n\n.ui.basic.teal.buttons .button:active,\n.ui.basic.teal.button:active {\n  box-shadow: 0px 0px 0px 1px #00827c inset !important;\n  color: #00827c !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.teal.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.teal.buttons .button,\n.ui.inverted.teal.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #6DFFFF inset !important;\n  color: #6DFFFF;\n}\n\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover,\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus,\n.ui.inverted.teal.buttons .button.active,\n.ui.inverted.teal.button.active,\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.teal.buttons .button:hover,\n.ui.inverted.teal.button:hover {\n  background-color: #54ffff;\n}\n\n.ui.inverted.teal.buttons .button:focus,\n.ui.inverted.teal.button:focus {\n  background-color: #44ffff;\n}\n\n.ui.inverted.teal.buttons .active.button,\n.ui.inverted.teal.active.button {\n  background-color: #54ffff;\n}\n\n.ui.inverted.teal.buttons .button:active,\n.ui.inverted.teal.button:active {\n  background-color: #3affff;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.teal.basic.buttons .button,\n.ui.inverted.teal.buttons .basic.button,\n.ui.inverted.teal.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .button:hover,\n.ui.inverted.teal.buttons .basic.button:hover,\n.ui.inverted.teal.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.buttons .button:focus,\n.ui.inverted.teal.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #44ffff inset !important;\n  color: #6DFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .active.button,\n.ui.inverted.teal.buttons .basic.active.button,\n.ui.inverted.teal.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #54ffff inset !important;\n  color: #6DFFFF !important;\n}\n\n.ui.inverted.teal.basic.buttons .button:active,\n.ui.inverted.teal.buttons .basic.button:active,\n.ui.inverted.teal.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #3affff inset !important;\n  color: #6DFFFF !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.buttons .button,\n.ui.olive.button {\n  background-color: #B5CC18;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.olive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.olive.buttons .button:hover,\n.ui.olive.button:hover {\n  background-color: #a7bd0d;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.olive.buttons .button:focus,\n.ui.olive.button:focus {\n  background-color: #a0b605;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.olive.buttons .button:active,\n.ui.olive.button:active {\n  background-color: #8d9e13;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.olive.buttons .active.button,\n.ui.olive.buttons .active.button:active,\n.ui.olive.active.button,\n.ui.olive.button .active.button:active {\n  background-color: #aac109;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.olive.buttons .button,\n.ui.basic.olive.button {\n  box-shadow: 0px 0px 0px 1px #B5CC18 inset !important;\n  color: #B5CC18 !important;\n}\n\n.ui.basic.olive.buttons .button:hover,\n.ui.basic.olive.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a7bd0d inset !important;\n  color: #a7bd0d !important;\n}\n\n.ui.basic.olive.buttons .button:focus,\n.ui.basic.olive.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #a0b605 inset !important;\n  color: #a7bd0d !important;\n}\n\n.ui.basic.olive.buttons .active.button,\n.ui.basic.olive.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #aac109 inset !important;\n  color: #8d9e13 !important;\n}\n\n.ui.basic.olive.buttons .button:active,\n.ui.basic.olive.button:active {\n  box-shadow: 0px 0px 0px 1px #8d9e13 inset !important;\n  color: #8d9e13 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.olive.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.olive.buttons .button,\n.ui.inverted.olive.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #D9E778 inset !important;\n  color: #D9E778;\n}\n\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover,\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus,\n.ui.inverted.olive.buttons .button.active,\n.ui.inverted.olive.button.active,\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.olive.buttons .button:hover,\n.ui.inverted.olive.button:hover {\n  background-color: #d8ea5c;\n}\n\n.ui.inverted.olive.buttons .button:focus,\n.ui.inverted.olive.button:focus {\n  background-color: #daef47;\n}\n\n.ui.inverted.olive.buttons .active.button,\n.ui.inverted.olive.active.button {\n  background-color: #daed59;\n}\n\n.ui.inverted.olive.buttons .button:active,\n.ui.inverted.olive.button:active {\n  background-color: #cddf4d;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.olive.basic.buttons .button,\n.ui.inverted.olive.buttons .basic.button,\n.ui.inverted.olive.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.olive.basic.buttons .button:hover,\n.ui.inverted.olive.buttons .basic.button:hover,\n.ui.inverted.olive.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #d8ea5c inset !important;\n  color: #D9E778 !important;\n}\n\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.buttons .button:focus,\n.ui.inverted.olive.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #daef47 inset !important;\n  color: #D9E778 !important;\n}\n\n.ui.inverted.olive.basic.buttons .active.button,\n.ui.inverted.olive.buttons .basic.active.button,\n.ui.inverted.olive.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #daed59 inset !important;\n  color: #D9E778 !important;\n}\n\n.ui.inverted.olive.basic.buttons .button:active,\n.ui.inverted.olive.buttons .basic.button:active,\n.ui.inverted.olive.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #cddf4d inset !important;\n  color: #D9E778 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.buttons .button,\n.ui.yellow.button {\n  background-color: #FBBD08;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.yellow.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.yellow.buttons .button:hover,\n.ui.yellow.button:hover {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.yellow.buttons .button:focus,\n.ui.yellow.button:focus {\n  background-color: #daa300;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.yellow.buttons .button:active,\n.ui.yellow.button:active {\n  background-color: #cd9903;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.yellow.buttons .active.button,\n.ui.yellow.buttons .active.button:active,\n.ui.yellow.active.button,\n.ui.yellow.button .active.button:active {\n  background-color: #eaae00;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/* Basic */\n\n.ui.basic.yellow.buttons .button,\n.ui.basic.yellow.button {\n  box-shadow: 0px 0px 0px 1px #FBBD08 inset !important;\n  color: #FBBD08 !important;\n}\n\n.ui.basic.yellow.buttons .button:hover,\n.ui.basic.yellow.button:hover {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #eaae00 !important;\n}\n\n.ui.basic.yellow.buttons .button:focus,\n.ui.basic.yellow.button:focus {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #daa300 inset !important;\n  color: #eaae00 !important;\n}\n\n.ui.basic.yellow.buttons .active.button,\n.ui.basic.yellow.active.button {\n  background: transparent !important;\n  box-shadow: 0px 0px 0px 1px #eaae00 inset !important;\n  color: #cd9903 !important;\n}\n\n.ui.basic.yellow.buttons .button:active,\n.ui.basic.yellow.button:active {\n  box-shadow: 0px 0px 0px 1px #cd9903 inset !important;\n  color: #cd9903 !important;\n}\n\n.ui.buttons:not(.vertical) > .basic.yellow.button:not(:first-child) {\n  margin-left: -1px;\n}\n\n/* Inverted */\n\n.ui.inverted.yellow.buttons .button,\n.ui.inverted.yellow.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px #FFE21F inset !important;\n  color: #FFE21F;\n}\n\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover,\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus,\n.ui.inverted.yellow.buttons .button.active,\n.ui.inverted.yellow.button.active,\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  box-shadow: none !important;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.inverted.yellow.buttons .button:hover,\n.ui.inverted.yellow.button:hover {\n  background-color: #ffdf05;\n}\n\n.ui.inverted.yellow.buttons .button:focus,\n.ui.inverted.yellow.button:focus {\n  background-color: #f5d500;\n}\n\n.ui.inverted.yellow.buttons .active.button,\n.ui.inverted.yellow.active.button {\n  background-color: #ffdf05;\n}\n\n.ui.inverted.yellow.buttons .button:active,\n.ui.inverted.yellow.button:active {\n  background-color: #ebcd00;\n}\n\n/* Inverted Basic */\n\n.ui.inverted.yellow.basic.buttons .button,\n.ui.inverted.yellow.buttons .basic.button,\n.ui.inverted.yellow.basic.button {\n  background-color: transparent;\n  box-shadow: 0px 0px 0px 2px rgba(255, 255, 255, 0.5) inset !important;\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.yellow.basic.buttons .button:hover,\n.ui.inverted.yellow.buttons .basic.button:hover,\n.ui.inverted.yellow.basic.button:hover {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.buttons .button:focus,\n.ui.inverted.yellow.basic.button:focus {\n  box-shadow: 0px 0px 0px 2px #f5d500 inset !important;\n  color: #FFE21F !important;\n}\n\n.ui.inverted.yellow.basic.buttons .active.button,\n.ui.inverted.yellow.buttons .basic.active.button,\n.ui.inverted.yellow.basic.active.button {\n  box-shadow: 0px 0px 0px 2px #ffdf05 inset !important;\n  color: #FFE21F !important;\n}\n\n.ui.inverted.yellow.basic.buttons .button:active,\n.ui.inverted.yellow.buttons .basic.button:active,\n.ui.inverted.yellow.basic.button:active {\n  box-shadow: 0px 0px 0px 2px #ebcd00 inset !important;\n  color: #FFE21F !important;\n}\n\n/*-------------------\n       Primary\n--------------------*/\n\n.ui.primary.buttons .button,\n.ui.primary.button {\n  background-color: #2185D0;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.primary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.primary.buttons .button:hover,\n.ui.primary.button:hover {\n  background-color: #1678c2;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.primary.buttons .button:focus,\n.ui.primary.button:focus {\n  background-color: #0d71bb;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.primary.buttons .button:active,\n.ui.primary.button:active {\n  background-color: #1a69a4;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.primary.buttons .active.button,\n.ui.primary.active.button {\n  background-color: #1279c6;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*-------------------\n      Secondary\n--------------------*/\n\n.ui.secondary.buttons .button,\n.ui.secondary.button {\n  background-color: #1B1C1D;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.secondary.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.secondary.buttons .button:hover,\n.ui.secondary.button:hover {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.secondary.buttons .button:focus,\n.ui.secondary.button:focus {\n  background-color: #2e3032;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.secondary.buttons .button:active,\n.ui.secondary.button:active {\n  background-color: #343637;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.secondary.buttons .active.button,\n.ui.secondary.active.button {\n  background-color: #27292a;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n    Positive\n----------------*/\n\n.ui.positive.buttons .button,\n.ui.positive.button {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.positive.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.positive.buttons .button:hover,\n.ui.positive.button:hover {\n  background-color: #16ab39 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.positive.buttons .button:focus,\n.ui.positive.button:focus {\n  background-color: #0ea432 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.positive.buttons .button:active,\n.ui.positive.button:active {\n  background-color: #198f35 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.positive.buttons .active.button,\n.ui.positive.active.button,\n.ui.positive.buttons .active.button:active {\n  background-color: #13ae38;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*---------------\n     Negative\n----------------*/\n\n.ui.negative.buttons .button,\n.ui.negative.button {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n  background-image: none;\n}\n\n.ui.negative.button {\n  box-shadow: 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.negative.buttons .button:hover,\n.ui.negative.button:hover {\n  background-color: #d01919 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.negative.buttons .button:focus,\n.ui.negative.button:focus {\n  background-color: #ca1010 !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.negative.buttons .button:active,\n.ui.negative.button:active {\n  background-color: #b21e1e !important;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n.ui.negative.buttons .active.button,\n.ui.negative.active.button,\n.ui.negative.buttons .active.button:active {\n  background-color: #d41515;\n  color: #FFFFFF;\n  text-shadow: none;\n}\n\n/*******************************\n            Groups\n*******************************/\n\n.ui.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  font-size: 0em;\n  vertical-align: baseline;\n  margin: 0em 0.25em 0em 0em;\n}\n\n.ui.buttons:not(.basic):not(.inverted) {\n  box-shadow: none;\n}\n\n/* Clearfix */\n\n.ui.buttons:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/* Standard Group */\n\n.ui.buttons .button {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  margin: 0em;\n  border-radius: 0em;\n  margin: 0px 0px 0px 0px;\n}\n\n.ui.buttons > .ui.button:not(.basic):not(.inverted),\n.ui.buttons:not(.basic):not(.inverted) > .button {\n  box-shadow: 0px 0px 0px 1px transparent inset, 0px 0em 0px 0px rgba(34, 36, 38, 0.15) inset;\n}\n\n.ui.buttons .button:first-child {\n  border-left: none;\n  margin-left: 0em;\n  border-top-left-radius: 0.28571429rem;\n  border-bottom-left-radius: 0.28571429rem;\n}\n\n.ui.buttons .button:last-child {\n  border-top-right-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n/* Vertical  Style */\n\n.ui.vertical.buttons {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n.ui.vertical.buttons .button {\n  display: block;\n  float: none;\n  width: 100%;\n  margin: 0px 0px 0px 0px;\n  box-shadow: none;\n}\n\n.ui.vertical.buttons .button:first-child,\n.ui.vertical.buttons .mini.button:first-child,\n.ui.vertical.buttons .tiny.button:first-child,\n.ui.vertical.buttons .small.button:first-child,\n.ui.vertical.buttons .massive.button:first-child,\n.ui.vertical.buttons .huge.button:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n\n.ui.vertical.buttons .button:last-child,\n.ui.vertical.buttons .mini.button:last-child,\n.ui.vertical.buttons .tiny.button:last-child,\n.ui.vertical.buttons .small.button:last-child,\n.ui.vertical.buttons .massive.button:last-child,\n.ui.vertical.buttons .huge.button:last-child,\n.ui.vertical.buttons .gigantic.button:last-child {\n  margin-bottom: 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Container\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Container\n*******************************/\n\n/* All Sizes */\n\n.ui.container {\n  display: block;\n  max-width: 100% !important;\n}\n\n/* Mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.container {\n    width: auto !important;\n    margin-left: 1em !important;\n    margin-right: 1em !important;\n  }\n\n  .ui.grid.container {\n    width: auto !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: auto !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: auto !important;\n  }\n}\n\n/* Tablet */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.container {\n    width: 723px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  .ui.grid.container {\n    width: calc( 723px  +  2rem ) !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: calc( 723px  +  3rem ) !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: calc( 723px  +  5rem ) !important;\n  }\n}\n\n/* Small Monitor */\n\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.container {\n    width: 933px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  .ui.grid.container {\n    width: calc( 933px  +  2rem ) !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: calc( 933px  +  3rem ) !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: calc( 933px  +  5rem ) !important;\n  }\n}\n\n/* Large Monitor */\n\n@media only screen and (min-width: 1200px) {\n  .ui.container {\n    width: 1127px;\n    margin-left: auto !important;\n    margin-right: auto !important;\n  }\n\n  .ui.grid.container {\n    width: calc( 1127px  +  2rem ) !important;\n  }\n\n  .ui.relaxed.grid.container {\n    width: calc( 1127px  +  3rem ) !important;\n  }\n\n  .ui.very.relaxed.grid.container {\n    width: calc( 1127px  +  5rem ) !important;\n  }\n}\n\n/*******************************\n             Types\n*******************************/\n\n/* Text Container */\n\n.ui.text.container {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  max-width: 700px !important;\n  line-height: 1.5;\n}\n\n.ui.text.container {\n  font-size: 1.14285714rem;\n}\n\n/* Fluid */\n\n.ui.fluid.container {\n  width: 100%;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n.ui[class*=\"left aligned\"].container {\n  text-align: left;\n}\n\n.ui[class*=\"center aligned\"].container {\n  text-align: center;\n}\n\n.ui[class*=\"right aligned\"].container {\n  text-align: right;\n}\n\n.ui.justified.container {\n  text-align: justify;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  -ms-hyphens: auto;\n  hyphens: auto;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Divider\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Divider\n*******************************/\n\n.ui.divider {\n  margin: 1rem 0rem;\n  line-height: 1;\n  height: 0em;\n  font-weight: bold;\n  text-transform: uppercase;\n  letter-spacing: 0.05em;\n  color: rgba(0, 0, 0, 0.85);\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.divider:not(.vertical):not(.horizontal) {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n/* Allow divider between each column row */\n\n.ui.grid > .column + .divider,\n.ui.grid > .row > .column + .divider {\n  left: auto;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.divider {\n  display: table;\n  white-space: nowrap;\n  height: auto;\n  margin: '';\n  overflow: hidden;\n  line-height: 1;\n  text-align: center;\n}\n\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  content: '';\n  display: table-cell;\n  position: relative;\n  top: 50%;\n  width: 50%;\n  background-repeat: no-repeat;\n}\n\n.ui.horizontal.divider:before {\n  background-position: right 1em top 50%;\n}\n\n.ui.horizontal.divider:after {\n  background-position: left 1em top 50%;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.divider {\n  position: absolute;\n  z-index: 2;\n  top: 50%;\n  left: 50%;\n  margin: 0rem;\n  padding: 0em;\n  width: auto;\n  height: 50%;\n  line-height: 0em;\n  text-align: center;\n  -webkit-transform: translateX(-50%);\n  -ms-transform: translateX(-50%);\n  transform: translateX(-50%);\n}\n\n.ui.vertical.divider:before,\n.ui.vertical.divider:after {\n  position: absolute;\n  left: 50%;\n  content: '';\n  z-index: 3;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(255, 255, 255, 0.1);\n  width: 0%;\n  height: calc(100% -  1rem );\n}\n\n.ui.vertical.divider:before {\n  top: -100%;\n}\n\n.ui.vertical.divider:after {\n  top: auto;\n  bottom: 0px;\n}\n\n/* Inside grid */\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider,\n  .ui.grid .stackable.row .ui.vertical.divider {\n    display: table;\n    white-space: nowrap;\n    height: auto;\n    margin: '';\n    overflow: hidden;\n    line-height: 1;\n    text-align: center;\n    position: static;\n    top: 0;\n    left: 0;\n    -webkit-transform: none;\n    -ms-transform: none;\n    transform: none;\n  }\n\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    position: static;\n    left: 0;\n    border-left: none;\n    border-right: none;\n    content: '';\n    display: table-cell;\n    position: relative;\n    top: 50%;\n    width: 50%;\n    background-repeat: no-repeat;\n  }\n\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before {\n    background-position: right 1em top 50%;\n  }\n\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-position: left 1em top 50%;\n  }\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.divider > .icon {\n  margin: 0rem;\n  font-size: 1rem;\n  height: 1em;\n  vertical-align: middle;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n    Hidden\n---------------*/\n\n.ui.hidden.divider {\n  border-color: transparent !important;\n}\n\n.ui.hidden.divider:before,\n.ui.hidden.divider:after {\n  display: none;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.divider.inverted,\n.ui.vertical.inverted.divider,\n.ui.horizontal.inverted.divider {\n  color: #FFFFFF;\n}\n\n.ui.divider.inverted,\n.ui.divider.inverted:after,\n.ui.divider.inverted:before {\n  border-top-color: rgba(34, 36, 38, 0.15) !important;\n  border-left-color: rgba(34, 36, 38, 0.15) !important;\n  border-bottom-color: rgba(255, 255, 255, 0.15) !important;\n  border-right-color: rgba(255, 255, 255, 0.15) !important;\n}\n\n/*--------------\n    Fitted\n---------------*/\n\n.ui.fitted.divider {\n  margin: 0em;\n}\n\n/*--------------\n    Clearing\n---------------*/\n\n.ui.clearing.divider {\n  clear: both;\n}\n\n/*--------------\n    Section\n---------------*/\n\n.ui.section.divider {\n  margin-top: 2rem;\n  margin-bottom: 2rem;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.divider {\n  font-size: 1rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n.ui.horizontal.divider:before,\n.ui.horizontal.divider:after {\n  background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC\");\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid .ui.vertical.divider:before,\n  .ui.grid .stackable.row .ui.vertical.divider:before,\n  .ui.stackable.grid .ui.vertical.divider:after,\n  .ui.grid .stackable.row .ui.vertical.divider:after {\n    background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABaAAAAACCAYAAACuTHuKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyFpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDE0IDc5LjE1MTQ4MSwgMjAxMy8wMy8xMy0xMjowOToxNSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo1OThBRDY4OUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo1OThBRDY4QUNDMTYxMUU0OUE3NUVGOEJDMzMzMjE2NyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjU5OEFENjg3Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU5OEFENjg4Q0MxNjExRTQ5QTc1RUY4QkMzMzMyMTY3Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+VU513gAAADVJREFUeNrs0DENACAQBDBIWLGBJQby/mUcJn5sJXQmOQMAAAAAAJqt+2prAAAAAACg2xdgANk6BEVuJgyMAAAAAElFTkSuQmCC\");\n  }\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Flag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Flag\n*******************************/\n\ni.flag:not(.icon) {\n  display: inline-block;\n  width: 16px;\n  height: 11px;\n  line-height: 11px;\n  vertical-align: baseline;\n  margin: 0em 0.5em 0em 0em;\n  text-decoration: inherit;\n  speak: none;\n  font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\n/* Sprite */\n\ni.flag:not(.icon):before {\n  display: inline-block;\n  content: '';\n  background: url(\"themes/default/assets/images/flags.png\") no-repeat 0px 0px;\n  width: 16px;\n  height: 11px;\n}\n\n/* Flag Sprite Based On http://www.famfamfam.com/lab/icons/flags/ */\n\n/*******************************\n         Theme Overrides\n*******************************/\n\ni.flag.ad:before,\ni.flag.andorra:before {\n  background-position: 0px 0px;\n}\n\ni.flag.ae:before,\ni.flag.united.arab.emirates:before,\ni.flag.uae:before {\n  background-position: 0px -26px;\n}\n\ni.flag.af:before,\ni.flag.afghanistan:before {\n  background-position: 0px -52px;\n}\n\ni.flag.ag:before,\ni.flag.antigua:before {\n  background-position: 0px -78px;\n}\n\ni.flag.ai:before,\ni.flag.anguilla:before {\n  background-position: 0px -104px;\n}\n\ni.flag.al:before,\ni.flag.albania:before {\n  background-position: 0px -130px;\n}\n\ni.flag.am:before,\ni.flag.armenia:before {\n  background-position: 0px -156px;\n}\n\ni.flag.an:before,\ni.flag.netherlands.antilles:before {\n  background-position: 0px -182px;\n}\n\ni.flag.ao:before,\ni.flag.angola:before {\n  background-position: 0px -208px;\n}\n\ni.flag.ar:before,\ni.flag.argentina:before {\n  background-position: 0px -234px;\n}\n\ni.flag.as:before,\ni.flag.american.samoa:before {\n  background-position: 0px -260px;\n}\n\ni.flag.at:before,\ni.flag.austria:before {\n  background-position: 0px -286px;\n}\n\ni.flag.au:before,\ni.flag.australia:before {\n  background-position: 0px -312px;\n}\n\ni.flag.aw:before,\ni.flag.aruba:before {\n  background-position: 0px -338px;\n}\n\ni.flag.ax:before,\ni.flag.aland.islands:before {\n  background-position: 0px -364px;\n}\n\ni.flag.az:before,\ni.flag.azerbaijan:before {\n  background-position: 0px -390px;\n}\n\ni.flag.ba:before,\ni.flag.bosnia:before {\n  background-position: 0px -416px;\n}\n\ni.flag.bb:before,\ni.flag.barbados:before {\n  background-position: 0px -442px;\n}\n\ni.flag.bd:before,\ni.flag.bangladesh:before {\n  background-position: 0px -468px;\n}\n\ni.flag.be:before,\ni.flag.belgium:before {\n  background-position: 0px -494px;\n}\n\ni.flag.bf:before,\ni.flag.burkina.faso:before {\n  background-position: 0px -520px;\n}\n\ni.flag.bg:before,\ni.flag.bulgaria:before {\n  background-position: 0px -546px;\n}\n\ni.flag.bh:before,\ni.flag.bahrain:before {\n  background-position: 0px -572px;\n}\n\ni.flag.bi:before,\ni.flag.burundi:before {\n  background-position: 0px -598px;\n}\n\ni.flag.bj:before,\ni.flag.benin:before {\n  background-position: 0px -624px;\n}\n\ni.flag.bm:before,\ni.flag.bermuda:before {\n  background-position: 0px -650px;\n}\n\ni.flag.bn:before,\ni.flag.brunei:before {\n  background-position: 0px -676px;\n}\n\ni.flag.bo:before,\ni.flag.bolivia:before {\n  background-position: 0px -702px;\n}\n\ni.flag.br:before,\ni.flag.brazil:before {\n  background-position: 0px -728px;\n}\n\ni.flag.bs:before,\ni.flag.bahamas:before {\n  background-position: 0px -754px;\n}\n\ni.flag.bt:before,\ni.flag.bhutan:before {\n  background-position: 0px -780px;\n}\n\ni.flag.bv:before,\ni.flag.bouvet.island:before {\n  background-position: 0px -806px;\n}\n\ni.flag.bw:before,\ni.flag.botswana:before {\n  background-position: 0px -832px;\n}\n\ni.flag.by:before,\ni.flag.belarus:before {\n  background-position: 0px -858px;\n}\n\ni.flag.bz:before,\ni.flag.belize:before {\n  background-position: 0px -884px;\n}\n\ni.flag.ca:before,\ni.flag.canada:before {\n  background-position: 0px -910px;\n}\n\ni.flag.cc:before,\ni.flag.cocos.islands:before {\n  background-position: 0px -962px;\n}\n\ni.flag.cd:before,\ni.flag.congo:before {\n  background-position: 0px -988px;\n}\n\ni.flag.cf:before,\ni.flag.central.african.republic:before {\n  background-position: 0px -1014px;\n}\n\ni.flag.cg:before,\ni.flag.congo.brazzaville:before {\n  background-position: 0px -1040px;\n}\n\ni.flag.ch:before,\ni.flag.switzerland:before {\n  background-position: 0px -1066px;\n}\n\ni.flag.ci:before,\ni.flag.cote.divoire:before {\n  background-position: 0px -1092px;\n}\n\ni.flag.ck:before,\ni.flag.cook.islands:before {\n  background-position: 0px -1118px;\n}\n\ni.flag.cl:before,\ni.flag.chile:before {\n  background-position: 0px -1144px;\n}\n\ni.flag.cm:before,\ni.flag.cameroon:before {\n  background-position: 0px -1170px;\n}\n\ni.flag.cn:before,\ni.flag.china:before {\n  background-position: 0px -1196px;\n}\n\ni.flag.co:before,\ni.flag.colombia:before {\n  background-position: 0px -1222px;\n}\n\ni.flag.cr:before,\ni.flag.costa.rica:before {\n  background-position: 0px -1248px;\n}\n\ni.flag.cs:before,\ni.flag.serbia:before {\n  background-position: 0px -1274px;\n}\n\ni.flag.cu:before,\ni.flag.cuba:before {\n  background-position: 0px -1300px;\n}\n\ni.flag.cv:before,\ni.flag.cape.verde:before {\n  background-position: 0px -1326px;\n}\n\ni.flag.cx:before,\ni.flag.christmas.island:before {\n  background-position: 0px -1352px;\n}\n\ni.flag.cy:before,\ni.flag.cyprus:before {\n  background-position: 0px -1378px;\n}\n\ni.flag.cz:before,\ni.flag.czech.republic:before {\n  background-position: 0px -1404px;\n}\n\ni.flag.de:before,\ni.flag.germany:before {\n  background-position: 0px -1430px;\n}\n\ni.flag.dj:before,\ni.flag.djibouti:before {\n  background-position: 0px -1456px;\n}\n\ni.flag.dk:before,\ni.flag.denmark:before {\n  background-position: 0px -1482px;\n}\n\ni.flag.dm:before,\ni.flag.dominica:before {\n  background-position: 0px -1508px;\n}\n\ni.flag.do:before,\ni.flag.dominican.republic:before {\n  background-position: 0px -1534px;\n}\n\ni.flag.dz:before,\ni.flag.algeria:before {\n  background-position: 0px -1560px;\n}\n\ni.flag.ec:before,\ni.flag.ecuador:before {\n  background-position: 0px -1586px;\n}\n\ni.flag.ee:before,\ni.flag.estonia:before {\n  background-position: 0px -1612px;\n}\n\ni.flag.eg:before,\ni.flag.egypt:before {\n  background-position: 0px -1638px;\n}\n\ni.flag.eh:before,\ni.flag.western.sahara:before {\n  background-position: 0px -1664px;\n}\n\ni.flag.er:before,\ni.flag.eritrea:before {\n  background-position: 0px -1716px;\n}\n\ni.flag.es:before,\ni.flag.spain:before {\n  background-position: 0px -1742px;\n}\n\ni.flag.et:before,\ni.flag.ethiopia:before {\n  background-position: 0px -1768px;\n}\n\ni.flag.eu:before,\ni.flag.european.union:before {\n  background-position: 0px -1794px;\n}\n\ni.flag.fi:before,\ni.flag.finland:before {\n  background-position: 0px -1846px;\n}\n\ni.flag.fj:before,\ni.flag.fiji:before {\n  background-position: 0px -1872px;\n}\n\ni.flag.fk:before,\ni.flag.falkland.islands:before {\n  background-position: 0px -1898px;\n}\n\ni.flag.fm:before,\ni.flag.micronesia:before {\n  background-position: 0px -1924px;\n}\n\ni.flag.fo:before,\ni.flag.faroe.islands:before {\n  background-position: 0px -1950px;\n}\n\ni.flag.fr:before,\ni.flag.france:before {\n  background-position: 0px -1976px;\n}\n\ni.flag.ga:before,\ni.flag.gabon:before {\n  background-position: -36px 0px;\n}\n\ni.flag.gb:before,\ni.flag.united.kingdom:before {\n  background-position: -36px -26px;\n}\n\ni.flag.gd:before,\ni.flag.grenada:before {\n  background-position: -36px -52px;\n}\n\ni.flag.ge:before,\ni.flag.georgia:before {\n  background-position: -36px -78px;\n}\n\ni.flag.gf:before,\ni.flag.french.guiana:before {\n  background-position: -36px -104px;\n}\n\ni.flag.gh:before,\ni.flag.ghana:before {\n  background-position: -36px -130px;\n}\n\ni.flag.gi:before,\ni.flag.gibraltar:before {\n  background-position: -36px -156px;\n}\n\ni.flag.gl:before,\ni.flag.greenland:before {\n  background-position: -36px -182px;\n}\n\ni.flag.gm:before,\ni.flag.gambia:before {\n  background-position: -36px -208px;\n}\n\ni.flag.gn:before,\ni.flag.guinea:before {\n  background-position: -36px -234px;\n}\n\ni.flag.gp:before,\ni.flag.guadeloupe:before {\n  background-position: -36px -260px;\n}\n\ni.flag.gq:before,\ni.flag.equatorial.guinea:before {\n  background-position: -36px -286px;\n}\n\ni.flag.gr:before,\ni.flag.greece:before {\n  background-position: -36px -312px;\n}\n\ni.flag.gs:before,\ni.flag.sandwich.islands:before {\n  background-position: -36px -338px;\n}\n\ni.flag.gt:before,\ni.flag.guatemala:before {\n  background-position: -36px -364px;\n}\n\ni.flag.gu:before,\ni.flag.guam:before {\n  background-position: -36px -390px;\n}\n\ni.flag.gw:before,\ni.flag.guinea-bissau:before {\n  background-position: -36px -416px;\n}\n\ni.flag.gy:before,\ni.flag.guyana:before {\n  background-position: -36px -442px;\n}\n\ni.flag.hk:before,\ni.flag.hong.kong:before {\n  background-position: -36px -468px;\n}\n\ni.flag.hm:before,\ni.flag.heard.island:before {\n  background-position: -36px -494px;\n}\n\ni.flag.hn:before,\ni.flag.honduras:before {\n  background-position: -36px -520px;\n}\n\ni.flag.hr:before,\ni.flag.croatia:before {\n  background-position: -36px -546px;\n}\n\ni.flag.ht:before,\ni.flag.haiti:before {\n  background-position: -36px -572px;\n}\n\ni.flag.hu:before,\ni.flag.hungary:before {\n  background-position: -36px -598px;\n}\n\ni.flag.id:before,\ni.flag.indonesia:before {\n  background-position: -36px -624px;\n}\n\ni.flag.ie:before,\ni.flag.ireland:before {\n  background-position: -36px -650px;\n}\n\ni.flag.il:before,\ni.flag.israel:before {\n  background-position: -36px -676px;\n}\n\ni.flag.in:before,\ni.flag.india:before {\n  background-position: -36px -702px;\n}\n\ni.flag.io:before,\ni.flag.indian.ocean.territory:before {\n  background-position: -36px -728px;\n}\n\ni.flag.iq:before,\ni.flag.iraq:before {\n  background-position: -36px -754px;\n}\n\ni.flag.ir:before,\ni.flag.iran:before {\n  background-position: -36px -780px;\n}\n\ni.flag.is:before,\ni.flag.iceland:before {\n  background-position: -36px -806px;\n}\n\ni.flag.it:before,\ni.flag.italy:before {\n  background-position: -36px -832px;\n}\n\ni.flag.jm:before,\ni.flag.jamaica:before {\n  background-position: -36px -858px;\n}\n\ni.flag.jo:before,\ni.flag.jordan:before {\n  background-position: -36px -884px;\n}\n\ni.flag.jp:before,\ni.flag.japan:before {\n  background-position: -36px -910px;\n}\n\ni.flag.ke:before,\ni.flag.kenya:before {\n  background-position: -36px -936px;\n}\n\ni.flag.kg:before,\ni.flag.kyrgyzstan:before {\n  background-position: -36px -962px;\n}\n\ni.flag.kh:before,\ni.flag.cambodia:before {\n  background-position: -36px -988px;\n}\n\ni.flag.ki:before,\ni.flag.kiribati:before {\n  background-position: -36px -1014px;\n}\n\ni.flag.km:before,\ni.flag.comoros:before {\n  background-position: -36px -1040px;\n}\n\ni.flag.kn:before,\ni.flag.saint.kitts.and.nevis:before {\n  background-position: -36px -1066px;\n}\n\ni.flag.kp:before,\ni.flag.north.korea:before {\n  background-position: -36px -1092px;\n}\n\ni.flag.kr:before,\ni.flag.south.korea:before {\n  background-position: -36px -1118px;\n}\n\ni.flag.kw:before,\ni.flag.kuwait:before {\n  background-position: -36px -1144px;\n}\n\ni.flag.ky:before,\ni.flag.cayman.islands:before {\n  background-position: -36px -1170px;\n}\n\ni.flag.kz:before,\ni.flag.kazakhstan:before {\n  background-position: -36px -1196px;\n}\n\ni.flag.la:before,\ni.flag.laos:before {\n  background-position: -36px -1222px;\n}\n\ni.flag.lb:before,\ni.flag.lebanon:before {\n  background-position: -36px -1248px;\n}\n\ni.flag.lc:before,\ni.flag.saint.lucia:before {\n  background-position: -36px -1274px;\n}\n\ni.flag.li:before,\ni.flag.liechtenstein:before {\n  background-position: -36px -1300px;\n}\n\ni.flag.lk:before,\ni.flag.sri.lanka:before {\n  background-position: -36px -1326px;\n}\n\ni.flag.lr:before,\ni.flag.liberia:before {\n  background-position: -36px -1352px;\n}\n\ni.flag.ls:before,\ni.flag.lesotho:before {\n  background-position: -36px -1378px;\n}\n\ni.flag.lt:before,\ni.flag.lithuania:before {\n  background-position: -36px -1404px;\n}\n\ni.flag.lu:before,\ni.flag.luxembourg:before {\n  background-position: -36px -1430px;\n}\n\ni.flag.lv:before,\ni.flag.latvia:before {\n  background-position: -36px -1456px;\n}\n\ni.flag.ly:before,\ni.flag.libya:before {\n  background-position: -36px -1482px;\n}\n\ni.flag.ma:before,\ni.flag.morocco:before {\n  background-position: -36px -1508px;\n}\n\ni.flag.mc:before,\ni.flag.monaco:before {\n  background-position: -36px -1534px;\n}\n\ni.flag.md:before,\ni.flag.moldova:before {\n  background-position: -36px -1560px;\n}\n\ni.flag.me:before,\ni.flag.montenegro:before {\n  background-position: -36px -1586px;\n}\n\ni.flag.mg:before,\ni.flag.madagascar:before {\n  background-position: -36px -1613px;\n}\n\ni.flag.mh:before,\ni.flag.marshall.islands:before {\n  background-position: -36px -1639px;\n}\n\ni.flag.mk:before,\ni.flag.macedonia:before {\n  background-position: -36px -1665px;\n}\n\ni.flag.ml:before,\ni.flag.mali:before {\n  background-position: -36px -1691px;\n}\n\ni.flag.mm:before,\ni.flag.myanmar:before,\ni.flag.burma:before {\n  background-position: -36px -1717px;\n}\n\ni.flag.mn:before,\ni.flag.mongolia:before {\n  background-position: -36px -1743px;\n}\n\ni.flag.mo:before,\ni.flag.macau:before {\n  background-position: -36px -1769px;\n}\n\ni.flag.mp:before,\ni.flag.northern.mariana.islands:before {\n  background-position: -36px -1795px;\n}\n\ni.flag.mq:before,\ni.flag.martinique:before {\n  background-position: -36px -1821px;\n}\n\ni.flag.mr:before,\ni.flag.mauritania:before {\n  background-position: -36px -1847px;\n}\n\ni.flag.ms:before,\ni.flag.montserrat:before {\n  background-position: -36px -1873px;\n}\n\ni.flag.mt:before,\ni.flag.malta:before {\n  background-position: -36px -1899px;\n}\n\ni.flag.mu:before,\ni.flag.mauritius:before {\n  background-position: -36px -1925px;\n}\n\ni.flag.mv:before,\ni.flag.maldives:before {\n  background-position: -36px -1951px;\n}\n\ni.flag.mw:before,\ni.flag.malawi:before {\n  background-position: -36px -1977px;\n}\n\ni.flag.mx:before,\ni.flag.mexico:before {\n  background-position: -72px 0px;\n}\n\ni.flag.my:before,\ni.flag.malaysia:before {\n  background-position: -72px -26px;\n}\n\ni.flag.mz:before,\ni.flag.mozambique:before {\n  background-position: -72px -52px;\n}\n\ni.flag.na:before,\ni.flag.namibia:before {\n  background-position: -72px -78px;\n}\n\ni.flag.nc:before,\ni.flag.new.caledonia:before {\n  background-position: -72px -104px;\n}\n\ni.flag.ne:before,\ni.flag.niger:before {\n  background-position: -72px -130px;\n}\n\ni.flag.nf:before,\ni.flag.norfolk.island:before {\n  background-position: -72px -156px;\n}\n\ni.flag.ng:before,\ni.flag.nigeria:before {\n  background-position: -72px -182px;\n}\n\ni.flag.ni:before,\ni.flag.nicaragua:before {\n  background-position: -72px -208px;\n}\n\ni.flag.nl:before,\ni.flag.netherlands:before {\n  background-position: -72px -234px;\n}\n\ni.flag.no:before,\ni.flag.norway:before {\n  background-position: -72px -260px;\n}\n\ni.flag.np:before,\ni.flag.nepal:before {\n  background-position: -72px -286px;\n}\n\ni.flag.nr:before,\ni.flag.nauru:before {\n  background-position: -72px -312px;\n}\n\ni.flag.nu:before,\ni.flag.niue:before {\n  background-position: -72px -338px;\n}\n\ni.flag.nz:before,\ni.flag.new.zealand:before {\n  background-position: -72px -364px;\n}\n\ni.flag.om:before,\ni.flag.oman:before {\n  background-position: -72px -390px;\n}\n\ni.flag.pa:before,\ni.flag.panama:before {\n  background-position: -72px -416px;\n}\n\ni.flag.pe:before,\ni.flag.peru:before {\n  background-position: -72px -442px;\n}\n\ni.flag.pf:before,\ni.flag.french.polynesia:before {\n  background-position: -72px -468px;\n}\n\ni.flag.pg:before,\ni.flag.new.guinea:before {\n  background-position: -72px -494px;\n}\n\ni.flag.ph:before,\ni.flag.philippines:before {\n  background-position: -72px -520px;\n}\n\ni.flag.pk:before,\ni.flag.pakistan:before {\n  background-position: -72px -546px;\n}\n\ni.flag.pl:before,\ni.flag.poland:before {\n  background-position: -72px -572px;\n}\n\ni.flag.pm:before,\ni.flag.saint.pierre:before {\n  background-position: -72px -598px;\n}\n\ni.flag.pn:before,\ni.flag.pitcairn.islands:before {\n  background-position: -72px -624px;\n}\n\ni.flag.pr:before,\ni.flag.puerto.rico:before {\n  background-position: -72px -650px;\n}\n\ni.flag.ps:before,\ni.flag.palestine:before {\n  background-position: -72px -676px;\n}\n\ni.flag.pt:before,\ni.flag.portugal:before {\n  background-position: -72px -702px;\n}\n\ni.flag.pw:before,\ni.flag.palau:before {\n  background-position: -72px -728px;\n}\n\ni.flag.py:before,\ni.flag.paraguay:before {\n  background-position: -72px -754px;\n}\n\ni.flag.qa:before,\ni.flag.qatar:before {\n  background-position: -72px -780px;\n}\n\ni.flag.re:before,\ni.flag.reunion:before {\n  background-position: -72px -806px;\n}\n\ni.flag.ro:before,\ni.flag.romania:before {\n  background-position: -72px -832px;\n}\n\ni.flag.rs:before,\ni.flag.serbia:before {\n  background-position: -72px -858px;\n}\n\ni.flag.ru:before,\ni.flag.russia:before {\n  background-position: -72px -884px;\n}\n\ni.flag.rw:before,\ni.flag.rwanda:before {\n  background-position: -72px -910px;\n}\n\ni.flag.sa:before,\ni.flag.saudi.arabia:before {\n  background-position: -72px -936px;\n}\n\ni.flag.sb:before,\ni.flag.solomon.islands:before {\n  background-position: -72px -962px;\n}\n\ni.flag.sc:before,\ni.flag.seychelles:before {\n  background-position: -72px -988px;\n}\n\ni.flag.sd:before,\ni.flag.sudan:before {\n  background-position: -72px -1040px;\n}\n\ni.flag.se:before,\ni.flag.sweden:before {\n  background-position: -72px -1066px;\n}\n\ni.flag.sg:before,\ni.flag.singapore:before {\n  background-position: -72px -1092px;\n}\n\ni.flag.sh:before,\ni.flag.saint.helena:before {\n  background-position: -72px -1118px;\n}\n\ni.flag.si:before,\ni.flag.slovenia:before {\n  background-position: -72px -1144px;\n}\n\ni.flag.sj:before,\ni.flag.svalbard:before,\ni.flag.jan.mayen:before {\n  background-position: -72px -1170px;\n}\n\ni.flag.sk:before,\ni.flag.slovakia:before {\n  background-position: -72px -1196px;\n}\n\ni.flag.sl:before,\ni.flag.sierra.leone:before {\n  background-position: -72px -1222px;\n}\n\ni.flag.sm:before,\ni.flag.san.marino:before {\n  background-position: -72px -1248px;\n}\n\ni.flag.sn:before,\ni.flag.senegal:before {\n  background-position: -72px -1274px;\n}\n\ni.flag.so:before,\ni.flag.somalia:before {\n  background-position: -72px -1300px;\n}\n\ni.flag.sr:before,\ni.flag.suriname:before {\n  background-position: -72px -1326px;\n}\n\ni.flag.st:before,\ni.flag.sao.tome:before {\n  background-position: -72px -1352px;\n}\n\ni.flag.sv:before,\ni.flag.el.salvador:before {\n  background-position: -72px -1378px;\n}\n\ni.flag.sy:before,\ni.flag.syria:before {\n  background-position: -72px -1404px;\n}\n\ni.flag.sz:before,\ni.flag.swaziland:before {\n  background-position: -72px -1430px;\n}\n\ni.flag.tc:before,\ni.flag.caicos.islands:before {\n  background-position: -72px -1456px;\n}\n\ni.flag.td:before,\ni.flag.chad:before {\n  background-position: -72px -1482px;\n}\n\ni.flag.tf:before,\ni.flag.french.territories:before {\n  background-position: -72px -1508px;\n}\n\ni.flag.tg:before,\ni.flag.togo:before {\n  background-position: -72px -1534px;\n}\n\ni.flag.th:before,\ni.flag.thailand:before {\n  background-position: -72px -1560px;\n}\n\ni.flag.tj:before,\ni.flag.tajikistan:before {\n  background-position: -72px -1586px;\n}\n\ni.flag.tk:before,\ni.flag.tokelau:before {\n  background-position: -72px -1612px;\n}\n\ni.flag.tl:before,\ni.flag.timorleste:before {\n  background-position: -72px -1638px;\n}\n\ni.flag.tm:before,\ni.flag.turkmenistan:before {\n  background-position: -72px -1664px;\n}\n\ni.flag.tn:before,\ni.flag.tunisia:before {\n  background-position: -72px -1690px;\n}\n\ni.flag.to:before,\ni.flag.tonga:before {\n  background-position: -72px -1716px;\n}\n\ni.flag.tr:before,\ni.flag.turkey:before {\n  background-position: -72px -1742px;\n}\n\ni.flag.tt:before,\ni.flag.trinidad:before {\n  background-position: -72px -1768px;\n}\n\ni.flag.tv:before,\ni.flag.tuvalu:before {\n  background-position: -72px -1794px;\n}\n\ni.flag.tw:before,\ni.flag.taiwan:before {\n  background-position: -72px -1820px;\n}\n\ni.flag.tz:before,\ni.flag.tanzania:before {\n  background-position: -72px -1846px;\n}\n\ni.flag.ua:before,\ni.flag.ukraine:before {\n  background-position: -72px -1872px;\n}\n\ni.flag.ug:before,\ni.flag.uganda:before {\n  background-position: -72px -1898px;\n}\n\ni.flag.um:before,\ni.flag.us.minor.islands:before {\n  background-position: -72px -1924px;\n}\n\ni.flag.us:before,\ni.flag.america:before,\ni.flag.united.states:before {\n  background-position: -72px -1950px;\n}\n\ni.flag.uy:before,\ni.flag.uruguay:before {\n  background-position: -72px -1976px;\n}\n\ni.flag.uz:before,\ni.flag.uzbekistan:before {\n  background-position: -108px 0px;\n}\n\ni.flag.va:before,\ni.flag.vatican.city:before {\n  background-position: -108px -26px;\n}\n\ni.flag.vc:before,\ni.flag.saint.vincent:before {\n  background-position: -108px -52px;\n}\n\ni.flag.ve:before,\ni.flag.venezuela:before {\n  background-position: -108px -78px;\n}\n\ni.flag.vg:before,\ni.flag.british.virgin.islands:before {\n  background-position: -108px -104px;\n}\n\ni.flag.vi:before,\ni.flag.us.virgin.islands:before {\n  background-position: -108px -130px;\n}\n\ni.flag.vn:before,\ni.flag.vietnam:before {\n  background-position: -108px -156px;\n}\n\ni.flag.vu:before,\ni.flag.vanuatu:before {\n  background-position: -108px -182px;\n}\n\ni.flag.wf:before,\ni.flag.wallis.and.futuna:before {\n  background-position: -108px -234px;\n}\n\ni.flag.ws:before,\ni.flag.samoa:before {\n  background-position: -108px -260px;\n}\n\ni.flag.ye:before,\ni.flag.yemen:before {\n  background-position: -108px -286px;\n}\n\ni.flag.yt:before,\ni.flag.mayotte:before {\n  background-position: -108px -312px;\n}\n\ni.flag.za:before,\ni.flag.south.africa:before {\n  background-position: -108px -338px;\n}\n\ni.flag.zm:before,\ni.flag.zambia:before {\n  background-position: -108px -364px;\n}\n\ni.flag.zw:before,\ni.flag.zimbabwe:before {\n  background-position: -108px -390px;\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Header\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Header\n*******************************/\n\n/* Standard */\n\n.ui.header {\n  border: none;\n  margin: calc(2rem -  0.14285em ) 0em 1rem;\n  padding: 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  line-height: 1.2857em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.header:first-child {\n  margin-top: -0.14285em;\n}\n\n.ui.header:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n   Sub Header\n---------------*/\n\n.ui.header .sub.header {\n  display: block;\n  font-weight: normal;\n  padding: 0em;\n  margin: 0em;\n  font-size: 1rem;\n  line-height: 1.2em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.header > .icon {\n  display: table-cell;\n  opacity: 1;\n  font-size: 1.5em;\n  padding-top: 0.14285em;\n  vertical-align: middle;\n}\n\n/* With Text Node */\n\n.ui.header .icon:only-child {\n  display: inline-block;\n  padding: 0em;\n  margin-right: 0.75rem;\n}\n\n/*-------------------\n        Image\n--------------------*/\n\n.ui.header > .image,\n.ui.header > img {\n  display: inline-block;\n  margin-top: 0.14285em;\n  width: 2.5em;\n  height: auto;\n  vertical-align: middle;\n}\n\n.ui.header > .image:only-child,\n.ui.header > img:only-child {\n  margin-right: 0.75rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.header .content {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* After Image */\n\n.ui.header > img + .content,\n.ui.header > .image + .content {\n  padding-left: 0.75rem;\n  vertical-align: middle;\n}\n\n/* After Icon */\n\n.ui.header > .icon + .content {\n  padding-left: 0.75rem;\n  display: table-cell;\n  vertical-align: middle;\n}\n\n/*--------------\n Loose Coupling\n---------------*/\n\n.ui.header .ui.label {\n  font-size: '';\n  margin-left: 0.5rem;\n  vertical-align: middle;\n}\n\n/* Positioning */\n\n.ui.header + p {\n  margin-top: 0em;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Page\n---------------*/\n\nh1.ui.header {\n  font-size: 2rem;\n}\n\nh2.ui.header {\n  font-size: 1.714rem;\n}\n\nh3.ui.header {\n  font-size: 1.28rem;\n}\n\nh4.ui.header {\n  font-size: 1.071rem;\n}\n\nh5.ui.header {\n  font-size: 1rem;\n}\n\n/* Sub Header */\n\nh1.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\nh2.ui.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\nh3.ui.header .sub.header {\n  font-size: 1rem;\n}\n\nh4.ui.header .sub.header {\n  font-size: 1rem;\n}\n\nh5.ui.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n Content Heading\n---------------*/\n\n.ui.huge.header {\n  min-height: 1em;\n  font-size: 2em;\n}\n\n.ui.large.header {\n  font-size: 1.714em;\n}\n\n.ui.medium.header {\n  font-size: 1.28em;\n}\n\n.ui.small.header {\n  font-size: 1.071em;\n}\n\n.ui.tiny.header {\n  font-size: 1em;\n}\n\n/* Sub Header */\n\n.ui.huge.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\n.ui.large.header .sub.header {\n  font-size: 1.14285714rem;\n}\n\n.ui.header .sub.header {\n  font-size: 1rem;\n}\n\n.ui.small.header .sub.header {\n  font-size: 1rem;\n}\n\n.ui.tiny.header .sub.header {\n  font-size: 0.92857143rem;\n}\n\n/*--------------\n   Sub Heading\n---------------*/\n\n.ui.sub.header {\n  padding: 0em;\n  margin-bottom: 0.14285714rem;\n  font-weight: bold;\n  font-size: 0.85714286em;\n  text-transform: uppercase;\n  color: '';\n}\n\n.ui.small.sub.header {\n  font-size: 0.71428571em;\n}\n\n.ui.sub.header {\n  font-size: 0.85714286em;\n}\n\n.ui.large.sub.header {\n  font-size: 0.92857143em;\n}\n\n.ui.huge.sub.header {\n  font-size: 1em;\n}\n\n/*-------------------\n        Icon\n--------------------*/\n\n.ui.icon.header {\n  display: inline-block;\n  text-align: center;\n  margin: 2rem 0em 1rem;\n}\n\n.ui.icon.header:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n\n.ui.icon.header:first-child {\n  margin-top: 0em;\n}\n\n.ui.icon.header .icon {\n  float: none;\n  display: block;\n  width: auto;\n  height: auto;\n  line-height: 1;\n  padding: 0em;\n  font-size: 3em;\n  margin: 0em auto 0.5rem;\n  opacity: 1;\n}\n\n.ui.icon.header .content {\n  display: block;\n}\n\n.ui.icon.header .circular.icon {\n  font-size: 2em;\n}\n\n.ui.icon.header .square.icon {\n  font-size: 2em;\n}\n\n.ui.block.icon.header .icon {\n  margin-bottom: 0em;\n}\n\n.ui.icon.header.aligned {\n  margin-left: auto;\n  margin-right: auto;\n  display: block;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.disabled.header {\n  opacity: 0.45;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.header {\n  color: #FFFFFF;\n}\n\n.ui.inverted.header .sub.header {\n  color: rgba(255, 255, 255, 0.8);\n}\n\n.ui.inverted.attached.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n  border-color: transparent;\n}\n\n.ui.inverted.block.header {\n  background: #545454 -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #545454 linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  box-shadow: none;\n}\n\n.ui.inverted.block.header {\n  border-bottom: none;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/*--- Red ---*/\n\n.ui.red.header {\n  color: #DB2828 !important;\n}\n\na.ui.red.header:hover {\n  color: #d01919 !important;\n}\n\n.ui.red.dividing.header {\n  border-bottom: 2px solid #DB2828;\n}\n\n/* Inverted */\n\n.ui.inverted.red.header {\n  color: #FF695E !important;\n}\n\na.ui.inverted.red.header:hover {\n  color: #ff5144 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.header {\n  color: #F2711C !important;\n}\n\na.ui.orange.header:hover {\n  color: #f26202 !important;\n}\n\n.ui.orange.dividing.header {\n  border-bottom: 2px solid #F2711C;\n}\n\n/* Inverted */\n\n.ui.inverted.orange.header {\n  color: #FF851B !important;\n}\n\na.ui.inverted.orange.header:hover {\n  color: #ff7701 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.header {\n  color: #B5CC18 !important;\n}\n\na.ui.olive.header:hover {\n  color: #a7bd0d !important;\n}\n\n.ui.olive.dividing.header {\n  border-bottom: 2px solid #B5CC18;\n}\n\n/* Inverted */\n\n.ui.inverted.olive.header {\n  color: #D9E778 !important;\n}\n\na.ui.inverted.olive.header:hover {\n  color: #d8ea5c !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.header {\n  color: #FBBD08 !important;\n}\n\na.ui.yellow.header:hover {\n  color: #eaae00 !important;\n}\n\n.ui.yellow.dividing.header {\n  border-bottom: 2px solid #FBBD08;\n}\n\n/* Inverted */\n\n.ui.inverted.yellow.header {\n  color: #FFE21F !important;\n}\n\na.ui.inverted.yellow.header:hover {\n  color: #ffdf05 !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.header {\n  color: #21BA45 !important;\n}\n\na.ui.green.header:hover {\n  color: #16ab39 !important;\n}\n\n.ui.green.dividing.header {\n  border-bottom: 2px solid #21BA45;\n}\n\n/* Inverted */\n\n.ui.inverted.green.header {\n  color: #2ECC40 !important;\n}\n\na.ui.inverted.green.header:hover {\n  color: #22be34 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.header {\n  color: #00B5AD !important;\n}\n\na.ui.teal.header:hover {\n  color: #009c95 !important;\n}\n\n.ui.teal.dividing.header {\n  border-bottom: 2px solid #00B5AD;\n}\n\n/* Inverted */\n\n.ui.inverted.teal.header {\n  color: #6DFFFF !important;\n}\n\na.ui.inverted.teal.header:hover {\n  color: #54ffff !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.header {\n  color: #2185D0 !important;\n}\n\na.ui.blue.header:hover {\n  color: #1678c2 !important;\n}\n\n.ui.blue.dividing.header {\n  border-bottom: 2px solid #2185D0;\n}\n\n/* Inverted */\n\n.ui.inverted.blue.header {\n  color: #54C8FF !important;\n}\n\na.ui.inverted.blue.header:hover {\n  color: #3ac0ff !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.header {\n  color: #6435C9 !important;\n}\n\na.ui.violet.header:hover {\n  color: #5829bb !important;\n}\n\n.ui.violet.dividing.header {\n  border-bottom: 2px solid #6435C9;\n}\n\n/* Inverted */\n\n.ui.inverted.violet.header {\n  color: #A291FB !important;\n}\n\na.ui.inverted.violet.header:hover {\n  color: #8a73ff !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.header {\n  color: #A333C8 !important;\n}\n\na.ui.purple.header:hover {\n  color: #9627ba !important;\n}\n\n.ui.purple.dividing.header {\n  border-bottom: 2px solid #A333C8;\n}\n\n/* Inverted */\n\n.ui.inverted.purple.header {\n  color: #DC73FF !important;\n}\n\na.ui.inverted.purple.header:hover {\n  color: #d65aff !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.header {\n  color: #E03997 !important;\n}\n\na.ui.pink.header:hover {\n  color: #e61a8d !important;\n}\n\n.ui.pink.dividing.header {\n  border-bottom: 2px solid #E03997;\n}\n\n/* Inverted */\n\n.ui.inverted.pink.header {\n  color: #FF8EDF !important;\n}\n\na.ui.inverted.pink.header:hover {\n  color: #ff74d8 !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.header {\n  color: #A5673F !important;\n}\n\na.ui.brown.header:hover {\n  color: #975b33 !important;\n}\n\n.ui.brown.dividing.header {\n  border-bottom: 2px solid #A5673F;\n}\n\n/* Inverted */\n\n.ui.inverted.brown.header {\n  color: #D67C1C !important;\n}\n\na.ui.inverted.brown.header:hover {\n  color: #c86f11 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.header {\n  color: #767676 !important;\n}\n\na.ui.grey.header:hover {\n  color: #838383 !important;\n}\n\n.ui.grey.dividing.header {\n  border-bottom: 2px solid #767676;\n}\n\n/* Inverted */\n\n.ui.inverted.grey.header {\n  color: #DCDDDE !important;\n}\n\na.ui.inverted.grey.header:hover {\n  color: #cfd0d2 !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.left.aligned.header {\n  text-align: left;\n}\n\n.ui.right.aligned.header {\n  text-align: right;\n}\n\n.ui.centered.header,\n.ui.center.aligned.header {\n  text-align: center;\n}\n\n.ui.justified.header {\n  text-align: justify;\n}\n\n.ui.justified.header:after {\n  display: inline-block;\n  content: '';\n  width: 100%;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.header,\n.ui[class*=\"left floated\"].header {\n  float: left;\n  margin-top: 0em;\n  margin-right: 0.5em;\n}\n\n.ui[class*=\"right floated\"].header {\n  float: right;\n  margin-top: 0em;\n  margin-left: 0.5em;\n}\n\n/*-------------------\n       Fittted\n--------------------*/\n\n.ui.fitted.header {\n  padding: 0em;\n}\n\n/*-------------------\n      Dividing\n--------------------*/\n\n.ui.dividing.header {\n  padding-bottom: 0.21428571rem;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.dividing.header .sub.header {\n  padding-bottom: 0.21428571rem;\n}\n\n.ui.dividing.header .icon {\n  margin-bottom: 0em;\n}\n\n.ui.inverted.dividing.header {\n  border-bottom-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Block\n--------------------*/\n\n.ui.block.header {\n  background: #F3F4F5;\n  padding: 0.71428571rem 1rem;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n  border-radius: 0.28571429rem;\n}\n\n.ui.tiny.block.header {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.block.header {\n  font-size: 0.92857143rem;\n}\n\n.ui.block.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1rem;\n}\n\n.ui.large.block.header {\n  font-size: 1.14285714rem;\n}\n\n.ui.huge.block.header {\n  font-size: 1.42857143rem;\n}\n\n/*-------------------\n       Attached\n--------------------*/\n\n.ui.attached.header {\n  background: #FFFFFF;\n  padding: 0.71428571rem 1rem;\n  margin-left: -1px;\n  margin-right: -1px;\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached.block.header {\n  background: #F3F4F5;\n}\n\n.ui.attached:not(.top):not(.bottom).header {\n  margin-top: 0em;\n  margin-bottom: 0em;\n  border-top: none;\n  border-radius: 0em;\n}\n\n.ui.top.attached.header {\n  margin-bottom: 0em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.bottom.attached.header {\n  margin-top: 0em;\n  border-top: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Attached Sizes */\n\n.ui.tiny.attached.header {\n  font-size: 0.85714286em;\n}\n\n.ui.small.attached.header {\n  font-size: 0.92857143em;\n}\n\n.ui.attached.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1em;\n}\n\n.ui.large.attached.header {\n  font-size: 1.14285714em;\n}\n\n.ui.huge.attached.header {\n  font-size: 1.42857143em;\n}\n\n/*-------------------\n        Sizing\n--------------------*/\n\n.ui.header:not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {\n  font-size: 1.28em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Icon\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Icon\n*******************************/\n\n@font-face {\n  font-family: 'Icons';\n  src: url(\"themes/default/assets/fonts/icons.eot\");\n  src: url(\"themes/default/assets/fonts/icons.eot?#iefix\") format('embedded-opentype'), url(\"themes/default/assets/fonts/icons.woff2\") format('woff2'), url(\"themes/default/assets/fonts/icons.woff\") format('woff'), url(\"themes/default/assets/fonts/icons.ttf\") format('truetype'), url(\"themes/default/assets/fonts/icons.svg#icons\") format('svg');\n  font-style: normal;\n  font-weight: normal;\n  font-variant: normal;\n  text-decoration: inherit;\n  text-transform: none;\n}\n\ni.icon {\n  display: inline-block;\n  opacity: 1;\n  margin: 0em 0.25rem 0em 0em;\n  width: 1.18em;\n  height: 1em;\n  font-family: 'Icons';\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  text-align: center;\n  speak: none;\n  font-smoothing: antialiased;\n  -moz-osx-font-smoothing: grayscale;\n  -webkit-font-smoothing: antialiased;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\ni.icon:before {\n  background: none !important;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n    Loading\n---------------*/\n\ni.icon.loading {\n  height: 1em;\n  line-height: 1;\n  -webkit-animation: icon-loading 2s linear infinite;\n  animation: icon-loading 2s linear infinite;\n}\n\n@-webkit-keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes icon-loading {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\ni.icon.hover {\n  opacity: 1 !important;\n}\n\ni.icon.active {\n  opacity: 1 !important;\n}\n\ni.emphasized.icon {\n  opacity: 1 !important;\n}\n\ni.disabled.icon {\n  opacity: 0.45 !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n        Fitted\n--------------------*/\n\ni.fitted.icon {\n  width: auto;\n  margin: 0em;\n}\n\n/*-------------------\n         Link\n--------------------*/\n\ni.link.icon {\n  cursor: pointer;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\ni.link.icon:hover {\n  opacity: 1 !important;\n}\n\n/*-------------------\n      Circular\n--------------------*/\n\ni.circular.icon {\n  border-radius: 500em !important;\n  line-height: 1 !important;\n  padding: 0.5em 0.5em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n  width: 2em !important;\n  height: 2em !important;\n}\n\ni.circular.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Flipped\n--------------------*/\n\ni.flipped.icon,\ni.horizontally.flipped.icon {\n  -webkit-transform: scale(-1, 1);\n  -ms-transform: scale(-1, 1);\n  transform: scale(-1, 1);\n}\n\ni.vertically.flipped.icon {\n  -webkit-transform: scale(1, -1);\n  -ms-transform: scale(1, -1);\n  transform: scale(1, -1);\n}\n\n/*-------------------\n      Rotated\n--------------------*/\n\ni.rotated.icon,\ni.right.rotated.icon,\ni.clockwise.rotated.icon {\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n\ni.left.rotated.icon,\ni.counterclockwise.rotated.icon {\n  -webkit-transform: rotate(-90deg);\n  -ms-transform: rotate(-90deg);\n  transform: rotate(-90deg);\n}\n\n/*-------------------\n      Bordered\n--------------------*/\n\ni.bordered.icon {\n  line-height: 1;\n  vertical-align: baseline;\n  width: 2em;\n  height: 2em;\n  padding: 0.5em 0.41em !important;\n  box-shadow: 0em 0em 0em 0.1em rgba(0, 0, 0, 0.1) inset;\n}\n\ni.bordered.inverted.icon {\n  border: none;\n  box-shadow: none;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n/* Inverted Shapes */\n\ni.inverted.bordered.icon,\ni.inverted.circular.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\ni.inverted.icon {\n  color: #FFFFFF;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\ni.red.icon {\n  color: #DB2828 !important;\n}\n\ni.inverted.red.icon {\n  color: #FF695E !important;\n}\n\ni.inverted.bordered.red.icon,\ni.inverted.circular.red.icon {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n\ni.orange.icon {\n  color: #F2711C !important;\n}\n\ni.inverted.orange.icon {\n  color: #FF851B !important;\n}\n\ni.inverted.bordered.orange.icon,\ni.inverted.circular.orange.icon {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n\ni.yellow.icon {\n  color: #FBBD08 !important;\n}\n\ni.inverted.yellow.icon {\n  color: #FFE21F !important;\n}\n\ni.inverted.bordered.yellow.icon,\ni.inverted.circular.yellow.icon {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n\ni.olive.icon {\n  color: #B5CC18 !important;\n}\n\ni.inverted.olive.icon {\n  color: #D9E778 !important;\n}\n\ni.inverted.bordered.olive.icon,\ni.inverted.circular.olive.icon {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n\ni.green.icon {\n  color: #21BA45 !important;\n}\n\ni.inverted.green.icon {\n  color: #2ECC40 !important;\n}\n\ni.inverted.bordered.green.icon,\ni.inverted.circular.green.icon {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n\ni.teal.icon {\n  color: #00B5AD !important;\n}\n\ni.inverted.teal.icon {\n  color: #6DFFFF !important;\n}\n\ni.inverted.bordered.teal.icon,\ni.inverted.circular.teal.icon {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n\ni.blue.icon {\n  color: #2185D0 !important;\n}\n\ni.inverted.blue.icon {\n  color: #54C8FF !important;\n}\n\ni.inverted.bordered.blue.icon,\ni.inverted.circular.blue.icon {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n\ni.violet.icon {\n  color: #6435C9 !important;\n}\n\ni.inverted.violet.icon {\n  color: #A291FB !important;\n}\n\ni.inverted.bordered.violet.icon,\ni.inverted.circular.violet.icon {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n\ni.purple.icon {\n  color: #A333C8 !important;\n}\n\ni.inverted.purple.icon {\n  color: #DC73FF !important;\n}\n\ni.inverted.bordered.purple.icon,\ni.inverted.circular.purple.icon {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n\ni.pink.icon {\n  color: #E03997 !important;\n}\n\ni.inverted.pink.icon {\n  color: #FF8EDF !important;\n}\n\ni.inverted.bordered.pink.icon,\ni.inverted.circular.pink.icon {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n\ni.brown.icon {\n  color: #A5673F !important;\n}\n\ni.inverted.brown.icon {\n  color: #D67C1C !important;\n}\n\ni.inverted.bordered.brown.icon,\ni.inverted.circular.brown.icon {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n\ni.grey.icon {\n  color: #767676 !important;\n}\n\ni.inverted.grey.icon {\n  color: #DCDDDE !important;\n}\n\ni.inverted.bordered.grey.icon,\ni.inverted.circular.grey.icon {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n\ni.black.icon {\n  color: #1B1C1D !important;\n}\n\ni.inverted.black.icon {\n  color: #545454 !important;\n}\n\ni.inverted.bordeblack.black.icon,\ni.inverted.circular.black.icon {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\ni.mini.icon,\ni.mini.icons {\n  line-height: 1;\n  font-size: 0.71428571rem;\n}\n\ni.tiny.icon,\ni.tiny.icons {\n  line-height: 1;\n  font-size: 0.85714286rem;\n}\n\ni.small.icon,\ni.small.icons {\n  line-height: 1;\n  font-size: 0.92857143em;\n}\n\ni.icon,\ni.icons {\n  font-size: 1em;\n}\n\ni.large.icon,\ni.large.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 1.5em;\n}\n\ni.big.icon,\ni.big.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 2em;\n}\n\ni.huge.icon,\ni.huge.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 4em;\n}\n\ni.massive.icon,\ni.massive.icons {\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 8em;\n}\n\n/*******************************\n            Groups\n*******************************/\n\ni.icons {\n  display: inline-block;\n  position: relative;\n  line-height: 1;\n}\n\ni.icons .icon {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n  margin: 0em;\n  margin: 0;\n}\n\ni.icons .icon:first-child {\n  position: static;\n  width: auto;\n  height: auto;\n  vertical-align: top;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  margin-right: 0.25rem;\n}\n\n/* Corner Icon */\n\ni.icons .corner.icon {\n  top: auto;\n  left: auto;\n  right: 0;\n  bottom: 0;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  font-size: 0.45em;\n  text-shadow: -1px -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, 1px 1px 0 #FFFFFF;\n}\n\ni.icons .inverted.corner.icon {\n  text-shadow: -1px -1px 0 #1B1C1D, 1px -1px 0 #1B1C1D, -1px 1px 0 #1B1C1D, 1px 1px 0 #1B1C1D;\n}\n\n/*\n * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome\n * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)\n */\n\n/*******************************\n\nSemantic-UI integration of font-awesome :\n\n///class names are separated\ni.icon.circle => i.icon.circle\ni.icon.circle-o => i.icon.circle.outline\n\n//abbreviation are replaced by full letters:\ni.icon.ellipsis-h => i.icon.ellipsis.horizontal\ni.icon.ellipsis-v => i.icon.ellipsis.vertical\n.alpha => .i.icon.alphabet\n.asc => .i.icon.ascending\n.desc => .i.icon.descending\n.alt =>.alternate\n\nASCII order is conserved for easier maintenance.\n\nIcons that only have one style 'outline', 'square' etc do not require this class\nfor instance `lemon icon` not `lemon outline icon` since there is only one lemon\n\n*******************************/\n\n/*******************************\n            Icons\n*******************************/\n\n/* Web Content */\n\ni.icon.search:before {\n  content: \"\\f002\";\n}\n\ni.icon.mail.outline:before {\n  content: \"\\f003\";\n}\n\ni.icon.external:before {\n  content: \"\\f08e\";\n}\n\ni.icon.signal:before {\n  content: \"\\f012\";\n}\n\ni.icon.setting:before {\n  content: \"\\f013\";\n}\n\ni.icon.home:before {\n  content: \"\\f015\";\n}\n\ni.icon.inbox:before {\n  content: \"\\f01c\";\n}\n\ni.icon.browser:before {\n  content: \"\\f022\";\n}\n\ni.icon.tag:before {\n  content: \"\\f02b\";\n}\n\ni.icon.tags:before {\n  content: \"\\f02c\";\n}\n\ni.icon.calendar:before {\n  content: \"\\f073\";\n}\n\ni.icon.comment:before {\n  content: \"\\f075\";\n}\n\ni.icon.comments:before {\n  content: \"\\f086\";\n}\n\ni.icon.shop:before {\n  content: \"\\f07a\";\n}\n\ni.icon.privacy:before {\n  content: \"\\f084\";\n}\n\ni.icon.settings:before {\n  content: \"\\f085\";\n}\n\ni.icon.trophy:before {\n  content: \"\\f091\";\n}\n\ni.icon.payment:before {\n  content: \"\\f09d\";\n}\n\ni.icon.feed:before {\n  content: \"\\f09e\";\n}\n\ni.icon.alarm.outline:before {\n  content: \"\\f0a2\";\n}\n\ni.icon.tasks:before {\n  content: \"\\f0ae\";\n}\n\ni.icon.cloud:before {\n  content: \"\\f0c2\";\n}\n\ni.icon.lab:before {\n  content: \"\\f0c3\";\n}\n\ni.icon.mail:before {\n  content: \"\\f0e0\";\n}\n\ni.icon.idea:before {\n  content: \"\\f0eb\";\n}\n\ni.icon.dashboard:before {\n  content: \"\\f0e4\";\n}\n\ni.icon.sitemap:before {\n  content: \"\\f0e8\";\n}\n\ni.icon.alarm:before {\n  content: \"\\f0f3\";\n}\n\ni.icon.terminal:before {\n  content: \"\\f120\";\n}\n\ni.icon.code:before {\n  content: \"\\f121\";\n}\n\ni.icon.protect:before {\n  content: \"\\f132\";\n}\n\ni.icon.calendar.outline:before {\n  content: \"\\f133\";\n}\n\ni.icon.ticket:before {\n  content: \"\\f145\";\n}\n\ni.icon.external.square:before {\n  content: \"\\f14c\";\n}\n\ni.icon.map:before {\n  content: \"\\f14e\";\n}\n\ni.icon.bug:before {\n  content: \"\\f188\";\n}\n\ni.icon.mail.square:before {\n  content: \"\\f199\";\n}\n\ni.icon.history:before {\n  content: \"\\f1da\";\n}\n\ni.icon.options:before {\n  content: \"\\f1de\";\n}\n\ni.icon.comment.outline:before {\n  content: \"\\f0e5\";\n}\n\ni.icon.comments.outline:before {\n  content: \"\\f0e6\";\n}\n\ni.icon.text.telephone:before {\n  content: \"\\f1e4\";\n}\n\ni.icon.find:before {\n  content: \"\\f1e5\";\n}\n\ni.icon.wifi:before {\n  content: \"\\f1eb\";\n}\n\ni.icon.alarm.slash:before {\n  content: \"\\f1f6\";\n}\n\ni.icon.alarm.slash.outline:before {\n  content: \"\\f1f7\";\n}\n\ni.icon.copyright:before {\n  content: \"\\f1f9\";\n}\n\ni.icon.at:before {\n  content: \"\\f1fa\";\n}\n\ni.icon.eyedropper:before {\n  content: \"\\f1fb\";\n}\n\ni.icon.paint.brush:before {\n  content: \"\\f1fc\";\n}\n\ni.icon.heartbeat:before {\n  content: \"\\f21e\";\n}\n\n/* User Actions */\n\ni.icon.download:before {\n  content: \"\\f019\";\n}\n\ni.icon.repeat:before {\n  content: \"\\f01e\";\n}\n\ni.icon.refresh:before {\n  content: \"\\f021\";\n}\n\ni.icon.lock:before {\n  content: \"\\f023\";\n}\n\ni.icon.bookmark:before {\n  content: \"\\f02e\";\n}\n\ni.icon.print:before {\n  content: \"\\f02f\";\n}\n\ni.icon.write:before {\n  content: \"\\f040\";\n}\n\ni.icon.theme:before {\n  content: \"\\f043\";\n}\n\ni.icon.adjust:before {\n  content: \"\\f042\";\n}\n\ni.icon.edit:before {\n  content: \"\\f044\";\n}\n\ni.icon.external.share:before {\n  content: \"\\f045\";\n}\n\ni.icon.ban:before {\n  content: \"\\f05e\";\n}\n\ni.icon.mail.forward:before {\n  content: \"\\f064\";\n}\n\ni.icon.share:before {\n  content: \"\\f064\";\n}\n\ni.icon.expand:before {\n  content: \"\\f065\";\n}\n\ni.icon.compress:before {\n  content: \"\\f066\";\n}\n\ni.icon.unhide:before {\n  content: \"\\f06e\";\n}\n\ni.icon.hide:before {\n  content: \"\\f070\";\n}\n\ni.icon.random:before {\n  content: \"\\f074\";\n}\n\ni.icon.retweet:before {\n  content: \"\\f079\";\n}\n\ni.icon.sign.out:before {\n  content: \"\\f08b\";\n}\n\ni.icon.pin:before {\n  content: \"\\f08d\";\n}\n\ni.icon.sign.in:before {\n  content: \"\\f090\";\n}\n\ni.icon.upload:before {\n  content: \"\\f093\";\n}\n\ni.icon.call:before {\n  content: \"\\f095\";\n}\n\ni.icon.call.square:before {\n  content: \"\\f098\";\n}\n\ni.icon.remove.bookmark:before {\n  content: \"\\f097\";\n}\n\ni.icon.unlock:before {\n  content: \"\\f09c\";\n}\n\ni.icon.configure:before {\n  content: \"\\f0ad\";\n}\n\ni.icon.filter:before {\n  content: \"\\f0b0\";\n}\n\ni.icon.wizard:before {\n  content: \"\\f0d0\";\n}\n\ni.icon.undo:before {\n  content: \"\\f0e2\";\n}\n\ni.icon.exchange:before {\n  content: \"\\f0ec\";\n}\n\ni.icon.cloud.download:before {\n  content: \"\\f0ed\";\n}\n\ni.icon.cloud.upload:before {\n  content: \"\\f0ee\";\n}\n\ni.icon.reply:before {\n  content: \"\\f112\";\n}\n\ni.icon.reply.all:before {\n  content: \"\\f122\";\n}\n\ni.icon.erase:before {\n  content: \"\\f12d\";\n}\n\ni.icon.unlock.alternate:before {\n  content: \"\\f13e\";\n}\n\ni.icon.archive:before {\n  content: \"\\f187\";\n}\n\ni.icon.translate:before {\n  content: \"\\f1ab\";\n}\n\ni.icon.recycle:before {\n  content: \"\\f1b8\";\n}\n\ni.icon.send:before {\n  content: \"\\f1d8\";\n}\n\ni.icon.send.outline:before {\n  content: \"\\f1d9\";\n}\n\ni.icon.share.alternate:before {\n  content: \"\\f1e0\";\n}\n\ni.icon.share.alternate.square:before {\n  content: \"\\f1e1\";\n}\n\ni.icon.wait:before {\n  content: \"\\f017\";\n}\n\ni.icon.write.square:before {\n  content: \"\\f14b\";\n}\n\ni.icon.share.square:before {\n  content: \"\\f14d\";\n}\n\ni.icon.add.to.cart:before {\n  content: \"\\f217\";\n}\n\ni.icon.in.cart:before {\n  content: \"\\f218\";\n}\n\ni.icon.add.user:before {\n  content: \"\\f234\";\n}\n\ni.icon.remove.user:before {\n  content: \"\\f235\";\n}\n\n/* Messages */\n\ni.icon.help.circle:before {\n  content: \"\\f059\";\n}\n\ni.icon.info.circle:before {\n  content: \"\\f05a\";\n}\n\ni.icon.warning:before {\n  content: \"\\f12a\";\n}\n\ni.icon.warning.circle:before {\n  content: \"\\f06a\";\n}\n\ni.icon.warning.sign:before {\n  content: \"\\f071\";\n}\n\ni.icon.help:before {\n  content: \"\\f128\";\n}\n\ni.icon.info:before {\n  content: \"\\f129\";\n}\n\ni.icon.announcement:before {\n  content: \"\\f0a1\";\n}\n\ni.icon.birthday:before {\n  content: \"\\f1fd\";\n}\n\n/* Users */\n\ni.icon.users:before {\n  content: \"\\f0c0\";\n}\n\ni.icon.doctor:before {\n  content: \"\\f0f0\";\n}\n\ni.icon.child:before {\n  content: \"\\f1ae\";\n}\n\ni.icon.user:before {\n  content: \"\\f007\";\n}\n\ni.icon.handicap:before {\n  content: \"\\f193\";\n}\n\ni.icon.student:before {\n  content: \"\\f19d\";\n}\n\ni.icon.spy:before {\n  content: \"\\f21b\";\n}\n\n/* Gender & Sexuality */\n\ni.icon.female:before {\n  content: \"\\f182\";\n}\n\ni.icon.male:before {\n  content: \"\\f183\";\n}\n\ni.icon.woman:before {\n  content: \"\\f221\";\n}\n\ni.icon.man:before {\n  content: \"\\f222\";\n}\n\ni.icon.non.binary.transgender:before {\n  content: \"\\f223\";\n}\n\ni.icon.intergender:before {\n  content: \"\\f224\";\n}\n\ni.icon.transgender:before {\n  content: \"\\f225\";\n}\n\ni.icon.lesbian:before {\n  content: \"\\f226\";\n}\n\ni.icon.gay:before {\n  content: \"\\f227\";\n}\n\ni.icon.heterosexual:before {\n  content: \"\\f228\";\n}\n\ni.icon.other.gender:before {\n  content: \"\\f229\";\n}\n\ni.icon.other.gender.vertical:before {\n  content: \"\\f22a\";\n}\n\ni.icon.other.gender.horizontal:before {\n  content: \"\\f22b\";\n}\n\ni.icon.neuter:before {\n  content: \"\\f22c\";\n}\n\n/* View Adjustment */\n\ni.icon.grid.layout:before {\n  content: \"\\f00a\";\n}\n\ni.icon.list.layout:before {\n  content: \"\\f00b\";\n}\n\ni.icon.block.layout:before {\n  content: \"\\f009\";\n}\n\ni.icon.zoom:before {\n  content: \"\\f00e\";\n}\n\ni.icon.zoom.out:before {\n  content: \"\\f010\";\n}\n\ni.icon.resize.vertical:before {\n  content: \"\\f07d\";\n}\n\ni.icon.resize.horizontal:before {\n  content: \"\\f07e\";\n}\n\ni.icon.maximize:before {\n  content: \"\\f0b2\";\n}\n\ni.icon.crop:before {\n  content: \"\\f125\";\n}\n\n/* Literal Objects */\n\ni.icon.cocktail:before {\n  content: \"\\f000\";\n}\n\ni.icon.road:before {\n  content: \"\\f018\";\n}\n\ni.icon.flag:before {\n  content: \"\\f024\";\n}\n\ni.icon.book:before {\n  content: \"\\f02d\";\n}\n\ni.icon.gift:before {\n  content: \"\\f06b\";\n}\n\ni.icon.leaf:before {\n  content: \"\\f06c\";\n}\n\ni.icon.fire:before {\n  content: \"\\f06d\";\n}\n\ni.icon.plane:before {\n  content: \"\\f072\";\n}\n\ni.icon.magnet:before {\n  content: \"\\f076\";\n}\n\ni.icon.legal:before {\n  content: \"\\f0e3\";\n}\n\ni.icon.lemon:before {\n  content: \"\\f094\";\n}\n\ni.icon.world:before {\n  content: \"\\f0ac\";\n}\n\ni.icon.travel:before {\n  content: \"\\f0b1\";\n}\n\ni.icon.shipping:before {\n  content: \"\\f0d1\";\n}\n\ni.icon.money:before {\n  content: \"\\f0d6\";\n}\n\ni.icon.lightning:before {\n  content: \"\\f0e7\";\n}\n\ni.icon.rain:before {\n  content: \"\\f0e9\";\n}\n\ni.icon.treatment:before {\n  content: \"\\f0f1\";\n}\n\ni.icon.suitcase:before {\n  content: \"\\f0f2\";\n}\n\ni.icon.bar:before {\n  content: \"\\f0fc\";\n}\n\ni.icon.flag.outline:before {\n  content: \"\\f11d\";\n}\n\ni.icon.flag.checkered:before {\n  content: \"\\f11e\";\n}\n\ni.icon.puzzle:before {\n  content: \"\\f12e\";\n}\n\ni.icon.fire.extinguisher:before {\n  content: \"\\f134\";\n}\n\ni.icon.rocket:before {\n  content: \"\\f135\";\n}\n\ni.icon.anchor:before {\n  content: \"\\f13d\";\n}\n\ni.icon.bullseye:before {\n  content: \"\\f140\";\n}\n\ni.icon.sun:before {\n  content: \"\\f185\";\n}\n\ni.icon.moon:before {\n  content: \"\\f186\";\n}\n\ni.icon.fax:before {\n  content: \"\\f1ac\";\n}\n\ni.icon.life.ring:before {\n  content: \"\\f1cd\";\n}\n\ni.icon.bomb:before {\n  content: \"\\f1e2\";\n}\n\ni.icon.soccer:before {\n  content: \"\\f1e3\";\n}\n\ni.icon.calculator:before {\n  content: \"\\f1ec\";\n}\n\ni.icon.diamond:before {\n  content: \"\\f219\";\n}\n\n/* Shapes */\n\ni.icon.crosshairs:before {\n  content: \"\\f05b\";\n}\n\ni.icon.asterisk:before {\n  content: \"\\f069\";\n}\n\ni.icon.certificate:before {\n  content: \"\\f0a3\";\n}\n\ni.icon.circle:before {\n  content: \"\\f111\";\n}\n\ni.icon.quote.left:before {\n  content: \"\\f10d\";\n}\n\ni.icon.quote.right:before {\n  content: \"\\f10e\";\n}\n\ni.icon.ellipsis.horizontal:before {\n  content: \"\\f141\";\n}\n\ni.icon.ellipsis.vertical:before {\n  content: \"\\f142\";\n}\n\ni.icon.cube:before {\n  content: \"\\f1b2\";\n}\n\ni.icon.cubes:before {\n  content: \"\\f1b3\";\n}\n\ni.icon.circle.notched:before {\n  content: \"\\f1ce\";\n}\n\ni.icon.circle.thin:before {\n  content: \"\\f1db\";\n}\n\ni.icon.square.outline:before {\n  content: \"\\f096\";\n}\n\ni.icon.square:before {\n  content: \"\\f0c8\";\n}\n\n/* Item Selection */\n\ni.icon.checkmark:before {\n  content: \"\\f00c\";\n}\n\ni.icon.remove:before {\n  content: \"\\f00d\";\n}\n\ni.icon.checkmark.box:before {\n  content: \"\\f046\";\n}\n\ni.icon.move:before {\n  content: \"\\f047\";\n}\n\ni.icon.add.circle:before {\n  content: \"\\f055\";\n}\n\ni.icon.minus.circle:before {\n  content: \"\\f056\";\n}\n\ni.icon.remove.circle:before {\n  content: \"\\f057\";\n}\n\ni.icon.check.circle:before {\n  content: \"\\f058\";\n}\n\ni.icon.remove.circle.outline:before {\n  content: \"\\f05c\";\n}\n\ni.icon.check.circle.outline:before {\n  content: \"\\f05d\";\n}\n\ni.icon.plus:before {\n  content: \"\\f067\";\n}\n\ni.icon.minus:before {\n  content: \"\\f068\";\n}\n\ni.icon.add.square:before {\n  content: \"\\f0fe\";\n}\n\ni.icon.radio:before {\n  content: \"\\f10c\";\n}\n\ni.icon.selected.radio:before {\n  content: \"\\f192\";\n}\n\ni.icon.minus.square:before {\n  content: \"\\f146\";\n}\n\ni.icon.minus.square.outline:before {\n  content: \"\\f147\";\n}\n\ni.icon.check.square:before {\n  content: \"\\f14a\";\n}\n\ni.icon.plus.square.outline:before {\n  content: \"\\f196\";\n}\n\ni.icon.toggle.off:before {\n  content: \"\\f204\";\n}\n\ni.icon.toggle.on:before {\n  content: \"\\f205\";\n}\n\n/* Media */\n\ni.icon.film:before {\n  content: \"\\f008\";\n}\n\ni.icon.sound:before {\n  content: \"\\f025\";\n}\n\ni.icon.photo:before {\n  content: \"\\f030\";\n}\n\ni.icon.bar.chart:before {\n  content: \"\\f080\";\n}\n\ni.icon.camera.retro:before {\n  content: \"\\f083\";\n}\n\ni.icon.newspaper:before {\n  content: \"\\f1ea\";\n}\n\ni.icon.area.chart:before {\n  content: \"\\f1fe\";\n}\n\ni.icon.pie.chart:before {\n  content: \"\\f200\";\n}\n\ni.icon.line.chart:before {\n  content: \"\\f201\";\n}\n\n/* Pointers */\n\ni.icon.arrow.circle.outline.down:before {\n  content: \"\\f01a\";\n}\n\ni.icon.arrow.circle.outline.up:before {\n  content: \"\\f01b\";\n}\n\ni.icon.chevron.left:before {\n  content: \"\\f053\";\n}\n\ni.icon.chevron.right:before {\n  content: \"\\f054\";\n}\n\ni.icon.arrow.left:before {\n  content: \"\\f060\";\n}\n\ni.icon.arrow.right:before {\n  content: \"\\f061\";\n}\n\ni.icon.arrow.up:before {\n  content: \"\\f062\";\n}\n\ni.icon.arrow.down:before {\n  content: \"\\f063\";\n}\n\ni.icon.chevron.up:before {\n  content: \"\\f077\";\n}\n\ni.icon.chevron.down:before {\n  content: \"\\f078\";\n}\n\ni.icon.pointing.right:before {\n  content: \"\\f0a4\";\n}\n\ni.icon.pointing.left:before {\n  content: \"\\f0a5\";\n}\n\ni.icon.pointing.up:before {\n  content: \"\\f0a6\";\n}\n\ni.icon.pointing.down:before {\n  content: \"\\f0a7\";\n}\n\ni.icon.arrow.circle.left:before {\n  content: \"\\f0a8\";\n}\n\ni.icon.arrow.circle.right:before {\n  content: \"\\f0a9\";\n}\n\ni.icon.arrow.circle.up:before {\n  content: \"\\f0aa\";\n}\n\ni.icon.arrow.circle.down:before {\n  content: \"\\f0ab\";\n}\n\ni.icon.caret.down:before {\n  content: \"\\f0d7\";\n}\n\ni.icon.caret.up:before {\n  content: \"\\f0d8\";\n}\n\ni.icon.caret.left:before {\n  content: \"\\f0d9\";\n}\n\ni.icon.caret.right:before {\n  content: \"\\f0da\";\n}\n\ni.icon.angle.double.left:before {\n  content: \"\\f100\";\n}\n\ni.icon.angle.double.right:before {\n  content: \"\\f101\";\n}\n\ni.icon.angle.double.up:before {\n  content: \"\\f102\";\n}\n\ni.icon.angle.double.down:before {\n  content: \"\\f103\";\n}\n\ni.icon.angle.left:before {\n  content: \"\\f104\";\n}\n\ni.icon.angle.right:before {\n  content: \"\\f105\";\n}\n\ni.icon.angle.up:before {\n  content: \"\\f106\";\n}\n\ni.icon.angle.down:before {\n  content: \"\\f107\";\n}\n\ni.icon.chevron.circle.left:before {\n  content: \"\\f137\";\n}\n\ni.icon.chevron.circle.right:before {\n  content: \"\\f138\";\n}\n\ni.icon.chevron.circle.up:before {\n  content: \"\\f139\";\n}\n\ni.icon.chevron.circle.down:before {\n  content: \"\\f13a\";\n}\n\ni.icon.toggle.down:before {\n  content: \"\\f150\";\n}\n\ni.icon.toggle.up:before {\n  content: \"\\f151\";\n}\n\ni.icon.toggle.right:before {\n  content: \"\\f152\";\n}\n\ni.icon.long.arrow.down:before {\n  content: \"\\f175\";\n}\n\ni.icon.long.arrow.up:before {\n  content: \"\\f176\";\n}\n\ni.icon.long.arrow.left:before {\n  content: \"\\f177\";\n}\n\ni.icon.long.arrow.right:before {\n  content: \"\\f178\";\n}\n\ni.icon.arrow.circle.outline.right:before {\n  content: \"\\f18e\";\n}\n\ni.icon.arrow.circle.outline.left:before {\n  content: \"\\f190\";\n}\n\ni.icon.toggle.left:before {\n  content: \"\\f191\";\n}\n\n/* Computer */\n\ni.icon.power:before {\n  content: \"\\f011\";\n}\n\ni.icon.trash:before {\n  content: \"\\f1f8\";\n}\n\ni.icon.trash.outline:before {\n  content: \"\\f014\";\n}\n\ni.icon.disk.outline:before {\n  content: \"\\f0a0\";\n}\n\ni.icon.desktop:before {\n  content: \"\\f108\";\n}\n\ni.icon.laptop:before {\n  content: \"\\f109\";\n}\n\ni.icon.tablet:before {\n  content: \"\\f10a\";\n}\n\ni.icon.mobile:before {\n  content: \"\\f10b\";\n}\n\ni.icon.game:before {\n  content: \"\\f11b\";\n}\n\ni.icon.keyboard:before {\n  content: \"\\f11c\";\n}\n\ni.icon.plug:before {\n  content: \"\\f1e6\";\n}\n\n/* File System */\n\ni.icon.folder:before {\n  content: \"\\f07b\";\n}\n\ni.icon.folder.open:before {\n  content: \"\\f07c\";\n}\n\ni.icon.level.up:before {\n  content: \"\\f148\";\n}\n\ni.icon.level.down:before {\n  content: \"\\f149\";\n}\n\ni.icon.file:before {\n  content: \"\\f15b\";\n}\n\ni.icon.file.outline:before {\n  content: \"\\f016\";\n}\n\ni.icon.file.text:before {\n  content: \"\\f15c\";\n}\n\ni.icon.file.text.outline:before {\n  content: \"\\f0f6\";\n}\n\ni.icon.folder.outline:before {\n  content: \"\\f114\";\n}\n\ni.icon.folder.open.outline:before {\n  content: \"\\f115\";\n}\n\ni.icon.file.pdf.outline:before {\n  content: \"\\f1c1\";\n}\n\ni.icon.file.word.outline:before {\n  content: \"\\f1c2\";\n}\n\ni.icon.file.excel.outline:before {\n  content: \"\\f1c3\";\n}\n\ni.icon.file.powerpoint.outline:before {\n  content: \"\\f1c4\";\n}\n\ni.icon.file.image.outline:before {\n  content: \"\\f1c5\";\n}\n\ni.icon.file.archive.outline:before {\n  content: \"\\f1c6\";\n}\n\ni.icon.file.audio.outline:before {\n  content: \"\\f1c7\";\n}\n\ni.icon.file.video.outline:before {\n  content: \"\\f1c8\";\n}\n\ni.icon.file.code.outline:before {\n  content: \"\\f1c9\";\n}\n\n/* Technologies */\n\ni.icon.barcode:before {\n  content: \"\\f02a\";\n}\n\ni.icon.qrcode:before {\n  content: \"\\f029\";\n}\n\ni.icon.fork:before {\n  content: \"\\f126\";\n}\n\ni.icon.html5:before {\n  content: \"\\f13b\";\n}\n\ni.icon.css3:before {\n  content: \"\\f13c\";\n}\n\ni.icon.rss:before {\n  content: \"\\f09e\";\n}\n\ni.icon.rss.square:before {\n  content: \"\\f143\";\n}\n\ni.icon.openid:before {\n  content: \"\\f19b\";\n}\n\ni.icon.database:before {\n  content: \"\\f1c0\";\n}\n\ni.icon.server:before {\n  content: \"\\f233\";\n}\n\n/* Rating */\n\ni.icon.heart:before {\n  content: \"\\f004\";\n}\n\ni.icon.star:before {\n  content: \"\\f005\";\n}\n\ni.icon.empty.star:before {\n  content: \"\\f006\";\n}\n\ni.icon.thumbs.outline.up:before {\n  content: \"\\f087\";\n}\n\ni.icon.thumbs.outline.down:before {\n  content: \"\\f088\";\n}\n\ni.icon.star.half:before {\n  content: \"\\f089\";\n}\n\ni.icon.empty.heart:before {\n  content: \"\\f08a\";\n}\n\ni.icon.smile:before {\n  content: \"\\f118\";\n}\n\ni.icon.frown:before {\n  content: \"\\f119\";\n}\n\ni.icon.meh:before {\n  content: \"\\f11a\";\n}\n\ni.icon.star.half.empty:before {\n  content: \"\\f123\";\n}\n\ni.icon.thumbs.up:before {\n  content: \"\\f164\";\n}\n\ni.icon.thumbs.down:before {\n  content: \"\\f165\";\n}\n\n/* Audio */\n\ni.icon.music:before {\n  content: \"\\f001\";\n}\n\ni.icon.video.play.outline:before {\n  content: \"\\f01d\";\n}\n\ni.icon.volume.off:before {\n  content: \"\\f026\";\n}\n\ni.icon.volume.down:before {\n  content: \"\\f027\";\n}\n\ni.icon.volume.up:before {\n  content: \"\\f028\";\n}\n\ni.icon.record:before {\n  content: \"\\f03d\";\n}\n\ni.icon.step.backward:before {\n  content: \"\\f048\";\n}\n\ni.icon.fast.backward:before {\n  content: \"\\f049\";\n}\n\ni.icon.backward:before {\n  content: \"\\f04a\";\n}\n\ni.icon.play:before {\n  content: \"\\f04b\";\n}\n\ni.icon.pause:before {\n  content: \"\\f04c\";\n}\n\ni.icon.stop:before {\n  content: \"\\f04d\";\n}\n\ni.icon.forward:before {\n  content: \"\\f04e\";\n}\n\ni.icon.fast.forward:before {\n  content: \"\\f050\";\n}\n\ni.icon.step.forward:before {\n  content: \"\\f051\";\n}\n\ni.icon.eject:before {\n  content: \"\\f052\";\n}\n\ni.icon.unmute:before {\n  content: \"\\f130\";\n}\n\ni.icon.mute:before {\n  content: \"\\f131\";\n}\n\ni.icon.video.play:before {\n  content: \"\\f144\";\n}\n\ni.icon.closed.captioning:before {\n  content: \"\\f20a\";\n}\n\n/* Map, Locations, & Transportation */\n\ni.icon.marker:before {\n  content: \"\\f041\";\n}\n\ni.icon.coffee:before {\n  content: \"\\f0f4\";\n}\n\ni.icon.food:before {\n  content: \"\\f0f5\";\n}\n\ni.icon.building.outline:before {\n  content: \"\\f0f7\";\n}\n\ni.icon.hospital:before {\n  content: \"\\f0f8\";\n}\n\ni.icon.emergency:before {\n  content: \"\\f0f9\";\n}\n\ni.icon.first.aid:before {\n  content: \"\\f0fa\";\n}\n\ni.icon.military:before {\n  content: \"\\f0fb\";\n}\n\ni.icon.h:before {\n  content: \"\\f0fd\";\n}\n\ni.icon.location.arrow:before {\n  content: \"\\f124\";\n}\n\ni.icon.space.shuttle:before {\n  content: \"\\f197\";\n}\n\ni.icon.university:before {\n  content: \"\\f19c\";\n}\n\ni.icon.building:before {\n  content: \"\\f1ad\";\n}\n\ni.icon.paw:before {\n  content: \"\\f1b0\";\n}\n\ni.icon.spoon:before {\n  content: \"\\f1b1\";\n}\n\ni.icon.car:before {\n  content: \"\\f1b9\";\n}\n\ni.icon.taxi:before {\n  content: \"\\f1ba\";\n}\n\ni.icon.tree:before {\n  content: \"\\f1bb\";\n}\n\ni.icon.bicycle:before {\n  content: \"\\f206\";\n}\n\ni.icon.bus:before {\n  content: \"\\f207\";\n}\n\ni.icon.ship:before {\n  content: \"\\f21a\";\n}\n\ni.icon.motorcycle:before {\n  content: \"\\f21c\";\n}\n\ni.icon.street.view:before {\n  content: \"\\f21d\";\n}\n\ni.icon.hotel:before {\n  content: \"\\f236\";\n}\n\ni.icon.train:before {\n  content: \"\\f238\";\n}\n\ni.icon.subway:before {\n  content: \"\\f239\";\n}\n\n/* Tables */\n\ni.icon.table:before {\n  content: \"\\f0ce\";\n}\n\ni.icon.columns:before {\n  content: \"\\f0db\";\n}\n\ni.icon.sort:before {\n  content: \"\\f0dc\";\n}\n\ni.icon.sort.ascending:before {\n  content: \"\\f0de\";\n}\n\ni.icon.sort.descending:before {\n  content: \"\\f0dd\";\n}\n\ni.icon.sort.alphabet.ascending:before {\n  content: \"\\f15d\";\n}\n\ni.icon.sort.alphabet.descending:before {\n  content: \"\\f15e\";\n}\n\ni.icon.sort.content.ascending:before {\n  content: \"\\f160\";\n}\n\ni.icon.sort.content.descending:before {\n  content: \"\\f161\";\n}\n\ni.icon.sort.numeric.ascending:before {\n  content: \"\\f162\";\n}\n\ni.icon.sort.numeric.descending:before {\n  content: \"\\f163\";\n}\n\n/* Text Editor */\n\ni.icon.font:before {\n  content: \"\\f031\";\n}\n\ni.icon.bold:before {\n  content: \"\\f032\";\n}\n\ni.icon.italic:before {\n  content: \"\\f033\";\n}\n\ni.icon.text.height:before {\n  content: \"\\f034\";\n}\n\ni.icon.text.width:before {\n  content: \"\\f035\";\n}\n\ni.icon.align.left:before {\n  content: \"\\f036\";\n}\n\ni.icon.align.center:before {\n  content: \"\\f037\";\n}\n\ni.icon.align.right:before {\n  content: \"\\f038\";\n}\n\ni.icon.align.justify:before {\n  content: \"\\f039\";\n}\n\ni.icon.list:before {\n  content: \"\\f03a\";\n}\n\ni.icon.outdent:before {\n  content: \"\\f03b\";\n}\n\ni.icon.indent:before {\n  content: \"\\f03c\";\n}\n\ni.icon.linkify:before {\n  content: \"\\f0c1\";\n}\n\ni.icon.cut:before {\n  content: \"\\f0c4\";\n}\n\ni.icon.copy:before {\n  content: \"\\f0c5\";\n}\n\ni.icon.attach:before {\n  content: \"\\f0c6\";\n}\n\ni.icon.save:before {\n  content: \"\\f0c7\";\n}\n\ni.icon.content:before {\n  content: \"\\f0c9\";\n}\n\ni.icon.unordered.list:before {\n  content: \"\\f0ca\";\n}\n\ni.icon.ordered.list:before {\n  content: \"\\f0cb\";\n}\n\ni.icon.strikethrough:before {\n  content: \"\\f0cc\";\n}\n\ni.icon.underline:before {\n  content: \"\\f0cd\";\n}\n\ni.icon.paste:before {\n  content: \"\\f0ea\";\n}\n\ni.icon.unlink:before {\n  content: \"\\f127\";\n}\n\ni.icon.superscript:before {\n  content: \"\\f12b\";\n}\n\ni.icon.subscript:before {\n  content: \"\\f12c\";\n}\n\ni.icon.header:before {\n  content: \"\\f1dc\";\n}\n\ni.icon.paragraph:before {\n  content: \"\\f1dd\";\n}\n\n/* Currency */\n\ni.icon.euro:before {\n  content: \"\\f153\";\n}\n\ni.icon.pound:before {\n  content: \"\\f154\";\n}\n\ni.icon.dollar:before {\n  content: \"\\f155\";\n}\n\ni.icon.rupee:before {\n  content: \"\\f156\";\n}\n\ni.icon.yen:before {\n  content: \"\\f157\";\n}\n\ni.icon.ruble:before {\n  content: \"\\f158\";\n}\n\ni.icon.won:before {\n  content: \"\\f159\";\n}\n\ni.icon.lira:before {\n  content: \"\\f195\";\n}\n\ni.icon.shekel:before {\n  content: \"\\f20b\";\n}\n\n/* Payment Options */\n\ni.icon.paypal:before {\n  content: \"\\f1ed\";\n}\n\ni.icon.paypal.card:before {\n  content: \"\\f1f4\";\n}\n\ni.icon.google.wallet:before {\n  content: \"\\f1ee\";\n}\n\ni.icon.visa:before {\n  content: \"\\f1f0\";\n}\n\ni.icon.mastercard:before {\n  content: \"\\f1f1\";\n}\n\ni.icon.discover:before {\n  content: \"\\f1f2\";\n}\n\ni.icon.american.express:before {\n  content: \"\\f1f3\";\n}\n\ni.icon.stripe:before {\n  content: \"\\f1f5\";\n}\n\n/* Networks and Websites*/\n\ni.icon.twitter.square:before {\n  content: \"\\f081\";\n}\n\ni.icon.facebook.square:before {\n  content: \"\\f082\";\n}\n\ni.icon.linkedin.square:before {\n  content: \"\\f08c\";\n}\n\ni.icon.github.square:before {\n  content: \"\\f092\";\n}\n\ni.icon.twitter:before {\n  content: \"\\f099\";\n}\n\ni.icon.facebook:before {\n  content: \"\\f09a\";\n}\n\ni.icon.github:before {\n  content: \"\\f09b\";\n}\n\ni.icon.pinterest:before {\n  content: \"\\f0d2\";\n}\n\ni.icon.pinterest.square:before {\n  content: \"\\f0d3\";\n}\n\ni.icon.google.plus.square:before {\n  content: \"\\f0d4\";\n}\n\ni.icon.google.plus:before {\n  content: \"\\f0d5\";\n}\n\ni.icon.linkedin:before {\n  content: \"\\f0e1\";\n}\n\ni.icon.github.alternate:before {\n  content: \"\\f113\";\n}\n\ni.icon.maxcdn:before {\n  content: \"\\f136\";\n}\n\ni.icon.bitcoin:before {\n  content: \"\\f15a\";\n}\n\ni.icon.youtube.square:before {\n  content: \"\\f166\";\n}\n\ni.icon.youtube:before {\n  content: \"\\f167\";\n}\n\ni.icon.xing:before {\n  content: \"\\f168\";\n}\n\ni.icon.xing.square:before {\n  content: \"\\f169\";\n}\n\ni.icon.youtube.play:before {\n  content: \"\\f16a\";\n}\n\ni.icon.dropbox:before {\n  content: \"\\f16b\";\n}\n\ni.icon.stack.overflow:before {\n  content: \"\\f16c\";\n}\n\ni.icon.instagram:before {\n  content: \"\\f16d\";\n}\n\ni.icon.flickr:before {\n  content: \"\\f16e\";\n}\n\ni.icon.adn:before {\n  content: \"\\f170\";\n}\n\ni.icon.bitbucket:before {\n  content: \"\\f171\";\n}\n\ni.icon.bitbucket.square:before {\n  content: \"\\f172\";\n}\n\ni.icon.tumblr:before {\n  content: \"\\f173\";\n}\n\ni.icon.tumblr.square:before {\n  content: \"\\f174\";\n}\n\ni.icon.apple:before {\n  content: \"\\f179\";\n}\n\ni.icon.windows:before {\n  content: \"\\f17a\";\n}\n\ni.icon.android:before {\n  content: \"\\f17b\";\n}\n\ni.icon.linux:before {\n  content: \"\\f17c\";\n}\n\ni.icon.dribbble:before {\n  content: \"\\f17d\";\n}\n\ni.icon.skype:before {\n  content: \"\\f17e\";\n}\n\ni.icon.foursquare:before {\n  content: \"\\f180\";\n}\n\ni.icon.trello:before {\n  content: \"\\f181\";\n}\n\ni.icon.gittip:before {\n  content: \"\\f184\";\n}\n\ni.icon.vk:before {\n  content: \"\\f189\";\n}\n\ni.icon.weibo:before {\n  content: \"\\f18a\";\n}\n\ni.icon.renren:before {\n  content: \"\\f18b\";\n}\n\ni.icon.pagelines:before {\n  content: \"\\f18c\";\n}\n\ni.icon.stack.exchange:before {\n  content: \"\\f18d\";\n}\n\ni.icon.vimeo:before {\n  content: \"\\f194\";\n}\n\ni.icon.slack:before {\n  content: \"\\f198\";\n}\n\ni.icon.wordpress:before {\n  content: \"\\f19a\";\n}\n\ni.icon.yahoo:before {\n  content: \"\\f19e\";\n}\n\ni.icon.google:before {\n  content: \"\\f1a0\";\n}\n\ni.icon.reddit:before {\n  content: \"\\f1a1\";\n}\n\ni.icon.reddit.square:before {\n  content: \"\\f1a2\";\n}\n\ni.icon.stumbleupon.circle:before {\n  content: \"\\f1a3\";\n}\n\ni.icon.stumbleupon:before {\n  content: \"\\f1a4\";\n}\n\ni.icon.delicious:before {\n  content: \"\\f1a5\";\n}\n\ni.icon.digg:before {\n  content: \"\\f1a6\";\n}\n\ni.icon.pied.piper:before {\n  content: \"\\f1a7\";\n}\n\ni.icon.pied.piper.alternate:before {\n  content: \"\\f1a8\";\n}\n\ni.icon.drupal:before {\n  content: \"\\f1a9\";\n}\n\ni.icon.joomla:before {\n  content: \"\\f1aa\";\n}\n\ni.icon.behance:before {\n  content: \"\\f1b4\";\n}\n\ni.icon.behance.square:before {\n  content: \"\\f1b5\";\n}\n\ni.icon.steam:before {\n  content: \"\\f1b6\";\n}\n\ni.icon.steam.square:before {\n  content: \"\\f1b7\";\n}\n\ni.icon.spotify:before {\n  content: \"\\f1bc\";\n}\n\ni.icon.deviantart:before {\n  content: \"\\f1bd\";\n}\n\ni.icon.soundcloud:before {\n  content: \"\\f1be\";\n}\n\ni.icon.vine:before {\n  content: \"\\f1ca\";\n}\n\ni.icon.codepen:before {\n  content: \"\\f1cb\";\n}\n\ni.icon.jsfiddle:before {\n  content: \"\\f1cc\";\n}\n\ni.icon.rebel:before {\n  content: \"\\f1d0\";\n}\n\ni.icon.empire:before {\n  content: \"\\f1d1\";\n}\n\ni.icon.git.square:before {\n  content: \"\\f1d2\";\n}\n\ni.icon.git:before {\n  content: \"\\f1d3\";\n}\n\ni.icon.hacker.news:before {\n  content: \"\\f1d4\";\n}\n\ni.icon.tencent.weibo:before {\n  content: \"\\f1d5\";\n}\n\ni.icon.qq:before {\n  content: \"\\f1d6\";\n}\n\ni.icon.wechat:before {\n  content: \"\\f1d7\";\n}\n\ni.icon.slideshare:before {\n  content: \"\\f1e7\";\n}\n\ni.icon.twitch:before {\n  content: \"\\f1e8\";\n}\n\ni.icon.yelp:before {\n  content: \"\\f1e9\";\n}\n\ni.icon.lastfm:before {\n  content: \"\\f202\";\n}\n\ni.icon.lastfm.square:before {\n  content: \"\\f203\";\n}\n\ni.icon.ioxhost:before {\n  content: \"\\f208\";\n}\n\ni.icon.angellist:before {\n  content: \"\\f209\";\n}\n\ni.icon.meanpath:before {\n  content: \"\\f20c\";\n}\n\ni.icon.buysellads:before {\n  content: \"\\f20d\";\n}\n\ni.icon.connectdevelop:before {\n  content: \"\\f20e\";\n}\n\ni.icon.dashcube:before {\n  content: \"\\f210\";\n}\n\ni.icon.forumbee:before {\n  content: \"\\f211\";\n}\n\ni.icon.leanpub:before {\n  content: \"\\f212\";\n}\n\ni.icon.sellsy:before {\n  content: \"\\f213\";\n}\n\ni.icon.shirtsinbulk:before {\n  content: \"\\f214\";\n}\n\ni.icon.simplybuilt:before {\n  content: \"\\f215\";\n}\n\ni.icon.skyatlas:before {\n  content: \"\\f216\";\n}\n\ni.icon.whatsapp:before {\n  content: \"\\f232\";\n}\n\ni.icon.viacoin:before {\n  content: \"\\f237\";\n}\n\ni.icon.medium:before {\n  content: \"\\f23a\";\n}\n\n/*******************************\n            Aliases\n*******************************/\n\ni.icon.like:before {\n  content: \"\\f004\";\n}\n\ni.icon.favorite:before {\n  content: \"\\f005\";\n}\n\ni.icon.video:before {\n  content: \"\\f008\";\n}\n\ni.icon.check:before {\n  content: \"\\f00c\";\n}\n\ni.icon.close:before {\n  content: \"\\f00d\";\n}\n\ni.icon.cancel:before {\n  content: \"\\f00d\";\n}\n\ni.icon.delete:before {\n  content: \"\\f00d\";\n}\n\ni.icon.x:before {\n  content: \"\\f00d\";\n}\n\ni.icon.user.times:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.close:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.cancel:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.delete:before {\n  content: \"\\f235\";\n}\n\ni.icon.user.x:before {\n  content: \"\\f235\";\n}\n\ni.icon.zoom.in:before {\n  content: \"\\f00e\";\n}\n\ni.icon.magnify:before {\n  content: \"\\f00e\";\n}\n\ni.icon.shutdown:before {\n  content: \"\\f011\";\n}\n\ni.icon.clock:before {\n  content: \"\\f017\";\n}\n\ni.icon.time:before {\n  content: \"\\f017\";\n}\n\ni.icon.play.circle.outline:before {\n  content: \"\\f01d\";\n}\n\ni.icon.headphone:before {\n  content: \"\\f025\";\n}\n\ni.icon.camera:before {\n  content: \"\\f030\";\n}\n\ni.icon.video.camera:before {\n  content: \"\\f03d\";\n}\n\ni.icon.picture:before {\n  content: \"\\f03e\";\n}\n\ni.icon.pencil:before {\n  content: \"\\f040\";\n}\n\ni.icon.compose:before {\n  content: \"\\f040\";\n}\n\ni.icon.point:before {\n  content: \"\\f041\";\n}\n\ni.icon.tint:before {\n  content: \"\\f043\";\n}\n\ni.icon.signup:before {\n  content: \"\\f044\";\n}\n\ni.icon.plus.circle:before {\n  content: \"\\f055\";\n}\n\ni.icon.dont:before {\n  content: \"\\f05e\";\n}\n\ni.icon.minimize:before {\n  content: \"\\f066\";\n}\n\ni.icon.add:before {\n  content: \"\\f067\";\n}\n\ni.icon.eye:before {\n  content: \"\\f06e\";\n}\n\ni.icon.attention:before {\n  content: \"\\f06a\";\n}\n\ni.icon.cart:before {\n  content: \"\\f07a\";\n}\n\ni.icon.shuffle:before {\n  content: \"\\f074\";\n}\n\ni.icon.talk:before {\n  content: \"\\f075\";\n}\n\ni.icon.chat:before {\n  content: \"\\f075\";\n}\n\ni.icon.shopping.cart:before {\n  content: \"\\f07a\";\n}\n\ni.icon.bar.graph:before {\n  content: \"\\f080\";\n}\n\ni.icon.area.graph:before {\n  content: \"\\f1fe\";\n}\n\ni.icon.pie.graph:before {\n  content: \"\\f200\";\n}\n\ni.icon.line.graph:before {\n  content: \"\\f201\";\n}\n\ni.icon.key:before {\n  content: \"\\f084\";\n}\n\ni.icon.cogs:before {\n  content: \"\\f085\";\n}\n\ni.icon.discussions:before {\n  content: \"\\f086\";\n}\n\ni.icon.like.outline:before {\n  content: \"\\f087\";\n}\n\ni.icon.dislike.outline:before {\n  content: \"\\f088\";\n}\n\ni.icon.heart.outline:before {\n  content: \"\\f08a\";\n}\n\ni.icon.log.out:before {\n  content: \"\\f08b\";\n}\n\ni.icon.thumb.tack:before {\n  content: \"\\f08d\";\n}\n\ni.icon.winner:before {\n  content: \"\\f091\";\n}\n\ni.icon.bookmark.outline:before {\n  content: \"\\f097\";\n}\n\ni.icon.phone:before {\n  content: \"\\f095\";\n}\n\ni.icon.phone.square:before {\n  content: \"\\f098\";\n}\n\ni.icon.credit.card:before {\n  content: \"\\f09d\";\n}\n\ni.icon.hdd.outline:before {\n  content: \"\\f0a0\";\n}\n\ni.icon.bullhorn:before {\n  content: \"\\f0a1\";\n}\n\ni.icon.bell:before {\n  content: \"\\f0f3\";\n}\n\ni.icon.bell.outline:before {\n  content: \"\\f0a2\";\n}\n\ni.icon.bell.slash:before {\n  content: \"\\f1f6\";\n}\n\ni.icon.bell.slash.outline:before {\n  content: \"\\f1f7\";\n}\n\ni.icon.hand.outline.right:before {\n  content: \"\\f0a4\";\n}\n\ni.icon.hand.outline.left:before {\n  content: \"\\f0a5\";\n}\n\ni.icon.hand.outline.up:before {\n  content: \"\\f0a6\";\n}\n\ni.icon.hand.outline.down:before {\n  content: \"\\f0a7\";\n}\n\ni.icon.globe:before {\n  content: \"\\f0ac\";\n}\n\ni.icon.wrench:before {\n  content: \"\\f0ad\";\n}\n\ni.icon.briefcase:before {\n  content: \"\\f0b1\";\n}\n\ni.icon.group:before {\n  content: \"\\f0c0\";\n}\n\ni.icon.flask:before {\n  content: \"\\f0c3\";\n}\n\ni.icon.sidebar:before {\n  content: \"\\f0c9\";\n}\n\ni.icon.bars:before {\n  content: \"\\f0c9\";\n}\n\ni.icon.list.ul:before {\n  content: \"\\f0ca\";\n}\n\ni.icon.list.ol:before {\n  content: \"\\f0cb\";\n}\n\ni.icon.numbered.list:before {\n  content: \"\\f0cb\";\n}\n\ni.icon.magic:before {\n  content: \"\\f0d0\";\n}\n\ni.icon.truck:before {\n  content: \"\\f0d1\";\n}\n\ni.icon.currency:before {\n  content: \"\\f0d6\";\n}\n\ni.icon.triangle.down:before {\n  content: \"\\f0d7\";\n}\n\ni.icon.dropdown:before {\n  content: \"\\f0d7\";\n}\n\ni.icon.triangle.up:before {\n  content: \"\\f0d8\";\n}\n\ni.icon.triangle.left:before {\n  content: \"\\f0d9\";\n}\n\ni.icon.triangle.right:before {\n  content: \"\\f0da\";\n}\n\ni.icon.envelope:before {\n  content: \"\\f0e0\";\n}\n\ni.icon.conversation:before {\n  content: \"\\f0e6\";\n}\n\ni.icon.umbrella:before {\n  content: \"\\f0e9\";\n}\n\ni.icon.clipboard:before {\n  content: \"\\f0ea\";\n}\n\ni.icon.lightbulb:before {\n  content: \"\\f0eb\";\n}\n\ni.icon.ambulance:before {\n  content: \"\\f0f9\";\n}\n\ni.icon.medkit:before {\n  content: \"\\f0fa\";\n}\n\ni.icon.fighter.jet:before {\n  content: \"\\f0fb\";\n}\n\ni.icon.beer:before {\n  content: \"\\f0fc\";\n}\n\ni.icon.plus.square:before {\n  content: \"\\f0fe\";\n}\n\ni.icon.computer:before {\n  content: \"\\f108\";\n}\n\ni.icon.circle.outline:before {\n  content: \"\\f10c\";\n}\n\ni.icon.intersex:before {\n  content: \"\\f10c\";\n}\n\ni.icon.asexual:before {\n  content: \"\\f10c\";\n}\n\ni.icon.spinner:before {\n  content: \"\\f110\";\n}\n\ni.icon.gamepad:before {\n  content: \"\\f11b\";\n}\n\ni.icon.star.half.full:before {\n  content: \"\\f123\";\n}\n\ni.icon.question:before {\n  content: \"\\f128\";\n}\n\ni.icon.eraser:before {\n  content: \"\\f12d\";\n}\n\ni.icon.microphone:before {\n  content: \"\\f130\";\n}\n\ni.icon.microphone.slash:before {\n  content: \"\\f131\";\n}\n\ni.icon.shield:before {\n  content: \"\\f132\";\n}\n\ni.icon.target:before {\n  content: \"\\f140\";\n}\n\ni.icon.play.circle:before {\n  content: \"\\f144\";\n}\n\ni.icon.pencil.square:before {\n  content: \"\\f14b\";\n}\n\ni.icon.compass:before {\n  content: \"\\f14e\";\n}\n\ni.icon.amex:before {\n  content: \"\\f1f3\";\n}\n\ni.icon.eur:before {\n  content: \"\\f153\";\n}\n\ni.icon.gbp:before {\n  content: \"\\f154\";\n}\n\ni.icon.usd:before {\n  content: \"\\f155\";\n}\n\ni.icon.inr:before {\n  content: \"\\f156\";\n}\n\ni.icon.cny:before,\ni.icon.rmb:before,\ni.icon.jpy:before {\n  content: \"\\f157\";\n}\n\ni.icon.rouble:before,\ni.icon.rub:before {\n  content: \"\\f158\";\n}\n\ni.icon.krw:before {\n  content: \"\\f159\";\n}\n\ni.icon.btc:before {\n  content: \"\\f15a\";\n}\n\ni.icon.sheqel:before,\ni.icon.ils:before {\n  content: \"\\f20b\";\n}\n\ni.icon.try:before {\n  content: \"\\f195\";\n}\n\ni.icon.zip:before {\n  content: \"\\f187\";\n}\n\ni.icon.dot.circle.outline:before {\n  content: \"\\f192\";\n}\n\ni.icon.sliders:before {\n  content: \"\\f1de\";\n}\n\ni.icon.wi-fi:before {\n  content: \"\\f1eb\";\n}\n\ni.icon.graduation:before {\n  content: \"\\f19d\";\n}\n\ni.icon.weixin:before {\n  content: \"\\f1d7\";\n}\n\ni.icon.binoculars:before {\n  content: \"\\f1e5\";\n}\n\ni.icon.gratipay:before {\n  content: \"\\f184\";\n}\n\ni.icon.genderless:before {\n  content: \"\\f1db\";\n}\n\ni.icon.teletype:before {\n  content: \"\\f1e4\";\n}\n\ni.icon.power.cord:before {\n  content: \"\\f1e6\";\n}\n\ni.icon.tty:before {\n  content: \"\\f1e4\";\n}\n\ni.icon.cc:before {\n  content: \"\\f20a\";\n}\n\ni.icon.plus.cart:before {\n  content: \"\\f217\";\n}\n\ni.icon.arrow.down.cart:before {\n  content: \"\\f218\";\n}\n\ni.icon.detective:before {\n  content: \"\\f21b\";\n}\n\ni.icon.venus:before {\n  content: \"\\f221\";\n}\n\ni.icon.mars:before {\n  content: \"\\f222\";\n}\n\ni.icon.mercury:before {\n  content: \"\\f223\";\n}\n\ni.icon.venus.double:before {\n  content: \"\\f226\";\n}\n\ni.icon.female.homosexual:before {\n  content: \"\\f226\";\n}\n\ni.icon.mars.double:before {\n  content: \"\\f227\";\n}\n\ni.icon.male.homosexual:before {\n  content: \"\\f227\";\n}\n\ni.icon.venus.mars:before {\n  content: \"\\f228\";\n}\n\ni.icon.mars.stroke:before {\n  content: \"\\f229\";\n}\n\ni.icon.mars.alternate:before {\n  content: \"\\f229\";\n}\n\ni.icon.mars.vertical:before {\n  content: \"\\f22a\";\n}\n\ni.icon.mars.horizontal:before {\n  content: \"\\f22b\";\n}\n\ni.icon.mars.stroke.vertical:before {\n  content: \"\\f22a\";\n}\n\ni.icon.mars.stroke.horizontal:before {\n  content: \"\\f22b\";\n}\n\ni.icon.facebook.official {\n  content: \"\\f230\";\n}\n\ni.icon.pinterest.official {\n  content: \"\\f231\";\n}\n\ni.icon.bed:before {\n  content: \"\\f236\";\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Image\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Image\n*******************************/\n\n.ui.image {\n  position: relative;\n  display: inline-block;\n  vertical-align: middle;\n  max-width: 100%;\n  background-color: transparent;\n}\n\nimg.ui.image {\n  display: block;\n}\n\n.ui.image svg,\n.ui.image img {\n  display: block;\n  max-width: 100%;\n  height: auto;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.hidden.images,\n.ui.hidden.image {\n  display: none;\n}\n\n.ui.disabled.images,\n.ui.disabled.image {\n  cursor: default;\n  opacity: 0.45;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.image,\n.ui.inline.image svg,\n.ui.inline.image img {\n  display: inline-block;\n}\n\n/*------------------\n  Vertical Aligned\n-------------------*/\n\n.ui.top.aligned.images .image,\n.ui.top.aligned.image,\n.ui.top.aligned.image svg,\n.ui.top.aligned.image img {\n  display: inline-block;\n  vertical-align: top;\n}\n\n.ui.middle.aligned.images .image,\n.ui.middle.aligned.image,\n.ui.middle.aligned.image svg,\n.ui.middle.aligned.image img {\n  display: inline-block;\n  vertical-align: middle;\n}\n\n.ui.bottom.aligned.images .image,\n.ui.bottom.aligned.image,\n.ui.bottom.aligned.image svg,\n.ui.bottom.aligned.image img {\n  display: inline-block;\n  vertical-align: bottom;\n}\n\n/*--------------\n     Rounded\n---------------*/\n\n.ui.rounded.images .image,\n.ui.rounded.image,\n.ui.rounded.images .image > *,\n.ui.rounded.image > * {\n  border-radius: 0.3125em;\n}\n\n/*--------------\n    Bordered\n---------------*/\n\n.ui.bordered.images .image,\n.ui.bordered.images img,\n.ui.bordered.images svg,\n.ui.bordered.image img,\n.ui.bordered.image svg,\nimg.ui.bordered.image {\n  border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n/*--------------\n    Circular\n---------------*/\n\n.ui.circular.images,\n.ui.circular.image {\n  overflow: hidden;\n}\n\n.ui.circular.images .image,\n.ui.circular.image,\n.ui.circular.images .image > *,\n.ui.circular.image > * {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.images,\n.ui.fluid.image,\n.ui.fluid.images img,\n.ui.fluid.images svg,\n.ui.fluid.image svg,\n.ui.fluid.image img {\n  display: block;\n  width: 100%;\n  height: auto;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.avatar.images .image,\n.ui.avatar.images img,\n.ui.avatar.images svg,\n.ui.avatar.image img,\n.ui.avatar.image svg,\n.ui.avatar.image {\n  margin-right: 0.25em;\n  display: inline-block;\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*-------------------\n       Spaced\n--------------------*/\n\n.ui.spaced.image {\n  display: inline-block !important;\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n.ui[class*=\"left spaced\"].image {\n  margin-left: 0.5em;\n  margin-right: 0em;\n}\n\n.ui[class*=\"right spaced\"].image {\n  margin-left: 0em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.image,\n.ui.floated.images {\n  float: left;\n  margin-right: 1em;\n  margin-bottom: 1em;\n}\n\n.ui.right.floated.images,\n.ui.right.floated.image {\n  float: right;\n  margin-right: 0em;\n  margin-bottom: 1em;\n  margin-left: 1em;\n}\n\n.ui.floated.images:last-child,\n.ui.floated.image:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.centered.images,\n.ui.centered.image {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.images .image,\n.ui.mini.images img,\n.ui.mini.images svg,\n.ui.mini.image {\n  width: 35px;\n  height: auto;\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.images .image,\n.ui.tiny.images img,\n.ui.tiny.images svg,\n.ui.tiny.image {\n  width: 80px;\n  height: auto;\n  font-size: 0.85714286rem;\n}\n\n.ui.small.images .image,\n.ui.small.images img,\n.ui.small.images svg,\n.ui.small.image {\n  width: 150px;\n  height: auto;\n  font-size: 0.92857143rem;\n}\n\n.ui.medium.images .image,\n.ui.medium.images img,\n.ui.medium.images svg,\n.ui.medium.image {\n  width: 300px;\n  height: auto;\n  font-size: 1rem;\n}\n\n.ui.large.images .image,\n.ui.large.images img,\n.ui.large.images svg,\n.ui.large.image {\n  width: 450px;\n  height: auto;\n  font-size: 1.14285714rem;\n}\n\n.ui.big.images .image,\n.ui.big.images img,\n.ui.big.images svg,\n.ui.big.image {\n  width: 600px;\n  height: auto;\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.images .image,\n.ui.huge.images img,\n.ui.huge.images svg,\n.ui.huge.image {\n  width: 800px;\n  height: auto;\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.images .image,\n.ui.massive.images img,\n.ui.massive.images svg,\n.ui.massive.image {\n  width: 960px;\n  height: auto;\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n              Groups\n*******************************/\n\n.ui.images {\n  font-size: 0em;\n  margin: 0em -0.25rem 0rem;\n}\n\n.ui.images .image,\n.ui.images img,\n.ui.images svg {\n  display: inline-block;\n  margin: 0em 0.25rem 0.5rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Input\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Standard\n*******************************/\n\n/*--------------------\n        Inputs\n---------------------*/\n\n.ui.input {\n  position: relative;\n  font-weight: normal;\n  font-style: normal;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.input input {\n  margin: 0em;\n  max-width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-align: left;\n  line-height: 1.2142em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  padding: 0.67861429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, border-color 0.1s ease;\n  transition: box-shadow 0.1s ease, border-color 0.1s ease;\n  box-shadow: none;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n/* browsers require these rules separate */\n\n.ui.input input::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.input input::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.input input::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n        Disabled\n---------------------*/\n\n.ui.disabled.input,\n.ui.input input[disabled] {\n  opacity: 0.45;\n}\n\n.ui.disabled.input input {\n  pointer-events: none;\n}\n\n/*--------------------\n        Active\n---------------------*/\n\n.ui.input input:active,\n.ui.input.down input {\n  border-color: rgba(0, 0, 0, 0.3);\n  background: #FAFAFA;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.loading.input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.loading.loading.input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.input.focus input,\n.ui.input input:focus {\n  border-color: #85B7D9;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.8);\n  box-shadow: none;\n}\n\n.ui.input.focus input::-webkit-input-placeholder,\n.ui.input input:focus::-webkit-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.input.focus input::-moz-placeholder,\n.ui.input input:focus::-moz-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.input.focus input::-ms-input-placeholder,\n.ui.input input:focus::-ms-input-placeholder {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n.ui.input.error input {\n  background-color: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  box-shadow: none;\n}\n\n/* Error Placeholder */\n\n.ui.input.error input::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.input.error input::-moz-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.input.error input::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n\n/* Focused Error Placeholder */\n\n.ui.input.error input:focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n\n.ui.input.error input:focus::-moz-placeholder {\n  color: #da9796;\n}\n\n.ui.input.error input:focus::-ms-input-placeholder {\n  color: #da9796;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------------\n      Transparent\n---------------------*/\n\n.ui.transparent.input input {\n  border-color: transparent !important;\n  background-color: transparent !important;\n  padding: 0em !important;\n  box-shadow: none !important;\n}\n\n/* Transparent Icon */\n\n.ui.transparent.icon.input > i.icon {\n  width: 1.1em;\n}\n\n.ui.transparent.icon.input > input {\n  padding-left: 0em !important;\n  padding-right: 2em !important;\n}\n\n.ui.transparent[class*=\"left icon\"].input > input {\n  padding-left: 2em !important;\n  padding-right: 0em !important;\n}\n\n/* Transparent Inverted */\n\n.ui.transparent.inverted.input {\n  color: #FFFFFF;\n}\n\n.ui.transparent.inverted.input input {\n  color: inherit;\n}\n\n.ui.transparent.inverted.input input::-webkit-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.transparent.inverted.input input::-moz-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.transparent.inverted.input input::-ms-input-placeholder {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/*--------------------\n         Icon\n---------------------*/\n\n.ui.icon.input > i.icon {\n  cursor: default;\n  position: absolute;\n  line-height: 1;\n  text-align: center;\n  top: 0px;\n  right: 0px;\n  margin: 0em;\n  height: 100%;\n  width: 2.67142857em;\n  opacity: 0.5;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: opacity 0.3s ease;\n  transition: opacity 0.3s ease;\n}\n\n.ui.icon.input > i.icon:not(.link) {\n  pointer-events: none;\n}\n\n.ui.icon.input input {\n  padding-right: 2.67142857em !important;\n}\n\n.ui.icon.input > i.icon:before,\n.ui.icon.input > i.icon:after {\n  left: 0;\n  position: absolute;\n  text-align: center;\n  top: 50%;\n  width: 100%;\n  margin-top: -0.5em;\n}\n\n.ui.icon.input > i.link.icon {\n  cursor: pointer;\n}\n\n.ui.icon.input > i.circular.icon {\n  top: 0.35em;\n  right: 0.5em;\n}\n\n/* Left Icon Input */\n\n.ui[class*=\"left icon\"].input > i.icon {\n  right: auto;\n  left: 1px;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"left icon\"].input > i.circular.icon {\n  right: auto;\n  left: 0.5em;\n}\n\n.ui[class*=\"left icon\"].input > input {\n  padding-left: 2.67142857em !important;\n  padding-right: 1em !important;\n}\n\n/* Focus */\n\n.ui.icon.input > input:focus ~ i.icon {\n  opacity: 1;\n}\n\n/*--------------------\n        Labeled\n---------------------*/\n\n/* Adjacent Label */\n\n.ui.labeled.input > .label {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  margin: 0;\n  font-size: 1em;\n}\n\n.ui.labeled.input > .label:not(.corner) {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n}\n\n/* Regular Label on Left */\n\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child {\n  border-top-right-radius: 0px;\n  border-bottom-right-radius: 0px;\n}\n\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n  border-left-color: transparent;\n}\n\n.ui.labeled.input:not([class*=\"corner labeled\"]) .label:first-child + input:focus {\n  border-left-color: #85B7D9;\n}\n\n/* Regular Label on Right */\n\n.ui[class*=\"right labeled\"].input input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n\n.ui[class*=\"right labeled\"].input input + .label {\n  border-top-left-radius: 0px;\n  border-bottom-left-radius: 0px;\n}\n\n.ui[class*=\"right labeled\"].input input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Corner Label */\n\n.ui.labeled.input .corner.label {\n  top: 1px;\n  right: 1px;\n  font-size: 0.64285714em;\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Spacing with corner label */\n\n.ui[class*=\"corner labeled\"]:not([class*=\"left corner labeled\"]).labeled.input input {\n  padding-right: 2.5em !important;\n}\n\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > input {\n  padding-right: 3.25em !important;\n}\n\n.ui[class*=\"corner labeled\"].icon.input:not([class*=\"left corner labeled\"]) > .icon {\n  margin-right: 1.25em;\n}\n\n/* Left Labeled */\n\n.ui[class*=\"left corner labeled\"].labeled.input input {\n  padding-left: 2.5em !important;\n}\n\n.ui[class*=\"left corner labeled\"].icon.input > input {\n  padding-left: 3.25em !important;\n}\n\n.ui[class*=\"left corner labeled\"].icon.input > .icon {\n  margin-left: 1.25em;\n}\n\n/* Corner Label Position  */\n\n.ui.input > .ui.corner.label {\n  top: 1px;\n  right: 1px;\n}\n\n.ui.input > .ui.left.corner.label {\n  right: auto;\n  left: 1px;\n}\n\n/*--------------------\n        Action\n---------------------*/\n\n.ui.action.input > .button,\n.ui.action.input > .buttons {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n}\n\n.ui.action.input > .button,\n.ui.action.input > .buttons > .button {\n  padding-top: 0.78571429em;\n  padding-bottom: 0.78571429em;\n  margin: 0;\n}\n\n/* Button on Right */\n\n.ui.action.input:not([class*=\"left action\"]) > input {\n  border-top-right-radius: 0px !important;\n  border-bottom-right-radius: 0px !important;\n  border-right-color: transparent !important;\n}\n\n.ui.action.input:not([class*=\"left action\"]) > .dropdown,\n.ui.action.input:not([class*=\"left action\"]) > .button,\n.ui.action.input:not([class*=\"left action\"]) > .buttons > .button {\n  border-radius: 0px;\n}\n\n.ui.action.input:not([class*=\"left action\"]) > .dropdown:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .button:last-child,\n.ui.action.input:not([class*=\"left action\"]) > .buttons:last-child > .button {\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px;\n}\n\n/* Input Focus */\n\n.ui.action.input:not([class*=\"left action\"]) input:focus {\n  border-right-color: #85B7D9 !important;\n}\n\n/* Button on Left */\n\n.ui[class*=\"left action\"].input > input {\n  border-top-left-radius: 0px !important;\n  border-bottom-left-radius: 0px !important;\n  border-left-color: transparent !important;\n}\n\n.ui[class*=\"left action\"].input > .dropdown,\n.ui[class*=\"left action\"].input > .button,\n.ui[class*=\"left action\"].input > .buttons > .button {\n  border-radius: 0px;\n}\n\n.ui[class*=\"left action\"].input > .dropdown:first-child,\n.ui[class*=\"left action\"].input > .button:first-child,\n.ui[class*=\"left action\"].input > .buttons:first-child > .button {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Input Focus */\n\n.ui[class*=\"left action\"].input > input:focus {\n  border-left-color: #85B7D9 !important;\n}\n\n/*--------------------\n       Inverted\n---------------------*/\n\n/* Standard */\n\n.ui.inverted.input input {\n  border: none;\n}\n\n/*--------------------\n        Fluid\n---------------------*/\n\n.ui.fluid.input {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n.ui.fluid.input > input {\n  width: 0px !important;\n}\n\n/*--------------------\n        Size\n---------------------*/\n\n.ui.mini.input {\n  font-size: 0.71428571em;\n}\n\n.ui.small.input {\n  font-size: 0.92857143em;\n}\n\n.ui.input {\n  font-size: 1em;\n}\n\n.ui.large.input {\n  font-size: 1.14285714em;\n}\n\n.ui.big.input {\n  font-size: 1.28571429em;\n}\n\n.ui.huge.input {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.input {\n  font-size: 1.71428571em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Label\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Label\n*******************************/\n\n.ui.label {\n  display: inline-block;\n  line-height: 1;\n  vertical-align: baseline;\n  margin: 0em 0.14285714em;\n  background-color: #E8E8E8;\n  background-image: none;\n  padding: 0.5833em 0.833em;\n  color: rgba(0, 0, 0, 0.6);\n  text-transform: none;\n  font-weight: bold;\n  border: 0px solid transparent;\n  border-radius: 0.28571429rem;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n.ui.label:first-child {\n  margin-left: 0em;\n}\n\n.ui.label:last-child {\n  margin-right: 0em;\n}\n\n/* Link */\n\na.ui.label {\n  cursor: pointer;\n}\n\n/* Inside Link */\n\n.ui.label > a {\n  cursor: pointer;\n  color: inherit;\n  opacity: 0.5;\n  -webkit-transition: 0.1s opacity ease;\n  transition: 0.1s opacity ease;\n}\n\n.ui.label > a:hover {\n  opacity: 1;\n}\n\n/* Image */\n\n.ui.label > img {\n  width: auto !important;\n  vertical-align: middle;\n  height: 2.1666em !important;\n}\n\n/* Icon */\n\n.ui.label > .icon {\n  width: auto;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Detail */\n\n.ui.label > .detail {\n  display: inline-block;\n  vertical-align: top;\n  font-weight: bold;\n  margin-left: 1em;\n  opacity: 0.8;\n}\n\n.ui.label > .detail .icon {\n  margin: 0em 0.25em 0em 0em;\n}\n\n/* Removable label */\n\n.ui.label > .close.icon,\n.ui.label > .delete.icon {\n  cursor: pointer;\n  margin-right: 0em;\n  margin-left: 0.5em;\n  font-size: 0.92857143em;\n  opacity: 0.5;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n.ui.label > .delete.icon:hover {\n  opacity: 1;\n}\n\n/*-------------------\n       Group\n--------------------*/\n\n.ui.labels > .label {\n  margin: 0em 0.5em 0.5em 0em;\n}\n\n/*-------------------\n       Coupling\n--------------------*/\n\n.ui.header > .ui.label {\n  margin-top: -0.29165em;\n}\n\n/* Remove border radius on attached segment */\n\n.ui.attached.segment > .ui.top.left.attached.label,\n.ui.bottom.attached.segment > .ui.top.left.attached.label {\n  border-top-left-radius: 0;\n}\n\n.ui.attached.segment > .ui.top.right.attached.label,\n.ui.bottom.attached.segment > .ui.top.right.attached.label {\n  border-top-right-radius: 0;\n}\n\n.ui.top.attached.segment > .ui.bottom.left.attached.label {\n  border-bottom-left-radius: 0;\n}\n\n.ui.top.attached.segment > .ui.bottom.right.attached.label {\n  border-bottom-right-radius: 0;\n}\n\n/* Padding on next content after a label */\n\n.ui.top.attached.label:first-child + :not(.attached) {\n  margin-top: 2rem !important;\n}\n\n.ui.bottom.attached.label:first-child ~ :last-child:not(.attached) {\n  margin-top: 0em;\n  margin-bottom: 2rem !important;\n}\n\n/*******************************\n             Types\n*******************************/\n\n.ui.image.label {\n  width: auto !important;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  max-width: 9999px;\n  vertical-align: baseline;\n  text-transform: none;\n  background: #E8E8E8;\n  padding: 0.5833em 0.833em 0.5833em 0.5em;\n  border-radius: 0.28571429rem;\n  box-shadow: none;\n}\n\n.ui.image.label img {\n  display: inline-block;\n  vertical-align: top;\n  height: 2.1666em;\n  margin: -0.5833em 0.5em -0.5833em -0.5em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui.image.label .detail {\n  background: rgba(0, 0, 0, 0.1);\n  margin: -0.5833em -0.833em -0.5833em 0.5em;\n  padding: 0.5833em 0.833em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n/*-------------------\n         Tag\n--------------------*/\n\n.ui.tag.labels .label,\n.ui.tag.label {\n  margin-left: 1em;\n  position: relative;\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  -webkit-transition: none;\n  transition: none;\n}\n\n.ui.tag.labels .label:before,\n.ui.tag.label:before {\n  position: absolute;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  top: 50%;\n  right: 100%;\n  content: '';\n  background-color: inherit;\n  background-image: none;\n  width: 1.56em;\n  height: 1.56em;\n  -webkit-transition: none;\n  transition: none;\n}\n\n.ui.tag.labels .label:after,\n.ui.tag.label:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: -0.25em;\n  margin-top: -0.25em;\n  background-color: #FFFFFF !important;\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: 0 -1px 1px 0 rgba(0, 0, 0, 0.3);\n  border-radius: 500rem;\n}\n\n/*-------------------\n    Corner Label\n--------------------*/\n\n.ui.corner.label {\n  position: absolute;\n  top: 0em;\n  right: 0em;\n  margin: 0em;\n  padding: 0em;\n  text-align: center;\n  border-color: #E8E8E8;\n  width: 4em;\n  height: 4em;\n  z-index: 1;\n  -webkit-transition: border-color 0.1s ease;\n  transition: border-color 0.1s ease;\n}\n\n/* Icon Label */\n\n.ui.corner.label {\n  background-color: transparent !important;\n}\n\n.ui.corner.label:after {\n  position: absolute;\n  content: \"\";\n  right: 0em;\n  top: 0em;\n  z-index: -1;\n  width: 0em;\n  height: 0em;\n  background-color: transparent !important;\n  border-top: 0em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 4em solid transparent;\n  border-left: 0em solid transparent;\n  border-right-color: inherit;\n  -webkit-transition: border-color 0.1s ease;\n  transition: border-color 0.1s ease;\n}\n\n.ui.corner.label .icon {\n  cursor: default;\n  position: relative;\n  top: 0.64285714em;\n  left: 0.78571429em;\n  font-size: 1.14285714em;\n  margin: 0em;\n}\n\n/* Left Corner */\n\n.ui.left.corner.label,\n.ui.left.corner.label:after {\n  right: auto;\n  left: 0em;\n}\n\n.ui.left.corner.label:after {\n  border-top: 4em solid transparent;\n  border-right: 4em solid transparent;\n  border-bottom: 0em solid transparent;\n  border-left: 0em solid transparent;\n  border-top-color: inherit;\n}\n\n.ui.left.corner.label .icon {\n  left: -0.78571429em;\n}\n\n/* Segment */\n\n.ui.segment > .ui.corner.label {\n  top: -1px;\n  right: -1px;\n}\n\n.ui.segment > .ui.left.corner.label {\n  right: auto;\n  left: -1px;\n}\n\n/*-------------------\n       Ribbon\n--------------------*/\n\n.ui.ribbon.label {\n  position: relative;\n  margin: 0em;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n  border-color: rgba(0, 0, 0, 0.15);\n}\n\n.ui.ribbon.label:after {\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 0%;\n  background-color: transparent !important;\n  border-style: solid;\n  border-width: 0em 1.2em 1.2em 0em;\n  border-color: transparent;\n  border-right-color: inherit;\n  width: 0em;\n  height: 0em;\n}\n\n/* Positioning */\n\n.ui.ribbon.label {\n  left: calc( -1rem  -  1.2em );\n  margin-right: -1.2em;\n  padding-left: calc( 1rem  +  1.2em );\n  padding-right: 1.2em;\n}\n\n.ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  1rem  +  1.2em );\n  padding-left: 1.2em;\n  padding-right: calc( 1rem  +  1.2em );\n}\n\n/* Right Ribbon */\n\n.ui[class*=\"right ribbon\"].label {\n  text-align: left;\n  -webkit-transform: translateX(-100%);\n  -ms-transform: translateX(-100%);\n  transform: translateX(-100%);\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n.ui[class*=\"right ribbon\"].label:after {\n  left: auto;\n  right: 0%;\n  border-style: solid;\n  border-width: 1.2em 1.2em 0em 0em;\n  border-color: transparent;\n  border-top-color: inherit;\n}\n\n/* Inside Table */\n\n.ui.image > .ribbon.label,\n.ui.card .image > .ribbon.label {\n  position: absolute;\n  top: 1rem;\n}\n\n.ui.card .image > .ui.ribbon.label,\n.ui.image > .ui.ribbon.label {\n  left: calc( 0.05rem  -  1.2em );\n}\n\n.ui.card .image > .ui[class*=\"right ribbon\"].label,\n.ui.image > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  -0.05rem  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/* Inside Table */\n\n.ui.table td > .ui.ribbon.label {\n  left: calc( -0.71428571em  -  1.2em );\n}\n\n.ui.table td > .ui[class*=\"right ribbon\"].label {\n  left: calc(100% +  0.71428571em  +  1.2em );\n  padding-left: 0.833em;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n.ui[class*=\"top attached\"].label,\n.ui.attached.label {\n  width: 100%;\n  position: absolute;\n  margin: 0em;\n  top: 0em;\n  left: 0em;\n  padding: 0.75em 1em;\n  border-radius: 0.21428571rem 0.21428571rem 0em 0em;\n}\n\n.ui[class*=\"bottom attached\"].label {\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0em 0.21428571rem 0.21428571rem;\n}\n\n.ui[class*=\"top left attached\"].label {\n  width: auto;\n  margin-top: 0em !important;\n  border-radius: 0.21428571rem 0em 0.28571429rem 0em;\n}\n\n.ui[class*=\"top right attached\"].label {\n  width: auto;\n  left: auto;\n  right: 0em;\n  border-radius: 0em 0.21428571rem 0em 0.28571429rem;\n}\n\n.ui[class*=\"bottom left attached\"].label {\n  width: auto;\n  top: auto;\n  bottom: 0em;\n  border-radius: 0em 0.28571429rem 0em 0.21428571rem;\n}\n\n.ui[class*=\"bottom right attached\"].label {\n  top: auto;\n  bottom: 0em;\n  left: auto;\n  right: 0em;\n  width: auto;\n  border-radius: 0.28571429rem 0em 0.21428571rem 0em;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*-------------------\n      Disabled\n--------------------*/\n\n.ui.label.disabled {\n  opacity: 0.5;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\na.ui.labels .label:hover,\na.ui.label:hover {\n  background-color: #E0E0E0;\n  border-color: #E0E0E0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.labels a.label:hover:before,\na.ui.label:hover:before {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*-------------------\n        Active\n--------------------*/\n\n.ui.active.label {\n  background-color: #D0D0D0;\n  border-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.active.label:before {\n  background-color: #D0D0D0;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n     Active Hover\n--------------------*/\n\na.ui.labels .active.label:hover,\na.ui.active.label:hover {\n  background-color: #C8C8C8;\n  border-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.labels a.active.label:ActiveHover:before,\na.ui.active.label:ActiveHover:before {\n  background-color: #C8C8C8;\n  background-image: none;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*-------------------\n      Visible\n--------------------*/\n\n.ui.labels.visible .label,\n.ui.label.visible {\n  display: inline-block !important;\n}\n\n/*-------------------\n      Hidden\n--------------------*/\n\n.ui.labels.hidden .label,\n.ui.label.hidden {\n  display: none !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Colors\n--------------------*/\n\n/*--- Red ---*/\n\n.ui.red.labels .label,\n.ui.red.label {\n  background-color: #DB2828 !important;\n  border-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.red.labels .label:hover,\na.ui.red.label:hover {\n  background-color: #d01919 !important;\n  border-color: #d01919 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.red.corner.label,\n.ui.red.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.red.ribbon.label {\n  border-color: #b21e1e !important;\n}\n\n/* Basic */\n\n.ui.basic.red.label {\n  background-color: #FFFFFF !important;\n  color: #DB2828 !important;\n  border-color: #DB2828 !important;\n}\n\n.ui.basic.red.labels a.label:hover,\na.ui.basic.red.label:hover {\n  background-color: #FFFFFF !important;\n  color: #d01919 !important;\n  border-color: #d01919 !important;\n}\n\n/*--- Orange ---*/\n\n.ui.orange.labels .label,\n.ui.orange.label {\n  background-color: #F2711C !important;\n  border-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.orange.labels .label:hover,\na.ui.orange.label:hover {\n  background-color: #f26202 !important;\n  border-color: #f26202 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.orange.corner.label,\n.ui.orange.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.orange.ribbon.label {\n  border-color: #cf590c !important;\n}\n\n/* Basic */\n\n.ui.basic.orange.label {\n  background-color: #FFFFFF !important;\n  color: #F2711C !important;\n  border-color: #F2711C !important;\n}\n\n.ui.basic.orange.labels a.label:hover,\na.ui.basic.orange.label:hover {\n  background-color: #FFFFFF !important;\n  color: #f26202 !important;\n  border-color: #f26202 !important;\n}\n\n/*--- Yellow ---*/\n\n.ui.yellow.labels .label,\n.ui.yellow.label {\n  background-color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.yellow.labels .label:hover,\na.ui.yellow.label:hover {\n  background-color: #eaae00 !important;\n  border-color: #eaae00 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.yellow.corner.label,\n.ui.yellow.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.yellow.ribbon.label {\n  border-color: #cd9903 !important;\n}\n\n/* Basic */\n\n.ui.basic.yellow.label {\n  background-color: #FFFFFF !important;\n  color: #FBBD08 !important;\n  border-color: #FBBD08 !important;\n}\n\n.ui.basic.yellow.labels a.label:hover,\na.ui.basic.yellow.label:hover {\n  background-color: #FFFFFF !important;\n  color: #eaae00 !important;\n  border-color: #eaae00 !important;\n}\n\n/*--- Olive ---*/\n\n.ui.olive.labels .label,\n.ui.olive.label {\n  background-color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.olive.labels .label:hover,\na.ui.olive.label:hover {\n  background-color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.olive.corner.label,\n.ui.olive.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.olive.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n\n.ui.basic.olive.label {\n  background-color: #FFFFFF !important;\n  color: #B5CC18 !important;\n  border-color: #B5CC18 !important;\n}\n\n.ui.basic.olive.labels a.label:hover,\na.ui.basic.olive.label:hover {\n  background-color: #FFFFFF !important;\n  color: #a7bd0d !important;\n  border-color: #a7bd0d !important;\n}\n\n/*--- Green ---*/\n\n.ui.green.labels .label,\n.ui.green.label {\n  background-color: #21BA45 !important;\n  border-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.green.labels .label:hover,\na.ui.green.label:hover {\n  background-color: #16ab39 !important;\n  border-color: #16ab39 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.green.corner.label,\n.ui.green.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.green.ribbon.label {\n  border-color: #198f35 !important;\n}\n\n/* Basic */\n\n.ui.basic.green.label {\n  background-color: #FFFFFF !important;\n  color: #21BA45 !important;\n  border-color: #21BA45 !important;\n}\n\n.ui.basic.green.labels a.label:hover,\na.ui.basic.green.label:hover {\n  background-color: #FFFFFF !important;\n  color: #16ab39 !important;\n  border-color: #16ab39 !important;\n}\n\n/*--- Teal ---*/\n\n.ui.teal.labels .label,\n.ui.teal.label {\n  background-color: #00B5AD !important;\n  border-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.teal.labels .label:hover,\na.ui.teal.label:hover {\n  background-color: #009c95 !important;\n  border-color: #009c95 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.teal.corner.label,\n.ui.teal.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.teal.ribbon.label {\n  border-color: #00827c !important;\n}\n\n/* Basic */\n\n.ui.basic.teal.label {\n  background-color: #FFFFFF !important;\n  color: #00B5AD !important;\n  border-color: #00B5AD !important;\n}\n\n.ui.basic.teal.labels a.label:hover,\na.ui.basic.teal.label:hover {\n  background-color: #FFFFFF !important;\n  color: #009c95 !important;\n  border-color: #009c95 !important;\n}\n\n/*--- Blue ---*/\n\n.ui.blue.labels .label,\n.ui.blue.label {\n  background-color: #2185D0 !important;\n  border-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.blue.labels .label:hover,\na.ui.blue.label:hover {\n  background-color: #1678c2 !important;\n  border-color: #1678c2 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.blue.corner.label,\n.ui.blue.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.blue.ribbon.label {\n  border-color: #1a69a4 !important;\n}\n\n/* Basic */\n\n.ui.basic.blue.label {\n  background-color: #FFFFFF !important;\n  color: #2185D0 !important;\n  border-color: #2185D0 !important;\n}\n\n.ui.basic.blue.labels a.label:hover,\na.ui.basic.blue.label:hover {\n  background-color: #FFFFFF !important;\n  color: #1678c2 !important;\n  border-color: #1678c2 !important;\n}\n\n/*--- Violet ---*/\n\n.ui.violet.labels .label,\n.ui.violet.label {\n  background-color: #6435C9 !important;\n  border-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.violet.labels .label:hover,\na.ui.violet.label:hover {\n  background-color: #5829bb !important;\n  border-color: #5829bb !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.violet.corner.label,\n.ui.violet.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.violet.ribbon.label {\n  border-color: #502aa1 !important;\n}\n\n/* Basic */\n\n.ui.basic.violet.label {\n  background-color: #FFFFFF !important;\n  color: #6435C9 !important;\n  border-color: #6435C9 !important;\n}\n\n.ui.basic.violet.labels a.label:hover,\na.ui.basic.violet.label:hover {\n  background-color: #FFFFFF !important;\n  color: #5829bb !important;\n  border-color: #5829bb !important;\n}\n\n/*--- Purple ---*/\n\n.ui.purple.labels .label,\n.ui.purple.label {\n  background-color: #A333C8 !important;\n  border-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.purple.labels .label:hover,\na.ui.purple.label:hover {\n  background-color: #9627ba !important;\n  border-color: #9627ba !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.purple.corner.label,\n.ui.purple.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.purple.ribbon.label {\n  border-color: #82299f !important;\n}\n\n/* Basic */\n\n.ui.basic.purple.label {\n  background-color: #FFFFFF !important;\n  color: #A333C8 !important;\n  border-color: #A333C8 !important;\n}\n\n.ui.basic.purple.labels a.label:hover,\na.ui.basic.purple.label:hover {\n  background-color: #FFFFFF !important;\n  color: #9627ba !important;\n  border-color: #9627ba !important;\n}\n\n/*--- Pink ---*/\n\n.ui.pink.labels .label,\n.ui.pink.label {\n  background-color: #E03997 !important;\n  border-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.pink.labels .label:hover,\na.ui.pink.label:hover {\n  background-color: #e61a8d !important;\n  border-color: #e61a8d !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.pink.corner.label,\n.ui.pink.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.pink.ribbon.label {\n  border-color: #c71f7e !important;\n}\n\n/* Basic */\n\n.ui.basic.pink.label {\n  background-color: #FFFFFF !important;\n  color: #E03997 !important;\n  border-color: #E03997 !important;\n}\n\n.ui.basic.pink.labels a.label:hover,\na.ui.basic.pink.label:hover {\n  background-color: #FFFFFF !important;\n  color: #e61a8d !important;\n  border-color: #e61a8d !important;\n}\n\n/*--- Brown ---*/\n\n.ui.brown.labels .label,\n.ui.brown.label {\n  background-color: #A5673F !important;\n  border-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.brown.labels .label:hover,\na.ui.brown.label:hover {\n  background-color: #975b33 !important;\n  border-color: #975b33 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.brown.corner.label,\n.ui.brown.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.brown.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n\n.ui.basic.brown.label {\n  background-color: #FFFFFF !important;\n  color: #A5673F !important;\n  border-color: #A5673F !important;\n}\n\n.ui.basic.brown.labels a.label:hover,\na.ui.basic.brown.label:hover {\n  background-color: #FFFFFF !important;\n  color: #975b33 !important;\n  border-color: #975b33 !important;\n}\n\n/*--- Grey ---*/\n\n.ui.grey.labels .label,\n.ui.grey.label {\n  background-color: #767676 !important;\n  border-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.grey.labels .label:hover,\na.ui.grey.label:hover {\n  background-color: #838383 !important;\n  border-color: #838383 !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.grey.corner.label,\n.ui.grey.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.grey.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n\n.ui.basic.grey.label {\n  background-color: #FFFFFF !important;\n  color: #767676 !important;\n  border-color: #767676 !important;\n}\n\n.ui.basic.grey.labels a.label:hover,\na.ui.basic.grey.label:hover {\n  background-color: #FFFFFF !important;\n  color: #838383 !important;\n  border-color: #838383 !important;\n}\n\n/*--- Black ---*/\n\n.ui.black.labels .label,\n.ui.black.label {\n  background-color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/* Link */\n\n.ui.black.labels .label:hover,\na.ui.black.label:hover {\n  background-color: #27292a !important;\n  border-color: #27292a !important;\n  color: #FFFFFF !important;\n}\n\n/* Corner */\n\n.ui.black.corner.label,\n.ui.black.corner.label:hover {\n  background-color: transparent !important;\n}\n\n/* Ribbon */\n\n.ui.black.ribbon.label {\n  border-color: #805031 !important;\n}\n\n/* Basic */\n\n.ui.basic.black.label {\n  background-color: #FFFFFF !important;\n  color: #1B1C1D !important;\n  border-color: #1B1C1D !important;\n}\n\n.ui.basic.black.labels a.label:hover,\na.ui.basic.black.label:hover {\n  background-color: #FFFFFF !important;\n  color: #27292a !important;\n  border-color: #27292a !important;\n}\n\n/*-------------------\n        Basic\n--------------------*/\n\n.ui.basic.label {\n  background: none #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/* Link */\n\na.ui.basic.label:hover {\n  text-decoration: none;\n  background: none #FFFFFF;\n  color: #1e70bf;\n  box-shadow: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n/* Pointing */\n\n.ui.basic.pointing.label:before {\n  border-color: inherit;\n}\n\n/*-------------------\n       Fluid\n--------------------*/\n\n.ui.label.fluid,\n.ui.fluid.labels > .label {\n  width: 100%;\n  box-sizing: border-box;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.labels .label,\n.ui.inverted.label {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n/*-------------------\n     Horizontal\n--------------------*/\n\n.ui.horizontal.labels .label,\n.ui.horizontal.label {\n  margin: 0em 0.5em 0em 0em;\n  padding: 0.4em 0.833em;\n  min-width: 3em;\n  text-align: center;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.labels .label,\n.ui.circular.label {\n  min-width: 2em;\n  min-height: 2em;\n  padding: 0.5em !important;\n  line-height: 1em;\n  text-align: center;\n  border-radius: 500rem;\n}\n\n.ui.empty.circular.labels .label,\n.ui.empty.circular.label {\n  min-width: 0em;\n  min-height: 0em;\n  overflow: hidden;\n  width: 0.5em;\n  height: 0.5em;\n  vertical-align: baseline;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.label {\n  position: relative;\n}\n\n.ui.attached.pointing.label {\n  position: absolute;\n}\n\n.ui.pointing.label:before {\n  background-color: inherit;\n  background-image: inherit;\n  border-width: none;\n  border-style: solid;\n  border-color: inherit;\n}\n\n/* Arrow */\n\n.ui.pointing.label:before {\n  position: absolute;\n  content: '';\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n  background-image: none;\n  z-index: 2;\n  width: 0.6666em;\n  height: 0.6666em;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n/*--- Above ---*/\n\n.ui.pointing.label,\n.ui[class*=\"pointing above\"].label {\n  margin-top: 1em;\n}\n\n.ui.pointing.label:before,\n.ui[class*=\"pointing above\"].label:before {\n  border-width: 1px 0px 0px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 0%;\n  left: 50%;\n}\n\n/*--- Below ---*/\n\n.ui[class*=\"bottom pointing\"].label,\n.ui[class*=\"pointing below\"].label {\n  margin-top: 0em;\n  margin-bottom: 1em;\n}\n\n.ui[class*=\"bottom pointing\"].label:before,\n.ui[class*=\"pointing below\"].label:before {\n  border-width: 0px 1px 1px 0px;\n  top: auto;\n  right: auto;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  top: 100%;\n  left: 50%;\n}\n\n/*--- Left ---*/\n\n.ui[class*=\"left pointing\"].label {\n  margin-top: 0em;\n  margin-left: 0.6666em;\n}\n\n.ui[class*=\"left pointing\"].label:before {\n  border-width: 0px 0px 1px 1px;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n/*--- Right ---*/\n\n.ui[class*=\"right pointing\"].label {\n  margin-top: 0em;\n  margin-right: 0.6666em;\n}\n\n.ui[class*=\"right pointing\"].label:before {\n  border-width: 1px 1px 0px 0px;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  transform: translateX(50%) translateY(-50%) rotate(45deg);\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n}\n\n/* Basic Pointing */\n\n/*--- Above ---*/\n\n.ui.basic.pointing.label:before,\n.ui.basic[class*=\"pointing above\"].label:before {\n  margin-top: -1px;\n}\n\n/*--- Below ---*/\n\n.ui.basic[class*=\"bottom pointing\"].label:before,\n.ui.basic[class*=\"pointing below\"].label:before {\n  bottom: auto;\n  top: 100%;\n  margin-top: 1px;\n}\n\n/*--- Left ---*/\n\n.ui.basic[class*=\"left pointing\"].label:before {\n  top: 50%;\n  left: -1px;\n}\n\n/*--- Right ---*/\n\n.ui.basic[class*=\"right pointing\"].label:before {\n  top: 50%;\n  right: -1px;\n}\n\n/*------------------\n   Floating Label\n-------------------*/\n\n.ui.floating.label {\n  position: absolute;\n  z-index: 100;\n  top: -1em;\n  left: 100%;\n  margin: 0em 0em 0em -1.5em !important;\n}\n\n/*-------------------\n        Sizes\n--------------------*/\n\n.ui.mini.labels .label,\n.ui.mini.label {\n  font-size: 0.64285714rem;\n}\n\n.ui.tiny.labels .label,\n.ui.tiny.label {\n  font-size: 0.71428571rem;\n}\n\n.ui.small.labels .label,\n.ui.small.label {\n  font-size: 0.78571429rem;\n}\n\n.ui.labels .label,\n.ui.label {\n  font-size: 0.85714286rem;\n}\n\n.ui.large.labels .label,\n.ui.large.label {\n  font-size: 1rem;\n}\n\n.ui.big.labels .label,\n.ui.big.label {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.labels .label,\n.ui.huge.label {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.labels .label,\n.ui.massive.label {\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - List\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            List\n*******************************/\n\nul.ui.list,\nol.ui.list,\n.ui.list {\n  list-style-type: none;\n  margin: 1em 0em;\n  padding: 0em 0em;\n}\n\nul.ui.list:first-child,\nol.ui.list:first-child,\n.ui.list:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\n\nul.ui.list:last-child,\nol.ui.list:last-child,\n.ui.list:last-child {\n  margin-bottom: 0em;\n  padding-bottom: 0em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* List Item */\n\nul.ui.list li,\nol.ui.list li,\n.ui.list > .item,\n.ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\n\nul.ui.list > li:first-child:after,\nol.ui.list > li:first-child:after,\n.ui.list > .list > .item,\n.ui.list > .item:after {\n  content: '';\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\nul.ui.list li:first-child,\nol.ui.list li:first-child,\n.ui.list .list > .item:first-child,\n.ui.list > .item:first-child {\n  padding-top: 0em;\n}\n\nul.ui.list li:last-child,\nol.ui.list li:last-child,\n.ui.list .list > .item:last-child,\n.ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n/* Child List */\n\nul.ui.list ul,\nol.ui.list ol,\n.ui.list .list {\n  clear: both;\n  margin: 0em;\n  padding: 0.75em 0em 0.25em 0.5em;\n}\n\n/* Child Item */\n\nul.ui.list ul li,\nol.ui.list ol li,\n.ui.list .list > .item {\n  padding: 0.14285714em 0em;\n  line-height: inherit;\n}\n\n/* Icon */\n\n.ui.list .list > .item > i.icon,\n.ui.list > .item > i.icon {\n  display: table-cell;\n  margin: 0em;\n  padding-top: 0.07142857em;\n  padding-right: 0.28571429em;\n  vertical-align: top;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.list .list > .item > i.icon:only-child,\n.ui.list > .item > i.icon:only-child {\n  display: inline-block;\n  vertical-align: top;\n}\n\n/* Image */\n\n.ui.list .list > .item > .image,\n.ui.list > .item > .image {\n  display: table-cell;\n  background-color: transparent;\n  margin: 0em;\n  vertical-align: top;\n}\n\n.ui.list .list > .item > .image:not(:only-child):not(img),\n.ui.list > .item > .image:not(:only-child):not(img) {\n  padding-right: 0.5em;\n}\n\n.ui.list .list > .item > .image img,\n.ui.list > .item > .image img {\n  vertical-align: top;\n}\n\n.ui.list .list > .item > img.image,\n.ui.list .list > .item > .image:only-child,\n.ui.list > .item > img.image,\n.ui.list > .item > .image:only-child {\n  display: inline-block;\n}\n\n/* Content */\n\n.ui.list .list > .item > .content,\n.ui.list > .item > .content {\n  line-height: 1.14285714em;\n}\n\n.ui.list .list > .item > .image + .content,\n.ui.list .list > .item > .icon + .content,\n.ui.list > .item > .image + .content,\n.ui.list > .item > .icon + .content {\n  display: table-cell;\n  padding: 0em 0em 0em 0.5em;\n  vertical-align: top;\n}\n\n.ui.list .list > .item > img.image + .content,\n.ui.list > .item > img.image + .content {\n  display: inline-block;\n}\n\n.ui.list .list > .item > .content > .list,\n.ui.list > .item > .content > .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n\n/* Header */\n\n.ui.list .list > .item .header,\n.ui.list > .item .header {\n  display: block;\n  margin: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Description */\n\n.ui.list .list > .item .description,\n.ui.list > .item .description {\n  display: block;\n  color: rgba(0, 0, 0, 0.7);\n}\n\n/* Child Link */\n\n.ui.list > .item a,\n.ui.list .list > .item a {\n  cursor: pointer;\n}\n\n/* Linking Item */\n\n.ui.list .list > a.item,\n.ui.list > a.item {\n  cursor: pointer;\n  color: #4183C4;\n}\n\n.ui.list .list > a.item:hover,\n.ui.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linked Item Icons */\n\n.ui.list .list > a.item i.icon,\n.ui.list > a.item i.icon {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Header Link */\n\n.ui.list .list > .item a.header,\n.ui.list > .item a.header {\n  cursor: pointer;\n  color: #4183C4 !important;\n}\n\n.ui.list .list > .item a.header:hover,\n.ui.list > .item a.header:hover {\n  color: #1e70bf !important;\n}\n\n/* Floated Content */\n\n.ui[class*=\"left floated\"].list {\n  float: left;\n}\n\n.ui[class*=\"right floated\"].list {\n  float: right;\n}\n\n.ui.list .list > .item [class*=\"left floated\"],\n.ui.list > .item [class*=\"left floated\"] {\n  float: left;\n  margin: 0em 1em 0em 0em;\n}\n\n.ui.list .list > .item [class*=\"right floated\"],\n.ui.list > .item [class*=\"right floated\"] {\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.menu .ui.list > .item,\n.ui.menu .ui.list .list > .item {\n  display: list-item;\n  table-layout: fixed;\n  background-color: transparent;\n  list-style-type: none;\n  list-style-position: outside;\n  padding: 0.21428571em 0em;\n  line-height: 1.14285714em;\n}\n\n.ui.menu .ui.list .list > .item:before,\n.ui.menu .ui.list > .item:before {\n  border: none;\n  background: none;\n}\n\n.ui.menu .ui.list .list > .item:first-child,\n.ui.menu .ui.list > .item:first-child {\n  padding-top: 0em;\n}\n\n.ui.menu .ui.list .list > .item:last-child,\n.ui.menu .ui.list > .item:last-child {\n  padding-bottom: 0em;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*-------------------\n      Horizontal\n--------------------*/\n\n.ui.horizontal.list {\n  display: inline-block;\n  font-size: 0em;\n}\n\n.ui.horizontal.list > .item {\n  display: inline-block;\n  margin-left: 1em;\n  font-size: 1rem;\n}\n\n.ui.horizontal.list:not(.celled) > .item:first-child {\n  margin-left: 0em !important;\n  padding-left: 0em !important;\n}\n\n.ui.horizontal.list .list {\n  padding-left: 0em;\n  padding-bottom: 0em;\n}\n\n.ui.horizontal.list > .item > .image,\n.ui.horizontal.list .list > .item > .image,\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list .list > .item > .icon,\n.ui.horizontal.list > .item > .content,\n.ui.horizontal.list .list > .item > .content {\n  vertical-align: middle;\n}\n\n/* Padding on all elements */\n\n.ui.horizontal.list > .item:first-child,\n.ui.horizontal.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Horizontal List */\n\n.ui.horizontal.list > .item > i.icon {\n  margin: 0em;\n  padding: 0em 0.25em 0em 0em;\n}\n\n.ui.horizontal.list > .item > .icon,\n.ui.horizontal.list > .item > .icon + .content {\n  float: none;\n  display: inline-block;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*-------------------\n       Disabled\n--------------------*/\n\n.ui.list .list > .disabled.item,\n.ui.list > .disabled.item {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3) !important;\n}\n\n.ui.inverted.list .list > .disabled.item,\n.ui.inverted.list > .disabled.item {\n  color: rgba(225, 225, 225, 0.3) !important;\n}\n\n/*-------------------\n        Hover\n--------------------*/\n\n.ui.list .list > a.item:hover .icon,\n.ui.list > a.item:hover .icon {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.list .list > a.item > .icon,\n.ui.inverted.list > a.item > .icon {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n.ui.inverted.list .list > .item .header,\n.ui.inverted.list > .item .header {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.list .list > .item .description,\n.ui.inverted.list > .item .description {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Item Link */\n\n.ui.inverted.list .list > a.item,\n.ui.inverted.list > a.item {\n  cursor: pointer;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.list .list > a.item:hover,\n.ui.inverted.list > a.item:hover {\n  color: #1e70bf;\n}\n\n/* Linking Content */\n\n.ui.inverted.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.9) !important;\n}\n\n.ui.inverted.list .item a:not(.ui):hover {\n  color: #1e70bf !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.list[class*=\"top aligned\"] .image,\n.ui.list[class*=\"top aligned\"] .content,\n.ui.list [class*=\"top aligned\"] {\n  vertical-align: top !important;\n}\n\n.ui.list[class*=\"middle aligned\"] .image,\n.ui.list[class*=\"middle aligned\"] .content,\n.ui.list [class*=\"middle aligned\"] {\n  vertical-align: middle !important;\n}\n\n.ui.list[class*=\"bottom aligned\"] .image,\n.ui.list[class*=\"bottom aligned\"] .content,\n.ui.list [class*=\"bottom aligned\"] {\n  vertical-align: bottom !important;\n}\n\n/*-------------------\n       Link\n--------------------*/\n\n.ui.link.list .item,\n.ui.link.list a.item,\n.ui.link.list .item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n  -webkit-transition: 0.1s color ease;\n  transition: 0.1s color ease;\n}\n\n.ui.link.list a.item:hover,\n.ui.link.list .item a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.link.list a.item:active,\n.ui.link.list .item a:not(.ui):active {\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.ui.link.list .active.item,\n.ui.link.list .active.item a:not(.ui) {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.inverted.link.list .item,\n.ui.inverted.link.list a.item,\n.ui.inverted.link.list .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.inverted.link.list a.item:hover,\n.ui.inverted.link.list .item a:not(.ui):hover {\n  color: #ffffff;\n}\n\n.ui.inverted.link.list a.item:active,\n.ui.inverted.link.list .item a:not(.ui):active {\n  color: #ffffff;\n}\n\n.ui.inverted.link.list a.active.item,\n.ui.inverted.link.list .active.item a:not(.ui) {\n  color: #ffffff;\n}\n\n/*-------------------\n      Selection\n--------------------*/\n\n.ui.selection.list .list > .item,\n.ui.selection.list > .item {\n  cursor: pointer;\n  background: transparent;\n  padding: 0.5em 0.5em;\n  margin: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  border-radius: 0.5em;\n  -webkit-transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n  transition: 0.1s color ease, 0.1s padding-left ease, 0.1s background-color ease;\n}\n\n.ui.selection.list .list > .item:last-child,\n.ui.selection.list > .item:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.selection.list.list > .item:hover,\n.ui.selection.list > .item:hover {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.selection.list .list > .item:active,\n.ui.selection.list > .item:active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.9);\n}\n\n.ui.selection.list .list > .item.active,\n.ui.selection.list > .item.active {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.inverted.selection.list > .item,\n.ui.inverted.selection.list > .item {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.5);\n}\n\n.ui.inverted.selection.list > .item:hover,\n.ui.inverted.selection.list > .item:hover {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n\n.ui.inverted.selection.list > .item:active,\n.ui.inverted.selection.list > .item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n.ui.inverted.selection.list > .item.active,\n.ui.inverted.selection.list > .item.active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/* Celled / Divided Selection List */\n\n.ui.celled.selection.list .list > .item,\n.ui.divided.selection.list .list > .item,\n.ui.celled.selection.list > .item,\n.ui.divided.selection.list > .item {\n  border-radius: 0em;\n}\n\n/*-------------------\n       Animated\n--------------------*/\n\n.ui.animated.list > .item {\n  -webkit-transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n  transition: 0.25s color ease 0.1s, 0.25s padding-left ease 0.1s, 0.25s background-color ease 0.1s;\n}\n\n.ui.animated.list:not(.horizontal) > .item:hover {\n  padding-left: 1em;\n}\n\n/*-------------------\n       Fitted\n--------------------*/\n\n.ui.fitted.list:not(.selection) .list > .item,\n.ui.fitted.list:not(.selection) > .item {\n  padding-left: 0em;\n  padding-right: 0em;\n}\n\n.ui.fitted.selection.list .list > .item,\n.ui.fitted.selection.list > .item {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n/*-------------------\n      Bulleted\n--------------------*/\n\nul.ui.list,\n.ui.bulleted.list {\n  margin-left: 1.25rem;\n}\n\nul.ui.list li,\n.ui.bulleted.list .list > .item,\n.ui.bulleted.list > .item {\n  position: relative;\n}\n\nul.ui.list li:before,\n.ui.bulleted.list .list > .item:before,\n.ui.bulleted.list > .item:before {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  pointer-events: none;\n  position: absolute;\n  top: auto;\n  left: auto;\n  margin-left: -1.25rem;\n  content: '•';\n  opacity: 1;\n  color: inherit;\n  vertical-align: top;\n}\n\nul.ui.list ul,\n.ui.bulleted.list .list {\n  padding-left: 1.25rem;\n}\n\n/* Horizontal Bulleted */\n\nul.ui.horizontal.bulleted.list,\n.ui.horizontal.bulleted.list {\n  margin-left: 0em;\n}\n\nul.ui.horizontal.bulleted.list li,\n.ui.horizontal.bulleted.list > .item {\n  margin-left: 1.75rem;\n}\n\nul.ui.horizontal.bulleted.list li:first-child,\n.ui.horizontal.bulleted.list > .item:first-child {\n  margin-left: 0em;\n}\n\nul.ui.horizontal.bulleted.list li::before,\n.ui.horizontal.bulleted.list > .item::before {\n  color: rgba(0, 0, 0, 0.87);\n}\n\nul.ui.horizontal.bulleted.list li:first-child::before,\n.ui.horizontal.bulleted.list > .item:first-child::before {\n  display: none;\n}\n\n/*-------------------\n       Ordered\n--------------------*/\n\nol.ui.list,\n.ui.ordered.list,\n.ui.ordered.list .list,\nol.ui.list ol {\n  counter-reset: ordered;\n  margin-left: 1.25rem;\n  list-style-type: none;\n}\n\nol.ui.list li,\n.ui.ordered.list .list > .item,\n.ui.ordered.list > .item {\n  list-style-type: none;\n  position: relative;\n}\n\nol.ui.list li:before,\n.ui.ordered.list .list > .item:before,\n.ui.ordered.list > .item:before {\n  position: absolute;\n  top: auto;\n  left: auto;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  pointer-events: none;\n  margin-left: -1.25rem;\n  counter-increment: ordered;\n  content: counters(ordered, \".\") \" \";\n  text-align: right;\n  color: rgba(0, 0, 0, 0.87);\n  vertical-align: middle;\n  opacity: 0.8;\n}\n\nol.ui.inverted.list li:before,\n.ui.ordered.inverted.list .list > .item:before,\n.ui.ordered.inverted.list > .item:before {\n  color: rgba(255, 255, 255, 0.7);\n}\n\n/* Value */\n\n.ui.ordered.list > .list > .item[data-value],\n.ui.ordered.list > .item[data-value] {\n  content: attr(data-value);\n}\n\nol.ui.list li[value]:before {\n  content: attr(value);\n}\n\n/* Child Lists */\n\nol.ui.list ol,\n.ui.ordered.list .list {\n  margin-left: 1em;\n}\n\nol.ui.list ol li:before,\n.ui.ordered.list .list > .item:before {\n  margin-left: -2em;\n}\n\n/* Horizontal Ordered */\n\nol.ui.horizontal.list,\n.ui.ordered.horizontal.list {\n  margin-left: 0em;\n}\n\nol.ui.horizontal.list li:before,\n.ui.ordered.horizontal.list .list > .item:before,\n.ui.ordered.horizontal.list > .item:before {\n  position: static;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*-------------------\n       Divided\n--------------------*/\n\n.ui.divided.list > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.divided.list .list > .item {\n  border-top: none;\n}\n\n.ui.divided.list .item .list > .item {\n  border-top: none;\n}\n\n.ui.divided.list .list > .item:first-child,\n.ui.divided.list > .item:first-child {\n  border-top: none;\n}\n\n/* Sub Menu */\n\n.ui.divided.list:not(.horizontal) .list > .item:first-child {\n  border-top-width: 1px;\n}\n\n/* Divided bulleted */\n\n.ui.divided.bulleted.list:not(.horizontal),\n.ui.divided.bulleted.list .list {\n  margin-left: 0em;\n  padding-left: 0em;\n}\n\n.ui.divided.bulleted.list > .item:not(.horizontal) {\n  padding-left: 1.25rem;\n}\n\n/* Divided Ordered */\n\n.ui.divided.ordered.list {\n  margin-left: 0em;\n}\n\n.ui.divided.ordered.list .list > .item,\n.ui.divided.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n\n.ui.divided.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n\n.ui.divided.ordered.list .item .list > .item {\n  padding-left: 1em;\n}\n\n/* Divided Selection */\n\n.ui.divided.selection.list .list > .item,\n.ui.divided.selection.list > .item {\n  margin: 0em;\n  border-radius: 0em;\n}\n\n/* Divided horizontal */\n\n.ui.divided.horizontal.list {\n  margin-left: 0em;\n}\n\n.ui.divided.horizontal.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n\n.ui.horizontal.divided.list > .item:first-child {\n  border-left: none;\n}\n\n/* Inverted */\n\n.ui.divided.inverted.list > .item,\n.ui.divided.inverted.list > .list,\n.ui.divided.inverted.horizontal.list > .item {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n        Celled\n--------------------*/\n\n.ui.celled.list > .item,\n.ui.celled.list > .list {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n\n.ui.celled.list > .item:last-child {\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Padding on all elements */\n\n.ui.celled.list > .item:first-child,\n.ui.celled.list > .item:last-child {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n/* Sub Menu */\n\n.ui.celled.list .item .list > .item {\n  border-width: 0px;\n}\n\n.ui.celled.list .list > .item:first-child {\n  border-top-width: 0px;\n}\n\n/* Celled Bulleted */\n\n.ui.celled.bulleted.list {\n  margin-left: 0em;\n}\n\n.ui.celled.bulleted.list .list > .item,\n.ui.celled.bulleted.list > .item {\n  padding-left: 1.25rem;\n}\n\n.ui.celled.bulleted.list .item .list {\n  margin-left: -1.25rem;\n  margin-right: -1.25rem;\n  padding-bottom: 0.21428571em;\n}\n\n/* Celled Ordered */\n\n.ui.celled.ordered.list {\n  margin-left: 0em;\n}\n\n.ui.celled.ordered.list .list > .item,\n.ui.celled.ordered.list > .item {\n  padding-left: 1.25rem;\n}\n\n.ui.celled.ordered.list .item .list {\n  margin-left: 0em;\n  margin-right: 0em;\n  padding-bottom: 0.21428571em;\n}\n\n.ui.celled.ordered.list .list > .item {\n  padding-left: 1em;\n}\n\n/* Celled Horizontal */\n\n.ui.horizontal.celled.list {\n  margin-left: 0em;\n}\n\n.ui.horizontal.celled.list .list > .item,\n.ui.horizontal.celled.list > .item {\n  border-top: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n  line-height: 0.6;\n}\n\n.ui.horizontal.celled.list .list > .item:last-child,\n.ui.horizontal.celled.list > .item:last-child {\n  border-bottom: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Inverted */\n\n.ui.celled.inverted.list > .item,\n.ui.celled.inverted.list > .list {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n.ui.celled.inverted.horizontal.list .list > .item,\n.ui.celled.inverted.horizontal.list > .item {\n  border-color: 1px solid rgba(255, 255, 255, 0.1);\n}\n\n/*-------------------\n       Relaxed\n--------------------*/\n\n.ui.relaxed.list:not(.horizontal) > .item {\n  padding-top: 0.42857143em;\n  padding-bottom: 0.42857143em;\n}\n\n.ui.relaxed.list:not(.horizontal) .list > .item {\n  padding-top: 0.21428571em;\n  padding-bottom: 0.21428571em;\n}\n\n.ui.horizontal.relaxed.list > .item {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/* Very Relaxed */\n\n.ui[class*=\"very relaxed\"].list:not(.horizontal) > .item {\n  padding-top: 0.85714286em;\n  padding-bottom: 0.85714286em;\n}\n\n.ui[class*=\"very relaxed\"].list:not(.horizontal) .list > .item {\n  padding-top: 0.28571429em;\n  padding-bottom: 0.28571429em;\n}\n\n.ui.horizontal[class*=\"very relaxed\"].list .list > .item,\n.ui.horizontal[class*=\"very relaxed\"].list > .item {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n\n/*-------------------\n      Sizes\n--------------------*/\n\n.ui.mini.list {\n  font-size: 0.71428571em;\n}\n\n.ui.tiny.list {\n  font-size: 0.85714286em;\n}\n\n.ui.small.list {\n  font-size: 0.92857143em;\n}\n\n.ui.list {\n  font-size: 1em;\n}\n\n.ui.large.list {\n  font-size: 1.14285714em;\n}\n\n.ui.big.list {\n  font-size: 1.28571429em;\n}\n\n.ui.huge.list {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.list {\n  font-size: 1.71428571em;\n}\n\n.ui.mini.horizontal.list .list > .item,\n.ui.mini.horizontal.list > .item {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.horizontal.list .list > .item,\n.ui.tiny.horizontal.list > .item {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.horizontal.list .list > .item,\n.ui.small.horizontal.list > .item {\n  font-size: 0.92857143rem;\n}\n\n.ui.horizontal.list .list > .item,\n.ui.horizontal.list > .item {\n  font-size: 1rem;\n}\n\n.ui.large.horizontal.list .list > .item,\n.ui.large.horizontal.list > .item {\n  font-size: 1.14285714rem;\n}\n\n.ui.big.horizontal.list .list > .item,\n.ui.big.horizontal.list > .item {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.horizontal.list .list > .item,\n.ui.huge.horizontal.list > .item {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.horizontal.list .list > .item,\n.ui.massive.horizontal.list > .item {\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Loader\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Loader\n*******************************/\n\n/* Standard Size */\n\n.ui.loader {\n  display: none;\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  margin: 0px;\n  text-align: center;\n  z-index: 1000;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n}\n\n/* Static Shape */\n\n.ui.loader:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n/* Active Shape */\n\n.ui.loader:after {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 50%;\n  width: 100%;\n  height: 100%;\n  -webkit-animation: loader 0.6s linear;\n  animation: loader 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/* Active Animation */\n\n@-webkit-keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes loader {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/* Sizes */\n\n.ui.loader:before,\n.ui.loader:after {\n  width: 2.2585em;\n  height: 2.2585em;\n  margin: 0em 0em 0em -1.12925em;\n}\n\n.ui.mini.loader:before,\n.ui.mini.loader:after {\n  width: 1.2857em;\n  height: 1.2857em;\n  margin: 0em 0em 0em -0.64285em;\n}\n\n.ui.small.loader:before,\n.ui.small.loader:after {\n  width: 1.7142em;\n  height: 1.7142em;\n  margin: 0em 0em 0em -0.8571em;\n}\n\n.ui.large.loader:before,\n.ui.large.loader:after {\n  width: 4.5714em;\n  height: 4.5714em;\n  margin: 0em 0em 0em -2.2857em;\n}\n\n/*-------------------\n      Coupling\n--------------------*/\n\n/* Show inside active dimmer */\n\n.ui.dimmer .loader {\n  display: block;\n}\n\n/* Black Dimmer */\n\n.ui.dimmer .ui.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.dimmer .ui.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n\n.ui.dimmer .ui.loader:after {\n  border-color: #FFFFFF transparent transparent;\n}\n\n/* White Dimmer (Inverted) */\n\n.ui.inverted.dimmer .ui.loader {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.inverted.dimmer .ui.loader:before {\n  border-color: rgba(0, 0, 0, 0.1);\n}\n\n.ui.inverted.dimmer .ui.loader:after {\n  border-color: #767676 transparent transparent;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n        Text\n--------------------*/\n\n.ui.text.loader {\n  width: auto !important;\n  height: auto !important;\n  text-align: center;\n  font-style: normal;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.indeterminate.loader:after {\n  -webkit-animation-direction: reverse;\n  animation-direction: reverse;\n  -webkit-animation-duration: 1.2s;\n  animation-duration: 1.2s;\n}\n\n.ui.loader.active,\n.ui.loader.visible {\n  display: block;\n}\n\n.ui.loader.disabled,\n.ui.loader.hidden {\n  display: none;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*-------------------\n        Sizes\n--------------------*/\n\n/* Loader */\n\n.ui.inverted.dimmer .ui.mini.loader,\n.ui.mini.loader {\n  width: 1.2857em;\n  height: 1.2857em;\n  font-size: 0.71428571em;\n}\n\n.ui.inverted.dimmer .ui.small.loader,\n.ui.small.loader {\n  width: 1.7142em;\n  height: 1.7142em;\n  font-size: 0.92857143em;\n}\n\n.ui.inverted.dimmer .ui.loader,\n.ui.loader {\n  width: 2.2585em;\n  height: 2.2585em;\n  font-size: 1em;\n}\n\n.ui.inverted.dimmer .ui.loader.large,\n.ui.loader.large {\n  width: 4.5714em;\n  height: 4.5714em;\n  font-size: 1.14285714em;\n}\n\n/* Text Loader */\n\n.ui.mini.text.loader {\n  min-width: 1.2857em;\n  padding-top: 1.99998571em;\n}\n\n.ui.small.text.loader {\n  min-width: 1.7142em;\n  padding-top: 2.42848571em;\n}\n\n.ui.text.loader {\n  min-width: 2.2585em;\n  padding-top: 2.97278571em;\n}\n\n.ui.large.text.loader {\n  min-width: 4.5714em;\n  padding-top: 5.28568571em;\n}\n\n/*-------------------\n       Inverted\n--------------------*/\n\n.ui.inverted.loader {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.loader:before {\n  border-color: rgba(255, 255, 255, 0.15);\n}\n\n.ui.inverted.loader:after {\n  border-top-color: #FFFFFF;\n}\n\n/*-------------------\n       Inline\n--------------------*/\n\n.ui.inline.loader {\n  position: relative;\n  vertical-align: middle;\n  margin: 0em;\n  left: 0em;\n  top: 0em;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n}\n\n.ui.inline.loader.active,\n.ui.inline.loader.visible {\n  display: inline-block;\n}\n\n/* Centered Inline */\n\n.ui.centered.inline.loader.active,\n.ui.centered.inline.loader.visible {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Rail\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Rails\n*******************************/\n\n.ui.rail {\n  position: absolute;\n  top: 0%;\n  width: 300px;\n  height: 100%;\n}\n\n.ui.left.rail {\n  left: auto;\n  right: 100%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n\n.ui.right.rail {\n  left: 100%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Internal\n---------------*/\n\n.ui.left.internal.rail {\n  left: 0%;\n  right: auto;\n  padding: 0em 0em 0em 2rem;\n  margin: 0em 0em 0em 2rem;\n}\n\n.ui.right.internal.rail {\n  left: auto;\n  right: 0%;\n  padding: 0em 2rem 0em 0em;\n  margin: 0em 2rem 0em 0em;\n}\n\n/*--------------\n    Dividing\n---------------*/\n\n.ui.dividing.rail {\n  width: 302.5px;\n}\n\n.ui.left.dividing.rail {\n  padding: 0em 2.5rem 0em 0em;\n  margin: 0em 2.5rem 0em 0em;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.right.dividing.rail {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  padding: 0em 0em 0em 2.5rem;\n  margin: 0em 0em 0em 2.5rem;\n}\n\n/*--------------\n    Distance\n---------------*/\n\n.ui.close.rail {\n  width: 301px;\n}\n\n.ui.close.left.rail {\n  padding: 0em 1em 0em 0em;\n  margin: 0em 1em 0em 0em;\n}\n\n.ui.close.right.rail {\n  padding: 0em 0em 0em 1em;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.very.close.rail {\n  width: 300.5px;\n}\n\n.ui.very.close.left.rail {\n  padding: 0em 0.5em 0em 0em;\n  margin: 0em 0.5em 0em 0em;\n}\n\n.ui.very.close.right.rail {\n  padding: 0em 0em 0em 0.5em;\n  margin: 0em 0em 0em 0.5em;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.left.rail,\n.ui.attached.right.rail {\n  padding: 0em;\n  margin: 0em;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.rail {\n  font-size: 1rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Reveal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Reveal\n*******************************/\n\n.ui.reveal {\n  display: inherit;\n  position: relative !important;\n  font-size: 0em !important;\n}\n\n.ui.reveal > .visible.content {\n  position: absolute !important;\n  top: 0em !important;\n  left: 0em !important;\n  z-index: 3 !important;\n  -webkit-transition: all 0.5s ease 0.1s;\n  transition: all 0.5s ease 0.1s;\n}\n\n.ui.reveal > .hidden.content {\n  position: relative !important;\n  z-index: 2 !important;\n}\n\n/* Make sure hovered element is on top of other reveal */\n\n.ui.active.reveal .visible.content,\n.ui.reveal:hover .visible.content {\n  z-index: 4 !important;\n}\n\n/*******************************\n              Types\n*******************************/\n\n/*--------------\n      Slide\n---------------*/\n\n.ui.slide.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n\n.ui.slide.reveal > .content {\n  display: block;\n  width: 100%;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s ease 0.1s;\n  transition: transform 0.5s ease 0.1s;\n}\n\n.ui.slide.reveal > .visible.content {\n  position: relative !important;\n}\n\n.ui.slide.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n  -webkit-transform: translateX(100%) !important;\n  -ms-transform: translateX(100%) !important;\n  transform: translateX(100%) !important;\n}\n\n.ui.slide.active.reveal > .visible.content,\n.ui.slide.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n  -ms-transform: translateX(-100%) !important;\n  transform: translateX(-100%) !important;\n}\n\n.ui.slide.active.reveal > .hidden.content,\n.ui.slide.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n  -ms-transform: translateX(0%) !important;\n  transform: translateX(0%) !important;\n}\n\n.ui.slide.right.reveal > .visible.content {\n  -webkit-transform: translateX(0%) !important;\n  -ms-transform: translateX(0%) !important;\n  transform: translateX(0%) !important;\n}\n\n.ui.slide.right.reveal > .hidden.content {\n  -webkit-transform: translateX(-100%) !important;\n  -ms-transform: translateX(-100%) !important;\n  transform: translateX(-100%) !important;\n}\n\n.ui.slide.right.active.reveal > .visible.content,\n.ui.slide.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n  -ms-transform: translateX(100%) !important;\n  transform: translateX(100%) !important;\n}\n\n.ui.slide.right.active.reveal > .hidden.content,\n.ui.slide.right.reveal:hover > .hidden.content {\n  -webkit-transform: translateX(0%) !important;\n  -ms-transform: translateX(0%) !important;\n  transform: translateX(0%) !important;\n}\n\n.ui.slide.up.reveal > .hidden.content {\n  -webkit-transform: translateY(100%) !important;\n  -ms-transform: translateY(100%) !important;\n  transform: translateY(100%) !important;\n}\n\n.ui.slide.up.active.reveal > .visible.content,\n.ui.slide.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n  -ms-transform: translateY(-100%) !important;\n  transform: translateY(-100%) !important;\n}\n\n.ui.slide.up.active.reveal > .hidden.content,\n.ui.slide.up.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n  -ms-transform: translateY(0%) !important;\n  transform: translateY(0%) !important;\n}\n\n.ui.slide.down.reveal > .hidden.content {\n  -webkit-transform: translateY(-100%) !important;\n  -ms-transform: translateY(-100%) !important;\n  transform: translateY(-100%) !important;\n}\n\n.ui.slide.down.active.reveal > .visible.content,\n.ui.slide.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n  -ms-transform: translateY(100%) !important;\n  transform: translateY(100%) !important;\n}\n\n.ui.slide.down.active.reveal > .hidden.content,\n.ui.slide.down.reveal:hover > .hidden.content {\n  -webkit-transform: translateY(0%) !important;\n  -ms-transform: translateY(0%) !important;\n  transform: translateY(0%) !important;\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.ui.fade.reveal > .visible.content {\n  opacity: 1;\n}\n\n.ui.fade.active.reveal > .visible.content,\n.ui.fade.reveal:hover > .visible.content {\n  opacity: 0;\n}\n\n/*--------------\n      Move\n---------------*/\n\n.ui.move.reveal {\n  position: relative !important;\n  overflow: hidden !important;\n  white-space: nowrap;\n}\n\n.ui.move.reveal > .content {\n  display: block;\n  float: left;\n  margin: 0em;\n  -webkit-transition: -webkit-transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n  transition: transform 0.5s cubic-bezier(0.175, 0.885, 0.32, 1) 0.1s;\n}\n\n.ui.move.reveal > .visible.content {\n  position: relative !important;\n}\n\n.ui.move.reveal > .hidden.content {\n  position: absolute !important;\n  left: 0% !important;\n  width: 100% !important;\n}\n\n.ui.move.active.reveal > .visible.content,\n.ui.move.reveal:hover > .visible.content {\n  -webkit-transform: translateX(-100%) !important;\n  -ms-transform: translateX(-100%) !important;\n  transform: translateX(-100%) !important;\n}\n\n.ui.move.right.active.reveal > .visible.content,\n.ui.move.right.reveal:hover > .visible.content {\n  -webkit-transform: translateX(100%) !important;\n  -ms-transform: translateX(100%) !important;\n  transform: translateX(100%) !important;\n}\n\n.ui.move.up.active.reveal > .visible.content,\n.ui.move.up.reveal:hover > .visible.content {\n  -webkit-transform: translateY(-100%) !important;\n  -ms-transform: translateY(-100%) !important;\n  transform: translateY(-100%) !important;\n}\n\n.ui.move.down.active.reveal > .visible.content,\n.ui.move.down.reveal:hover > .visible.content {\n  -webkit-transform: translateY(100%) !important;\n  -ms-transform: translateY(100%) !important;\n  transform: translateY(100%) !important;\n}\n\n/*--------------\n     Rotate\n---------------*/\n\n.ui.rotate.reveal > .visible.content {\n  -webkit-transition-duration: 0.5s;\n  transition-duration: 0.5s;\n  -webkit-transform: rotate(0deg);\n  -ms-transform: rotate(0deg);\n  transform: rotate(0deg);\n}\n\n.ui.rotate.reveal > .visible.content,\n.ui.rotate.right.reveal > .visible.content {\n  -webkit-transform-origin: bottom right;\n  -ms-transform-origin: bottom right;\n  transform-origin: bottom right;\n}\n\n.ui.rotate.active.reveal > .visible.conten,\n.ui.rotate.reveal:hover > .visible.content,\n.ui.rotate.right.active.reveal > .visible.content,\n.ui.rotate.right.reveal:hover > .visible.content {\n  -webkit-transform: rotate(110deg);\n  -ms-transform: rotate(110deg);\n  transform: rotate(110deg);\n}\n\n.ui.rotate.left.reveal > .visible.content {\n  -webkit-transform-origin: bottom left;\n  -ms-transform-origin: bottom left;\n  transform-origin: bottom left;\n}\n\n.ui.rotate.left.active.reveal > .visible.content,\n.ui.rotate.left.reveal:hover > .visible.content {\n  -webkit-transform: rotate(-110deg);\n  -ms-transform: rotate(-110deg);\n  transform: rotate(-110deg);\n}\n\n/*******************************\n              States\n*******************************/\n\n.ui.disabled.reveal:hover > .visible.visible.content {\n  position: static !important;\n  display: block !important;\n  opacity: 1 !important;\n  top: 0 !important;\n  left: 0 !important;\n  right: auto !important;\n  bottom: auto !important;\n  -webkit-transform: none !important;\n  -ms-transform: none !important;\n  transform: none !important;\n}\n\n.ui.disabled.reveal:hover > .hidden.hidden.content {\n  display: none !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.reveal {\n  overflow: visible;\n}\n\n/*--------------\n     Instant\n---------------*/\n\n.ui.instant.reveal > .content {\n  -webkit-transition-delay: 0s !important;\n  transition-delay: 0s !important;\n}\n\n/*--------------\n     Sizing\n---------------*/\n\n.ui.reveal > .content {\n  font-size: 1rem !important;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Segment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Segment\n*******************************/\n\n.ui.segment {\n  position: relative;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  padding: 1em 1em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.segment:first-child {\n  margin-top: 0em;\n}\n\n.ui.segment:last-child {\n  margin-bottom: 0em;\n}\n\n/* Vertical */\n\n.ui.vertical.segment {\n  margin: 0em;\n  padding-left: 0em;\n  padding-right: 0em;\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.vertical.segment:last-child {\n  border-bottom: none;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n/* Header */\n\n.ui.inverted.segment > .ui.header {\n  color: #FFFFFF;\n}\n\n/* Label */\n\n.ui[class*=\"bottom attached\"].segment > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n\n.ui[class*=\"top attached\"].segment > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"top attached\"].label {\n  border-top-left-radius: 0em;\n  border-top-right-radius: 0em;\n}\n\n.ui.attached.segment:not(.top):not(.bottom) > [class*=\"bottom attached\"].label {\n  border-bottom-left-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n/* Grid */\n\n.ui.page.grid.segment,\n.ui.grid > .row > .ui.segment.column,\n.ui.grid > .ui.segment.column {\n  padding-top: 2em;\n  padding-bottom: 2em;\n}\n\n.ui.grid.segment {\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n}\n\n/* Table */\n\n.ui.basic.table.segment {\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n.ui[class*=\"very basic\"].table.segment {\n  padding: 1em 1em;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n        Piled\n--------------------*/\n\n.ui.piled.segments,\n.ui.piled.segment {\n  margin: 3em 0em;\n  box-shadow: '';\n  z-index: auto;\n}\n\n.ui.piled.segment:first-child {\n  margin-top: 0em;\n}\n\n.ui.piled.segment:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.piled.segments:after,\n.ui.piled.segments:before,\n.ui.piled.segment:after,\n.ui.piled.segment:before {\n  background-color: #FFFFFF;\n  visibility: visible;\n  content: '';\n  display: block;\n  height: 100%;\n  left: 0px;\n  position: absolute;\n  width: 100%;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: '';\n}\n\n.ui.piled.segments:before,\n.ui.piled.segment:before {\n  -webkit-transform: rotate(-1.2deg);\n  -ms-transform: rotate(-1.2deg);\n  transform: rotate(-1.2deg);\n  top: 0;\n  z-index: -2;\n}\n\n.ui.piled.segments:after,\n.ui.piled.segment:after {\n  -webkit-transform: rotate(1.2deg);\n  -ms-transform: rotate(1.2deg);\n  transform: rotate(1.2deg);\n  top: 0;\n  z-index: -1;\n}\n\n/* Piled Attached */\n\n.ui[class*=\"top attached\"].piled.segment {\n  margin-top: 3em;\n  margin-bottom: 0em;\n}\n\n.ui.piled.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n.ui.piled.segment[class*=\"bottom attached\"] {\n  margin-top: 0em;\n  margin-bottom: 3em;\n}\n\n.ui.piled.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n/*-------------------\n       Stacked\n--------------------*/\n\n.ui.stacked.segment {\n  padding-bottom: 1.4em;\n}\n\n.ui.stacked.segments:before,\n.ui.stacked.segments:after,\n.ui.stacked.segment:before,\n.ui.stacked.segment:after {\n  content: '';\n  position: absolute;\n  bottom: -3px;\n  left: 0%;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: rgba(0, 0, 0, 0.03);\n  width: 100%;\n  height: 6px;\n  visibility: visible;\n}\n\n.ui.stacked.segments:before,\n.ui.stacked.segment:before {\n  display: none;\n}\n\n/* Add additional page */\n\n.ui.tall.stacked.segments:before,\n.ui.tall.stacked.segment:before {\n  display: block;\n  bottom: 0px;\n}\n\n/* Inverted */\n\n.ui.stacked.inverted.segments:before,\n.ui.stacked.inverted.segments:after,\n.ui.stacked.inverted.segment:before,\n.ui.stacked.inverted.segment:after {\n  background-color: rgba(0, 0, 0, 0.03);\n  border-top: 1px solid rgba(34, 36, 38, 0.35);\n}\n\n/*-------------------\n       Padded\n--------------------*/\n\n.ui.padded.segment {\n  padding: 1.5em;\n}\n\n.ui[class*=\"very padded\"].segment {\n  padding: 3em;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.segment {\n  display: table;\n}\n\n/* Compact Group */\n\n.ui.compact.segments {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n}\n\n.ui.compact.segments .segment,\n.ui.segments .compact.segment {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n}\n\n/*-------------------\n       Circular\n--------------------*/\n\n.ui.circular.segment {\n  display: table-cell;\n  padding: 2em;\n  text-align: center;\n  vertical-align: middle;\n  border-radius: 500em;\n}\n\n/*-------------------\n       Raised\n--------------------*/\n\n.ui.raised.segments,\n.ui.raised.segment {\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n/*******************************\n            Groups\n*******************************/\n\n/* Group */\n\n.ui.segments {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  position: relative;\n  margin: 1rem 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n}\n\n.ui.segments:first-child {\n  margin-top: 0em;\n}\n\n.ui.segments:last-child {\n  margin-bottom: 0em;\n}\n\n/* Nested Segment */\n\n.ui.segments > .segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em;\n  width: auto;\n  box-shadow: none;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.segments:not(.horizontal) > .segment:first-child {\n  border-top: none;\n  margin-top: 0em;\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n\n.ui.segments:not(.horizontal) > .segment:last-child {\n  top: 0px;\n  bottom: 0px;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Nested Group */\n\n.ui.segments > .ui.segments {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 1rem 1rem;\n}\n\n.ui.segments > .segments:first-child {\n  border-top: none;\n}\n\n.ui.segments > .segment + .segments:not(.horizontal) {\n  margin-top: 0em;\n}\n\n/* Horizontal Group */\n\n.ui.horizontal.segments {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  background-color: transparent;\n  border-radius: 0px;\n  padding: 0em;\n  background-color: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  margin: 1rem 0em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Nested Horizontal Group */\n\n.ui.segments > .horizontal.segments {\n  margin: 0em;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Horizontal Segment */\n\n.ui.horizontal.segments > .segment {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  flex: 1 1 auto;\n  -ms-flex: 1 1 0px;\n  /* Solves #2550 MS Flex */\n  margin: 0em;\n  min-width: 0px;\n  background-color: transparent;\n  border-radius: 0px;\n  border: none;\n  box-shadow: none;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* Border Fixes */\n\n.ui.segments > .horizontal.segments:first-child {\n  border-top: none;\n}\n\n.ui.horizontal.segments > .segment:first-child {\n  border-left: none;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.segment {\n  opacity: 0.45;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.segment {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n  transition: all 0s linear;\n}\n\n.ui.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  border-radius: 0.28571429rem;\n  z-index: 100;\n}\n\n.ui.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: segment-spin 0.6s linear;\n  animation: segment-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n\n@-webkit-keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes segment-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Basic\n--------------------*/\n\n.ui.basic.segment {\n  background: none transparent;\n  box-shadow: none;\n  border: none;\n  border-radius: 0px;\n}\n\n/*-------------------\n       Clearing\n--------------------*/\n\n.ui.clearing.segment:after {\n  content: \".\";\n  display: block;\n  height: 0;\n  clear: both;\n  visibility: hidden;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\n.ui.red.segment:not(.inverted) {\n  border-top: 2px solid #DB2828;\n}\n\n.ui.inverted.red.segment {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n\n.ui.orange.segment:not(.inverted) {\n  border-top: 2px solid #F2711C;\n}\n\n.ui.inverted.orange.segment {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n\n.ui.yellow.segment:not(.inverted) {\n  border-top: 2px solid #FBBD08;\n}\n\n.ui.inverted.yellow.segment {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n\n.ui.olive.segment:not(.inverted) {\n  border-top: 2px solid #B5CC18;\n}\n\n.ui.inverted.olive.segment {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n\n.ui.green.segment:not(.inverted) {\n  border-top: 2px solid #21BA45;\n}\n\n.ui.inverted.green.segment {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n\n.ui.teal.segment:not(.inverted) {\n  border-top: 2px solid #00B5AD;\n}\n\n.ui.inverted.teal.segment {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n\n.ui.blue.segment:not(.inverted) {\n  border-top: 2px solid #2185D0;\n}\n\n.ui.inverted.blue.segment {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n\n.ui.violet.segment:not(.inverted) {\n  border-top: 2px solid #6435C9;\n}\n\n.ui.inverted.violet.segment {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n\n.ui.purple.segment:not(.inverted) {\n  border-top: 2px solid #A333C8;\n}\n\n.ui.inverted.purple.segment {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n\n.ui.pink.segment:not(.inverted) {\n  border-top: 2px solid #E03997;\n}\n\n.ui.inverted.pink.segment {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n\n.ui.brown.segment:not(.inverted) {\n  border-top: 2px solid #A5673F;\n}\n\n.ui.inverted.brown.segment {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n\n.ui.grey.segment:not(.inverted) {\n  border-top: 2px solid #767676;\n}\n\n.ui.inverted.grey.segment {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n\n.ui.black.segment:not(.inverted) {\n  border-top: 2px solid #1B1C1D;\n}\n\n.ui.inverted.black.segment {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui[class*=\"left aligned\"].segment {\n  text-align: left;\n}\n\n.ui[class*=\"right aligned\"].segment {\n  text-align: right;\n}\n\n.ui[class*=\"center aligned\"].segment {\n  text-align: center;\n}\n\n/*-------------------\n       Floated\n--------------------*/\n\n.ui.floated.segment,\n.ui[class*=\"left floated\"].segment {\n  float: left;\n  margin-right: 1em;\n}\n\n.ui[class*=\"right floated\"].segment {\n  float: right;\n  margin-left: 1em;\n}\n\n/*-------------------\n      Inverted\n--------------------*/\n\n.ui.inverted.segment {\n  border: none;\n  box-shadow: none;\n}\n\n.ui.inverted.segment,\n.ui.primary.inverted.segment {\n  background: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Nested */\n\n.ui.inverted.segment .segment {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.inverted.segment .inverted.segment {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Attached */\n\n.ui.inverted.attached.segment {\n  border-color: #555555;\n}\n\n/*-------------------\n     Emphasis\n--------------------*/\n\n/* Secondary */\n\n.ui.secondary.segment {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.secondary.inverted.segment {\n  background: #4c4f52 -webkit-linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  background: #4c4f52 linear-gradient(rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0.2) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/* Tertiary */\n\n.ui.tertiary.segment {\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.tertiary.inverted.segment {\n  background: #717579 -webkit-linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  background: #717579 linear-gradient(rgba(255, 255, 255, 0.35) 0%, rgba(255, 255, 255, 0.35) 100%);\n  color: rgba(255, 255, 255, 0.8);\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n/* Middle */\n\n.ui.attached.segment {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached + .ui.attached.segment:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n\n.ui[class*=\"top attached\"].segment {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.segment[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n\n.ui.segment[class*=\"bottom attached\"] {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.segment[class*=\"bottom attached\"]:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Step\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Plural\n*******************************/\n\n.ui.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  margin: 1em 0em;\n  background: '';\n  box-shadow: none;\n  line-height: 1.14285714em;\n  border-radius: 0.28571429rem;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/* First Steps */\n\n.ui.steps:first-child {\n  margin-top: 0em;\n}\n\n/* Last Steps */\n\n.ui.steps:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n           Singular\n*******************************/\n\n.ui.steps .step {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  vertical-align: middle;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n  margin: 0em 0em;\n  padding: 1.14285714em 2em;\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border-radius: 0em;\n  border: none;\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n}\n\n/* Arrow */\n\n.ui.steps .step:after {\n  display: none;\n  position: absolute;\n  z-index: 2;\n  content: '';\n  top: 50%;\n  right: 0%;\n  border: medium none;\n  background-color: #FFFFFF;\n  width: 1.14285714em;\n  height: 1.14285714em;\n  border-style: solid;\n  border-color: rgba(34, 36, 38, 0.15);\n  border-width: 0px 1px 1px 0px;\n  -webkit-transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  transition: background-color 0.1s ease, opacity 0.1s ease, color 0.1s ease, box-shadow 0.1s ease;\n  -webkit-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  -ms-transform: translateY(-50%) translateX(50%) rotate(-45deg);\n  transform: translateY(-50%) translateX(50%) rotate(-45deg);\n}\n\n/* First Step */\n\n.ui.steps .step:first-child {\n  padding-left: 2em;\n  border-radius: 0.28571429rem 0em 0em 0.28571429rem;\n}\n\n/* Last Step */\n\n.ui.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.steps .step:last-child {\n  border-right: none;\n  margin-right: 0em;\n}\n\n/* Only Step */\n\n.ui.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* Title */\n\n.ui.steps .step .title {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.14285714em;\n  font-weight: bold;\n}\n\n.ui.steps .step > .title {\n  width: 100%;\n}\n\n/* Description */\n\n.ui.steps .step .description {\n  font-weight: normal;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.steps .step > .description {\n  width: 100%;\n}\n\n.ui.steps .step .title ~ .description {\n  margin-top: 0.25em;\n}\n\n/* Icon */\n\n.ui.steps .step > .icon {\n  line-height: 1;\n  font-size: 2.5em;\n  margin: 0em 1rem 0em 0em;\n}\n\n.ui.steps .step > .icon,\n.ui.steps .step > .icon ~ .content {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n}\n\n.ui.steps .step > .icon ~ .content {\n  -webkit-box-flex: 1 0 auto;\n  -webkit-flex-grow: 1 0 auto;\n  -ms-flex-positive: 1 0 auto;\n  flex-grow: 1 0 auto;\n}\n\n/* Horizontal Icon */\n\n.ui.steps:not(.vertical) .step > .icon {\n  width: auto;\n}\n\n/* Link */\n\n.ui.steps .link.step,\n.ui.steps a.step {\n  cursor: pointer;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Ordered\n---------------*/\n\n.ui.ordered.steps {\n  counter-reset: ordered;\n}\n\n.ui.ordered.steps .step:before {\n  display: block;\n  position: static;\n  text-align: center;\n  content: counters(ordered, \".\");\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n  margin-right: 1rem;\n  font-size: 2.5em;\n  counter-increment: ordered;\n  font-family: inherit;\n  font-weight: bold;\n}\n\n.ui.ordered.steps .step > * {\n  display: block;\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.steps {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  overflow: visible;\n}\n\n.ui.vertical.steps .step {\n  -webkit-box-pack: start;\n  -webkit-justify-content: flex-start;\n  -ms-flex-pack: start;\n  justify-content: flex-start;\n  border-radius: 0em;\n  padding: 1.14285714em 2em;\n  border-right: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.vertical.steps .step:first-child {\n  padding: 1.14285714em 2em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.vertical.steps .step:last-child {\n  border-bottom: none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.vertical.steps .step:only-child {\n  border-radius: 0.28571429rem;\n}\n\n/* Arrow */\n\n.ui.vertical.steps .step:after {\n  display: none;\n}\n\n.ui.vertical.steps .step:after {\n  top: 50%;\n  right: 0%;\n  border-width: 0px 1px 1px 0px;\n}\n\n.ui.vertical.steps .step:after {\n  display: none;\n}\n\n.ui.vertical.steps .active.step:after {\n  display: block;\n}\n\n.ui.vertical.steps .step:last-child:after {\n  display: none;\n}\n\n.ui.vertical.steps .active.step:last-child:after {\n  display: block;\n}\n\n/*---------------\n    Responsive\n----------------*/\n\n/* Mobile (Default) */\n\n@media only screen and (max-width: 767px) {\n  .ui.steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  .ui.steps .step {\n    width: 100% !important;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n\n  .ui.steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n\n  .ui.steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n\n  /* Arrow */\n\n  .ui.steps .step:after {\n    display: none !important;\n  }\n\n  /* Content */\n\n  .ui.steps .step .content {\n    text-align: center;\n  }\n\n  /* Icon */\n\n  .ui.steps .step > .icon,\n  .ui.ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\n/* Link Hover */\n\n.ui.steps .link.step:hover::after,\n.ui.steps .link.step:hover,\n.ui.steps a.step:hover::after,\n.ui.steps a.step:hover {\n  background: #F9FAFB;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Link Down */\n\n.ui.steps .link.step:active::after,\n.ui.steps .link.step:active,\n.ui.steps a.step:active::after,\n.ui.steps a.step:active {\n  background: #F3F4F5;\n  color: rgba(0, 0, 0, 0.9);\n}\n\n/* Active */\n\n.ui.steps .step.active {\n  cursor: auto;\n  background: #F3F4F5;\n}\n\n.ui.steps .step.active:after {\n  background: #F3F4F5;\n}\n\n.ui.steps .step.active .title {\n  color: #4183C4;\n}\n\n.ui.ordered.steps .step.active:before,\n.ui.steps .active.step .icon {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Active Arrow */\n\n.ui.steps .step:after {\n  display: block;\n}\n\n.ui.steps .active.step:after {\n  display: block;\n}\n\n.ui.steps .step:last-child:after {\n  display: none;\n}\n\n.ui.steps .active.step:last-child:after {\n  display: none;\n}\n\n/* Active Hover */\n\n.ui.steps .link.active.step:hover::after,\n.ui.steps .link.active.step:hover,\n.ui.steps a.active.step:hover::after,\n.ui.steps a.active.step:hover {\n  cursor: pointer;\n  background: #DCDDDE;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Completed */\n\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  color: #21BA45;\n}\n\n/* Disabled */\n\n.ui.steps .disabled.step {\n  cursor: auto;\n  background: #FFFFFF;\n  pointer-events: none;\n}\n\n.ui.steps .disabled.step,\n.ui.steps .disabled.step .title,\n.ui.steps .disabled.step .description {\n  color: rgba(40, 40, 40, 0.3);\n}\n\n.ui.steps .disabled.step:after {\n  background: #FFFFFF;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n   Stackable\n---------------*/\n\n/* Tablet Or Below */\n\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].steps {\n    display: -webkit-inline-box;\n    display: -webkit-inline-flex;\n    display: -ms-inline-flexbox;\n    display: inline-flex;\n    overflow: visible;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  /* Steps */\n\n  .ui[class*=\"tablet stackable\"].steps .step {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    border-radius: 0em;\n    padding: 1.14285714em 2em;\n  }\n\n  .ui[class*=\"tablet stackable\"].steps .step:first-child {\n    padding: 1.14285714em 2em;\n    border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  }\n\n  .ui[class*=\"tablet stackable\"].steps .step:last-child {\n    border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  }\n\n  /* Arrow */\n\n  .ui[class*=\"tablet stackable\"].steps .step:after {\n    display: none !important;\n  }\n\n  /* Content */\n\n  .ui[class*=\"tablet stackable\"].steps .step .content {\n    text-align: center;\n  }\n\n  /* Icon */\n\n  .ui[class*=\"tablet stackable\"].steps .step > .icon,\n  .ui[class*=\"tablet stackable\"].ordered.steps .step:before {\n    margin: 0em 0em 1rem 0em;\n  }\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n/* Fluid */\n\n.ui.fluid.steps {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n/* Top */\n\n.ui.attached.steps {\n  width: calc(100% +  2px ) !important;\n  margin: 0em -1px -1px;\n  max-width: calc(100% +  2px );\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.attached.steps .step:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui.attached.steps .step:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n/* Bottom */\n\n.ui.bottom.attached.steps {\n  margin: -1px -1px 0em;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.bottom.attached.steps .step:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n.ui.bottom.attached.steps .step:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/*-------------------\n    Evenly Divided\n--------------------*/\n\n.ui.one.steps,\n.ui.two.steps,\n.ui.three.steps,\n.ui.four.steps,\n.ui.five.steps,\n.ui.six.steps,\n.ui.seven.steps,\n.ui.eight.steps {\n  width: 100%;\n}\n\n.ui.one.steps > .step,\n.ui.two.steps > .step,\n.ui.three.steps > .step,\n.ui.four.steps > .step,\n.ui.five.steps > .step,\n.ui.six.steps > .step,\n.ui.seven.steps > .step,\n.ui.eight.steps > .step {\n  -webkit-flex-wrap: nowrap;\n  -ms-flex-wrap: nowrap;\n  flex-wrap: nowrap;\n}\n\n.ui.one.steps > .step {\n  width: 100%;\n}\n\n.ui.two.steps > .step {\n  width: 50%;\n}\n\n.ui.three.steps > .step {\n  width: 33.333%;\n}\n\n.ui.four.steps > .step {\n  width: 25%;\n}\n\n.ui.five.steps > .step {\n  width: 20%;\n}\n\n.ui.six.steps > .step {\n  width: 16.666%;\n}\n\n.ui.seven.steps > .step {\n  width: 14.285%;\n}\n\n.ui.eight.steps > .step {\n  width: 12.500%;\n}\n\n/*-------------------\n       Sizes\n--------------------*/\n\n.ui.small.step,\n.ui.small.steps .step {\n  font-size: 0.92857143rem;\n}\n\n.ui.step,\n.ui.steps .step {\n  font-size: 1rem;\n}\n\n.ui.large.step,\n.ui.large.steps .step {\n  font-size: 1.14285714rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Step';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;;base64,AAEAAAAOAIAAAwBgT1MvMj3hSQEAAADsAAAAVmNtYXDQEhm3AAABRAAAAUpjdnQgBkn/lAAABuwAAAAcZnBnbYoKeDsAAAcIAAAJkWdhc3AAAAAQAAAG5AAAAAhnbHlm32cEdgAAApAAAAC2aGVhZAErPHsAAANIAAAANmhoZWEHUwNNAAADgAAAACRobXR4CykAAAAAA6QAAAAMbG9jYQA4AFsAAAOwAAAACG1heHAApgm8AAADuAAAACBuYW1lzJ0aHAAAA9gAAALNcG9zdK69QJgAAAaoAAAAO3ByZXCSoZr/AAAQnAAAAFYAAQO4AZAABQAIAnoCvAAAAIwCegK8AAAB4AAxAQIAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABA6ADoAQNS/2oAWgMLAE8AAAABAAAAAAAAAAAAAwAAAAMAAAAcAAEAAAAAAEQAAwABAAAAHAAEACgAAAAGAAQAAQACAADoAf//AAAAAOgA//8AABgBAAEAAAAAAAAAAAEGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAADpAKYABUAHEAZDwEAAQFCAAIBAmoAAQABagAAAGEUFxQDEisBFAcBBiInASY0PwE2Mh8BATYyHwEWA6QP/iAQLBD+6g8PTBAsEKQBbhAsEEwPAhYWEP4gDw8BFhAsEEwQEKUBbxAQTBAAAAH//f+xA18DCwAMABJADwABAQpDAAAACwBEFRMCESsBFA4BIi4CPgEyHgEDWXLG6MhuBnq89Lp+AV51xHR0xOrEdHTEAAAAAAEAAAABAADDeRpdXw889QALA+gAAAAAzzWYjQAAAADPNWBN//3/sQOkAwsAAAAIAAIAAAAAAAAAAQAAA1L/agBaA+gAAP/3A6QAAQAAAAAAAAAAAAAAAAAAAAMD6AAAA+gAAANZAAAAAAAAADgAWwABAAAAAwAWAAEAAAAAAAIABgATAG4AAAAtCZEAAAAAAAAAEgDeAAEAAAAAAAAANQAAAAEAAAAAAAEACAA1AAEAAAAAAAIABwA9AAEAAAAAAAMACABEAAEAAAAAAAQACABMAAEAAAAAAAUACwBUAAEAAAAAAAYACABfAAEAAAAAAAoAKwBnAAEAAAAAAAsAEwCSAAMAAQQJAAAAagClAAMAAQQJAAEAEAEPAAMAAQQJAAIADgEfAAMAAQQJAAMAEAEtAAMAAQQJAAQAEAE9AAMAAQQJAAUAFgFNAAMAAQQJAAYAEAFjAAMAAQQJAAoAVgFzAAMAAQQJAAsAJgHJQ29weXJpZ2h0IChDKSAyMDE0IGJ5IG9yaWdpbmFsIGF1dGhvcnMgQCBmb250ZWxsby5jb21mb250ZWxsb1JlZ3VsYXJmb250ZWxsb2ZvbnRlbGxvVmVyc2lvbiAxLjBmb250ZWxsb0dlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABDACkAIAAyADAAMQA0ACAAYgB5ACAAbwByAGkAZwBpAG4AYQBsACAAYQB1AHQAaABvAHIAcwAgAEAAIABmAG8AbgB0AGUAbABsAG8ALgBjAG8AbQBmAG8AbgB0AGUAbABsAG8AUgBlAGcAdQBsAGEAcgBmAG8AbgB0AGUAbABsAG8AZgBvAG4AdABlAGwAbABvAFYAZQByAHMAaQBvAG4AIAAxAC4AMABmAG8AbgB0AGUAbABsAG8ARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAQIBAwljaGVja21hcmsGY2lyY2xlAAAAAAEAAf//AA8AAAAAAAAAAAAAAAAAAAAAADIAMgML/7EDC/+xsAAssCBgZi2wASwgZCCwwFCwBCZasARFW1ghIyEbilggsFBQWCGwQFkbILA4UFghsDhZWSCwCkVhZLAoUFghsApFILAwUFghsDBZGyCwwFBYIGYgiophILAKUFhgGyCwIFBYIbAKYBsgsDZQWCGwNmAbYFlZWRuwACtZWSOwAFBYZVlZLbACLCBFILAEJWFkILAFQ1BYsAUjQrAGI0IbISFZsAFgLbADLCMhIyEgZLEFYkIgsAYjQrIKAAIqISCwBkMgiiCKsAArsTAFJYpRWGBQG2FSWVgjWSEgsEBTWLAAKxshsEBZI7AAUFhlWS2wBCywB0MrsgACAENgQi2wBSywByNCIyCwACNCYbCAYrABYLAEKi2wBiwgIEUgsAJFY7ABRWJgRLABYC2wBywgIEUgsAArI7ECBCVgIEWKI2EgZCCwIFBYIbAAG7AwUFiwIBuwQFlZI7AAUFhlWbADJSNhRESwAWAtsAgssQUFRbABYUQtsAkssAFgICCwCUNKsABQWCCwCSNCWbAKQ0qwAFJYILAKI0JZLbAKLCC4BABiILgEAGOKI2GwC0NgIIpgILALI0IjLbALLEtUWLEHAURZJLANZSN4LbAMLEtRWEtTWLEHAURZGyFZJLATZSN4LbANLLEADENVWLEMDEOwAWFCsAorWbAAQ7ACJUKxCQIlQrEKAiVCsAEWIyCwAyVQWLEBAENgsAQlQoqKIIojYbAJKiEjsAFhIIojYbAJKiEbsQEAQ2CwAiVCsAIlYbAJKiFZsAlDR7AKQ0dgsIBiILACRWOwAUViYLEAABMjRLABQ7AAPrIBAQFDYEItsA4ssQAFRVRYALAMI0IgYLABYbUNDQEACwBCQopgsQ0FK7BtKxsiWS2wDyyxAA4rLbAQLLEBDistsBEssQIOKy2wEiyxAw4rLbATLLEEDistsBQssQUOKy2wFSyxBg4rLbAWLLEHDistsBcssQgOKy2wGCyxCQ4rLbAZLLAIK7EABUVUWACwDCNCIGCwAWG1DQ0BAAsAQkKKYLENBSuwbSsbIlktsBossQAZKy2wGyyxARkrLbAcLLECGSstsB0ssQMZKy2wHiyxBBkrLbAfLLEFGSstsCAssQYZKy2wISyxBxkrLbAiLLEIGSstsCMssQkZKy2wJCwgPLABYC2wJSwgYLANYCBDI7ABYEOwAiVhsAFgsCQqIS2wJiywJSuwJSotsCcsICBHICCwAkVjsAFFYmAjYTgjIIpVWCBHICCwAkVjsAFFYmAjYTgbIVktsCgssQAFRVRYALABFrAnKrABFTAbIlktsCkssAgrsQAFRVRYALABFrAnKrABFTAbIlktsCosIDWwAWAtsCssALADRWOwAUVisAArsAJFY7ABRWKwACuwABa0AAAAAABEPiM4sSoBFSotsCwsIDwgRyCwAkVjsAFFYmCwAENhOC2wLSwuFzwtsC4sIDwgRyCwAkVjsAFFYmCwAENhsAFDYzgtsC8ssQIAFiUgLiBHsAAjQrACJUmKikcjRyNhIFhiGyFZsAEjQrIuAQEVFCotsDAssAAWsAQlsAQlRyNHI2GwBkUrZYouIyAgPIo4LbAxLLAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjILAIQyCKI0cjRyNhI0ZgsARDsIBiYCCwACsgiophILACQ2BkI7ADQ2FkUFiwAkNhG7ADQ2BZsAMlsIBiYSMgILAEJiNGYTgbI7AIQ0awAiWwCENHI0cjYWAgsARDsIBiYCMgsAArI7AEQ2CwACuwBSVhsAUlsIBisAQmYSCwBCVgZCOwAyVgZFBYIRsjIVkjICCwBCYjRmE4WS2wMiywABYgICCwBSYgLkcjRyNhIzw4LbAzLLAAFiCwCCNCICAgRiNHsAArI2E4LbA0LLAAFrADJbACJUcjRyNhsABUWC4gPCMhG7ACJbACJUcjRyNhILAFJbAEJUcjRyNhsAYlsAUlSbACJWGwAUVjIyBYYhshWWOwAUViYCMuIyAgPIo4IyFZLbA1LLAAFiCwCEMgLkcjRyNhIGCwIGBmsIBiIyAgPIo4LbA2LCMgLkawAiVGUlggPFkusSYBFCstsDcsIyAuRrACJUZQWCA8WS6xJgEUKy2wOCwjIC5GsAIlRlJYIDxZIyAuRrACJUZQWCA8WS6xJgEUKy2wOSywMCsjIC5GsAIlRlJYIDxZLrEmARQrLbA6LLAxK4ogIDywBCNCijgjIC5GsAIlRlJYIDxZLrEmARQrsARDLrAmKy2wOyywABawBCWwBCYgLkcjRyNhsAZFKyMgPCAuIzixJgEUKy2wPCyxCAQlQrAAFrAEJbAEJSAuRyNHI2EgsAQjQrAGRSsgsGBQWCCwQFFYswIgAyAbswImAxpZQkIjIEewBEOwgGJgILAAKyCKimEgsAJDYGQjsANDYWRQWLACQ2EbsANDYFmwAyWwgGJhsAIlRmE4IyA8IzgbISAgRiNHsAArI2E4IVmxJgEUKy2wPSywMCsusSYBFCstsD4ssDErISMgIDywBCNCIzixJgEUK7AEQy6wJistsD8ssAAVIEewACNCsgABARUUEy6wLCotsEAssAAVIEewACNCsgABARUUEy6wLCotsEEssQABFBOwLSotsEIssC8qLbBDLLAAFkUjIC4gRoojYTixJgEUKy2wRCywCCNCsEMrLbBFLLIAADwrLbBGLLIAATwrLbBHLLIBADwrLbBILLIBATwrLbBJLLIAAD0rLbBKLLIAAT0rLbBLLLIBAD0rLbBMLLIBAT0rLbBNLLIAADkrLbBOLLIAATkrLbBPLLIBADkrLbBQLLIBATkrLbBRLLIAADsrLbBSLLIAATsrLbBTLLIBADsrLbBULLIBATsrLbBVLLIAAD4rLbBWLLIAAT4rLbBXLLIBAD4rLbBYLLIBAT4rLbBZLLIAADorLbBaLLIAATorLbBbLLIBADorLbBcLLIBATorLbBdLLAyKy6xJgEUKy2wXiywMiuwNistsF8ssDIrsDcrLbBgLLAAFrAyK7A4Ky2wYSywMysusSYBFCstsGIssDMrsDYrLbBjLLAzK7A3Ky2wZCywMyuwOCstsGUssDQrLrEmARQrLbBmLLA0K7A2Ky2wZyywNCuwNystsGgssDQrsDgrLbBpLLA1Ky6xJgEUKy2waiywNSuwNistsGsssDUrsDcrLbBsLLA1K7A4Ky2wbSwrsAhlsAMkUHiwARUwLQAAAEu4AMhSWLEBAY5ZuQgACABjILABI0SwAyNwsgQoCUVSRLIKAgcqsQYBRLEkAYhRWLBAiFixBgNEsSYBiFFYuAQAiFixBgFEWVlZWbgB/4WwBI2xBQBEAAA=\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAoUAA4AAAAAEPQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAABRAAAAEQAAABWPeFJAWNtYXAAAAGIAAAAOgAAAUrQEhm3Y3Z0IAAAAcQAAAAUAAAAHAZJ/5RmcGdtAAAB2AAABPkAAAmRigp4O2dhc3AAAAbUAAAACAAAAAgAAAAQZ2x5ZgAABtwAAACuAAAAtt9nBHZoZWFkAAAHjAAAADUAAAA2ASs8e2hoZWEAAAfEAAAAIAAAACQHUwNNaG10eAAAB+QAAAAMAAAADAspAABsb2NhAAAH8AAAAAgAAAAIADgAW21heHAAAAf4AAAAIAAAACAApgm8bmFtZQAACBgAAAF3AAACzcydGhxwb3N0AAAJkAAAACoAAAA7rr1AmHByZXAAAAm8AAAAVgAAAFaSoZr/eJxjYGTewTiBgZWBg6mKaQ8DA0MPhGZ8wGDIyMTAwMTAysyAFQSkuaYwOLxgeMHIHPQ/iyGKmZvBHyjMCJIDAPe9C2B4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGF4w/v8PUvCCAURLMELVAwEjG8OIBwBk5AavAAB4nGNgQANGDEbM3P83gjAAELQD4XicnVXZdtNWFJU8ZHASOmSgoA7X3DhQ68qEKRgwaSrFdiEdHAitBB2kDHTkncc+62uOQrtWH/m07n09JLR0rbYsls++R1tn2DrnRhwjKn0aiGvUoZKXA6msPZZK90lc13Uvj5UMBnFdthJPSZuonSRKat3sUC7xWOsqWSdYJ+PlIFZPVZ5noAziFB5lSUQbRBuplyZJ4onjJ4kWZxAfJUkgJaMQp9LIUEI1GsRS1aFM6dCr1xNx00DKRqMedVhU90PFJ8c1p9SsA0YqVznCFevVRr4bpwMve5DEOsGzrYcxHnisfpQqkIqR6cg/dkpOlIaBVHHUoVbi6DCTX/eRTCrNQKaMYkWl7oG43f102xYxPXQ6vi5KlUaqurnOKJrt0fGogygP2cbppNzQ2fbw5RlTVKtdcbPtQGYNXErJbHSfRAAdJlLj6QFONZwCqRn1R8XZ588BEslclKo8VTKHegOZMzt7cTHtbiersnCknwcyb3Z2452HQ6dXh3/R+hdM4cxHj+Jifj5C+lBqfiJOJKVGWMzyp4YfcVcgQrkxiAsXyuBThDl0RdrZZl3jtTH2hs/5SqlhPQna6KP4fgr9TiQrHGdRo/VInM1j13Wt3GdQS7W7Fzsyr0OVIu7vCwuuM+eEYZ4WC1VfnvneBTT/Bohn/EDeNIVL+5YpSrRvm6JMu2iKCu0SVKVdNsUU7YoppmnPmmKG9h1TzNKeMzLj/8vc55H7HN7xkJv2XeSmfQ+5ad9HbtoPkJtWITdtHblpLyA3rUZu2lWjOnYEGgZpF1IVQdA0svph3Fab9UDWjDR8aWDyLmLI+upER521tcofxX914gsHcmmip7siF5viLq/bFj483e6rj5pG3bDV+MaR8jAeRnocmtBZ+c3hv+1N3S6a7jKqMugBFUwKwABl7UAC0zrbCaT1mqf48gdgXIZ4zkpDtVSfO4am7+V5X/exOfG+x+3GLrdcd3kJWdYNcmP28N9SZKrrH+UtrVQnR6wrJ49VaxhDKrwour6SlHu0tRu/KKmy8l6U1srnk5CbPYMbQlu27mGwI0xpyiUeXlOlKD3UUo6yQyxvKco84JSLC1qGxLgOdQ9qa8TpoXoYGwshhqG0vRBwSCldFd+0ynfxHqtr2Oj4xRXh6XpyEhGf4ir7UfBU10b96A7avGbdMoMpVaqn+4xPsa/b9lFZaaSOsxe3VAfXNOsaORXTT+Rr4HRvOGjdAz1UfDRBI1U1x+jGKGM0ljXl3wR0MVZ+w2jVYvs93E+dpFWsuUuY7JsT9+C0u/0q+7WcW0bW/dcGvW3kip8jMb8tCvw7B2K3ZA3UO5OBGAvIWdAYxhYmdxiug23EbfY/Jqf/34aFRXJXOxq7eerD1ZNRJXfZ8rjLTXZZ16M2R9VOGvsIjS0PN+bY4XIstsRgQbb+wf8x7gF3aVEC4NDIZZiI2nShnurh6h6rsW04VxIBds2x43QAegAuQd8cu9bzCYD13CPnLsB9cgh2yCH4lByCz8i5BfA5OQRfkEMwIIdgl5w7AA/IIXhIDsEeOQSPyNkE+JIcgq/IIYjJIUjIuQ3wmByCJ+QQfE0OwTdGrk5k/pYH2QD6zqKbQKmdGhzaOGRGrk3Y+zxY9oFFZB9aROqRkesT6lMeLPV7i0j9wSJSfzRyY0L9iQdL/dkiUn+xiNRnxpeZIymvDp7zjg7+BJfqrV4AAAAAAQAB//8AD3icY2BkAALmJUwzGEQZZBwk+RkZGBmdGJgYmbIYgMwsoGSiiLgIs5A2owg7I5uSOqOaiT2jmZE8I5gQY17C/09BQEfg3yt+fh8gvYQxD0j68DOJiQn8U+DnZxQDcQUEljLmCwBpBgbG/3//b2SOZ+Zm4GEQcuAH2sblDLSEm8FFVJhJEGgLH6OSHpMdo5EcI3Nk0bEXJ/LYqvZ82VXHGFd6pKTkyCsQwQAAq+QkqAAAeJxjYGRgYADiw5VSsfH8Nl8ZuJlfAEUYzpvO6IXQCb7///7fyLyEmRvI5WBgAokCAFb/DJAAAAB4nGNgZGBgDvqfxRDF/IKB4f935iUMQBEUwAwAi5YFpgPoAAAD6AAAA1kAAAAAAAAAOABbAAEAAAADABYAAQAAAAAAAgAGABMAbgAAAC0JkQAAAAB4nHWQy2rCQBSG//HSi0JbWui2sypKabxgN4IgWHTTbqS4LTHGJBIzMhkFX6Pv0IfpS/RZ+puMpShNmMx3vjlz5mQAXOMbAvnzxJGzwBmjnAs4Rc9ykf7Zcon8YrmMKt4sn9C/W67gAYHlKm7wwQqidM5ogU/LAlfi0nIBF+LOcpH+0XKJ3LNcxq14tXxC71muYCJSy1Xci6+BWm11FIRG1gZ12W62OnK6lYoqStxYumsTKp3KvpyrxPhxrBxPLfc89oN17Op9uJ8nvk4jlciW09yrkZ/42jX+bFc93QRtY+ZyrtVSDm2GXGm18D3jhMasuo3G3/MwgMIKW2hEvKoQBhI12jrnNppooUOaMkMyM8+KkMBFTONizR1htpIy7nPMGSW0PjNisgOP3+WRH5MC7o9ZRR+tHsYT0u6MKPOSfTns7jBrREqyTDezs9/eU2x4WpvWcNeuS511JTE8qCF5H7u1BY1H72S3Ymi7aPD95/9+AN1fhEsAeJxjYGKAAC4G7ICZgYGRiZGZMzkjNTk7N7Eomy05syg5J5WBAQBE1QZBAABLuADIUlixAQGOWbkIAAgAYyCwASNEsAMjcLIEKAlFUkSyCgIHKrEGAUSxJAGIUViwQIhYsQYDRLEmAYhRWLgEAIhYsQYBRFlZWVm4Af+FsASNsQUARAAA\") format('woff');\n}\n\n.ui.steps .step.completed > .icon:before,\n.ui.ordered.steps .step.completed:before {\n  font-family: 'Step';\n  content: '\\e800';\n  /* '' */\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Breadcrumb\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Breadcrumb\n*******************************/\n\n.ui.breadcrumb {\n  line-height: 1;\n  display: inline-block;\n  margin: 0em 0em;\n  vertical-align: middle;\n}\n\n.ui.breadcrumb:first-child {\n  margin-top: 0em;\n}\n\n.ui.breadcrumb:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n          Content\n*******************************/\n\n/* Divider */\n\n.ui.breadcrumb .divider {\n  display: inline-block;\n  opacity: 0.7;\n  margin: 0em 0.21428571rem 0em;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n  vertical-align: baseline;\n}\n\n/* Link */\n\n.ui.breadcrumb a {\n  color: #4183C4;\n}\n\n.ui.breadcrumb a:hover {\n  color: #1e70bf;\n}\n\n/* Icon Divider */\n\n.ui.breadcrumb .icon.divider {\n  font-size: 0.85714286em;\n  vertical-align: baseline;\n}\n\n/* Section */\n\n.ui.breadcrumb a.section {\n  cursor: pointer;\n}\n\n.ui.breadcrumb .section {\n  display: inline-block;\n  margin: 0em;\n  padding: 0em;\n}\n\n/* Loose Coupling */\n\n.ui.breadcrumb.segment {\n  display: inline-block;\n  padding: 0.71428571em 1em;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.breadcrumb .active.section {\n  font-weight: bold;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.mini.breadcrumb {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.breadcrumb {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.breadcrumb {\n  font-size: 0.92857143rem;\n}\n\n.ui.breadcrumb {\n  font-size: 1rem;\n}\n\n.ui.large.breadcrumb {\n  font-size: 1.14285714rem;\n}\n\n.ui.big.breadcrumb {\n  font-size: 1.28571429rem;\n}\n\n.ui.huge.breadcrumb {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.breadcrumb {\n  font-size: 1.71428571rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Form\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Elements\n*******************************/\n\n/*--------------------\n        Form\n---------------------*/\n\n.ui.form {\n  position: relative;\n  max-width: 100%;\n}\n\n/*--------------------\n        Content\n---------------------*/\n\n.ui.form > p {\n  margin: 1em 0em;\n}\n\n/*--------------------\n        Field\n---------------------*/\n\n.ui.form .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n\n.ui.form .field:last-child,\n.ui.form .fields:last-child .field {\n  margin-bottom: 0em;\n}\n\n.ui.form .fields .field {\n  clear: both;\n  margin: 0em 0em 1em;\n}\n\n/*--------------------\n        Labels\n---------------------*/\n\n.ui.form .field > label {\n  display: block;\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n\n/*--------------------\n    Standard Inputs\n---------------------*/\n\n.ui.form textarea,\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  width: 100%;\n  vertical-align: top;\n}\n\n/* Set max height on unusual input */\n\n.ui.form ::-webkit-datetime-edit,\n.ui.form ::-webkit-inner-spin-button {\n  height: 1.2142em;\n}\n\n.ui.form input:not([type]),\n.ui.form input[type=\"date\"],\n.ui.form input[type=\"datetime-local\"],\n.ui.form input[type=\"email\"],\n.ui.form input[type=\"number\"],\n.ui.form input[type=\"password\"],\n.ui.form input[type=\"search\"],\n.ui.form input[type=\"tel\"],\n.ui.form input[type=\"time\"],\n.ui.form input[type=\"text\"],\n.ui.form input[type=\"url\"] {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n  transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/* Text Area */\n\n.ui.form textarea {\n  margin: 0em;\n  -webkit-appearance: none;\n  tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: 0.78571429em 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  outline: none;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n  transition: color 0.1s ease, border-color 0.1s ease;\n  font-size: 1em;\n  line-height: 1.2857;\n  resize: vertical;\n}\n\n.ui.form textarea:not([rows]) {\n  height: 12em;\n  min-height: 8em;\n  max-height: 24em;\n}\n\n.ui.form textarea,\n.ui.form input[type=\"checkbox\"] {\n  vertical-align: top;\n}\n\n/*--------------------------\n  Input w/ attached Button\n---------------------------*/\n\n.ui.form input.attached {\n  width: auto;\n}\n\n/*--------------------\n     Basic Select\n---------------------*/\n\n.ui.form select {\n  display: block;\n  height: auto;\n  width: 100%;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  padding: 0.62em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease, border-color 0.1s ease;\n  transition: color 0.1s ease, border-color 0.1s ease;\n}\n\n/*--------------------\n       Dropdown\n---------------------*/\n\n/* Block */\n\n.ui.form .field > .selection.dropdown {\n  width: 100%;\n}\n\n.ui.form .field > .selection.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/* Inline */\n\n.ui.form .inline.fields .field > .selection.dropdown,\n.ui.form .inline.field > .selection.dropdown {\n  width: auto;\n}\n\n.ui.form .inline.fields .field > .selection.dropdown > .dropdown.icon,\n.ui.form .inline.field > .selection.dropdown > .dropdown.icon {\n  float: none;\n}\n\n/*--------------------\n       UI Input\n---------------------*/\n\n/* Block */\n\n.ui.form .field .ui.input,\n.ui.form .fields .field .ui.input,\n.ui.form .wide.field .ui.input {\n  width: 100%;\n}\n\n/* Inline  */\n\n.ui.form .inline.fields .field:not(.wide) .ui.input,\n.ui.form .inline.field:not(.wide) .ui.input {\n  width: auto;\n  vertical-align: middle;\n}\n\n/* Auto Input */\n\n.ui.form .fields .field .ui.input input,\n.ui.form .field .ui.input input {\n  width: auto;\n}\n\n/* Full Width Input */\n\n.ui.form .ten.fields .ui.input input,\n.ui.form .nine.fields .ui.input input,\n.ui.form .eight.fields .ui.input input,\n.ui.form .seven.fields .ui.input input,\n.ui.form .six.fields .ui.input input,\n.ui.form .five.fields .ui.input input,\n.ui.form .four.fields .ui.input input,\n.ui.form .three.fields .ui.input input,\n.ui.form .two.fields .ui.input input,\n.ui.form .wide.field .ui.input input {\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  width: 0px;\n}\n\n/*--------------------\n   Types of Messages\n---------------------*/\n\n.ui.form .success.message,\n.ui.form .warning.message,\n.ui.form .error.message {\n  display: none;\n}\n\n/* Assumptions */\n\n.ui.form .message:first-child {\n  margin-top: 0px;\n}\n\n/*--------------------\n   Validation Prompt\n---------------------*/\n\n.ui.form .field .prompt.label {\n  white-space: normal;\n  background: #FFFFFF !important;\n  border: 1px solid #E0B4B4 !important;\n  color: #9F3A38 !important;\n}\n\n.ui.form .inline.fields .field .prompt,\n.ui.form .inline.field .prompt {\n  vertical-align: top;\n  margin: -0.25em 0em -0.5em 0.5em;\n}\n\n.ui.form .inline.fields .field .prompt:before,\n.ui.form .inline.field .prompt:before {\n  border-width: 0px 0px 1px 1px;\n  bottom: auto;\n  right: auto;\n  top: 50%;\n  left: 0em;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n      Autofilled\n---------------------*/\n\n.ui.form .field.field input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #E5DFA1 !important;\n}\n\n/* Focus */\n\n.ui.form .field.field input:-webkit-autofill:focus {\n  box-shadow: 0px 0px 0px 100px #FFFFF0 inset !important;\n  border-color: #D5C315 !important;\n}\n\n/* Error */\n\n.ui.form .error.error input:-webkit-autofill {\n  box-shadow: 0px 0px 0px 100px #FFFAF0 inset !important;\n  border-color: #E0B4B4 !important;\n}\n\n/*--------------------\n      Placeholder\n---------------------*/\n\n/* browsers require these rules separate */\n\n.ui.form ::-webkit-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n\n.ui.form ::-ms-input-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n\n.ui.form ::-moz-placeholder {\n  color: rgba(140, 140, 140, 0.87);\n}\n\n.ui.form :focus::-webkit-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n.ui.form :focus::-ms-input-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n.ui.form :focus::-moz-placeholder {\n  color: rgba(89, 89, 89, 0.87);\n}\n\n/* Error Placeholder */\n\n.ui.form .error ::-webkit-input-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.form .error ::-ms-input-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.form .error ::-moz-placeholder {\n  color: #e7bdbc;\n}\n\n.ui.form .error :focus::-webkit-input-placeholder {\n  color: #da9796;\n}\n\n.ui.form .error :focus::-ms-input-placeholder {\n  color: #da9796;\n}\n\n.ui.form .error :focus::-moz-placeholder {\n  color: #da9796;\n}\n\n/*--------------------\n        Focus\n---------------------*/\n\n.ui.form input:not([type]):focus,\n.ui.form input[type=\"date\"]:focus,\n.ui.form input[type=\"datetime-local\"]:focus,\n.ui.form input[type=\"email\"]:focus,\n.ui.form input[type=\"number\"]:focus,\n.ui.form input[type=\"password\"]:focus,\n.ui.form input[type=\"search\"]:focus,\n.ui.form input[type=\"tel\"]:focus,\n.ui.form input[type=\"time\"]:focus,\n.ui.form input[type=\"text\"]:focus,\n.ui.form input[type=\"url\"]:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n}\n\n.ui.form textarea:focus {\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #85B7D9;\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 0em 0em 0em rgba(34, 36, 38, 0.35) inset;\n  -webkit-appearance: none;\n}\n\n/*--------------------\n        Success\n---------------------*/\n\n/* On Form */\n\n.ui.form.success .success.message:not(:empty) {\n  display: block;\n}\n\n.ui.form.success .icon.success.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Warning\n---------------------*/\n\n/* On Form */\n\n.ui.form.warning .warning.message:not(:empty) {\n  display: block;\n}\n\n.ui.form.warning .icon.warning.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------------\n        Error\n---------------------*/\n\n/* On Form */\n\n.ui.form.error .error.message:not(:empty) {\n  display: block;\n}\n\n.ui.form.error .icon.error.message:not(:empty) {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/* On Field(s) */\n\n.ui.form .fields.error .field label,\n.ui.form .field.error label,\n.ui.form .fields.error .field .input,\n.ui.form .field.error .input {\n  color: #9F3A38;\n}\n\n.ui.form .fields.error .field .corner.label,\n.ui.form .field.error .corner.label {\n  border-color: #9F3A38;\n  color: #FFFFFF;\n}\n\n.ui.form .fields.error .field textarea,\n.ui.form .fields.error .field select,\n.ui.form .fields.error .field input:not([type]),\n.ui.form .fields.error .field input[type=\"date\"],\n.ui.form .fields.error .field input[type=\"datetime-local\"],\n.ui.form .fields.error .field input[type=\"email\"],\n.ui.form .fields.error .field input[type=\"number\"],\n.ui.form .fields.error .field input[type=\"password\"],\n.ui.form .fields.error .field input[type=\"search\"],\n.ui.form .fields.error .field input[type=\"tel\"],\n.ui.form .fields.error .field input[type=\"time\"],\n.ui.form .fields.error .field input[type=\"text\"],\n.ui.form .fields.error .field input[type=\"url\"],\n.ui.form .field.error textarea,\n.ui.form .field.error select,\n.ui.form .field.error input:not([type]),\n.ui.form .field.error input[type=\"date\"],\n.ui.form .field.error input[type=\"datetime-local\"],\n.ui.form .field.error input[type=\"email\"],\n.ui.form .field.error input[type=\"number\"],\n.ui.form .field.error input[type=\"password\"],\n.ui.form .field.error input[type=\"search\"],\n.ui.form .field.error input[type=\"tel\"],\n.ui.form .field.error input[type=\"time\"],\n.ui.form .field.error input[type=\"text\"],\n.ui.form .field.error input[type=\"url\"] {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  border-radius: '';\n  box-shadow: none;\n}\n\n.ui.form .field.error textarea:focus,\n.ui.form .field.error select:focus,\n.ui.form .field.error input:not([type]):focus,\n.ui.form .field.error input[type=\"date\"]:focus,\n.ui.form .field.error input[type=\"datetime-local\"]:focus,\n.ui.form .field.error input[type=\"email\"]:focus,\n.ui.form .field.error input[type=\"number\"]:focus,\n.ui.form .field.error input[type=\"password\"]:focus,\n.ui.form .field.error input[type=\"search\"]:focus,\n.ui.form .field.error input[type=\"tel\"]:focus,\n.ui.form .field.error input[type=\"time\"]:focus,\n.ui.form .field.error input[type=\"text\"]:focus,\n.ui.form .field.error input[type=\"url\"]:focus {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n  color: #9F3A38;\n  -webkit-appearance: none;\n  box-shadow: none;\n}\n\n/* Preserve Native Select Stylings */\n\n.ui.form .field.error select {\n  -webkit-appearance: menulist-button;\n}\n\n/*------------------\n    Dropdown Error\n--------------------*/\n\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .fields.error .field .ui.dropdown .item,\n.ui.form .field.error .ui.dropdown,\n.ui.form .field.error .ui.dropdown .text,\n.ui.form .field.error .ui.dropdown .item {\n  background: #FFF6F6;\n  color: #9F3A38;\n}\n\n.ui.form .fields.error .field .ui.dropdown,\n.ui.form .field.error .ui.dropdown {\n  border-color: #E0B4B4 !important;\n}\n\n.ui.form .fields.error .field .ui.dropdown:hover,\n.ui.form .field.error .ui.dropdown:hover {\n  border-color: #E0B4B4 !important;\n}\n\n.ui.form .fields.error .field .ui.dropdown:hover .menu,\n.ui.form .field.error .ui.dropdown:hover .menu {\n  border-color: #E0B4B4;\n}\n\n.ui.form .fields.error .field .ui.multiple.selection.dropdown > .label,\n.ui.form .field.error .ui.multiple.selection.dropdown > .label {\n  background-color: #EACBCB;\n  color: #9F3A38;\n}\n\n/* Hover */\n\n.ui.form .fields.error .field .ui.dropdown .menu .item:hover,\n.ui.form .field.error .ui.dropdown .menu .item:hover {\n  background-color: #FBE7E7;\n}\n\n/* Selected */\n\n.ui.form .fields.error .field .ui.dropdown .menu .selected.item,\n.ui.form .field.error .ui.dropdown .menu .selected.item {\n  background-color: #FBE7E7;\n}\n\n/* Active */\n\n.ui.form .fields.error .field .ui.dropdown .menu .active.item,\n.ui.form .field.error .ui.dropdown .menu .active.item {\n  background-color: #FDCFCF !important;\n}\n\n/*--------------------\n    Checkbox Error\n---------------------*/\n\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box {\n  color: #9F3A38;\n}\n\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) label:before,\n.ui.form .fields.error .field .checkbox:not(.toggle):not(.slider) .box:before,\n.ui.form .field.error .checkbox:not(.toggle):not(.slider) .box:before {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n\n.ui.form .fields.error .field .checkbox label:after,\n.ui.form .field.error .checkbox label:after,\n.ui.form .fields.error .field .checkbox .box:after,\n.ui.form .field.error .checkbox .box:after {\n  color: #9F3A38;\n}\n\n/*--------------------\n       Disabled\n---------------------*/\n\n.ui.form .disabled.fields .field,\n.ui.form .disabled.field,\n.ui.form .field :disabled {\n  pointer-events: none;\n  opacity: 0.45;\n}\n\n.ui.form .field.disabled label {\n  opacity: 0.45;\n}\n\n.ui.form .field.disabled :disabled {\n  opacity: 1;\n}\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.form {\n  position: relative;\n  cursor: default;\n  point-events: none;\n  text-shadow: none !important;\n  color: transparent !important;\n  -webkit-transition: all 0s linear;\n  transition: all 0s linear;\n  z-index: 100;\n}\n\n.ui.loading.form:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0%;\n  background: rgba(255, 255, 255, 0.8);\n  width: 100%;\n  height: 100%;\n  z-index: 100;\n}\n\n.ui.loading.form:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -1.5em 0em 0em -1.5em;\n  width: 3em;\n  height: 3em;\n  -webkit-animation: form-spin 0.6s linear;\n  animation: form-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1);\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n  visibility: visible;\n  z-index: 101;\n}\n\n@-webkit-keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes form-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*******************************\n         Element Types\n*******************************/\n\n/*--------------------\n     Required Field\n---------------------*/\n\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after,\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  margin: -0.2em 0em 0em 0.2em;\n  content: '*';\n  color: #DB2828;\n}\n\n.ui.form .required.fields:not(.grouped) > .field > label:after,\n.ui.form .required.fields.grouped > label:after,\n.ui.form .required.field > label:after {\n  display: inline-block;\n  vertical-align: top;\n}\n\n.ui.form .required.fields:not(.grouped) > .field > .checkbox:after,\n.ui.form .required.field > .checkbox:after {\n  position: absolute;\n  top: 0%;\n  left: 100%;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------------\n    Inverted Colors\n---------------------*/\n\n.ui.inverted.form label,\n.ui.form .inverted.segment label,\n.ui.form .inverted.segment .ui.checkbox label,\n.ui.form .inverted.segment .ui.checkbox .box,\n.ui.inverted.form .ui.checkbox label,\n.ui.inverted.form .ui.checkbox .box {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Inverted Field */\n\n.ui.inverted.form input:not([type]),\n.ui.inverted.form input[type=\"date\"],\n.ui.inverted.form input[type=\"datetime-local\"],\n.ui.inverted.form input[type=\"email\"],\n.ui.inverted.form input[type=\"number\"],\n.ui.inverted.form input[type=\"password\"],\n.ui.inverted.form input[type=\"search\"],\n.ui.inverted.form input[type=\"tel\"],\n.ui.inverted.form input[type=\"time\"],\n.ui.inverted.form input[type=\"text\"],\n.ui.inverted.form input[type=\"url\"] {\n  background: #FFFFFF;\n  border-color: rgba(255, 255, 255, 0.1);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n}\n\n/*--------------------\n     Field Groups\n---------------------*/\n\n/* Grouped Vertically */\n\n.ui.form .grouped.fields {\n  display: block;\n  margin: 0em 0em 1em;\n}\n\n.ui.form .grouped.fields:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.form .grouped.fields > label {\n  margin: 0em 0em 0.28571429rem 0em;\n  color: rgba(0, 0, 0, 0.87);\n  font-size: 0.92857143em;\n  font-weight: bold;\n  text-transform: none;\n}\n\n.ui.form .grouped.fields .field,\n.ui.form .grouped.inline.fields .field {\n  display: block;\n  margin: 0.5em 0em;\n  padding: 0em;\n}\n\n/*--------------------\n        Fields\n---------------------*/\n\n/* Split fields */\n\n.ui.form .fields {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n.ui.form .fields > .field {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n\n.ui.form .fields > .field:first-child {\n  border-left: none;\n  box-shadow: none;\n}\n\n/* Other Combinations */\n\n.ui.form .two.fields > .fields,\n.ui.form .two.fields > .field {\n  width: 50%;\n}\n\n.ui.form .three.fields > .fields,\n.ui.form .three.fields > .field {\n  width: 33.33333333%;\n}\n\n.ui.form .four.fields > .fields,\n.ui.form .four.fields > .field {\n  width: 25%;\n}\n\n.ui.form .five.fields > .fields,\n.ui.form .five.fields > .field {\n  width: 20%;\n}\n\n.ui.form .six.fields > .fields,\n.ui.form .six.fields > .field {\n  width: 16.66666667%;\n}\n\n.ui.form .seven.fields > .fields,\n.ui.form .seven.fields > .field {\n  width: 14.28571429%;\n}\n\n.ui.form .eight.fields > .fields,\n.ui.form .eight.fields > .field {\n  width: 12.5%;\n}\n\n.ui.form .nine.fields > .fields,\n.ui.form .nine.fields > .field {\n  width: 11.11111111%;\n}\n\n.ui.form .ten.fields > .fields,\n.ui.form .ten.fields > .field {\n  width: 10%;\n}\n\n/* Swap to full width on mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.form .fields {\n    -webkit-flex-wrap: wrap;\n    -ms-flex-wrap: wrap;\n    flex-wrap: wrap;\n  }\n\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .six.fields > .fields,\n  .ui.form .six.fields > .field,\n  .ui.form .seven.fields > .fields,\n  .ui.form .seven.fields > .field,\n  .ui.form .eight.fields > .fields,\n  .ui.form .eight.fields > .field,\n  .ui.form .nine.fields > .fields,\n  .ui.form .nine.fields > .field,\n  .ui.form .ten.fields > .fields,\n  .ui.form .ten.fields > .field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n\n.ui.form .fields .field:first-child {\n  padding-left: 0%;\n}\n\n.ui.form .fields .field:last-child {\n  padding-right: 0%;\n}\n\n/* Sizing Combinations */\n\n.ui.form .fields .wide.field {\n  width: 6.25%;\n  padding-left: 0.5em;\n  padding-right: 0.5em;\n}\n\n.ui.form .fields .wide.field:first-child {\n  padding-left: 0%;\n}\n\n.ui.form .fields .wide.field:last-child {\n  padding-right: 0%;\n}\n\n.ui.form .one.wide.field {\n  width: 6.25% !important;\n}\n\n.ui.form .two.wide.field {\n  width: 12.5% !important;\n}\n\n.ui.form .three.wide.field {\n  width: 18.75% !important;\n}\n\n.ui.form .four.wide.field {\n  width: 25% !important;\n}\n\n.ui.form .five.wide.field {\n  width: 31.25% !important;\n}\n\n.ui.form .six.wide.field {\n  width: 37.5% !important;\n}\n\n.ui.form .seven.wide.field {\n  width: 43.75% !important;\n}\n\n.ui.form .eight.wide.field {\n  width: 50% !important;\n}\n\n.ui.form .nine.wide.field {\n  width: 56.25% !important;\n}\n\n.ui.form .ten.wide.field {\n  width: 62.5% !important;\n}\n\n.ui.form .eleven.wide.field {\n  width: 68.75% !important;\n}\n\n.ui.form .twelve.wide.field {\n  width: 75% !important;\n}\n\n.ui.form .thirteen.wide.field {\n  width: 81.25% !important;\n}\n\n.ui.form .fourteen.wide.field {\n  width: 87.5% !important;\n}\n\n.ui.form .fifteen.wide.field {\n  width: 93.75% !important;\n}\n\n.ui.form .sixteen.wide.field {\n  width: 100% !important;\n}\n\n/* Swap to full width on mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.form .two.fields > .fields,\n  .ui.form .two.fields > .field,\n  .ui.form .three.fields > .fields,\n  .ui.form .three.fields > .field,\n  .ui.form .four.fields > .fields,\n  .ui.form .four.fields > .field,\n  .ui.form .five.fields > .fields,\n  .ui.form .five.fields > .field,\n  .ui.form .fields > .two.wide.field,\n  .ui.form .fields > .three.wide.field,\n  .ui.form .fields > .four.wide.field,\n  .ui.form .fields > .five.wide.field,\n  .ui.form .fields > .six.wide.field,\n  .ui.form .fields > .seven.wide.field,\n  .ui.form .fields > .eight.wide.field,\n  .ui.form .fields > .nine.wide.field,\n  .ui.form .fields > .ten.wide.field,\n  .ui.form .fields > .eleven.wide.field,\n  .ui.form .fields > .twelve.wide.field,\n  .ui.form .fields > .thirteen.wide.field,\n  .ui.form .fields > .fourteen.wide.field,\n  .ui.form .fields > .fifteen.wide.field,\n  .ui.form .fields > .sixteen.wide.field {\n    width: 100% !important;\n    margin: 0em 0em 1em;\n    padding-left: 0%;\n    padding-right: 0%;\n  }\n}\n\n/*--------------------\n     Equal Width\n---------------------*/\n\n.ui[class*=\"equal width\"].form .fields > .field,\n.ui.form [class*=\"equal width\"].fields > .field {\n  width: 100%;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n}\n\n/*--------------------\n    Inline Fields\n---------------------*/\n\n.ui.form .inline.fields {\n  margin: 0em 0em 1em;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.form .inline.fields .field {\n  margin: 0em;\n  padding: 0em 1em 0em 0em;\n}\n\n/* Inline Label */\n\n.ui.form .inline.fields > label,\n.ui.form .inline.fields .field > label,\n.ui.form .inline.fields .field > p,\n.ui.form .inline.field > label,\n.ui.form .inline.field > p {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: baseline;\n  font-size: 0.92857143em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: none;\n}\n\n/* Grouped Inline Label */\n\n.ui.form .inline.fields > label {\n  margin: 0.035714em 1em 0em 0em;\n}\n\n/* Inline Input */\n\n.ui.form .inline.fields .field > input,\n.ui.form .inline.fields .field > select,\n.ui.form .inline.field > input,\n.ui.form .inline.field > select {\n  display: inline-block;\n  width: auto;\n  margin-top: 0em;\n  margin-bottom: 0em;\n  vertical-align: middle;\n  font-size: 1em;\n}\n\n/* Label */\n\n.ui.form .inline.fields .field > :first-child,\n.ui.form .inline.field > :first-child {\n  margin: 0em 0.85714286em 0em 0em;\n}\n\n.ui.form .inline.fields .field > :only-child,\n.ui.form .inline.field > :only-child {\n  margin: 0em;\n}\n\n/* Wide */\n\n.ui.form .inline.fields .wide.field {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.form .inline.fields .wide.field > input,\n.ui.form .inline.fields .wide.field > select {\n  width: 100%;\n}\n\n/*--------------------\n        Sizes\n---------------------*/\n\n/* Standard */\n\n.ui.small.form {\n  font-size: 0.92857143rem;\n}\n\n/* Medium */\n\n.ui.form {\n  font-size: 1rem;\n}\n\n/* Large */\n\n.ui.large.form {\n  font-size: 1.14285714rem;\n}\n\n/* Huge */\n\n.ui.huge.form {\n  font-size: 1.42857143rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Grid\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n.ui.grid {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  padding: 0em;\n}\n\n/*----------------------\n      Remove Gutters\n-----------------------*/\n\n.ui.grid {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  margin-left: -1rem;\n  margin-right: -1rem;\n}\n\n.ui.relaxed.grid {\n  margin-left: -1.5rem;\n  margin-right: -1.5rem;\n}\n\n.ui[class*=\"very relaxed\"].grid {\n  margin-left: -2.5rem;\n  margin-right: -2.5rem;\n}\n\n/* Preserve Rows Spacing on Consecutive Grids */\n\n.ui.grid + .grid {\n  margin-top: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n/* Standard 16 column */\n\n.ui.grid > .column:not(.row),\n.ui.grid > .row > .column {\n  position: relative;\n  display: inline-block;\n  width: 6.25%;\n  padding-left: 1rem;\n  padding-right: 1rem;\n  vertical-align: top;\n}\n\n.ui.grid > * {\n  padding-left: 1rem;\n  padding-right: 1rem;\n}\n\n/*-------------------\n        Rows\n--------------------*/\n\n.ui.grid > .row {\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n  -webkit-box-pack: inherit;\n  -webkit-justify-content: inherit;\n  -ms-flex-pack: inherit;\n  justify-content: inherit;\n  -webkit-box-align: stretch;\n  -webkit-align-items: stretch;\n  -ms-flex-align: stretch;\n  align-items: stretch;\n  width: 100% !important;\n  padding: 0rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/*-------------------\n       Columns\n--------------------*/\n\n/* Vertical padding when no rows */\n\n.ui.grid > .column:not(.row) {\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n.ui.grid > .row > .column {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/*-------------------\n      Content\n--------------------*/\n\n.ui.grid > .row > img,\n.ui.grid > .row > .column > img {\n  max-width: 100%;\n}\n\n/*-------------------\n    Loose Coupling\n--------------------*/\n\n/* Collapse Margin on Consecutive Grid */\n\n.ui.grid > .ui.grid:first-child {\n  margin-top: 0em;\n}\n\n.ui.grid > .ui.grid:last-child {\n  margin-bottom: 0em;\n}\n\n/* Segment inside Aligned Grid */\n\n.ui.grid .aligned.row > .column > .segment:not(.compact):not(.attached),\n.ui.aligned.grid .column > .segment:not(.compact):not(.attached) {\n  width: 100%;\n}\n\n/* Align Dividers with Gutter */\n\n.ui.grid .row + .ui.divider {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  margin: 1rem 1rem;\n}\n\n.ui.grid .column + .ui.vertical.divider {\n  height: calc(50% -  1rem );\n}\n\n/* Remove Border on Last Horizontal Segment */\n\n.ui.grid > .row > .column:last-child > .horizontal.segment,\n.ui.grid > .column:last-child > .horizontal.segment {\n  box-shadow: none;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-----------------------\n       Page Grid\n-------------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.page.grid {\n    width: auto;\n    padding-left: 0em;\n    padding-right: 0em;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n}\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 2em;\n    padding-right: 2em;\n  }\n}\n\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 3%;\n    padding-right: 3%;\n  }\n}\n\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 15%;\n    padding-right: 15%;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.page.grid {\n    width: auto;\n    margin-left: 0em;\n    margin-right: 0em;\n    padding-left: 23%;\n    padding-right: 23%;\n  }\n}\n\n/*-------------------\n     Column Count\n--------------------*/\n\n/* Assume full width with one column */\n\n.ui.grid > .column:only-child,\n.ui.grid > .row > .column:only-child {\n  width: 100%;\n}\n\n/* Grid Based */\n\n.ui[class*=\"one column\"].grid > .row > .column,\n.ui[class*=\"one column\"].grid > .column:not(.row) {\n  width: 100%;\n}\n\n.ui[class*=\"two column\"].grid > .row > .column,\n.ui[class*=\"two column\"].grid > .column:not(.row) {\n  width: 50%;\n}\n\n.ui[class*=\"three column\"].grid > .row > .column,\n.ui[class*=\"three column\"].grid > .column:not(.row) {\n  width: 33.33333333%;\n}\n\n.ui[class*=\"four column\"].grid > .row > .column,\n.ui[class*=\"four column\"].grid > .column:not(.row) {\n  width: 25%;\n}\n\n.ui[class*=\"five column\"].grid > .row > .column,\n.ui[class*=\"five column\"].grid > .column:not(.row) {\n  width: 20%;\n}\n\n.ui[class*=\"six column\"].grid > .row > .column,\n.ui[class*=\"six column\"].grid > .column:not(.row) {\n  width: 16.66666667%;\n}\n\n.ui[class*=\"seven column\"].grid > .row > .column,\n.ui[class*=\"seven column\"].grid > .column:not(.row) {\n  width: 14.28571429%;\n}\n\n.ui[class*=\"eight column\"].grid > .row > .column,\n.ui[class*=\"eight column\"].grid > .column:not(.row) {\n  width: 12.5%;\n}\n\n.ui[class*=\"nine column\"].grid > .row > .column,\n.ui[class*=\"nine column\"].grid > .column:not(.row) {\n  width: 11.11111111%;\n}\n\n.ui[class*=\"ten column\"].grid > .row > .column,\n.ui[class*=\"ten column\"].grid > .column:not(.row) {\n  width: 10%;\n}\n\n.ui[class*=\"eleven column\"].grid > .row > .column,\n.ui[class*=\"eleven column\"].grid > .column:not(.row) {\n  width: 9.09090909%;\n}\n\n.ui[class*=\"twelve column\"].grid > .row > .column,\n.ui[class*=\"twelve column\"].grid > .column:not(.row) {\n  width: 8.33333333%;\n}\n\n.ui[class*=\"thirteen column\"].grid > .row > .column,\n.ui[class*=\"thirteen column\"].grid > .column:not(.row) {\n  width: 7.69230769%;\n}\n\n.ui[class*=\"fourteen column\"].grid > .row > .column,\n.ui[class*=\"fourteen column\"].grid > .column:not(.row) {\n  width: 7.14285714%;\n}\n\n.ui[class*=\"fifteen column\"].grid > .row > .column,\n.ui[class*=\"fifteen column\"].grid > .column:not(.row) {\n  width: 6.66666667%;\n}\n\n.ui[class*=\"sixteen column\"].grid > .row > .column,\n.ui[class*=\"sixteen column\"].grid > .column:not(.row) {\n  width: 6.25%;\n}\n\n/* Row Based Overrides */\n\n.ui.grid > [class*=\"one column\"].row > .column {\n  width: 100% !important;\n}\n\n.ui.grid > [class*=\"two column\"].row > .column {\n  width: 50% !important;\n}\n\n.ui.grid > [class*=\"three column\"].row > .column {\n  width: 33.33333333% !important;\n}\n\n.ui.grid > [class*=\"four column\"].row > .column {\n  width: 25% !important;\n}\n\n.ui.grid > [class*=\"five column\"].row > .column {\n  width: 20% !important;\n}\n\n.ui.grid > [class*=\"six column\"].row > .column {\n  width: 16.66666667% !important;\n}\n\n.ui.grid > [class*=\"seven column\"].row > .column {\n  width: 14.28571429% !important;\n}\n\n.ui.grid > [class*=\"eight column\"].row > .column {\n  width: 12.5% !important;\n}\n\n.ui.grid > [class*=\"nine column\"].row > .column {\n  width: 11.11111111% !important;\n}\n\n.ui.grid > [class*=\"ten column\"].row > .column {\n  width: 10% !important;\n}\n\n.ui.grid > [class*=\"eleven column\"].row > .column {\n  width: 9.09090909% !important;\n}\n\n.ui.grid > [class*=\"twelve column\"].row > .column {\n  width: 8.33333333% !important;\n}\n\n.ui.grid > [class*=\"thirteen column\"].row > .column {\n  width: 7.69230769% !important;\n}\n\n.ui.grid > [class*=\"fourteen column\"].row > .column {\n  width: 7.14285714% !important;\n}\n\n.ui.grid > [class*=\"fifteen column\"].row > .column {\n  width: 6.66666667% !important;\n}\n\n.ui.grid > [class*=\"sixteen column\"].row > .column {\n  width: 6.25% !important;\n}\n\n/* Celled Page */\n\n.ui.celled.page.grid {\n  box-shadow: none;\n}\n\n/*-------------------\n    Column Width\n--------------------*/\n\n/* Sizing Combinations */\n\n.ui.grid > .row > [class*=\"one wide\"].column,\n.ui.grid > .column.row > [class*=\"one wide\"].column,\n.ui.grid > [class*=\"one wide\"].column,\n.ui.column.grid > [class*=\"one wide\"].column {\n  width: 6.25% !important;\n}\n\n.ui.grid > .row > [class*=\"two wide\"].column,\n.ui.grid > .column.row > [class*=\"two wide\"].column,\n.ui.grid > [class*=\"two wide\"].column,\n.ui.column.grid > [class*=\"two wide\"].column {\n  width: 12.5% !important;\n}\n\n.ui.grid > .row > [class*=\"three wide\"].column,\n.ui.grid > .column.row > [class*=\"three wide\"].column,\n.ui.grid > [class*=\"three wide\"].column,\n.ui.column.grid > [class*=\"three wide\"].column {\n  width: 18.75% !important;\n}\n\n.ui.grid > .row > [class*=\"four wide\"].column,\n.ui.grid > .column.row > [class*=\"four wide\"].column,\n.ui.grid > [class*=\"four wide\"].column,\n.ui.column.grid > [class*=\"four wide\"].column {\n  width: 25% !important;\n}\n\n.ui.grid > .row > [class*=\"five wide\"].column,\n.ui.grid > .column.row > [class*=\"five wide\"].column,\n.ui.grid > [class*=\"five wide\"].column,\n.ui.column.grid > [class*=\"five wide\"].column {\n  width: 31.25% !important;\n}\n\n.ui.grid > .row > [class*=\"six wide\"].column,\n.ui.grid > .column.row > [class*=\"six wide\"].column,\n.ui.grid > [class*=\"six wide\"].column,\n.ui.column.grid > [class*=\"six wide\"].column {\n  width: 37.5% !important;\n}\n\n.ui.grid > .row > [class*=\"seven wide\"].column,\n.ui.grid > .column.row > [class*=\"seven wide\"].column,\n.ui.grid > [class*=\"seven wide\"].column,\n.ui.column.grid > [class*=\"seven wide\"].column {\n  width: 43.75% !important;\n}\n\n.ui.grid > .row > [class*=\"eight wide\"].column,\n.ui.grid > .column.row > [class*=\"eight wide\"].column,\n.ui.grid > [class*=\"eight wide\"].column,\n.ui.column.grid > [class*=\"eight wide\"].column {\n  width: 50% !important;\n}\n\n.ui.grid > .row > [class*=\"nine wide\"].column,\n.ui.grid > .column.row > [class*=\"nine wide\"].column,\n.ui.grid > [class*=\"nine wide\"].column,\n.ui.column.grid > [class*=\"nine wide\"].column {\n  width: 56.25% !important;\n}\n\n.ui.grid > .row > [class*=\"ten wide\"].column,\n.ui.grid > .column.row > [class*=\"ten wide\"].column,\n.ui.grid > [class*=\"ten wide\"].column,\n.ui.column.grid > [class*=\"ten wide\"].column {\n  width: 62.5% !important;\n}\n\n.ui.grid > .row > [class*=\"eleven wide\"].column,\n.ui.grid > .column.row > [class*=\"eleven wide\"].column,\n.ui.grid > [class*=\"eleven wide\"].column,\n.ui.column.grid > [class*=\"eleven wide\"].column {\n  width: 68.75% !important;\n}\n\n.ui.grid > .row > [class*=\"twelve wide\"].column,\n.ui.grid > .column.row > [class*=\"twelve wide\"].column,\n.ui.grid > [class*=\"twelve wide\"].column,\n.ui.column.grid > [class*=\"twelve wide\"].column {\n  width: 75% !important;\n}\n\n.ui.grid > .row > [class*=\"thirteen wide\"].column,\n.ui.grid > .column.row > [class*=\"thirteen wide\"].column,\n.ui.grid > [class*=\"thirteen wide\"].column,\n.ui.column.grid > [class*=\"thirteen wide\"].column {\n  width: 81.25% !important;\n}\n\n.ui.grid > .row > [class*=\"fourteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fourteen wide\"].column,\n.ui.grid > [class*=\"fourteen wide\"].column,\n.ui.column.grid > [class*=\"fourteen wide\"].column {\n  width: 87.5% !important;\n}\n\n.ui.grid > .row > [class*=\"fifteen wide\"].column,\n.ui.grid > .column.row > [class*=\"fifteen wide\"].column,\n.ui.grid > [class*=\"fifteen wide\"].column,\n.ui.column.grid > [class*=\"fifteen wide\"].column {\n  width: 93.75% !important;\n}\n\n.ui.grid > .row > [class*=\"sixteen wide\"].column,\n.ui.grid > .column.row > [class*=\"sixteen wide\"].column,\n.ui.grid > [class*=\"sixteen wide\"].column,\n.ui.column.grid > [class*=\"sixteen wide\"].column {\n  width: 100% !important;\n}\n\n/*----------------------\n    Width per Device\n-----------------------*/\n\n/* Mobile Sizing Combinations */\n\n@media only screen and (min-width: 320px) and (max-width: 767px) {\n  .ui.grid > .row > [class*=\"one wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"one wide mobile\"].column,\n  .ui.grid > [class*=\"one wide mobile\"].column,\n  .ui.column.grid > [class*=\"one wide mobile\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"two wide mobile\"].column,\n  .ui.grid > [class*=\"two wide mobile\"].column,\n  .ui.column.grid > [class*=\"two wide mobile\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"three wide mobile\"].column,\n  .ui.grid > [class*=\"three wide mobile\"].column,\n  .ui.column.grid > [class*=\"three wide mobile\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"four wide mobile\"].column,\n  .ui.grid > [class*=\"four wide mobile\"].column,\n  .ui.column.grid > [class*=\"four wide mobile\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"five wide mobile\"].column,\n  .ui.grid > [class*=\"five wide mobile\"].column,\n  .ui.column.grid > [class*=\"five wide mobile\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"six wide mobile\"].column,\n  .ui.grid > [class*=\"six wide mobile\"].column,\n  .ui.column.grid > [class*=\"six wide mobile\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide mobile\"].column,\n  .ui.grid > [class*=\"seven wide mobile\"].column,\n  .ui.column.grid > [class*=\"seven wide mobile\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide mobile\"].column,\n  .ui.grid > [class*=\"eight wide mobile\"].column,\n  .ui.column.grid > [class*=\"eight wide mobile\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide mobile\"].column,\n  .ui.grid > [class*=\"nine wide mobile\"].column,\n  .ui.column.grid > [class*=\"nine wide mobile\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide mobile\"].column,\n  .ui.grid > [class*=\"ten wide mobile\"].column,\n  .ui.column.grid > [class*=\"ten wide mobile\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide mobile\"].column,\n  .ui.grid > [class*=\"eleven wide mobile\"].column,\n  .ui.column.grid > [class*=\"eleven wide mobile\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide mobile\"].column,\n  .ui.grid > [class*=\"twelve wide mobile\"].column,\n  .ui.column.grid > [class*=\"twelve wide mobile\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide mobile\"].column,\n  .ui.grid > [class*=\"thirteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"thirteen wide mobile\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide mobile\"].column,\n  .ui.grid > [class*=\"fourteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fourteen wide mobile\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide mobile\"].column,\n  .ui.grid > [class*=\"fifteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"fifteen wide mobile\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide mobile\"].column,\n  .ui.grid > [class*=\"sixteen wide mobile\"].column,\n  .ui.column.grid > [class*=\"sixteen wide mobile\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Tablet Sizing Combinations */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.grid > .row > [class*=\"one wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"one wide tablet\"].column,\n  .ui.grid > [class*=\"one wide tablet\"].column,\n  .ui.column.grid > [class*=\"one wide tablet\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"two wide tablet\"].column,\n  .ui.grid > [class*=\"two wide tablet\"].column,\n  .ui.column.grid > [class*=\"two wide tablet\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"three wide tablet\"].column,\n  .ui.grid > [class*=\"three wide tablet\"].column,\n  .ui.column.grid > [class*=\"three wide tablet\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"four wide tablet\"].column,\n  .ui.grid > [class*=\"four wide tablet\"].column,\n  .ui.column.grid > [class*=\"four wide tablet\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"five wide tablet\"].column,\n  .ui.grid > [class*=\"five wide tablet\"].column,\n  .ui.column.grid > [class*=\"five wide tablet\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"six wide tablet\"].column,\n  .ui.grid > [class*=\"six wide tablet\"].column,\n  .ui.column.grid > [class*=\"six wide tablet\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide tablet\"].column,\n  .ui.grid > [class*=\"seven wide tablet\"].column,\n  .ui.column.grid > [class*=\"seven wide tablet\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide tablet\"].column,\n  .ui.grid > [class*=\"eight wide tablet\"].column,\n  .ui.column.grid > [class*=\"eight wide tablet\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide tablet\"].column,\n  .ui.grid > [class*=\"nine wide tablet\"].column,\n  .ui.column.grid > [class*=\"nine wide tablet\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide tablet\"].column,\n  .ui.grid > [class*=\"ten wide tablet\"].column,\n  .ui.column.grid > [class*=\"ten wide tablet\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide tablet\"].column,\n  .ui.grid > [class*=\"eleven wide tablet\"].column,\n  .ui.column.grid > [class*=\"eleven wide tablet\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide tablet\"].column,\n  .ui.grid > [class*=\"twelve wide tablet\"].column,\n  .ui.column.grid > [class*=\"twelve wide tablet\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide tablet\"].column,\n  .ui.grid > [class*=\"thirteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"thirteen wide tablet\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide tablet\"].column,\n  .ui.grid > [class*=\"fourteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fourteen wide tablet\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide tablet\"].column,\n  .ui.grid > [class*=\"fifteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"fifteen wide tablet\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide tablet\"].column,\n  .ui.grid > [class*=\"sixteen wide tablet\"].column,\n  .ui.column.grid > [class*=\"sixteen wide tablet\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Computer/Desktop Sizing Combinations */\n\n@media only screen and (min-width: 992px) {\n  .ui.grid > .row > [class*=\"one wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"one wide computer\"].column,\n  .ui.grid > [class*=\"one wide computer\"].column,\n  .ui.column.grid > [class*=\"one wide computer\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"two wide computer\"].column,\n  .ui.grid > [class*=\"two wide computer\"].column,\n  .ui.column.grid > [class*=\"two wide computer\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"three wide computer\"].column,\n  .ui.grid > [class*=\"three wide computer\"].column,\n  .ui.column.grid > [class*=\"three wide computer\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"four wide computer\"].column,\n  .ui.grid > [class*=\"four wide computer\"].column,\n  .ui.column.grid > [class*=\"four wide computer\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"five wide computer\"].column,\n  .ui.grid > [class*=\"five wide computer\"].column,\n  .ui.column.grid > [class*=\"five wide computer\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"six wide computer\"].column,\n  .ui.grid > [class*=\"six wide computer\"].column,\n  .ui.column.grid > [class*=\"six wide computer\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide computer\"].column,\n  .ui.grid > [class*=\"seven wide computer\"].column,\n  .ui.column.grid > [class*=\"seven wide computer\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide computer\"].column,\n  .ui.grid > [class*=\"eight wide computer\"].column,\n  .ui.column.grid > [class*=\"eight wide computer\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide computer\"].column,\n  .ui.grid > [class*=\"nine wide computer\"].column,\n  .ui.column.grid > [class*=\"nine wide computer\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide computer\"].column,\n  .ui.grid > [class*=\"ten wide computer\"].column,\n  .ui.column.grid > [class*=\"ten wide computer\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide computer\"].column,\n  .ui.grid > [class*=\"eleven wide computer\"].column,\n  .ui.column.grid > [class*=\"eleven wide computer\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide computer\"].column,\n  .ui.grid > [class*=\"twelve wide computer\"].column,\n  .ui.column.grid > [class*=\"twelve wide computer\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide computer\"].column,\n  .ui.grid > [class*=\"thirteen wide computer\"].column,\n  .ui.column.grid > [class*=\"thirteen wide computer\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide computer\"].column,\n  .ui.grid > [class*=\"fourteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fourteen wide computer\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide computer\"].column,\n  .ui.grid > [class*=\"fifteen wide computer\"].column,\n  .ui.column.grid > [class*=\"fifteen wide computer\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide computer\"].column,\n  .ui.grid > [class*=\"sixteen wide computer\"].column,\n  .ui.column.grid > [class*=\"sixteen wide computer\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Large Monitor Sizing Combinations */\n\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui.grid > .row > [class*=\"one wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide large screen\"].column,\n  .ui.grid > [class*=\"one wide large screen\"].column,\n  .ui.column.grid > [class*=\"one wide large screen\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide large screen\"].column,\n  .ui.grid > [class*=\"two wide large screen\"].column,\n  .ui.column.grid > [class*=\"two wide large screen\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide large screen\"].column,\n  .ui.grid > [class*=\"three wide large screen\"].column,\n  .ui.column.grid > [class*=\"three wide large screen\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide large screen\"].column,\n  .ui.grid > [class*=\"four wide large screen\"].column,\n  .ui.column.grid > [class*=\"four wide large screen\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide large screen\"].column,\n  .ui.grid > [class*=\"five wide large screen\"].column,\n  .ui.column.grid > [class*=\"five wide large screen\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide large screen\"].column,\n  .ui.grid > [class*=\"six wide large screen\"].column,\n  .ui.column.grid > [class*=\"six wide large screen\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide large screen\"].column,\n  .ui.grid > [class*=\"seven wide large screen\"].column,\n  .ui.column.grid > [class*=\"seven wide large screen\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide large screen\"].column,\n  .ui.grid > [class*=\"eight wide large screen\"].column,\n  .ui.column.grid > [class*=\"eight wide large screen\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide large screen\"].column,\n  .ui.grid > [class*=\"nine wide large screen\"].column,\n  .ui.column.grid > [class*=\"nine wide large screen\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide large screen\"].column,\n  .ui.grid > [class*=\"ten wide large screen\"].column,\n  .ui.column.grid > [class*=\"ten wide large screen\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide large screen\"].column,\n  .ui.grid > [class*=\"eleven wide large screen\"].column,\n  .ui.column.grid > [class*=\"eleven wide large screen\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide large screen\"].column,\n  .ui.grid > [class*=\"twelve wide large screen\"].column,\n  .ui.column.grid > [class*=\"twelve wide large screen\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide large screen\"].column,\n  .ui.grid > [class*=\"thirteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide large screen\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide large screen\"].column,\n  .ui.grid > [class*=\"fourteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide large screen\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide large screen\"].column,\n  .ui.grid > [class*=\"fifteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide large screen\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide large screen\"].column,\n  .ui.grid > [class*=\"sixteen wide large screen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide large screen\"].column {\n    width: 100% !important;\n  }\n}\n\n/* Widescreen Sizing Combinations */\n\n@media only screen and (min-width: 1920px) {\n  .ui.grid > .row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"one wide widescreen\"].column,\n  .ui.grid > [class*=\"one wide widescreen\"].column,\n  .ui.column.grid > [class*=\"one wide widescreen\"].column {\n    width: 6.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"two wide widescreen\"].column,\n  .ui.grid > [class*=\"two wide widescreen\"].column,\n  .ui.column.grid > [class*=\"two wide widescreen\"].column {\n    width: 12.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"three wide widescreen\"].column,\n  .ui.grid > [class*=\"three wide widescreen\"].column,\n  .ui.column.grid > [class*=\"three wide widescreen\"].column {\n    width: 18.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"four wide widescreen\"].column,\n  .ui.grid > [class*=\"four wide widescreen\"].column,\n  .ui.column.grid > [class*=\"four wide widescreen\"].column {\n    width: 25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"five wide widescreen\"].column,\n  .ui.grid > [class*=\"five wide widescreen\"].column,\n  .ui.column.grid > [class*=\"five wide widescreen\"].column {\n    width: 31.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"six wide widescreen\"].column,\n  .ui.grid > [class*=\"six wide widescreen\"].column,\n  .ui.column.grid > [class*=\"six wide widescreen\"].column {\n    width: 37.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"seven wide widescreen\"].column,\n  .ui.grid > [class*=\"seven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"seven wide widescreen\"].column {\n    width: 43.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eight wide widescreen\"].column,\n  .ui.grid > [class*=\"eight wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eight wide widescreen\"].column {\n    width: 50% !important;\n  }\n\n  .ui.grid > .row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"nine wide widescreen\"].column,\n  .ui.grid > [class*=\"nine wide widescreen\"].column,\n  .ui.column.grid > [class*=\"nine wide widescreen\"].column {\n    width: 56.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"ten wide widescreen\"].column,\n  .ui.grid > [class*=\"ten wide widescreen\"].column,\n  .ui.column.grid > [class*=\"ten wide widescreen\"].column {\n    width: 62.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"eleven wide widescreen\"].column,\n  .ui.grid > [class*=\"eleven wide widescreen\"].column,\n  .ui.column.grid > [class*=\"eleven wide widescreen\"].column {\n    width: 68.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"twelve wide widescreen\"].column,\n  .ui.grid > [class*=\"twelve wide widescreen\"].column,\n  .ui.column.grid > [class*=\"twelve wide widescreen\"].column {\n    width: 75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"thirteen wide widescreen\"].column,\n  .ui.grid > [class*=\"thirteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"thirteen wide widescreen\"].column {\n    width: 81.25% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fourteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fourteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fourteen wide widescreen\"].column {\n    width: 87.5% !important;\n  }\n\n  .ui.grid > .row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"fifteen wide widescreen\"].column,\n  .ui.grid > [class*=\"fifteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"fifteen wide widescreen\"].column {\n    width: 93.75% !important;\n  }\n\n  .ui.grid > .row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > .column.row > [class*=\"sixteen wide widescreen\"].column,\n  .ui.grid > [class*=\"sixteen wide widescreen\"].column,\n  .ui.column.grid > [class*=\"sixteen wide widescreen\"].column {\n    width: 100% !important;\n  }\n}\n\n/*----------------------\n        Centered\n-----------------------*/\n\n.ui.centered.grid,\n.ui.centered.grid > .row,\n.ui.grid > .centered.row {\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.ui.centered.grid > .column:not(.aligned):not(.row),\n.ui.centered.grid > .row > .column:not(.aligned),\n.ui.grid .centered.row > .column:not(.aligned) {\n  text-align: left;\n}\n\n.ui.grid > .centered.column,\n.ui.grid > .row > .centered.column {\n  display: block;\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*----------------------\n        Relaxed\n-----------------------*/\n\n.ui.relaxed.grid > .column:not(.row),\n.ui.relaxed.grid > .row > .column,\n.ui.grid > .relaxed.row > .column {\n  padding-left: 1.5rem;\n  padding-right: 1.5rem;\n}\n\n.ui[class*=\"very relaxed\"].grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].grid > .row > .column,\n.ui.grid > [class*=\"very relaxed\"].row > .column {\n  padding-left: 2.5rem;\n  padding-right: 2.5rem;\n}\n\n/* Coupling with UI Divider */\n\n.ui.relaxed.grid .row + .ui.divider,\n.ui.grid .relaxed.row + .ui.divider {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n}\n\n.ui[class*=\"very relaxed\"].grid .row + .ui.divider,\n.ui.grid [class*=\"very relaxed\"].row + .ui.divider {\n  margin-left: 2.5rem;\n  margin-right: 2.5rem;\n}\n\n/*----------------------\n        Padded\n-----------------------*/\n\n.ui.padded.grid:not(.vertically):not(.horizontally) {\n  margin: 0em !important;\n}\n\n[class*=\"horizontally padded\"].ui.grid {\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n}\n\n[class*=\"vertically padded\"].ui.grid {\n  margin-top: 0em !important;\n  margin-bottom: 0em !important;\n}\n\n/*----------------------\n       \"Floated\"\n-----------------------*/\n\n.ui.grid [class*=\"left floated\"].column {\n  margin-right: auto;\n}\n\n.ui.grid [class*=\"right floated\"].column {\n  margin-left: auto;\n}\n\n/*----------------------\n        Divided\n-----------------------*/\n\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Swap from padding to margin on columns to have dividers align */\n\n.ui[class*=\"vertically divided\"].grid > .column:not(.row),\n.ui[class*=\"vertically divided\"].grid > .row > .column {\n  margin-top: 1rem;\n  margin-bottom: 1rem;\n  padding-top: 0rem;\n  padding-bottom: 0rem;\n}\n\n.ui[class*=\"vertically divided\"].grid > .row {\n  margin-top: 0em;\n  margin-bottom: 0em;\n}\n\n/* No divider on first column on row */\n\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n.ui.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Divided Row */\n\n.ui.grid > .divided.row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n.ui.grid > .divided.row > .column:first-child {\n  box-shadow: none;\n}\n\n/* Vertically Divided */\n\n.ui[class*=\"vertically divided\"].grid > .row {\n  position: relative;\n}\n\n.ui[class*=\"vertically divided\"].grid > .row:before {\n  position: absolute;\n  content: \"\";\n  top: 0em;\n  left: 0px;\n  width: calc(100% -  2rem );\n  height: 1px;\n  margin: 0% 1rem;\n  box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Padded Horizontally Divided */\n\n[class*=\"horizontally padded\"].ui.divided.grid,\n.ui.padded.divided.grid:not(.vertically):not(.horizontally) {\n  width: 100%;\n}\n\n/* First Row Vertically Divided */\n\n.ui[class*=\"vertically divided\"].grid > .row:first-child:before {\n  box-shadow: none;\n}\n\n/* Inverted Divided */\n\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row),\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column {\n  box-shadow: -1px 0px 0px 0px rgba(255, 255, 255, 0.1);\n}\n\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .column:not(.row):first-child,\n.ui.inverted.divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n  box-shadow: none;\n}\n\n.ui.inverted[class*=\"vertically divided\"].grid > .row:before {\n  box-shadow: 0px -1px 0px 0px rgba(255, 255, 255, 0.1);\n}\n\n/* Relaxed */\n\n.ui.relaxed[class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 1.5rem;\n  margin-right: 1.5rem;\n  width: calc(100% -  3rem );\n}\n\n.ui[class*=\"very relaxed\"][class*=\"vertically divided\"].grid > .row:before {\n  margin-left: 5rem;\n  margin-right: 5rem;\n  width: calc(100% -  5rem );\n}\n\n/*----------------------\n         Celled\n-----------------------*/\n\n.ui.celled.grid {\n  width: 100%;\n  margin: 1em 0em;\n  box-shadow: 0px 0px 0px 1px #D4D4D5;\n}\n\n.ui.celled.grid > .row {\n  width: 100% !important;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: 0px -1px 0px 0px #D4D4D5;\n}\n\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  box-shadow: -1px 0px 0px 0px #D4D4D5;\n}\n\n.ui.celled.grid > .column:first-child,\n.ui.celled.grid > .row > .column:first-child {\n  box-shadow: none;\n}\n\n.ui.celled.grid > .column:not(.row),\n.ui.celled.grid > .row > .column {\n  padding: 1em;\n}\n\n.ui.relaxed.celled.grid > .column:not(.row),\n.ui.relaxed.celled.grid > .row > .column {\n  padding: 1.5em;\n}\n\n.ui[class*=\"very relaxed\"].celled.grid > .column:not(.row),\n.ui[class*=\"very relaxed\"].celled.grid > .row > .column {\n  padding: 2em;\n}\n\n/* Internally Celled */\n\n.ui[class*=\"internally celled\"].grid {\n  box-shadow: none;\n  margin: 0em;\n}\n\n.ui[class*=\"internally celled\"].grid > .row:first-child {\n  box-shadow: none;\n}\n\n.ui[class*=\"internally celled\"].grid > .row > .column:first-child {\n  box-shadow: none;\n}\n\n/*----------------------\n   Vertically Aligned\n-----------------------*/\n\n/* Top Aligned */\n\n.ui[class*=\"top aligned\"].grid > .column:not(.row),\n.ui[class*=\"top aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"top aligned\"].row > .column,\n.ui.grid > [class*=\"top aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"top aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  vertical-align: top;\n  -webkit-align-self: flex-start !important;\n  -ms-flex-item-align: start !important;\n  align-self: flex-start !important;\n}\n\n/* Middle Aligned */\n\n.ui[class*=\"middle aligned\"].grid > .column:not(.row),\n.ui[class*=\"middle aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"middle aligned\"].row > .column,\n.ui.grid > [class*=\"middle aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"middle aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  vertical-align: middle;\n  -webkit-align-self: center !important;\n  -ms-flex-item-align: center !important;\n  align-self: center !important;\n}\n\n/* Bottom Aligned */\n\n.ui[class*=\"bottom aligned\"].grid > .column:not(.row),\n.ui[class*=\"bottom aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"bottom aligned\"].row > .column,\n.ui.grid > [class*=\"bottom aligned\"].column:not(.row),\n.ui.grid > .row > [class*=\"bottom aligned\"].column {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  vertical-align: bottom;\n  -webkit-align-self: flex-end !important;\n  -ms-flex-item-align: end !important;\n  align-self: flex-end !important;\n}\n\n/* Stretched */\n\n.ui.stretched.grid > .row > .column,\n.ui.stretched.grid > .column,\n.ui.grid > .stretched.row > .column,\n.ui.grid > .stretched.column:not(.row),\n.ui.grid > .row > .stretched.column {\n  display: -webkit-inline-box !important;\n  display: -webkit-inline-flex !important;\n  display: -ms-inline-flexbox !important;\n  display: inline-flex !important;\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n.ui.stretched.grid > .row > .column > *,\n.ui.stretched.grid > .column > *,\n.ui.grid > .stretched.row > .column > *,\n.ui.grid > .stretched.column:not(.row) > *,\n.ui.grid > .row > .stretched.column > * {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n\n/*----------------------\n  Horizontally Centered\n-----------------------*/\n\n/* Left Aligned */\n\n.ui[class*=\"left aligned\"].grid > .column,\n.ui[class*=\"left aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"left aligned\"].row > .column,\n.ui.grid > [class*=\"left aligned\"].column.column,\n.ui.grid > .row > [class*=\"left aligned\"].column {\n  text-align: left;\n  -webkit-align-self: inherit;\n  -ms-flex-item-align: inherit;\n  align-self: inherit;\n}\n\n/* Center Aligned */\n\n.ui[class*=\"center aligned\"].grid > .column,\n.ui[class*=\"center aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"center aligned\"].row > .column,\n.ui.grid > [class*=\"center aligned\"].column.column,\n.ui.grid > .row > [class*=\"center aligned\"].column {\n  text-align: center;\n  -webkit-align-self: inherit;\n  -ms-flex-item-align: inherit;\n  align-self: inherit;\n}\n\n.ui[class*=\"center aligned\"].grid {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n/* Right Aligned */\n\n.ui[class*=\"right aligned\"].grid > .column,\n.ui[class*=\"right aligned\"].grid > .row > .column,\n.ui.grid > [class*=\"right aligned\"].row > .column,\n.ui.grid > [class*=\"right aligned\"].column.column,\n.ui.grid > .row > [class*=\"right aligned\"].column {\n  text-align: right;\n  -webkit-align-self: inherit;\n  -ms-flex-item-align: inherit;\n  align-self: inherit;\n}\n\n/* Justified */\n\n.ui.justified.grid > .column,\n.ui.justified.grid > .row > .column,\n.ui.grid > .justified.row > .column,\n.ui.grid > .justified.column.column,\n.ui.grid > .row > .justified.column {\n  text-align: justify;\n  -webkit-hyphens: auto;\n  -moz-hyphens: auto;\n  -ms-hyphens: auto;\n  hyphens: auto;\n}\n\n/*----------------------\n         Colored\n-----------------------*/\n\n.ui.grid > .row > .red.column,\n.ui.grid > .row > .orange.column,\n.ui.grid > .row > .yellow.column,\n.ui.grid > .row > .olive.column,\n.ui.grid > .row > .green.column,\n.ui.grid > .row > .teal.column,\n.ui.grid > .row > .blue.column,\n.ui.grid > .row > .violet.column,\n.ui.grid > .row > .purple.column,\n.ui.grid > .row > .pink.column,\n.ui.grid > .row > .brown.column,\n.ui.grid > .row > .grey.column,\n.ui.grid > .row > .black.column {\n  margin-top: -1rem;\n  margin-bottom: -1rem;\n  padding-top: 1rem;\n  padding-bottom: 1rem;\n}\n\n/* Red */\n\n.ui.grid > .red.row,\n.ui.grid > .red.column,\n.ui.grid > .row > .red.column {\n  background-color: #DB2828 !important;\n  color: #FFFFFF;\n}\n\n/* Orange */\n\n.ui.grid > .orange.row,\n.ui.grid > .orange.column,\n.ui.grid > .row > .orange.column {\n  background-color: #F2711C !important;\n  color: #FFFFFF;\n}\n\n/* Yellow */\n\n.ui.grid > .yellow.row,\n.ui.grid > .yellow.column,\n.ui.grid > .row > .yellow.column {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF;\n}\n\n/* Olive */\n\n.ui.grid > .olive.row,\n.ui.grid > .olive.column,\n.ui.grid > .row > .olive.column {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF;\n}\n\n/* Green */\n\n.ui.grid > .green.row,\n.ui.grid > .green.column,\n.ui.grid > .row > .green.column {\n  background-color: #21BA45 !important;\n  color: #FFFFFF;\n}\n\n/* Teal */\n\n.ui.grid > .teal.row,\n.ui.grid > .teal.column,\n.ui.grid > .row > .teal.column {\n  background-color: #00B5AD !important;\n  color: #FFFFFF;\n}\n\n/* Blue */\n\n.ui.grid > .blue.row,\n.ui.grid > .blue.column,\n.ui.grid > .row > .blue.column {\n  background-color: #2185D0 !important;\n  color: #FFFFFF;\n}\n\n/* Violet */\n\n.ui.grid > .violet.row,\n.ui.grid > .violet.column,\n.ui.grid > .row > .violet.column {\n  background-color: #6435C9 !important;\n  color: #FFFFFF;\n}\n\n/* Purple */\n\n.ui.grid > .purple.row,\n.ui.grid > .purple.column,\n.ui.grid > .row > .purple.column {\n  background-color: #A333C8 !important;\n  color: #FFFFFF;\n}\n\n/* Pink */\n\n.ui.grid > .pink.row,\n.ui.grid > .pink.column,\n.ui.grid > .row > .pink.column {\n  background-color: #E03997 !important;\n  color: #FFFFFF;\n}\n\n/* Brown */\n\n.ui.grid > .brown.row,\n.ui.grid > .brown.column,\n.ui.grid > .row > .brown.column {\n  background-color: #A5673F !important;\n  color: #FFFFFF;\n}\n\n/* Grey */\n\n.ui.grid > .grey.row,\n.ui.grid > .grey.column,\n.ui.grid > .row > .grey.column {\n  background-color: #767676 !important;\n  color: #FFFFFF;\n}\n\n/* Black */\n\n.ui.grid > .black.row,\n.ui.grid > .black.column,\n.ui.grid > .row > .black.column {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF;\n}\n\n/*----------------------\n      Equal Width\n-----------------------*/\n\n.ui[class*=\"equal width\"].grid > .column:not(.row),\n.ui[class*=\"equal width\"].grid > .row > .column,\n.ui.grid > [class*=\"equal width\"].row > .column {\n  display: inline-block;\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n}\n\n.ui[class*=\"equal width\"].grid > .wide.column,\n.ui[class*=\"equal width\"].grid > .row > .wide.column,\n.ui.grid > [class*=\"equal width\"].row > .wide.column {\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n}\n\n/*----------------------\n        Reverse\n-----------------------*/\n\n/* Mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"mobile reversed\"].grid,\n  .ui[class*=\"mobile reversed\"].grid > .row,\n  .ui.grid > [class*=\"mobile reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n    -ms-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n  }\n\n  .ui[class*=\"mobile vertically reversed\"].grid,\n  .ui.stackable[class*=\"mobile reversed\"] {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n    -ms-flex-direction: column-reverse;\n    flex-direction: column-reverse;\n  }\n\n  /* Divided Reversed */\n\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"mobile reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n\n  /* Vertically Divided Reversed */\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"mobile vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n\n  /* Celled Reversed */\n\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n\n  .ui[class*=\"mobile reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Tablet */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"tablet reversed\"].grid,\n  .ui[class*=\"tablet reversed\"].grid > .row,\n  .ui.grid > [class*=\"tablet reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n    -ms-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n  }\n\n  .ui[class*=\"tablet vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n    -ms-flex-direction: column-reverse;\n    flex-direction: column-reverse;\n  }\n\n  /* Divided Reversed */\n\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"tablet reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n\n  /* Vertically Divided Reversed */\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"tablet vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n\n  /* Celled Reversed */\n\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n\n  .ui[class*=\"tablet reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/* Computer */\n\n@media only screen and (min-width: 992px) {\n  .ui[class*=\"computer reversed\"].grid,\n  .ui[class*=\"computer reversed\"].grid > .row,\n  .ui.grid > [class*=\"computer reversed\"].row {\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: row-reverse;\n    -ms-flex-direction: row-reverse;\n    flex-direction: row-reverse;\n  }\n\n  .ui[class*=\"computer vertically reversed\"].grid {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: reverse;\n    -webkit-flex-direction: column-reverse;\n    -ms-flex-direction: column-reverse;\n    flex-direction: column-reverse;\n  }\n\n  /* Divided Reversed */\n\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:first-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .column:last-child,\n  .ui[class*=\"computer reversed\"].divided.grid:not([class*=\"vertically divided\"]) > .row > .column:last-child {\n    box-shadow: none;\n  }\n\n  /* Vertically Divided Reversed */\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:first-child:before {\n    box-shadow: 0px -1px 0px 0px rgba(34, 36, 38, 0.15);\n  }\n\n  .ui.grid[class*=\"vertically divided\"][class*=\"computer vertically reversed\"] > .row:last-child:before {\n    box-shadow: none;\n  }\n\n  /* Celled Reversed */\n\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:first-child {\n    box-shadow: -1px 0px 0px 0px #D4D4D5;\n  }\n\n  .ui[class*=\"computer reversed\"].celled.grid > .row > .column:last-child {\n    box-shadow: none;\n  }\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n/* Tablet Only */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.doubling.grid {\n    width: auto;\n  }\n\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    display: inline-block !important;\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    box-shadow: none !important;\n    margin: 0em;\n  }\n\n  .ui[class*=\"two column\"].doubling.grid > .row > .column,\n  .ui[class*=\"two column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling.row.row > .column {\n    width: 100% !important;\n  }\n\n  .ui[class*=\"three column\"].doubling.grid > .row > .column,\n  .ui[class*=\"three column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"four column\"].doubling.grid > .row > .column,\n  .ui[class*=\"four column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling.row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"five column\"].doubling.grid > .row > .column,\n  .ui[class*=\"five column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"six column\"].doubling.grid > .row > .column,\n  .ui[class*=\"six column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"seven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling.row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"eight column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"nine column\"].doubling.grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling.row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"ten column\"].doubling.grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n\n  .ui[class*=\"eleven column\"].doubling.grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling.row.row > .column {\n    width: 20% !important;\n  }\n\n  .ui[class*=\"twelve column\"].doubling.grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n\n  .ui[class*=\"thirteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling.row.row > .column {\n    width: 16.66666667% !important;\n  }\n\n  .ui[class*=\"fourteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n\n  .ui[class*=\"fifteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling.row.row > .column {\n    width: 14.28571429% !important;\n  }\n\n  .ui[class*=\"sixteen column\"].doubling.grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling.grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling.row.row > .column {\n    width: 12.5% !important;\n  }\n}\n\n/* Mobily Only */\n\n@media only screen and (max-width: 767px) {\n  .ui.grid > .doubling.row,\n  .ui.doubling.grid > .row {\n    margin: 0em !important;\n    padding: 0em !important;\n  }\n\n  .ui.grid > .doubling.row > .column,\n  .ui.doubling.grid > .row > .column {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n    margin: 0em !important;\n    box-shadow: none !important;\n  }\n\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"two column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"two column\"].doubling:not(.stackable).row.row > .column {\n    width: 100% !important;\n  }\n\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"three column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"three column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"four column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"four column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"five column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"five column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"six column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"six column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"seven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"seven column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eight column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eight column\"].doubling:not(.stackable).row.row > .column {\n    width: 50% !important;\n  }\n\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"nine column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"nine column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"ten column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"ten column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"eleven column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"eleven column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"twelve column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"twelve column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"thirteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"thirteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 33.33333333% !important;\n  }\n\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fourteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fourteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"fifteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"fifteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .row > .column,\n  .ui[class*=\"sixteen column\"].doubling:not(.stackable).grid > .column:not(.row),\n  .ui.grid > [class*=\"sixteen column\"].doubling:not(.stackable).row.row > .column {\n    width: 25% !important;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.grid {\n    width: auto;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n\n  .ui.stackable.grid > .row > .wide.column,\n  .ui.stackable.grid > .wide.column,\n  .ui.stackable.grid > .column.grid > .column,\n  .ui.stackable.grid > .column.row > .column,\n  .ui.stackable.grid > .row > .column,\n  .ui.stackable.grid > .column:not(.row),\n  .ui.grid > .stackable.stackable.row > .column {\n    width: 100% !important;\n    margin: 0em 0em !important;\n    box-shadow: none !important;\n    padding: 1rem 1rem !important;\n  }\n\n  .ui.stackable.grid:not(.vertically) > .row {\n    margin: 0em;\n    padding: 0em;\n  }\n\n  /* Coupling */\n\n  .ui.container > .ui.stackable.grid > .column,\n  .ui.container > .ui.stackable.grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n\n  /* Don't pad inside segment or nested grid */\n\n  .ui.grid .ui.stackable.grid,\n  .ui.segment:not(.vertical) .ui.stackable.page.grid {\n    margin-left: -1rem !important;\n    margin-right: -1rem !important;\n  }\n\n  /* Divided Stackable */\n\n  .ui.stackable.divided.grid > .row:first-child > .column:first-child,\n  .ui.stackable.celled.grid > .row:first-child > .column:first-child,\n  .ui.stackable.divided.grid > .column:not(.row):first-child,\n  .ui.stackable.celled.grid > .column:not(.row):first-child {\n    border-top: none !important;\n  }\n\n  .ui.inverted.stackable.celled.grid > .column:not(.row),\n  .ui.inverted.stackable.divided.grid > .column:not(.row),\n  .ui.inverted.stackable.celled.grid > .row > .column,\n  .ui.inverted.stackable.divided.grid > .row > .column {\n    border-top: 1px solid rgba(255, 255, 255, 0.1);\n  }\n\n  .ui.stackable.celled.grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.celled.grid > .row > .column,\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    border-top: 1px solid rgba(34, 36, 38, 0.15);\n    box-shadow: none !important;\n    padding-top: 2rem !important;\n    padding-bottom: 2rem !important;\n  }\n\n  .ui.stackable.celled.grid > .row {\n    box-shadow: none !important;\n  }\n\n  .ui.stackable.divided:not(.vertically).grid > .column:not(.row),\n  .ui.stackable.divided:not(.vertically).grid > .row > .column {\n    padding-left: 0em !important;\n    padding-right: 0em !important;\n  }\n}\n\n/*----------------------\n     Only (Device)\n-----------------------*/\n\n/* These include arbitrary class repetitions for forced specificity */\n\n/* Mobile Only Hide */\n\n@media only screen and (max-width: 767px) {\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Tablet Only Hide */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.tablet) {\n    display: none !important;\n  }\n\n  .ui[class*=\"computer only\"].grid.grid.grid:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].row:not(.tablet),\n  .ui.grid.grid.grid > [class*=\"computer only\"].column:not(.tablet),\n  .ui.grid.grid.grid > .row > [class*=\"computer only\"].column:not(.tablet) {\n    display: none !important;\n  }\n\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Computer Only Hide */\n\n@media only screen and (min-width: 992px) and (max-width: 1199px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"large screen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"large screen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"large screen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Large Screen Only Hide */\n\n@media only screen and (min-width: 1200px) and (max-width: 1919px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"widescreen only\"].grid.grid.grid:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].row:not(.mobile),\n  .ui.grid.grid.grid > [class*=\"widescreen only\"].column:not(.mobile),\n  .ui.grid.grid.grid > .row > [class*=\"widescreen only\"].column:not(.mobile) {\n    display: none !important;\n  }\n}\n\n/* Widescreen Only Hide */\n\n@media only screen and (min-width: 1920px) {\n  .ui[class*=\"mobile only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"mobile only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"mobile only\"].column:not(.computer) {\n    display: none !important;\n  }\n\n  .ui[class*=\"tablet only\"].grid.grid.grid:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].row:not(.computer),\n  .ui.grid.grid.grid > [class*=\"tablet only\"].column:not(.computer),\n  .ui.grid.grid.grid > .row > [class*=\"tablet only\"].column:not(.computer) {\n    display: none !important;\n  }\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*\n * # Semantic - Menu\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributor\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1rem 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  font-weight: normal;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  min-height: 2.85714286em;\n}\n\n.ui.menu:after {\n  content: '';\n  display: block;\n  height: 0px;\n  clear: both;\n  visibility: hidden;\n}\n\n.ui.menu:first-child {\n  margin-top: 0rem;\n}\n\n.ui.menu:last-child {\n  margin-bottom: 0rem;\n}\n\n/*--------------\n    Sub-Menu\n---------------*/\n\n.ui.menu .menu {\n  margin: 0em;\n}\n\n.ui.menu:not(.vertical) > .menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.menu:not(.vertical) .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.menu .item {\n  position: relative;\n  vertical-align: middle;\n  line-height: 1;\n  text-decoration: none;\n  -webkit-tap-highlight-color: transparent;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  background: none;\n  padding: 0.92857143em 1.14285714em;\n  text-transform: none;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: normal;\n  -webkit-transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n  transition: background 0.1s ease, box-shadow 0.1s ease, color 0.1s ease;\n}\n\n.ui.menu > .item:first-child {\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem;\n}\n\n/* Border */\n\n.ui.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  right: 0px;\n  height: 100%;\n  width: 1px;\n  background: rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n  Text Content\n---------------*/\n\n.ui.menu .text.item > *,\n.ui.menu .item > a:not(.ui),\n.ui.menu .item > p:only-child {\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n  line-height: 1.3;\n}\n\n.ui.menu .item > p:first-child {\n  margin-top: 0;\n}\n\n.ui.menu .item > p:last-child {\n  margin-bottom: 0;\n}\n\n/*--------------\n      Icons\n---------------*/\n\n.ui.menu .item > i.icon {\n  opacity: 0.9;\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.menu:not(.vertical) .item > .button {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n  padding-bottom: 0.71428571em;\n  padding-top: 0.71428571em;\n  font-size: 1em;\n}\n\n/*----------------\n Grid / Container\n-----------------*/\n\n.ui.menu > .grid,\n.ui.menu > .container {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: inherit;\n  -webkit-align-items: inherit;\n  -ms-flex-align: inherit;\n  align-items: inherit;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: inherit;\n  -ms-flex-direction: inherit;\n  flex-direction: inherit;\n}\n\n/*--------------\n     Inputs\n---------------*/\n\n.ui.menu .item > .input {\n  width: 100%;\n}\n\n.ui.menu:not(.vertical) .item > .input {\n  position: relative;\n  top: 0em;\n  margin: -0.5em 0em;\n}\n\n.ui.menu .item > .input input {\n  font-size: 1em;\n  padding-top: 0.57142857em;\n  padding-bottom: 0.57142857em;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.menu .header.item,\n.ui.vertical.menu .header.item {\n  margin: 0em;\n  background: '';\n  text-transform: normal;\n  font-weight: bold;\n}\n\n.ui.vertical.menu .item > .header:not(.ui) {\n  margin: 0em 0em 0.5em;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n/*--------------\n     Popup\n---------------*/\n\n.ui.menu .ui.popup {\n  display: none;\n}\n\n.ui.menu .ui.visible.popup {\n  display: block;\n}\n\n/*--------------\n    Dropdowns\n---------------*/\n\n/* Dropdown Icon */\n\n.ui.menu .item > i.dropdown.icon {\n  padding: 0em;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n/* Menu */\n\n.ui.menu .dropdown.item .menu {\n  left: 0px;\n  min-width: calc(100% - 1px);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  background: #FFFFFF;\n  margin: 0em 0px 0px;\n  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.08);\n  -webkit-box-orient: vertical !important;\n  -webkit-box-direction: normal !important;\n  -webkit-flex-direction: column !important;\n  -ms-flex-direction: column !important;\n  flex-direction: column !important;\n}\n\n/* Menu Items */\n\n.ui.menu .ui.dropdown .menu > .item {\n  margin: 0;\n  text-align: left;\n  font-size: 1em !important;\n  padding: 0.71428571em 1.14285714em !important;\n  background: transparent !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n  text-transform: none !important;\n  font-weight: normal !important;\n  box-shadow: none !important;\n  -webkit-transition: none !important;\n  transition: none !important;\n}\n\n.ui.menu .ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.menu .ui.dropdown .menu > .selected.item {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.menu .ui.dropdown .menu > .active.item {\n  background: rgba(0, 0, 0, 0.03) !important;\n  font-weight: bold !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.menu .ui.dropdown.item .menu .item:not(.filtered) {\n  display: block;\n}\n\n.ui.menu .ui.dropdown .menu > .item .icon:not(.dropdown) {\n  display: inline-block;\n  font-size: 1em !important;\n  float: none;\n  margin: 0em 0.75em 0em 0em;\n}\n\n/* Secondary */\n\n.ui.secondary.menu .dropdown.item > .menu,\n.ui.text.menu .dropdown.item > .menu {\n  border-radius: 0.28571429rem;\n  margin-top: 0.35714286em;\n}\n\n/* Pointing */\n\n.ui.menu .pointing.dropdown.item .menu {\n  margin-top: 0.75em;\n}\n\n/* Inverted */\n\n.ui.inverted.menu .search.dropdown.item > .search,\n.ui.inverted.menu .search.dropdown.item > .text {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/* Vertical */\n\n.ui.vertical.menu .dropdown.item > .icon {\n  float: right;\n  content: \"\\f0da\";\n  margin-left: 1em;\n}\n\n.ui.vertical.menu .dropdown.item .menu {\n  top: 0% !important;\n  left: 100%;\n  min-width: 0;\n  margin: 0em 0em 0em 0em;\n  box-shadow: 0 1px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0.28571429rem 0.28571429rem 0.28571429rem;\n}\n\n.ui.vertical.menu .active.dropdown.item {\n  border-top-right-radius: 0em;\n  border-bottom-right-radius: 0em;\n}\n\n.ui.vertical.menu .dropdown.active.item {\n  box-shadow: none;\n}\n\n/* Evenly Divided */\n\n.ui.item.menu .dropdown .menu .item {\n  width: 100%;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n.ui.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-left: 1em;\n  padding: 0.3em 0.71428571em;\n}\n\n.ui.vertical.menu .item > .label {\n  background: #999999;\n  color: #FFFFFF;\n  margin-top: -0.15em;\n  margin-bottom: -0.15em;\n  padding: 0.3em 0.71428571em;\n}\n\n.ui.menu .item > .floating.label {\n  padding: 0.3em 0.71428571em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.menu .item > img:not(.ui) {\n  display: inline-block;\n  vertical-align: middle;\n  margin: -0.3em 0em;\n  width: 2.5em;\n}\n\n.ui.vertical.menu .item > img:not(.ui):only-child {\n  display: block;\n  max-width: 100%;\n  width: auto;\n}\n\n/*******************************\n          Coupling\n*******************************/\n\n/*--------------\n     Sidebar\n---------------*/\n\n/* Show vertical dividers below last */\n\n.ui.vertical.sidebar.menu > .item:first-child:before {\n  display: block !important;\n}\n\n.ui.vertical.sidebar.menu > .item::before {\n  top: auto;\n  bottom: 0px;\n}\n\n/*--------------\n    Container\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.menu > .ui.container {\n    width: 100% !important;\n    margin-left: 0em !important;\n    margin-right: 0em !important;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.menu:not(.secondary):not(.text):not(.tabular):not(.borderless) > .container > .item:not(.right):not(.borderless):first-child {\n    border-left: 1px solid rgba(34, 36, 38, 0.1);\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.link.menu .item:hover,\n.ui.menu .dropdown.item:hover,\n.ui.menu .link.item:hover,\n.ui.menu a.item:hover {\n  cursor: pointer;\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Pressed\n---------------*/\n\n.ui.link.menu .item:active,\n.ui.menu .link.item:active,\n.ui.menu a.item:active {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  font-weight: normal;\n  box-shadow: none;\n}\n\n.ui.menu .active.item > i.icon {\n  opacity: 1;\n}\n\n/*--------------\n  Active Hover\n---------------*/\n\n.ui.menu .active.item:hover,\n.ui.vertical.menu .active.item:hover {\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.menu .item.disabled,\n.ui.menu .item.disabled:hover {\n  cursor: default;\n  background-color: transparent !important;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*------------------\nFloated Menu / Item\n-------------------*/\n\n/* Left Floated */\n\n.ui.menu:not(.vertical) .left.item,\n.ui.menu:not(.vertical) .left.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-right: auto !important;\n}\n\n/* Right Floated */\n\n.ui.menu:not(.vertical) .right.item,\n.ui.menu:not(.vertical) .right.menu {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin-left: auto !important;\n}\n\n/* Swapped Borders */\n\n.ui.menu .right.item::before,\n.ui.menu .right.menu > .item::before {\n  right: auto;\n  left: 0;\n}\n\n/*--------------\n    Vertical\n---------------*/\n\n.ui.vertical.menu {\n  display: block;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n/*--- Item ---*/\n\n.ui.vertical.menu .item {\n  display: block;\n  background: none;\n  border-top: none;\n  border-right: none;\n}\n\n.ui.vertical.menu > .item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px;\n}\n\n.ui.vertical.menu > .item:last-child {\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem;\n}\n\n/*--- Label ---*/\n\n.ui.vertical.menu .item > .label {\n  float: right;\n  text-align: center;\n}\n\n/*--- Icon ---*/\n\n.ui.vertical.menu .item > i.icon {\n  width: 1.18em;\n  float: right;\n  margin: 0em 0em 0em 0.5em;\n}\n\n.ui.vertical.menu .item > .label + i.icon {\n  float: none;\n  margin: 0em 0.5em 0em 0em;\n}\n\n/*--- Border ---*/\n\n.ui.vertical.menu .item:before {\n  position: absolute;\n  content: '';\n  top: 0%;\n  left: 0px;\n  width: 100%;\n  background: rgba(34, 36, 38, 0.1);\n  height: 1px;\n}\n\n.ui.vertical.menu .item:first-child:before {\n  display: none !important;\n}\n\n/*--- Sub Menu ---*/\n\n.ui.vertical.menu .item > .menu {\n  margin: 0.5em -1.14285714em 0em;\n}\n\n.ui.vertical.menu .menu .item {\n  background: none;\n  padding: 0.5em 1.33333333em;\n  font-size: 0.85714286em;\n  color: rgba(0, 0, 0, 0.5);\n}\n\n.ui.vertical.menu .item .menu a.item:hover,\n.ui.vertical.menu .item .menu .link.item:hover {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.vertical.menu .menu .item:before {\n  display: none;\n}\n\n/* Vertical Active */\n\n.ui.vertical.menu .active.item {\n  background: rgba(0, 0, 0, 0.05);\n  border-radius: 0em;\n  box-shadow: none;\n}\n\n.ui.vertical.menu > .active.item:first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.vertical.menu > .active.item:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.vertical.menu > .active.item:only-child {\n  border-radius: 0.28571429rem;\n}\n\n.ui.vertical.menu .active.item .menu .active.item {\n  border-left: none;\n}\n\n.ui.vertical.menu .item .menu .active.item {\n  background-color: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Tabular\n---------------*/\n\n.ui.tabular.menu {\n  border-radius: 0em;\n  box-shadow: none !important;\n  border: none;\n  background: none transparent;\n  border-bottom: 1px solid #D4D4D5;\n}\n\n.ui.tabular.fluid.menu {\n  width: calc(100% +  2px ) !important;\n}\n\n.ui.tabular.menu .item {\n  background: transparent;\n  border-bottom: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  padding: 0.92857143em 1.42857143em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.tabular.menu .item:before {\n  display: none;\n}\n\n/* Hover */\n\n.ui.tabular.menu .item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Active */\n\n.ui.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-top-width: 1px;\n  border-color: #D4D4D5;\n  font-weight: bold;\n  margin-bottom: -1px;\n  box-shadow: none;\n  border-radius: 0.28571429rem 0.28571429rem 0px 0px !important;\n}\n\n/* Coupling with segment for attachment */\n\n.ui.tabular.menu + .bottom.attached.segment {\n  border-top: none;\n  margin: 0px;\n  width: 100%;\n}\n\n.top.attached.segment + .ui.bottom.tabular.menu {\n  position: relative;\n  width: calc(100% +  2px );\n  left: -1px;\n}\n\n/* Bottom Vertical Tabular */\n\n.ui.bottom.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-top: 1px solid #D4D4D5;\n}\n\n.ui.bottom.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: none;\n}\n\n.ui.bottom.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: -1px 0px 0px 0px;\n  border-radius: 0px 0px 0.28571429rem 0.28571429rem !important;\n}\n\n/* Vertical Tabular (Left) */\n\n.ui.vertical.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: 1px solid #D4D4D5;\n}\n\n.ui.vertical.tabular.menu .item {\n  background: none;\n  border-left: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-right: none;\n}\n\n.ui.vertical.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px -1px 0px 0px;\n  border-radius: 0.28571429rem 0px 0px 0.28571429rem !important;\n}\n\n/* Vertical Right Tabular */\n\n.ui.vertical.right.tabular.menu {\n  background: none transparent;\n  border-radius: 0em;\n  box-shadow: none !important;\n  border-bottom: none;\n  border-right: none;\n  border-left: 1px solid #D4D4D5;\n}\n\n.ui.vertical.right.tabular.menu .item {\n  background: none;\n  border-right: 1px solid transparent;\n  border-bottom: 1px solid transparent;\n  border-top: 1px solid transparent;\n  border-left: none;\n}\n\n.ui.vertical.right.tabular.menu .active.item {\n  background: none #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n  border-color: #D4D4D5;\n  margin: 0px 0px 0px -1px;\n  border-radius: 0px 0.28571429rem 0.28571429rem 0px !important;\n}\n\n/* Dropdown */\n\n.ui.tabular.menu .active.dropdown.item {\n  margin-bottom: 0px;\n  border-left: 1px solid transparent;\n  border-right: 1px solid transparent;\n  border-top: 2px solid transparent;\n  border-bottom: none;\n}\n\n/*--------------\n   Pagination\n---------------*/\n\n.ui.pagination.menu {\n  margin: 0em;\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  vertical-align: middle;\n}\n\n.ui.pagination.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.pagination.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.pagination.menu .item {\n  min-width: 3em;\n  text-align: center;\n}\n\n.ui.pagination.menu .icon.item i.icon {\n  vertical-align: top;\n}\n\n/* Active */\n\n.ui.pagination.menu .active.item {\n  border-top: none;\n  padding-top: 0.92857143em;\n  background-color: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n}\n\n/*--------------\n   Secondary\n---------------*/\n\n.ui.secondary.menu {\n  background: none;\n  margin-left: -0.35714286em;\n  margin-right: -0.35714286em;\n  border-radius: 0em;\n  border: none;\n  box-shadow: none;\n}\n\n/* Item */\n\n.ui.secondary.menu .item {\n  -webkit-align-self: center;\n  -ms-flex-item-align: center;\n  align-self: center;\n  box-shadow: none;\n  border: none;\n  padding: 0.71428571em 0.92857143em;\n  margin: 0em 0.35714286em;\n  background: none;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n  border-radius: 0.28571429rem;\n}\n\n/* No Divider */\n\n.ui.secondary.menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n\n.ui.secondary.menu .header.item {\n  border-radius: 0em;\n  border-right: none;\n  background: none transparent;\n}\n\n/* Image */\n\n.ui.secondary.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/* Hover */\n\n.ui.secondary.menu .dropdown.item:hover,\n.ui.secondary.menu .link.item:hover,\n.ui.secondary.menu a.item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n\n.ui.secondary.menu .active.item {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  border-radius: 0.28571429rem;\n}\n\n/* Active Hover */\n\n.ui.secondary.menu .active.item:hover {\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.secondary.inverted.menu .link.item,\n.ui.secondary.inverted.menu a.item {\n  color: rgba(255, 255, 255, 0.7) !important;\n}\n\n.ui.secondary.inverted.menu .dropdown.item:hover,\n.ui.secondary.inverted.menu .link.item:hover,\n.ui.secondary.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff !important;\n}\n\n.ui.secondary.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n\n/* Fix item margins */\n\n.ui.secondary.item.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n.ui.secondary.item.menu .item:last-child {\n  margin-right: 0em;\n}\n\n.ui.secondary.attached.menu {\n  box-shadow: none;\n}\n\n/* Sub Menu */\n\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu {\n  margin: 0em -0.92857143em;\n}\n\n.ui.vertical.secondary.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 1.33333333em;\n}\n\n/*---------------------\n   Secondary Vertical\n-----------------------*/\n\n.ui.secondary.vertical.menu > .item {\n  border: none;\n  margin: 0em 0em 0.35714286em;\n  border-radius: 0.28571429rem !important;\n}\n\n.ui.secondary.vertical.menu > .header.item {\n  border-radius: 0em;\n}\n\n/* Sub Menu */\n\n.ui.vertical.secondary.menu .item > .menu .item {\n  background-color: transparent;\n}\n\n/* Inverted */\n\n.ui.secondary.inverted.menu {\n  background-color: transparent;\n}\n\n/*---------------------\n   Secondary Pointing\n-----------------------*/\n\n.ui.secondary.pointing.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n  border-bottom: 2px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.secondary.pointing.menu .item {\n  border-bottom-color: transparent;\n  border-bottom-style: solid;\n  border-radius: 0em;\n  -webkit-align-self: flex-end;\n  -ms-flex-item-align: end;\n  align-self: flex-end;\n  margin: 0em 0em -2px;\n  padding: 0.85714286em 1.14285714em;\n  border-bottom-width: 2px;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n/* Item Types */\n\n.ui.secondary.pointing.menu .header.item {\n  color: rgba(0, 0, 0, 0.85) !important;\n}\n\n.ui.secondary.pointing.menu .text.item {\n  box-shadow: none !important;\n}\n\n.ui.secondary.pointing.menu .item:after {\n  display: none;\n}\n\n/* Hover */\n\n.ui.secondary.pointing.menu .dropdown.item:hover,\n.ui.secondary.pointing.menu .link.item:hover,\n.ui.secondary.pointing.menu a.item:hover {\n  background-color: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Pressed */\n\n.ui.secondary.pointing.menu .dropdown.item:active,\n.ui.secondary.pointing.menu .link.item:active,\n.ui.secondary.pointing.menu a.item:active {\n  background-color: transparent;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n/* Active */\n\n.ui.secondary.pointing.menu .active.item {\n  background-color: transparent;\n  box-shadow: none;\n  border-color: #1B1C1D;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Hover */\n\n.ui.secondary.pointing.menu .active.item:hover {\n  border-color: #1B1C1D;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Dropdown */\n\n.ui.secondary.pointing.menu .active.dropdown.item {\n  border-color: transparent;\n}\n\n/* Vertical Pointing */\n\n.ui.secondary.vertical.pointing.menu {\n  border-bottom-width: 0px;\n  border-right-width: 2px;\n  border-right-style: solid;\n  border-right-color: rgba(34, 36, 38, 0.15);\n}\n\n.ui.secondary.vertical.pointing.menu .item {\n  border-bottom: none;\n  border-right-style: solid;\n  border-right-color: transparent;\n  border-radius: 0em !important;\n  margin: 0em -2px 0em 0em;\n  border-right-width: 2px;\n}\n\n/* Vertical Active */\n\n.ui.secondary.vertical.pointing.menu .active.item {\n  border-color: #1B1C1D;\n}\n\n/* Inverted */\n\n.ui.secondary.inverted.pointing.menu {\n  border-color: rgba(255, 255, 255, 0.1);\n}\n\n.ui.secondary.inverted.pointing.menu {\n  border-width: 2px;\n  border-color: rgba(34, 36, 38, 0.15);\n}\n\n.ui.secondary.inverted.pointing.menu .item {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.secondary.inverted.pointing.menu .header.item {\n  color: #FFFFFF !important;\n}\n\n/* Hover */\n\n.ui.secondary.inverted.pointing.menu .item:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active */\n\n.ui.secondary.inverted.pointing.menu .active.item {\n  border-color: #FFFFFF;\n  color: #ffffff;\n}\n\n/*--------------\n    Text Menu\n---------------*/\n\n.ui.text.menu {\n  background: none transparent;\n  border-radius: 0px;\n  box-shadow: none;\n  border: none;\n  margin: 1em -0.5em;\n}\n\n.ui.text.menu .item {\n  border-radius: 0px;\n  box-shadow: none;\n  -webkit-align-self: center;\n  -ms-flex-item-align: center;\n  align-self: center;\n  margin: 0em 0em;\n  padding: 0.35714286em 0.5em;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.6);\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n/* Border */\n\n.ui.text.menu .item:before,\n.ui.text.menu .menu .item:before {\n  display: none !important;\n}\n\n/* Header */\n\n.ui.text.menu .header.item {\n  background-color: transparent;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.92857143em;\n  text-transform: uppercase;\n  font-weight: bold;\n}\n\n/* Image */\n\n.ui.text.menu .item > img:not(.ui) {\n  margin: 0em;\n}\n\n/*--- fluid text ---*/\n\n.ui.text.item.menu .item {\n  margin: 0em;\n}\n\n/*--- vertical text ---*/\n\n.ui.vertical.text.menu {\n  margin: 1em 0em;\n}\n\n.ui.vertical.text.menu:first-child {\n  margin-top: 0rem;\n}\n\n.ui.vertical.text.menu:last-child {\n  margin-bottom: 0rem;\n}\n\n.ui.vertical.text.menu .item {\n  margin: 0.57142857em 0em;\n}\n\n.ui.vertical.text.menu .item > i.icon {\n  float: none;\n  margin: 0em 0.35714286em 0em 0em;\n}\n\n.ui.vertical.text.menu .header.item {\n  margin: 0.57142857em 0em 0.71428571em;\n}\n\n/* Vertical Sub Menu */\n\n.ui.vertical.text.menu .item:not(.dropdown) > .menu {\n  margin: 0em;\n}\n\n.ui.vertical.text.menu .item:not(.dropdown) > .menu > .item {\n  margin: 0em;\n  padding: 0.5em 0em;\n}\n\n/*--- hover ---*/\n\n.ui.text.menu .item:hover {\n  opacity: 1;\n  background-color: transparent;\n}\n\n/*--- active ---*/\n\n.ui.text.menu .active.item {\n  background-color: transparent;\n  border: none;\n  box-shadow: none;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--- active hover ---*/\n\n.ui.text.menu .active.item:hover {\n  background-color: transparent;\n}\n\n/* Disable Bariations */\n\n.ui.text.pointing.menu .active.item:after {\n  box-shadow: none;\n}\n\n.ui.text.attached.menu {\n  box-shadow: none;\n}\n\n/* Inverted */\n\n.ui.inverted.text.menu,\n.ui.inverted.text.menu .item,\n.ui.inverted.text.menu .item:hover,\n.ui.inverted.text.menu .active.item {\n  background-color: transparent !important;\n}\n\n/* Fluid */\n\n.ui.fluid.text.menu {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n/*--------------\n    Icon Only\n---------------*/\n\n/* Vertical Menu */\n\n.ui.vertical.icon.menu {\n  display: inline-block;\n  width: auto;\n}\n\n/* Item */\n\n.ui.icon.menu .item {\n  height: auto;\n  text-align: center;\n  color: #1B1C1D;\n}\n\n/* Icon */\n\n.ui.icon.menu .item > .icon:not(.dropdown) {\n  margin: 0;\n  opacity: 1;\n}\n\n/* Icon Gylph */\n\n.ui.icon.menu .icon:before {\n  opacity: 1;\n}\n\n/* (x) Item Icon */\n\n.ui.menu .icon.item > .icon {\n  width: auto;\n  margin: 0em auto;\n}\n\n/* Vertical Icon */\n\n.ui.vertical.icon.menu .item > .icon:not(.dropdown) {\n  display: block;\n  opacity: 1;\n  margin: 0em auto;\n  float: none;\n}\n\n/* Inverted */\n\n.ui.inverted.icon.menu .item {\n  color: #FFFFFF;\n}\n\n/*--------------\n   Labeled Icon\n---------------*/\n\n/* Menu */\n\n.ui.labeled.icon.menu {\n  text-align: center;\n}\n\n/* Item */\n\n.ui.labeled.icon.menu .item {\n  min-width: 6em;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n}\n\n/* Icon */\n\n.ui.labeled.icon.menu .item > .icon:not(.dropdown) {\n  height: 1em;\n  display: block;\n  font-size: 1.71428571em !important;\n  margin: 0em auto 0.5rem !important;\n}\n\n/* Fluid */\n\n.ui.fluid.labeled.icon.menu > .item {\n  min-width: 0em;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.menu {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  .ui.stackable.menu .item {\n    width: 100% !important;\n  }\n\n  .ui.stackable.menu .item:before {\n    position: absolute;\n    content: '';\n    top: auto;\n    bottom: 0px;\n    left: 0px;\n    width: 100%;\n    background: rgba(34, 36, 38, 0.1);\n    height: 1px;\n  }\n}\n\n/*--------------\n     Colors\n---------------*/\n\n/*--- Standard Colors  ---*/\n\n.ui.menu .red.active.item,\n.ui.red.menu .active.item {\n  border-color: #DB2828 !important;\n  color: #DB2828 !important;\n}\n\n.ui.menu .orange.active.item,\n.ui.orange.menu .active.item {\n  border-color: #F2711C !important;\n  color: #F2711C !important;\n}\n\n.ui.menu .yellow.active.item,\n.ui.yellow.menu .active.item {\n  border-color: #FBBD08 !important;\n  color: #FBBD08 !important;\n}\n\n.ui.menu .olive.active.item,\n.ui.olive.menu .active.item {\n  border-color: #B5CC18 !important;\n  color: #B5CC18 !important;\n}\n\n.ui.menu .green.active.item,\n.ui.green.menu .active.item {\n  border-color: #21BA45 !important;\n  color: #21BA45 !important;\n}\n\n.ui.menu .teal.active.item,\n.ui.teal.menu .active.item {\n  border-color: #00B5AD !important;\n  color: #00B5AD !important;\n}\n\n.ui.menu .blue.active.item,\n.ui.blue.menu .active.item {\n  border-color: #2185D0 !important;\n  color: #2185D0 !important;\n}\n\n.ui.menu .violet.active.item,\n.ui.violet.menu .active.item {\n  border-color: #6435C9 !important;\n  color: #6435C9 !important;\n}\n\n.ui.menu .purple.active.item,\n.ui.purple.menu .active.item {\n  border-color: #A333C8 !important;\n  color: #A333C8 !important;\n}\n\n.ui.menu .pink.active.item,\n.ui.pink.menu .active.item {\n  border-color: #E03997 !important;\n  color: #E03997 !important;\n}\n\n.ui.menu .brown.active.item,\n.ui.brown.menu .active.item {\n  border-color: #A5673F !important;\n  color: #A5673F !important;\n}\n\n.ui.menu .grey.active.item,\n.ui.grey.menu .active.item {\n  border-color: #767676 !important;\n  color: #767676 !important;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.menu {\n  border: 0px solid transparent;\n  background: #1B1C1D;\n  box-shadow: none;\n}\n\n/* Menu Item */\n\n.ui.inverted.menu .item,\n.ui.inverted.menu .item > a:not(.ui) {\n  background: transparent;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.menu .item.menu {\n  background: transparent;\n}\n\n/*--- Border ---*/\n\n.ui.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n.ui.vertical.inverted.menu .item:before {\n  background: rgba(255, 255, 255, 0.08);\n}\n\n/* Sub Menu */\n\n.ui.vertical.inverted.menu .menu .item,\n.ui.vertical.inverted.menu .menu .item a:not(.ui) {\n  color: rgba(255, 255, 255, 0.5);\n}\n\n/* Header */\n\n.ui.inverted.menu .header.item {\n  margin: 0em;\n  background: transparent;\n  box-shadow: none;\n}\n\n/* Disabled */\n\n.ui.inverted.menu .item.disabled,\n.ui.inverted.menu .item.disabled:hover {\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/*--- Hover ---*/\n\n.ui.link.inverted.menu .item:hover,\n.ui.inverted.menu .dropdown.item:hover,\n.ui.inverted.menu .link.item:hover,\n.ui.inverted.menu a.item:hover {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n.ui.vertical.inverted.menu .item .menu a.item:hover,\n.ui.vertical.inverted.menu .item .menu .link.item:hover {\n  background: transparent;\n  color: #ffffff;\n}\n\n/*--- Pressed ---*/\n\n.ui.inverted.menu a.item:active,\n.ui.inverted.menu .link.item:active,\n.ui.inverted.menu a.item:active {\n  background: rgba(255, 255, 255, 0.08);\n  color: #ffffff;\n}\n\n/*--- Active ---*/\n\n.ui.inverted.menu .active.item {\n  background: rgba(255, 255, 255, 0.15);\n  color: #ffffff !important;\n}\n\n.ui.inverted.vertical.menu .item .menu .active.item {\n  background: transparent;\n  color: #FFFFFF;\n}\n\n.ui.inverted.pointing.menu .active.item:after {\n  background: #3D3E3F !important;\n  margin: 0em !important;\n  box-shadow: none !important;\n  border: none !important;\n}\n\n/*--- Active Hover ---*/\n\n.ui.inverted.menu .active.item:hover {\n  background: rgba(255, 255, 255, 0.15);\n  color: #FFFFFF !important;\n}\n\n.ui.inverted.pointing.menu .active.item:hover:after {\n  background: #3D3E3F !important;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.floated.menu {\n  float: left;\n  margin: 0rem 0.5rem 0rem 0rem;\n}\n\n.ui.floated.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.right.floated.menu {\n  float: right;\n  margin: 0rem 0rem 0rem 0.5rem;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n/* Red */\n\n.ui.inverted.menu .red.active.item,\n.ui.inverted.red.menu {\n  background-color: #DB2828;\n}\n\n.ui.inverted.red.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.red.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Orange */\n\n.ui.inverted.menu .orange.active.item,\n.ui.inverted.orange.menu {\n  background-color: #F2711C;\n}\n\n.ui.inverted.orange.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.orange.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Yellow */\n\n.ui.inverted.menu .yellow.active.item,\n.ui.inverted.yellow.menu {\n  background-color: #FBBD08;\n}\n\n.ui.inverted.yellow.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.yellow.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Olive */\n\n.ui.inverted.menu .olive.active.item,\n.ui.inverted.olive.menu {\n  background-color: #B5CC18;\n}\n\n.ui.inverted.olive.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.olive.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Green */\n\n.ui.inverted.menu .green.active.item,\n.ui.inverted.green.menu {\n  background-color: #21BA45;\n}\n\n.ui.inverted.green.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.green.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Teal */\n\n.ui.inverted.menu .teal.active.item,\n.ui.inverted.teal.menu {\n  background-color: #00B5AD;\n}\n\n.ui.inverted.teal.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.teal.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Blue */\n\n.ui.inverted.menu .blue.active.item,\n.ui.inverted.blue.menu {\n  background-color: #2185D0;\n}\n\n.ui.inverted.blue.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.blue.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Violet */\n\n.ui.inverted.menu .violet.active.item,\n.ui.inverted.violet.menu {\n  background-color: #6435C9;\n}\n\n.ui.inverted.violet.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.violet.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Purple */\n\n.ui.inverted.menu .purple.active.item,\n.ui.inverted.purple.menu {\n  background-color: #A333C8;\n}\n\n.ui.inverted.purple.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.purple.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Pink */\n\n.ui.inverted.menu .pink.active.item,\n.ui.inverted.pink.menu {\n  background-color: #E03997;\n}\n\n.ui.inverted.pink.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.pink.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Brown */\n\n.ui.inverted.menu .brown.active.item,\n.ui.inverted.brown.menu {\n  background-color: #A5673F;\n}\n\n.ui.inverted.brown.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.brown.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/* Grey */\n\n.ui.inverted.menu .grey.active.item,\n.ui.inverted.grey.menu {\n  background-color: #767676;\n}\n\n.ui.inverted.grey.menu .item:before {\n  background-color: rgba(34, 36, 38, 0.1);\n}\n\n.ui.inverted.grey.menu .active.item {\n  background-color: rgba(0, 0, 0, 0.1) !important;\n}\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.menu .item,\n.ui.fitted.menu .item .menu .item,\n.ui.menu .fitted.item {\n  padding: 0em;\n}\n\n.ui.horizontally.fitted.menu .item,\n.ui.horizontally.fitted.menu .item .menu .item,\n.ui.menu .horizontally.fitted.item {\n  padding-top: 0.92857143em;\n  padding-bottom: 0.92857143em;\n}\n\n.ui.vertically.fitted.menu .item,\n.ui.vertically.fitted.menu .item .menu .item,\n.ui.menu .vertically.fitted.item {\n  padding-left: 1.14285714em;\n  padding-right: 1.14285714em;\n}\n\n/*--------------\n   Borderless\n---------------*/\n\n.ui.borderless.menu .item:before,\n.ui.borderless.menu .item .menu .item:before,\n.ui.menu .borderless.item:before {\n  background: none !important;\n}\n\n/*-------------------\n       Compact\n--------------------*/\n\n.ui.compact.menu {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  margin: 0em;\n  vertical-align: middle;\n}\n\n.ui.compact.vertical.menu {\n  display: inline-block;\n}\n\n.ui.compact.menu .item:last-child {\n  border-radius: 0em 0.28571429rem 0.28571429rem 0em;\n}\n\n.ui.compact.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.compact.vertical.menu {\n  width: auto !important;\n}\n\n.ui.compact.vertical.menu .item:last-child::before {\n  display: block;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.menu.fluid,\n.ui.vertical.menu.fluid {\n  width: 100% !important;\n}\n\n/*-------------------\n      Evenly Sized\n--------------------*/\n\n.ui.item.menu,\n.ui.item.menu .item {\n  width: 100%;\n  padding-left: 0em !important;\n  padding-right: 0em !important;\n  margin-left: 0em !important;\n  margin-right: 0em !important;\n  text-align: center;\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.ui.item.menu .item:last-child:before {\n  display: none;\n}\n\n.ui.menu.two.item .item {\n  width: 50%;\n}\n\n.ui.menu.three.item .item {\n  width: 33.333%;\n}\n\n.ui.menu.four.item .item {\n  width: 25%;\n}\n\n.ui.menu.five.item .item {\n  width: 20%;\n}\n\n.ui.menu.six.item .item {\n  width: 16.666%;\n}\n\n.ui.menu.seven.item .item {\n  width: 14.285%;\n}\n\n.ui.menu.eight.item .item {\n  width: 12.500%;\n}\n\n.ui.menu.nine.item .item {\n  width: 11.11%;\n}\n\n.ui.menu.ten.item .item {\n  width: 10.0%;\n}\n\n.ui.menu.eleven.item .item {\n  width: 9.09%;\n}\n\n.ui.menu.twelve.item .item {\n  width: 8.333%;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.menu.fixed {\n  position: fixed;\n  z-index: 101;\n  margin: 0em;\n  width: 100%;\n}\n\n.ui.menu.fixed,\n.ui.menu.fixed .item:first-child,\n.ui.menu.fixed .item:last-child {\n  border-radius: 0px !important;\n}\n\n.ui.fixed.menu,\n.ui[class*=\"top fixed\"].menu {\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n}\n\n.ui[class*=\"top fixed\"].menu {\n  border-top: none;\n  border-left: none;\n  border-right: none;\n}\n\n.ui[class*=\"right fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-right: none;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n\n.ui[class*=\"bottom fixed\"].menu {\n  border-bottom: none;\n  border-left: none;\n  border-right: none;\n  bottom: 0px;\n  left: 0px;\n  top: auto;\n  right: auto;\n}\n\n.ui[class*=\"left fixed\"].menu {\n  border-top: none;\n  border-bottom: none;\n  border-left: none;\n  top: 0px;\n  left: 0px;\n  right: auto;\n  bottom: auto;\n  width: auto;\n  height: 100%;\n}\n\n/* Coupling with Grid */\n\n.ui.fixed.menu + .ui.grid {\n  padding-top: 2.75rem;\n}\n\n/*-------------------\n       Pointing\n--------------------*/\n\n.ui.pointing.menu .item:after {\n  visibility: hidden;\n  position: absolute;\n  content: '';\n  top: 100%;\n  left: 50%;\n  -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  transform: translateX(-50%) translateY(-50%) rotate(45deg);\n  background: none;\n  margin: 0.5px 0em 0em;\n  width: 0.57142857em;\n  height: 0.57142857em;\n  border: none;\n  border-bottom: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n  z-index: 2;\n  -webkit-transition: background 0.1s ease;\n  transition: background 0.1s ease;\n}\n\n.ui.vertical.pointing.menu .item:after {\n  position: absolute;\n  top: 50%;\n  right: 0%;\n  bottom: auto;\n  left: auto;\n  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  -ms-transform: translateX(50%) translateY(-50%) rotate(45deg);\n  transform: translateX(50%) translateY(-50%) rotate(45deg);\n  margin: 0em -0.5px 0em 0em;\n  border: none;\n  border-top: 1px solid #D4D4D5;\n  border-right: 1px solid #D4D4D5;\n}\n\n/* Active */\n\n.ui.pointing.menu .active.item:after {\n  visibility: visible;\n}\n\n.ui.pointing.menu .active.dropdown.item:after {\n  visibility: hidden;\n}\n\n/* Don't double up pointers */\n\n.ui.pointing.menu .dropdown.active.item:after,\n.ui.pointing.menu .active.item .menu .active.item:after {\n  display: none;\n}\n\n/* Colors */\n\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n\n.ui.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n\n.ui.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n\n.ui.vertical.pointing.menu .active.item:hover:after {\n  background-color: #F2F2F2;\n}\n\n.ui.vertical.pointing.menu .active.item:after {\n  background-color: #F2F2F2;\n}\n\n.ui.vertical.pointing.menu .menu .active.item:after {\n  background-color: #FFFFFF;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n/* Middle */\n\n.ui.attached.menu {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n}\n\n.ui.attached + .ui.attached.menu:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n\n.ui[class*=\"top attached\"].menu {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1rem;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.menu[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n\n.ui[class*=\"bottom attached\"].menu {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1rem;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].menu:last-child {\n  margin-bottom: 0em;\n}\n\n/* Attached Menu Item */\n\n.ui.top.attached.menu > .item:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui.bottom.attached.menu > .item:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n/* Tabular Attached */\n\n.ui.attached.menu:not(.tabular) {\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached.inverted.menu {\n  border: none;\n}\n\n.ui.attached.tabular.menu {\n  margin-left: 0;\n  margin-right: 0;\n  width: 100%;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n/* Small */\n\n.ui.small.menu {\n  font-size: 0.92857143rem;\n}\n\n.ui.small.vertical.menu {\n  width: 13rem;\n}\n\n/* Medium */\n\n.ui.menu {\n  font-size: 1rem;\n}\n\n.ui.vertical.menu {\n  width: 15rem;\n}\n\n/* Large */\n\n.ui.large.menu {\n  font-size: 1.14285714rem;\n}\n\n.ui.large.vertical.menu {\n  width: 18rem;\n}\n\n/* Huge */\n\n.ui.huge.menu {\n  font-size: 1.42857143rem;\n}\n\n.ui.huge.vertical.menu {\n  width: 20rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Message\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Message\n*******************************/\n\n.ui.message {\n  position: relative;\n  min-height: 1em;\n  margin: 1em 0em;\n  background: #F8F8F9;\n  padding: 1em 1.5em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n  transition: opacity 0.1s ease, color 0.1s ease, background 0.1s ease, box-shadow 0.1s ease;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.message:first-child {\n  margin-top: 0em;\n}\n\n.ui.message:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n/* Header */\n\n.ui.message .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  margin: -0.14285em 0em 0rem 0em;\n}\n\n/* Default font size */\n\n.ui.message .header:not(.ui) {\n  font-size: 1.14285714em;\n}\n\n/* Paragraph */\n\n.ui.message p {\n  opacity: 0.85;\n  margin: 0.75em 0em;\n}\n\n.ui.message p:first-child {\n  margin-top: 0em;\n}\n\n.ui.message p:last-child {\n  margin-bottom: 0em;\n}\n\n.ui.message .header + p {\n  margin-top: 0.25em;\n}\n\n/* List */\n\n.ui.message .list:not(.ui) {\n  text-align: left;\n  padding: 0em;\n  opacity: 0.85;\n  list-style-position: inside;\n  margin: 0.5em 0em 0em;\n}\n\n.ui.message .list:not(.ui):first-child {\n  margin-top: 0em;\n}\n\n.ui.message .list:not(.ui):last-child {\n  margin-bottom: 0em;\n}\n\n.ui.message .list:not(.ui) li {\n  position: relative;\n  list-style-type: none;\n  margin: 0em 0em 0.3em 1em;\n  padding: 0em;\n}\n\n.ui.message .list:not(.ui) li:before {\n  position: absolute;\n  content: '•';\n  left: -1em;\n  height: 100%;\n  vertical-align: baseline;\n}\n\n.ui.message .list:not(.ui) li:last-child {\n  margin-bottom: 0em;\n}\n\n/* Icon */\n\n.ui.message > .icon {\n  margin-right: 0.6em;\n}\n\n/* Close Icon */\n\n.ui.message > .close.icon {\n  cursor: pointer;\n  position: absolute;\n  margin: 0em;\n  top: 0.78575em;\n  right: 0.5em;\n  opacity: 0.7;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n.ui.message > .close.icon:hover {\n  opacity: 1;\n}\n\n/* First / Last Element */\n\n.ui.message > :first-child {\n  margin-top: 0em;\n}\n\n.ui.message > :last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n.ui.dropdown .menu > .message {\n  margin: 0px -1px;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n    Visible\n---------------*/\n\n.ui.visible.visible.visible.visible.message {\n  display: block;\n}\n\n.ui.icon.visible.visible.visible.visible.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n.ui.hidden.hidden.hidden.hidden.message {\n  display: none;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n    Compact\n---------------*/\n\n.ui.compact.message {\n  display: inline-block;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n.ui.attached.message {\n  margin-bottom: -1px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset;\n  margin-left: -1px;\n  margin-right: -1px;\n}\n\n.ui.attached + .ui.attached.message:not(.top):not(.bottom) {\n  margin-top: -1px;\n  border-radius: 0em;\n}\n\n.ui.bottom.attached.message {\n  margin-top: -1px;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0em 0em 0em 1px rgba(34, 36, 38, 0.15) inset, 0px 1px 2px 0 rgba(34, 36, 38, 0.15);\n}\n\n.ui.bottom.attached.message:not(:last-child) {\n  margin-bottom: 1em;\n}\n\n.ui.attached.icon.message {\n  width: auto;\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.icon.message {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  width: 100%;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.icon.message > .icon:not(.close) {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: auto;\n  line-height: 1;\n  vertical-align: middle;\n  font-size: 3em;\n  opacity: 0.8;\n}\n\n.ui.icon.message > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  vertical-align: middle;\n}\n\n.ui.icon.message .icon:not(.close) + .content {\n  padding-left: 0rem;\n}\n\n.ui.icon.message .circular.icon {\n  width: 1em;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.message {\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.22) inset, 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/*--------------\n     Types\n---------------*/\n\n/* Positive */\n\n.ui.positive.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n\n.ui.positive.message,\n.ui.attached.positive.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.positive.message .header {\n  color: #1A531B;\n}\n\n/* Negative */\n\n.ui.negative.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n\n.ui.negative.message,\n.ui.attached.negative.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.negative.message .header {\n  color: #912D2B;\n}\n\n/* Info */\n\n.ui.info.message {\n  background-color: #F8FFFF;\n  color: #276F86;\n}\n\n.ui.info.message,\n.ui.attached.info.message {\n  box-shadow: 0px 0px 0px 1px #A9D5DE inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.info.message .header {\n  color: #0E566C;\n}\n\n/* Warning */\n\n.ui.warning.message {\n  background-color: #FFFAF3;\n  color: #573A08;\n}\n\n.ui.warning.message,\n.ui.attached.warning.message {\n  box-shadow: 0px 0px 0px 1px #C9BA9B inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.warning.message .header {\n  color: #794B02;\n}\n\n/* Error */\n\n.ui.error.message {\n  background-color: #FFF6F6;\n  color: #9F3A38;\n}\n\n.ui.error.message,\n.ui.attached.error.message {\n  box-shadow: 0px 0px 0px 1px #E0B4B4 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.error.message .header {\n  color: #912D2B;\n}\n\n/* Success */\n\n.ui.success.message {\n  background-color: #FCFFF5;\n  color: #2C662D;\n}\n\n.ui.success.message,\n.ui.attached.success.message {\n  box-shadow: 0px 0px 0px 1px #A3C293 inset, 0px 0px 0px 0px rgba(0, 0, 0, 0);\n}\n\n.ui.success.message .header {\n  color: #1A531B;\n}\n\n/* Colors */\n\n.ui.inverted.message,\n.ui.black.message {\n  background-color: #1B1C1D;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.red.message {\n  background-color: #FFE8E6;\n  color: #DB2828;\n}\n\n.ui.red.message .header {\n  color: #c82121;\n}\n\n.ui.orange.message {\n  background-color: #FFEDDE;\n  color: #F2711C;\n}\n\n.ui.orange.message .header {\n  color: #e7640d;\n}\n\n.ui.yellow.message {\n  background-color: #FFF8DB;\n  color: #B58105;\n}\n\n.ui.yellow.message .header {\n  color: #9c6f04;\n}\n\n.ui.olive.message {\n  background-color: #FBFDEF;\n  color: #8ABC1E;\n}\n\n.ui.olive.message .header {\n  color: #7aa61a;\n}\n\n.ui.green.message {\n  background-color: #E5F9E7;\n  color: #1EBC30;\n}\n\n.ui.green.message .header {\n  color: #1aa62a;\n}\n\n.ui.teal.message {\n  background-color: #E1F7F7;\n  color: #10A3A3;\n}\n\n.ui.teal.message .header {\n  color: #0e8c8c;\n}\n\n.ui.blue.message {\n  background-color: #DFF0FF;\n  color: #2185D0;\n}\n\n.ui.blue.message .header {\n  color: #1e77ba;\n}\n\n.ui.violet.message {\n  background-color: #EAE7FF;\n  color: #6435C9;\n}\n\n.ui.violet.message .header {\n  color: #5a30b5;\n}\n\n.ui.purple.message {\n  background-color: #F6E7FF;\n  color: #A333C8;\n}\n\n.ui.purple.message .header {\n  color: #922eb4;\n}\n\n.ui.pink.message {\n  background-color: #FFE3FB;\n  color: #E03997;\n}\n\n.ui.pink.message .header {\n  color: #dd238b;\n}\n\n.ui.brown.message {\n  background-color: #F1E2D3;\n  color: #A5673F;\n}\n\n.ui.brown.message .header {\n  color: #935b38;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.small.message {\n  font-size: 0.92857143em;\n}\n\n.ui.message {\n  font-size: 1em;\n}\n\n.ui.large.message {\n  font-size: 1.14285714em;\n}\n\n.ui.huge.message {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.message {\n  font-size: 1.71428571em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Table\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Table\n*******************************/\n\n/* Prototype */\n\n.ui.table {\n  width: 100%;\n  background: #FFFFFF;\n  margin: 1em 0em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n  border-radius: 0.28571429rem;\n  text-align: left;\n  color: rgba(0, 0, 0, 0.87);\n  border-collapse: separate;\n  border-spacing: 0px;\n}\n\n.ui.table:first-child {\n  margin-top: 0em;\n}\n\n.ui.table:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n             Parts\n*******************************/\n\n/* Table Content */\n\n.ui.table th,\n.ui.table td {\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n  transition: background 0.1s ease, color 0.1s ease;\n}\n\n/* Headers */\n\n.ui.table thead {\n  box-shadow: none;\n}\n\n.ui.table thead th {\n  cursor: auto;\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.92857143em 0.71428571em;\n  vertical-align: inherit;\n  font-style: none;\n  font-weight: bold;\n  text-transform: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  border-left: none;\n}\n\n.ui.table thead tr > th:first-child {\n  border-left: none;\n}\n\n.ui.table thead tr:first-child > th:first-child {\n  border-radius: 0.28571429rem 0em 0em 0em;\n}\n\n.ui.table thead tr:first-child > th:last-child {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui.table thead tr:first-child > th:only-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Footer */\n\n.ui.table tfoot {\n  box-shadow: none;\n}\n\n.ui.table tfoot th {\n  cursor: auto;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  background: #F9FAFB;\n  text-align: inherit;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571em 0.71428571em;\n  vertical-align: middle;\n  font-style: normal;\n  font-weight: normal;\n  text-transform: none;\n}\n\n.ui.table tfoot tr > th:first-child {\n  border-left: none;\n}\n\n.ui.table tfoot tr:first-child > th:first-child {\n  border-radius: 0em 0em 0em 0.28571429rem;\n}\n\n.ui.table tfoot tr:first-child > th:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n.ui.table tfoot tr:first-child > th:only-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/* Table Row */\n\n.ui.table tr td {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n.ui.table tr:first-child td {\n  border-top: none;\n}\n\n/* Table Cells */\n\n.ui.table td {\n  padding: 0.71428571em 0.71428571em;\n  text-align: inherit;\n}\n\n/* Icons */\n\n.ui.table > .icon {\n  vertical-align: baseline;\n}\n\n.ui.table > .icon:only-child {\n  margin: 0em;\n}\n\n/* Table Segment */\n\n.ui.table.segment {\n  padding: 0em;\n}\n\n.ui.table.segment:after {\n  display: none;\n}\n\n.ui.table.segment.stacked:after {\n  display: block;\n}\n\n/* Responsive */\n\n@media only screen and (max-width: 767px) {\n  .ui.table:not(.unstackable) {\n    width: 100%;\n  }\n\n  .ui.table:not(.unstackable) tbody,\n  .ui.table:not(.unstackable) tr,\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    width: auto !important;\n    display: block !important;\n  }\n\n  .ui.table:not(.unstackable) {\n    padding: 0em;\n  }\n\n  .ui.table:not(.unstackable) thead {\n    display: block;\n  }\n\n  .ui.table:not(.unstackable) tfoot {\n    display: block;\n  }\n\n  .ui.table:not(.unstackable) tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n\n  .ui.table:not(.unstackable) tr > th,\n  .ui.table:not(.unstackable) tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em !important;\n    box-shadow: none !important;\n  }\n\n  .ui.table:not(.unstackable) th:first-child,\n  .ui.table:not(.unstackable) td:first-child {\n    font-weight: bold;\n  }\n\n  /* Definition Table */\n\n  .ui.definition.table:not(.unstackable) thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n/* UI Image */\n\n.ui.table th .image,\n.ui.table th .image img,\n.ui.table td .image,\n.ui.table td .image img {\n  max-width: none;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n    Complex\n---------------*/\n\n.ui.structured.table {\n  border-collapse: collapse;\n}\n\n.ui.structured.table thead th {\n  border-left: none;\n  border-right: none;\n}\n\n.ui.structured.sortable.table thead th {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-right: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.structured.basic.table th {\n  border-left: none;\n  border-right: none;\n}\n\n.ui.structured.celled.table tr th,\n.ui.structured.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n  border-right: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n/*--------------\n   Definition\n---------------*/\n\n.ui.definition.table thead:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: -1px -1px 0px 1px #FFFFFF;\n}\n\n.ui.definition.table tfoot:not(.full-width) th:first-child {\n  pointer-events: none;\n  background: transparent;\n  font-weight: rgba(0, 0, 0, 0.4);\n  color: normal;\n  box-shadow: 1px 1px 0px 1px #FFFFFF;\n}\n\n/* Remove Border */\n\n.ui.celled.definition.table thead:not(.full-width) th:first-child {\n  box-shadow: 0px -1px 0px 1px #FFFFFF;\n}\n\n.ui.celled.definition.table tfoot:not(.full-width) th:first-child {\n  box-shadow: 0px 1px 0px 1px #FFFFFF;\n}\n\n/* Highlight Defining Column */\n\n.ui.definition.table tr td:first-child {\n  background: rgba(0, 0, 0, 0.03);\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Fix 2nd Column */\n\n.ui.definition.table thead:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.definition.table tfoot:not(.full-width) th:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.definition.table td:nth-child(2) {\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n    Positive\n---------------*/\n\n.ui.table tr.positive,\n.ui.table td.positive {\n  box-shadow: 0px 0px 0px #A3C293 inset;\n}\n\n.ui.table tr.positive,\n.ui.table td.positive {\n  background: #FCFFF5 !important;\n  color: #2C662D !important;\n}\n\n/*--------------\n     Negative\n---------------*/\n\n.ui.table tr.negative,\n.ui.table td.negative {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n\n.ui.table tr.negative,\n.ui.table td.negative {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n      Error\n---------------*/\n\n.ui.table tr.error,\n.ui.table td.error {\n  box-shadow: 0px 0px 0px #E0B4B4 inset;\n}\n\n.ui.table tr.error,\n.ui.table td.error {\n  background: #FFF6F6 !important;\n  color: #9F3A38 !important;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.table tr.warning,\n.ui.table td.warning {\n  box-shadow: 0px 0px 0px #C9BA9B inset;\n}\n\n.ui.table tr.warning,\n.ui.table td.warning {\n  background: #FFFAF3 !important;\n  color: #573A08 !important;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.table tr.active,\n.ui.table td.active {\n  box-shadow: 0px 0px 0px rgba(0, 0, 0, 0.87) inset;\n}\n\n.ui.table tr.active,\n.ui.table td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.table tr.disabled td,\n.ui.table tr td.disabled,\n.ui.table tr.disabled:hover,\n.ui.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n    Stackable\n---------------*/\n\n@media only screen and (max-width: 991px) {\n  .ui[class*=\"tablet stackable\"].table,\n  .ui[class*=\"tablet stackable\"].table tbody,\n  .ui[class*=\"tablet stackable\"].table tr,\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    width: 100% !important;\n    display: block !important;\n  }\n\n  .ui[class*=\"tablet stackable\"].table {\n    padding: 0em;\n  }\n\n  .ui[class*=\"tablet stackable\"].table thead {\n    display: block;\n  }\n\n  .ui[class*=\"tablet stackable\"].table tfoot {\n    display: block;\n  }\n\n  .ui[class*=\"tablet stackable\"].table tr {\n    padding-top: 1em;\n    padding-bottom: 1em;\n    box-shadow: 0px -1px 0px 0px rgba(0, 0, 0, 0.1) inset !important;\n  }\n\n  .ui[class*=\"tablet stackable\"].table tr > th,\n  .ui[class*=\"tablet stackable\"].table tr > td {\n    background: none;\n    border: none !important;\n    padding: 0.25em 0.75em;\n    box-shadow: none !important;\n  }\n\n  /* Definition Table */\n\n  .ui.definition[class*=\"tablet stackable\"].table thead th:first-child {\n    box-shadow: none !important;\n  }\n}\n\n/*--------------\n Text Alignment\n---------------*/\n\n.ui.table[class*=\"left aligned\"],\n.ui.table [class*=\"left aligned\"] {\n  text-align: left;\n}\n\n.ui.table[class*=\"center aligned\"],\n.ui.table [class*=\"center aligned\"] {\n  text-align: center;\n}\n\n.ui.table[class*=\"right aligned\"],\n.ui.table [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*------------------\n Vertical Alignment\n------------------*/\n\n.ui.table[class*=\"top aligned\"],\n.ui.table [class*=\"top aligned\"] {\n  vertical-align: top;\n}\n\n.ui.table[class*=\"middle aligned\"],\n.ui.table [class*=\"middle aligned\"] {\n  vertical-align: middle;\n}\n\n.ui.table[class*=\"bottom aligned\"],\n.ui.table [class*=\"bottom aligned\"] {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Collapsing\n---------------*/\n\n.ui.table th.collapsing,\n.ui.table td.collapsing {\n  width: 1px;\n  white-space: nowrap;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.table {\n  table-layout: fixed;\n}\n\n.ui.fixed.table th,\n.ui.fixed.table td {\n  overflow: hidden;\n  text-overflow: ellipsis;\n}\n\n/*--------------\n   Selectable\n---------------*/\n\n.ui.selectable.table tbody tr:hover,\n.ui.table tbody tr td.selectable:hover {\n  background: rgba(0, 0, 0, 0.05) !important;\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.selectable.inverted.table tbody tr:hover,\n.ui.inverted.table tbody tr td.selectable:hover {\n  background: rgba(255, 255, 255, 0.08) !important;\n  color: #ffffff !important;\n}\n\n/* Selectable Cell Link */\n\n.ui.table tbody tr td.selectable {\n  padding: 0em;\n}\n\n.ui.table tbody tr td.selectable > a:not(.ui) {\n  display: block;\n  color: inherit;\n  padding: 0.71428571em 0.71428571em;\n}\n\n/* Other States */\n\n.ui.selectable.table tr.error:hover,\n.ui.table tr td.selectable.error:hover,\n.ui.selectable.table tr:hover td.error {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n\n.ui.selectable.table tr.warning:hover,\n.ui.table tr td.selectable.warning:hover,\n.ui.selectable.table tr:hover td.warning {\n  background: #fff4e4 !important;\n  color: #493107 !important;\n}\n\n.ui.selectable.table tr.active:hover,\n.ui.table tr td.selectable.active:hover,\n.ui.selectable.table tr:hover td.active {\n  background: #E0E0E0 !important;\n  color: rgba(0, 0, 0, 0.87) !important;\n}\n\n.ui.selectable.table tr.positive:hover,\n.ui.table tr td.selectable.positive:hover,\n.ui.selectable.table tr:hover td.positive {\n  background: #f7ffe6 !important;\n  color: #275b28 !important;\n}\n\n.ui.selectable.table tr.negative:hover,\n.ui.table tr td.selectable.negative:hover,\n.ui.selectable.table tr:hover td.negative {\n  background: #ffe7e7 !important;\n  color: #943634 !important;\n}\n\n/*-------------------\n      Attached\n--------------------*/\n\n/* Middle */\n\n.ui.attached.table {\n  top: 0px;\n  bottom: 0px;\n  border-radius: 0px;\n  margin: 0em -1px;\n  width: calc(100% +  2px );\n  max-width: calc(100% +  2px );\n  box-shadow: none;\n  border: 1px solid #D4D4D5;\n}\n\n.ui.attached + .ui.attached.table:not(.top) {\n  border-top: none;\n}\n\n/* Top */\n\n.ui[class*=\"top attached\"].table {\n  bottom: 0px;\n  margin-bottom: 0em;\n  top: 0px;\n  margin-top: 1em;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.table[class*=\"top attached\"]:first-child {\n  margin-top: 0em;\n}\n\n/* Bottom */\n\n.ui[class*=\"bottom attached\"].table {\n  bottom: 0px;\n  margin-top: 0em;\n  top: 0px;\n  margin-bottom: 1em;\n  box-shadow: none, none;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui[class*=\"bottom attached\"].table:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Striped\n---------------*/\n\n/* Table Striping */\n\n.ui.striped.table > tr:nth-child(2n),\n.ui.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 50, 0.02);\n}\n\n/* Stripes */\n\n.ui.inverted.striped.table > tr:nth-child(2n),\n.ui.inverted.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(255, 255, 255, 0.05);\n}\n\n/*--------------\n   Single Line\n---------------*/\n\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n\n.ui.table[class*=\"single line\"],\n.ui.table [class*=\"single line\"] {\n  white-space: nowrap;\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\n.ui.red.table {\n  border-top: 0.2em solid #DB2828;\n}\n\n.ui.inverted.red.table {\n  background-color: #DB2828 !important;\n  color: #FFFFFF !important;\n}\n\n/* Orange */\n\n.ui.orange.table {\n  border-top: 0.2em solid #F2711C;\n}\n\n.ui.inverted.orange.table {\n  background-color: #F2711C !important;\n  color: #FFFFFF !important;\n}\n\n/* Yellow */\n\n.ui.yellow.table {\n  border-top: 0.2em solid #FBBD08;\n}\n\n.ui.inverted.yellow.table {\n  background-color: #FBBD08 !important;\n  color: #FFFFFF !important;\n}\n\n/* Olive */\n\n.ui.olive.table {\n  border-top: 0.2em solid #B5CC18;\n}\n\n.ui.inverted.olive.table {\n  background-color: #B5CC18 !important;\n  color: #FFFFFF !important;\n}\n\n/* Green */\n\n.ui.green.table {\n  border-top: 0.2em solid #21BA45;\n}\n\n.ui.inverted.green.table {\n  background-color: #21BA45 !important;\n  color: #FFFFFF !important;\n}\n\n/* Teal */\n\n.ui.teal.table {\n  border-top: 0.2em solid #00B5AD;\n}\n\n.ui.inverted.teal.table {\n  background-color: #00B5AD !important;\n  color: #FFFFFF !important;\n}\n\n/* Blue */\n\n.ui.blue.table {\n  border-top: 0.2em solid #2185D0;\n}\n\n.ui.inverted.blue.table {\n  background-color: #2185D0 !important;\n  color: #FFFFFF !important;\n}\n\n/* Violet */\n\n.ui.violet.table {\n  border-top: 0.2em solid #6435C9;\n}\n\n.ui.inverted.violet.table {\n  background-color: #6435C9 !important;\n  color: #FFFFFF !important;\n}\n\n/* Purple */\n\n.ui.purple.table {\n  border-top: 0.2em solid #A333C8;\n}\n\n.ui.inverted.purple.table {\n  background-color: #A333C8 !important;\n  color: #FFFFFF !important;\n}\n\n/* Pink */\n\n.ui.pink.table {\n  border-top: 0.2em solid #E03997;\n}\n\n.ui.inverted.pink.table {\n  background-color: #E03997 !important;\n  color: #FFFFFF !important;\n}\n\n/* Brown */\n\n.ui.brown.table {\n  border-top: 0.2em solid #A5673F;\n}\n\n.ui.inverted.brown.table {\n  background-color: #A5673F !important;\n  color: #FFFFFF !important;\n}\n\n/* Grey */\n\n.ui.grey.table {\n  border-top: 0.2em solid #767676;\n}\n\n.ui.inverted.grey.table {\n  background-color: #767676 !important;\n  color: #FFFFFF !important;\n}\n\n/* Black */\n\n.ui.black.table {\n  border-top: 0.2em solid #1B1C1D;\n}\n\n.ui.inverted.black.table {\n  background-color: #1B1C1D !important;\n  color: #FFFFFF !important;\n}\n\n/*--------------\n  Column Count\n---------------*/\n\n/* Grid Based */\n\n.ui.one.column.table td {\n  width: 100%;\n}\n\n.ui.two.column.table td {\n  width: 50%;\n}\n\n.ui.three.column.table td {\n  width: 33.33333333%;\n}\n\n.ui.four.column.table td {\n  width: 25%;\n}\n\n.ui.five.column.table td {\n  width: 20%;\n}\n\n.ui.six.column.table td {\n  width: 16.66666667%;\n}\n\n.ui.seven.column.table td {\n  width: 14.28571429%;\n}\n\n.ui.eight.column.table td {\n  width: 12.5%;\n}\n\n.ui.nine.column.table td {\n  width: 11.11111111%;\n}\n\n.ui.ten.column.table td {\n  width: 10%;\n}\n\n.ui.eleven.column.table td {\n  width: 9.09090909%;\n}\n\n.ui.twelve.column.table td {\n  width: 8.33333333%;\n}\n\n.ui.thirteen.column.table td {\n  width: 7.69230769%;\n}\n\n.ui.fourteen.column.table td {\n  width: 7.14285714%;\n}\n\n.ui.fifteen.column.table td {\n  width: 6.66666667%;\n}\n\n.ui.sixteen.column.table td {\n  width: 6.25%;\n}\n\n/* Column Width */\n\n.ui.table th.one.wide,\n.ui.table td.one.wide {\n  width: 6.25%;\n}\n\n.ui.table th.two.wide,\n.ui.table td.two.wide {\n  width: 12.5%;\n}\n\n.ui.table th.three.wide,\n.ui.table td.three.wide {\n  width: 18.75%;\n}\n\n.ui.table th.four.wide,\n.ui.table td.four.wide {\n  width: 25%;\n}\n\n.ui.table th.five.wide,\n.ui.table td.five.wide {\n  width: 31.25%;\n}\n\n.ui.table th.six.wide,\n.ui.table td.six.wide {\n  width: 37.5%;\n}\n\n.ui.table th.seven.wide,\n.ui.table td.seven.wide {\n  width: 43.75%;\n}\n\n.ui.table th.eight.wide,\n.ui.table td.eight.wide {\n  width: 50%;\n}\n\n.ui.table th.nine.wide,\n.ui.table td.nine.wide {\n  width: 56.25%;\n}\n\n.ui.table th.ten.wide,\n.ui.table td.ten.wide {\n  width: 62.5%;\n}\n\n.ui.table th.eleven.wide,\n.ui.table td.eleven.wide {\n  width: 68.75%;\n}\n\n.ui.table th.twelve.wide,\n.ui.table td.twelve.wide {\n  width: 75%;\n}\n\n.ui.table th.thirteen.wide,\n.ui.table td.thirteen.wide {\n  width: 81.25%;\n}\n\n.ui.table th.fourteen.wide,\n.ui.table td.fourteen.wide {\n  width: 87.5%;\n}\n\n.ui.table th.fifteen.wide,\n.ui.table td.fifteen.wide {\n  width: 93.75%;\n}\n\n.ui.table th.sixteen.wide,\n.ui.table td.sixteen.wide {\n  width: 100%;\n}\n\n/*--------------\n    Sortable\n---------------*/\n\n.ui.sortable.table thead th {\n  cursor: pointer;\n  white-space: nowrap;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.sortable.table thead th:first-child {\n  border-left: none;\n}\n\n.ui.sortable.table thead th.sorted,\n.ui.sortable.table thead th.sorted:hover {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n.ui.sortable.table thead th:after {\n  display: none;\n  font-style: normal;\n  font-weight: normal;\n  text-decoration: inherit;\n  content: '';\n  height: 1em;\n  width: auto;\n  opacity: 0.8;\n  margin: 0em 0em 0em 0.5em;\n  font-family: 'Icons';\n}\n\n.ui.sortable.table thead th.ascending:after {\n  content: '\\f0d8';\n}\n\n.ui.sortable.table thead th.descending:after {\n  content: '\\f0d7';\n}\n\n/* Hover */\n\n.ui.sortable.table th.disabled:hover {\n  cursor: auto;\n  color: rgba(40, 40, 40, 0.3);\n}\n\n.ui.sortable.table thead th:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Sorted */\n\n.ui.sortable.table thead th.sorted {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.sortable.table thead th.sorted:after {\n  display: inline-block;\n}\n\n/* Sorted Hover */\n\n.ui.sortable.table thead th.sorted:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/* Inverted */\n\n.ui.inverted.sortable.table thead th.sorted {\n  background: rgba(255, 255, 255, 0.15) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.15) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n\n.ui.inverted.sortable.table thead th:hover {\n  background: rgba(255, 255, 255, 0.08) -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: rgba(255, 255, 255, 0.08) linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  color: #ffffff;\n}\n\n.ui.inverted.sortable.table thead th {\n  border-left-color: transparent;\n  border-right-color: transparent;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n/* Text Color */\n\n.ui.inverted.table {\n  background: #333333;\n  color: rgba(255, 255, 255, 0.9);\n  border: none;\n}\n\n.ui.inverted.table th {\n  background-color: rgba(0, 0, 0, 0.15);\n  border-color: rgba(255, 255, 255, 0.1) !important;\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.table tr td {\n  border-color: rgba(255, 255, 255, 0.1) !important;\n}\n\n.ui.inverted.table tr.disabled td,\n.ui.inverted.table tr td.disabled,\n.ui.inverted.table tr.disabled:hover td,\n.ui.inverted.table tr:hover td.disabled {\n  pointer-events: none;\n  color: rgba(225, 225, 225, 0.3);\n}\n\n/* Definition */\n\n.ui.inverted.definition.table tfoot:not(.full-width) th:first-child,\n.ui.inverted.definition.table thead:not(.full-width) th:first-child {\n  background: #FFFFFF;\n}\n\n.ui.inverted.definition.table tr td:first-child {\n  background: rgba(255, 255, 255, 0.02);\n  color: #ffffff;\n}\n\n/*--------------\n   Collapsing\n---------------*/\n\n.ui.collapsing.table {\n  width: auto;\n}\n\n/*--------------\n      Basic\n---------------*/\n\n.ui.basic.table {\n  background: transparent;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  box-shadow: none;\n}\n\n.ui.basic.table thead,\n.ui.basic.table tfoot {\n  box-shadow: none;\n}\n\n.ui.basic.table th {\n  background: transparent;\n  border-left: none;\n}\n\n.ui.basic.table tbody tr {\n  border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.basic.table td {\n  background: transparent;\n}\n\n.ui.basic.striped.table tbody tr:nth-child(2n) {\n  background-color: rgba(0, 0, 0, 0.05) !important;\n}\n\n/* Very Basic */\n\n.ui[class*=\"very basic\"].table {\n  border: none;\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td {\n  padding: '';\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:first-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:first-child {\n  padding-left: 0em;\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) th:last-child,\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) td:last-child {\n  padding-right: 0em;\n}\n\n.ui[class*=\"very basic\"].table:not(.sortable):not(.striped) thead tr:first-child th {\n  padding-top: 0em;\n}\n\n/*--------------\n     Celled\n---------------*/\n\n.ui.celled.table tr th,\n.ui.celled.table tr td {\n  border-left: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n.ui.celled.table tr th:first-child,\n.ui.celled.table tr td:first-child {\n  border-left: none;\n}\n\n/*--------------\n     Padded\n---------------*/\n\n.ui.padded.table th {\n  padding-left: 1em;\n  padding-right: 1em;\n}\n\n.ui.padded.table th,\n.ui.padded.table td {\n  padding: 1em 1em;\n}\n\n/* Very */\n\n.ui[class*=\"very padded\"].table th {\n  padding-left: 1.5em;\n  padding-right: 1.5em;\n}\n\n.ui[class*=\"very padded\"].table td {\n  padding: 1.5em 1.5em;\n}\n\n/*--------------\n     Compact\n---------------*/\n\n.ui.compact.table th {\n  padding-left: 0.7em;\n  padding-right: 0.7em;\n}\n\n.ui.compact.table td {\n  padding: 0.5em 0.7em;\n}\n\n/* Very */\n\n.ui[class*=\"very compact\"].table th {\n  padding-left: 0.6em;\n  padding-right: 0.6em;\n}\n\n.ui[class*=\"very compact\"].table td {\n  padding: 0.4em 0.6em;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n/* Small */\n\n.ui.small.table {\n  font-size: 0.9em;\n}\n\n/* Standard */\n\n.ui.table {\n  font-size: 1em;\n}\n\n/* Large */\n\n.ui.large.table {\n  font-size: 1.1em;\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Ad\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2013 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n         Advertisement\n*******************************/\n\n.ui.ad {\n  display: block;\n  overflow: hidden;\n  margin: 1em 0em;\n}\n\n.ui.ad:first-child {\n  margin: 0em;\n}\n\n.ui.ad:last-child {\n  margin: 0em;\n}\n\n.ui.ad iframe {\n  margin: 0em;\n  padding: 0em;\n  border: none;\n  overflow: hidden;\n}\n\n/*--------------\n     Common\n---------------*/\n\n/* Leaderboard */\n\n.ui.leaderboard.ad {\n  width: 728px;\n  height: 90px;\n}\n\n/* Medium Rectangle */\n\n.ui[class*=\"medium rectangle\"].ad {\n  width: 300px;\n  height: 250px;\n}\n\n/* Large Rectangle */\n\n.ui[class*=\"large rectangle\"].ad {\n  width: 336px;\n  height: 280px;\n}\n\n/* Half Page */\n\n.ui[class*=\"half page\"].ad {\n  width: 300px;\n  height: 600px;\n}\n\n/*--------------\n     Square\n---------------*/\n\n/* Square */\n\n.ui.square.ad {\n  width: 250px;\n  height: 250px;\n}\n\n/* Small Square */\n\n.ui[class*=\"small square\"].ad {\n  width: 200px;\n  height: 200px;\n}\n\n/*--------------\n    Rectangle\n---------------*/\n\n/* Small Rectangle */\n\n.ui[class*=\"small rectangle\"].ad {\n  width: 180px;\n  height: 150px;\n}\n\n/* Vertical Rectangle */\n\n.ui[class*=\"vertical rectangle\"].ad {\n  width: 240px;\n  height: 400px;\n}\n\n/*--------------\n     Button\n---------------*/\n\n.ui.button.ad {\n  width: 120px;\n  height: 90px;\n}\n\n.ui[class*=\"square button\"].ad {\n  width: 125px;\n  height: 125px;\n}\n\n.ui[class*=\"small button\"].ad {\n  width: 120px;\n  height: 60px;\n}\n\n/*--------------\n   Skyscrapers\n---------------*/\n\n/* Skyscraper */\n\n.ui.skyscraper.ad {\n  width: 120px;\n  height: 600px;\n}\n\n/* Wide Skyscraper */\n\n.ui[class*=\"wide skyscraper\"].ad {\n  width: 160px;\n}\n\n/*--------------\n     Banners\n---------------*/\n\n/* Banner */\n\n.ui.banner.ad {\n  width: 468px;\n  height: 60px;\n}\n\n/* Vertical Banner */\n\n.ui[class*=\"vertical banner\"].ad {\n  width: 120px;\n  height: 240px;\n}\n\n/* Top Banner */\n\n.ui[class*=\"top banner\"].ad {\n  width: 930px;\n  height: 180px;\n}\n\n/* Half Banner */\n\n.ui[class*=\"half banner\"].ad {\n  width: 234px;\n  height: 60px;\n}\n\n/*--------------\n    Boards\n---------------*/\n\n/* Leaderboard */\n\n.ui[class*=\"large leaderboard\"].ad {\n  width: 970px;\n  height: 90px;\n}\n\n/* Billboard */\n\n.ui.billboard.ad {\n  width: 970px;\n  height: 250px;\n}\n\n/*--------------\n    Panorama\n---------------*/\n\n/* Panorama */\n\n.ui.panorama.ad {\n  width: 980px;\n  height: 120px;\n}\n\n/*--------------\n     Netboard\n---------------*/\n\n/* Netboard */\n\n.ui.netboard.ad {\n  width: 580px;\n  height: 400px;\n}\n\n/*--------------\n     Mobile\n---------------*/\n\n/* Large Mobile Banner */\n\n.ui[class*=\"large mobile banner\"].ad {\n  width: 320px;\n  height: 100px;\n}\n\n/* Mobile Leaderboard */\n\n.ui[class*=\"mobile leaderboard\"].ad {\n  width: 320px;\n  height: 50px;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/* Mobile Sizes */\n\n.ui.mobile.ad {\n  display: none;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.mobile.ad {\n    display: block;\n  }\n}\n\n/*******************************\n           Variations\n*******************************/\n\n.ui.centered.ad {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n.ui.test.ad {\n  position: relative;\n  background: #545454;\n}\n\n.ui.test.ad:after {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  width: 100%;\n  text-align: center;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n  content: 'Ad';\n  color: #FFFFFF;\n  font-size: 1em;\n  font-weight: bold;\n}\n\n.ui.mobile.test.ad:after {\n  font-size: 0.85714286em;\n}\n\n.ui.test.ad[data-text]:after {\n  content: attr(data-text);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n      Card\n---------------*/\n\n.ui.cards > .card,\n.ui.card {\n  max-width: 100%;\n  position: relative;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  width: 290px;\n  min-height: 0px;\n  background: #FFFFFF;\n  padding: 0em;\n  border: none;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 1px 3px 0px #D4D4D5, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transition: box-shadow 0.1s ease, -webkit-transform 0.1s ease;\n  transition: box-shadow 0.1s ease, transform 0.1s ease;\n  z-index: '';\n}\n\n.ui.card {\n  margin: 1em 0em;\n}\n\n.ui.cards > .card a,\n.ui.card a {\n  cursor: pointer;\n}\n\n.ui.card:first-child {\n  margin-top: 0em;\n}\n\n.ui.card:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Cards\n---------------*/\n\n.ui.cards {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: -0.875em -0.5em;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n}\n\n.ui.cards > .card {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 0.875em 0.5em;\n  float: none;\n}\n\n/* Clearing */\n\n.ui.cards:after,\n.ui.card:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n/* Consecutive Card Groups Preserve Row Spacing */\n\n.ui.cards ~ .ui.cards {\n  margin-top: 0.875em;\n}\n\n/*--------------\n  Rounded Edges\n---------------*/\n\n.ui.cards > .card > :first-child,\n.ui.card > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n  border-top: none !important;\n}\n\n.ui.cards > .card > :last-child,\n.ui.card > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n.ui.cards > .card > :only-child,\n.ui.card > :only-child {\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.cards > .card > .image,\n.ui.card > .image {\n  position: relative;\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  padding: 0em;\n  background: rgba(0, 0, 0, 0.05);\n}\n\n.ui.cards > .card > .image > img,\n.ui.card > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: inherit;\n}\n\n.ui.cards > .card > .image:not(.ui) > img,\n.ui.card > .image:not(.ui) > img {\n  border: none;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.cards > .card > .content,\n.ui.card > .content {\n  -webkit-box-flex: 1;\n  -webkit-flex-grow: 1;\n  -ms-flex-positive: 1;\n  flex-grow: 1;\n  border: none;\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  background: none;\n  margin: 0em;\n  padding: 1em 1em;\n  box-shadow: none;\n  font-size: 1em;\n  border-radius: 0em;\n}\n\n.ui.cards > .card > .content:after,\n.ui.card > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.cards > .card > .content > .header,\n.ui.card > .content > .header {\n  display: block;\n  margin: '';\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n\n.ui.cards > .card > .content > .header:not(.ui),\n.ui.card > .content > .header:not(.ui) {\n  font-weight: bold;\n  font-size: 1.28571429em;\n  margin-top: -0.21425em;\n  line-height: 1.2857em;\n}\n\n.ui.cards > .card > .content > .meta + .description,\n.ui.cards > .card > .content > .header + .description,\n.ui.card > .content > .meta + .description,\n.ui.card > .content > .header + .description {\n  margin-top: 0.5em;\n}\n\n/*----------------\n Floated Content\n-----------------*/\n\n.ui.cards > .card [class*=\"left floated\"],\n.ui.card [class*=\"left floated\"] {\n  float: left;\n}\n\n.ui.cards > .card [class*=\"right floated\"],\n.ui.card [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n     Aligned\n---------------*/\n\n.ui.cards > .card [class*=\"left aligned\"],\n.ui.card [class*=\"left aligned\"] {\n  text-align: left;\n}\n\n.ui.cards > .card [class*=\"center aligned\"],\n.ui.card [class*=\"center aligned\"] {\n  text-align: center;\n}\n\n.ui.cards > .card [class*=\"right aligned\"],\n.ui.card [class*=\"right aligned\"] {\n  text-align: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.cards > .card .content img,\n.ui.card .content img {\n  display: inline-block;\n  vertical-align: middle;\n  width: '';\n}\n\n.ui.cards > .card img.avatar,\n.ui.cards > .card .avatar img,\n.ui.card img.avatar,\n.ui.card .avatar img {\n  width: 2em;\n  height: 2em;\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.cards > .card > .content > .description,\n.ui.card > .content > .description {\n  clear: both;\n  color: rgba(0, 0, 0, 0.68);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.cards > .card > .content p,\n.ui.card > .content p {\n  margin: 0em 0em 0.5em;\n}\n\n.ui.cards > .card > .content p:last-child,\n.ui.card > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.cards > .card .meta,\n.ui.card .meta {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.cards > .card .meta *,\n.ui.card .meta * {\n  margin-right: 0.3em;\n}\n\n.ui.cards > .card .meta :last-child,\n.ui.card .meta :last-child {\n  margin-right: 0em;\n}\n\n.ui.cards > .card .meta [class*=\"right floated\"],\n.ui.card .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n/* Generic */\n\n.ui.cards > .card > .content a:not(.ui),\n.ui.card > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .content a:not(.ui):hover,\n.ui.card > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n\n.ui.cards > .card > .content > a.header,\n.ui.card > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.cards > .card > .content > a.header:hover,\n.ui.card > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n\n.ui.cards > .card .meta > a:not(.ui),\n.ui.card .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.cards > .card .meta > a:not(.ui):hover,\n.ui.card .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Buttons\n---------------*/\n\n.ui.cards > .card > .buttons,\n.ui.card > .buttons,\n.ui.cards > .card > .button,\n.ui.card > .button {\n  margin: 0px -1px;\n  width: calc(100% +  2px );\n}\n\n/*--------------\n      Dimmer\n---------------*/\n\n.ui.cards > .card .dimmer,\n.ui.card .dimmer {\n  background-color: '';\n  z-index: 10;\n}\n\n/*--------------\n     Labels\n---------------*/\n\n/*-----Star----- */\n\n/* Icon */\n\n.ui.cards > .card > .content .star.icon,\n.ui.card > .content .star.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .content .star.icon:hover,\n.ui.card > .content .star.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n\n.ui.cards > .card > .content .active.star.icon,\n.ui.card > .content .active.star.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n/* Icon */\n\n.ui.cards > .card > .content .like.icon,\n.ui.card > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .content .like.icon:hover,\n.ui.card > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n\n.ui.cards > .card > .content .active.like.icon,\n.ui.card > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.cards > .card > .extra,\n.ui.card > .extra {\n  max-width: 100%;\n  min-height: 0em !important;\n  -webkit-box-flex: 0;\n  -webkit-flex-grow: 0;\n  -ms-flex-positive: 0;\n  flex-grow: 0;\n  border-top: 1px solid rgba(0, 0, 0, 0.05) !important;\n  position: static;\n  background: none;\n  width: auto;\n  margin: 0em 0em;\n  padding: 0.75em 1em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.cards > .card > .extra a:not(.ui),\n.ui.card > .extra a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.cards > .card > .extra a:not(.ui):hover,\n.ui.card > .extra a:not(.ui):hover {\n  color: #1e70bf;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Centered\n--------------------*/\n\n.ui.centered.cards {\n  -webkit-box-pack: center;\n  -webkit-justify-content: center;\n  -ms-flex-pack: center;\n  justify-content: center;\n}\n\n.ui.centered.card {\n  margin-left: auto;\n  margin-right: auto;\n}\n\n/*-------------------\n        Fluid\n--------------------*/\n\n.ui.fluid.card {\n  width: 100%;\n  max-width: 9999px;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.cards a.card,\n.ui.link.cards .card,\na.ui.card,\n.ui.link.card {\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n}\n\n.ui.cards a.card:hover,\n.ui.link.cards .card:hover,\na.ui.card:hover,\n.ui.link.card:hover {\n  cursor: pointer;\n  z-index: 5;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 0px 1px 3px 0px #BCBDBD, 0px 0px 0px 1px #D4D4D5;\n  -webkit-transform: translateY(-3px);\n  -ms-transform: translateY(-3px);\n  transform: translateY(-3px);\n}\n\n/*-------------------\n       Colors\n--------------------*/\n\n/* Red */\n\n.ui.red.cards > .card,\n.ui.cards > .red.card,\n.ui.red.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #DB2828, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.red.cards > .card:hover,\n.ui.cards > .red.card:hover,\n.ui.red.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #d01919, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Orange */\n\n.ui.orange.cards > .card,\n.ui.cards > .orange.card,\n.ui.orange.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #F2711C, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.orange.cards > .card:hover,\n.ui.cards > .orange.card:hover,\n.ui.orange.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #f26202, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Yellow */\n\n.ui.yellow.cards > .card,\n.ui.cards > .yellow.card,\n.ui.yellow.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #FBBD08, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.yellow.cards > .card:hover,\n.ui.cards > .yellow.card:hover,\n.ui.yellow.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #eaae00, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Olive */\n\n.ui.olive.cards > .card,\n.ui.cards > .olive.card,\n.ui.olive.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #B5CC18, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.olive.cards > .card:hover,\n.ui.cards > .olive.card:hover,\n.ui.olive.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #a7bd0d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Green */\n\n.ui.green.cards > .card,\n.ui.cards > .green.card,\n.ui.green.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #21BA45, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.green.cards > .card:hover,\n.ui.cards > .green.card:hover,\n.ui.green.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #16ab39, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Teal */\n\n.ui.teal.cards > .card,\n.ui.cards > .teal.card,\n.ui.teal.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #00B5AD, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.teal.cards > .card:hover,\n.ui.cards > .teal.card:hover,\n.ui.teal.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #009c95, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Blue */\n\n.ui.blue.cards > .card,\n.ui.cards > .blue.card,\n.ui.blue.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #2185D0, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.blue.cards > .card:hover,\n.ui.cards > .blue.card:hover,\n.ui.blue.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1678c2, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Violet */\n\n.ui.violet.cards > .card,\n.ui.cards > .violet.card,\n.ui.violet.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #6435C9, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.violet.cards > .card:hover,\n.ui.cards > .violet.card:hover,\n.ui.violet.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #5829bb, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Purple */\n\n.ui.purple.cards > .card,\n.ui.cards > .purple.card,\n.ui.purple.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A333C8, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.purple.cards > .card:hover,\n.ui.cards > .purple.card:hover,\n.ui.purple.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #9627ba, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Pink */\n\n.ui.pink.cards > .card,\n.ui.cards > .pink.card,\n.ui.pink.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #E03997, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.pink.cards > .card:hover,\n.ui.cards > .pink.card:hover,\n.ui.pink.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #e61a8d, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Brown */\n\n.ui.brown.cards > .card,\n.ui.cards > .brown.card,\n.ui.brown.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #A5673F, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.brown.cards > .card:hover,\n.ui.cards > .brown.card:hover,\n.ui.brown.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #975b33, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Grey */\n\n.ui.grey.cards > .card,\n.ui.cards > .grey.card,\n.ui.grey.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #767676, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.grey.cards > .card:hover,\n.ui.cards > .grey.card:hover,\n.ui.grey.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #838383, 0px 1px 3px 0px #BCBDBD;\n}\n\n/* Black */\n\n.ui.black.cards > .card,\n.ui.cards > .black.card,\n.ui.black.card {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #1B1C1D, 0px 1px 3px 0px #D4D4D5;\n}\n\n.ui.black.cards > .card:hover,\n.ui.cards > .black.card:hover,\n.ui.black.card:hover {\n  box-shadow: 0px 0px 0px 1px #D4D4D5, 0px 2px 0px 0px #27292a, 0px 1px 3px 0px #BCBDBD;\n}\n\n/*--------------\n   Card Count\n---------------*/\n\n.ui.one.cards {\n  margin-left: 0em;\n  margin-right: 0em;\n}\n\n.ui.one.cards > .card {\n  width: 100%;\n}\n\n.ui.two.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n\n.ui.two.cards > .card {\n  width: calc( 50%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n\n.ui.three.cards {\n  margin-left: -1em;\n  margin-right: -1em;\n}\n\n.ui.three.cards > .card {\n  width: calc( 33.33333333%  -  2em );\n  margin-left: 1em;\n  margin-right: 1em;\n}\n\n.ui.four.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n\n.ui.four.cards > .card {\n  width: calc( 25%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n\n.ui.five.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n\n.ui.five.cards > .card {\n  width: calc( 20%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n\n.ui.six.cards {\n  margin-left: -0.75em;\n  margin-right: -0.75em;\n}\n\n.ui.six.cards > .card {\n  width: calc( 16.66666667%  -  1.5em );\n  margin-left: 0.75em;\n  margin-right: 0.75em;\n}\n\n.ui.seven.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.seven.cards > .card {\n  width: calc( 14.28571429%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n.ui.eight.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.eight.cards > .card {\n  width: calc( 12.5%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 11px;\n}\n\n.ui.nine.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.nine.cards > .card {\n  width: calc( 11.11111111%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n  font-size: 10px;\n}\n\n.ui.ten.cards {\n  margin-left: -0.5em;\n  margin-right: -0.5em;\n}\n\n.ui.ten.cards > .card {\n  width: calc( 10%  -  1em );\n  margin-left: 0.5em;\n  margin-right: 0.5em;\n}\n\n/*-------------------\n      Doubling\n--------------------*/\n\n/* Mobily Only */\n\n@media only screen and (max-width: 767px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.five.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.six.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.seven.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.seven.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.nine.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.nine.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.ten.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.ten.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n}\n\n/* Tablet Only */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.two.doubling.cards {\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.two.doubling.cards .card {\n    width: 100%;\n    margin-left: 0em;\n    margin-right: 0em;\n  }\n\n  .ui.three.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.three.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.four.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.four.doubling.cards .card {\n    width: calc( 50%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.five.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.five.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.six.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.six.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.eight.doubling.cards {\n    margin-left: -1em;\n    margin-right: -1em;\n  }\n\n  .ui.eight.doubling.cards .card {\n    width: calc( 33.33333333%  -  2em );\n    margin-left: 1em;\n    margin-right: 1em;\n  }\n\n  .ui.eight.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n\n  .ui.eight.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n\n  .ui.nine.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n\n  .ui.nine.doubling.cards .card {\n    width: calc( 25%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n\n  .ui.ten.doubling.cards {\n    margin-left: -0.75em;\n    margin-right: -0.75em;\n  }\n\n  .ui.ten.doubling.cards .card {\n    width: calc( 20%  -  1.5em );\n    margin-left: 0.75em;\n    margin-right: 0.75em;\n  }\n}\n\n/*-------------------\n      Stackable\n--------------------*/\n\n@media only screen and (max-width: 767px) {\n  .ui.stackable.cards {\n    display: block !important;\n  }\n\n  .ui.stackable.cards .card:first-child {\n    margin-top: 0em !important;\n  }\n\n  .ui.stackable.cards > .card {\n    display: block !important;\n    height: auto !important;\n    margin: 1em 1em;\n    padding: 0 !important;\n    width: calc( 100%  -  2em ) !important;\n  }\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.cards > .card {\n  font-size: 1em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Comment\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n    Comments\n---------------*/\n\n.ui.comments {\n  margin: 1.5em 0em;\n  max-width: 650px;\n}\n\n.ui.comments:first-child {\n  margin-top: 0em;\n}\n\n.ui.comments:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Comment\n---------------*/\n\n.ui.comments .comment {\n  position: relative;\n  background: none;\n  margin: 0.5em 0em 0em;\n  padding: 0.5em 0em 0em;\n  border: none;\n  border-top: none;\n  line-height: 1.2;\n}\n\n.ui.comments .comment:first-child {\n  margin-top: 0em;\n  padding-top: 0em;\n}\n\n/*--------------------\n    Nested Comments\n---------------------*/\n\n.ui.comments .comment .comments {\n  margin: 0em 0em 0.5em 0.5em;\n  padding: 1em 0em 1em 1em;\n}\n\n.ui.comments .comment .comments:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n}\n\n.ui.comments .comment .comments .comment {\n  border: none;\n  border-top: none;\n  background: none;\n}\n\n/*--------------\n     Avatar\n---------------*/\n\n.ui.comments .comment .avatar {\n  display: block;\n  width: 2.5em;\n  height: auto;\n  float: left;\n  margin: 0.2em 0em 0em;\n}\n\n.ui.comments .comment img.avatar,\n.ui.comments .comment .avatar img {\n  display: block;\n  margin: 0em auto;\n  width: 100%;\n  height: 100%;\n  border-radius: 0.25rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.comments .comment > .content {\n  display: block;\n}\n\n/* If there is an avatar move content over */\n\n.ui.comments .comment > .avatar ~ .content {\n  margin-left: 3.5em;\n}\n\n/*--------------\n     Author\n---------------*/\n\n.ui.comments .comment .author {\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n}\n\n.ui.comments .comment a.author {\n  cursor: pointer;\n}\n\n.ui.comments .comment a.author:hover {\n  color: #1e70bf;\n}\n\n/*--------------\n     Metadata\n---------------*/\n\n.ui.comments .comment .metadata {\n  display: inline-block;\n  margin-left: 0.5em;\n  color: rgba(0, 0, 0, 0.4);\n  font-size: 0.875em;\n}\n\n.ui.comments .comment .metadata > * {\n  display: inline-block;\n  margin: 0em 0.5em 0em 0em;\n}\n\n.ui.comments .comment .metadata > :last-child {\n  margin-right: 0em;\n}\n\n/*--------------------\n     Comment Text\n---------------------*/\n\n.ui.comments .comment .text {\n  margin: 0.25em 0em 0.5em;\n  font-size: 1em;\n  word-wrap: break-word;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.3;\n}\n\n/*--------------------\n     User Actions\n---------------------*/\n\n.ui.comments .comment .actions {\n  font-size: 0.875em;\n}\n\n.ui.comments .comment .actions a {\n  cursor: pointer;\n  display: inline-block;\n  margin: 0em 0.75em 0em 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.comments .comment .actions a:last-child {\n  margin-right: 0em;\n}\n\n.ui.comments .comment .actions a.active,\n.ui.comments .comment .actions a:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------------\n      Reply Form\n---------------------*/\n\n.ui.comments > .reply.form {\n  margin-top: 1em;\n}\n\n.ui.comments .comment .reply.form {\n  width: 100%;\n  margin-top: 1em;\n}\n\n.ui.comments .reply.form textarea {\n  font-size: 1em;\n  height: 12em;\n}\n\n/*******************************\n            State\n*******************************/\n\n.ui.collapsed.comments,\n.ui.comments .collapsed.comments,\n.ui.comments .collapsed.comment {\n  display: none;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------------\n        Threaded\n---------------------*/\n\n.ui.threaded.comments .comment .comments {\n  margin: -1.5em 0 -1em 1.25em;\n  padding: 3em 0em 2em 2.25em;\n  box-shadow: -1px 0px 0px rgba(34, 36, 38, 0.15);\n}\n\n/*--------------------\n        Minimal\n---------------------*/\n\n.ui.minimal.comments .comment .actions {\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  left: auto;\n  -webkit-transition: opacity 0.2s ease;\n  transition: opacity 0.2s ease;\n  -webkit-transition-delay: 0.1s;\n  transition-delay: 0.1s;\n}\n\n.ui.minimal.comments .comment > .content:hover > .actions {\n  opacity: 1;\n}\n\n/*--------------------\n       Sizes\n---------------------*/\n\n.ui.small.comments {\n  font-size: 0.9em;\n}\n\n.ui.comments {\n  font-size: 1em;\n}\n\n.ui.large.comments {\n  font-size: 1.1em;\n}\n\n.ui.huge.comments {\n  font-size: 1.2em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Feed\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n         Activity Feed\n*******************************/\n\n.ui.feed {\n  margin: 1em 0em;\n}\n\n.ui.feed:first-child {\n  margin-top: 0em;\n}\n\n.ui.feed:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* Event */\n\n.ui.feed > .event {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  width: 100%;\n  padding: 0.21428571rem 0em;\n  margin: 0em;\n  background: none;\n  border-top: none;\n}\n\n.ui.feed > .event:first-child {\n  border-top: 0px;\n  padding-top: 0em;\n}\n\n.ui.feed > .event:last-child {\n  padding-bottom: 0em;\n}\n\n/* Event Label */\n\n.ui.feed > .event > .label {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  width: 2.5em;\n  height: auto;\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n  text-align: left;\n}\n\n.ui.feed > .event > .label .icon {\n  opacity: 1;\n  font-size: 1.5em;\n  width: 100%;\n  padding: 0.25em;\n  background: none;\n  border: none;\n  border-radius: none;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.feed > .event > .label img {\n  width: 100%;\n  height: auto;\n  border-radius: 500rem;\n}\n\n.ui.feed > .event > .label + .content {\n  margin: 0.5em 0em 0.35714286em 1.14285714em;\n}\n\n/*--------------\n     Content\n---------------*/\n\n/* Content */\n\n.ui.feed > .event > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n  text-align: left;\n  word-wrap: break-word;\n}\n\n.ui.feed > .event:last-child > .content {\n  padding-bottom: 0em;\n}\n\n/* Link */\n\n.ui.feed > .event > .content a {\n  cursor: pointer;\n}\n\n/*--------------\n      Date\n---------------*/\n\n.ui.feed > .event > .content .date {\n  margin: -0.5rem 0em 0em;\n  padding: 0em;\n  font-weight: normal;\n  font-size: 1em;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n     Summary\n---------------*/\n\n.ui.feed > .event > .content .summary {\n  margin: 0em;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Summary Image */\n\n.ui.feed > .event > .content .summary img {\n  display: inline-block;\n  width: auto;\n  height: 10em;\n  margin: -0.25em 0.25em 0em 0em;\n  border-radius: 0.25em;\n  vertical-align: middle;\n}\n\n/*--------------\n      User\n---------------*/\n\n.ui.feed > .event > .content .user {\n  display: inline-block;\n  font-weight: bold;\n  margin-right: 0em;\n  vertical-align: baseline;\n}\n\n.ui.feed > .event > .content .user img {\n  margin: -0.25em 0.25em 0em 0em;\n  width: auto;\n  height: 10em;\n  vertical-align: middle;\n}\n\n/*--------------\n   Inline Date\n---------------*/\n\n/* Date inside Summary */\n\n.ui.feed > .event > .content .summary > .date {\n  display: inline-block;\n  float: none;\n  font-weight: normal;\n  font-size: 0.85714286em;\n  font-style: normal;\n  margin: 0em 0em 0em 0.5em;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n  Extra Summary\n---------------*/\n\n.ui.feed > .event > .content .extra {\n  margin: 0.5em 0em 0em;\n  background: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Images */\n\n.ui.feed > .event > .content .extra.images img {\n  display: inline-block;\n  margin: 0em 0.25em 0em 0em;\n  width: 6em;\n}\n\n/* Text */\n\n.ui.feed > .event > .content .extra.text {\n  padding: 0em;\n  border-left: none;\n  font-size: 1em;\n  max-width: 500px;\n  line-height: 1.4285em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.feed > .event > .content .meta {\n  display: inline-block;\n  font-size: 0.85714286em;\n  margin: 0.5em 0em 0em;\n  background: none;\n  border: none;\n  border-radius: 0;\n  box-shadow: none;\n  padding: 0em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.feed > .event > .content .meta > * {\n  position: relative;\n  margin-left: 0.75em;\n}\n\n.ui.feed > .event > .content .meta > *:after {\n  content: '';\n  color: rgba(0, 0, 0, 0.2);\n  top: 0em;\n  left: -1em;\n  opacity: 1;\n  position: absolute;\n  vertical-align: top;\n}\n\n.ui.feed > .event > .content .meta .like {\n  color: '';\n  -webkit-transition: 0.2s color ease;\n  transition: 0.2s color ease;\n}\n\n.ui.feed > .event > .content .meta .like:hover .icon {\n  color: #FF2733;\n}\n\n.ui.feed > .event > .content .meta .active.like .icon {\n  color: #EF404A;\n}\n\n/* First element */\n\n.ui.feed > .event > .content .meta > :first-child {\n  margin-left: 0em;\n}\n\n.ui.feed > .event > .content .meta > :first-child::after {\n  display: none;\n}\n\n/* Action */\n\n.ui.feed > .event > .content .meta a,\n.ui.feed > .event > .content .meta > .icon {\n  cursor: pointer;\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.5);\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.feed > .event > .content .meta a:hover,\n.ui.feed > .event > .content .meta a:hover .icon,\n.ui.feed > .event > .content .meta > .icon:hover {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*******************************\n            Variations\n*******************************/\n\n.ui.small.feed {\n  font-size: 0.92857143rem;\n}\n\n.ui.feed {\n  font-size: 1rem;\n}\n\n.ui.large.feed {\n  font-size: 1.14285714rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Item\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Standard\n*******************************/\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em 0em;\n  width: 100%;\n  min-height: 0px;\n  background: transparent;\n  padding: 0em;\n  border: none;\n  border-radius: 0rem;\n  box-shadow: none;\n  -webkit-transition: box-shadow 0.1s ease;\n  transition: box-shadow 0.1s ease;\n  z-index: '';\n}\n\n.ui.items > .item a {\n  cursor: pointer;\n}\n\n/*--------------\n      Items\n---------------*/\n\n.ui.items {\n  margin: 1.5em 0em;\n}\n\n.ui.items:first-child {\n  margin-top: 0em !important;\n}\n\n.ui.items:last-child {\n  margin-bottom: 0em !important;\n}\n\n/*--------------\n      Item\n---------------*/\n\n.ui.items > .item:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.items > .item:first-child {\n  margin-top: 0em;\n}\n\n.ui.items > .item:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Images\n---------------*/\n\n.ui.items > .item > .image {\n  position: relative;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 0 auto;\n  -ms-flex: 0 0 auto;\n  flex: 0 0 auto;\n  display: block;\n  float: none;\n  margin: 0em;\n  padding: 0em;\n  max-height: '';\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.items > .item > .image > img {\n  display: block;\n  width: 100%;\n  height: auto;\n  border-radius: 0.125rem;\n  border: none;\n}\n\n.ui.items > .item > .image:only-child > img {\n  border-radius: 0rem;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.items > .item > .content {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 1 auto;\n  -ms-flex: 1 1 auto;\n  flex: 1 1 auto;\n  background: none;\n  margin: 0em;\n  padding: 0em;\n  box-shadow: none;\n  font-size: 1em;\n  border: none;\n  border-radius: 0em;\n}\n\n.ui.items > .item > .content:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.items > .item > .image + .content {\n  min-width: 0;\n  width: auto;\n  display: block;\n  margin-left: 0em;\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n  padding-left: 1.5em;\n}\n\n.ui.items > .item > .content > .header {\n  display: inline-block;\n  margin: -0.21425em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Default Header Size */\n\n.ui.items > .item > .content > .header:not(.ui) {\n  font-size: 1.28571429em;\n}\n\n/*--------------\n     Floated\n---------------*/\n\n.ui.items > .item [class*=\"left floated\"] {\n  float: left;\n}\n\n.ui.items > .item [class*=\"right floated\"] {\n  float: right;\n}\n\n/*--------------\n  Content Image\n---------------*/\n\n.ui.items > .item .content img {\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n  width: '';\n}\n\n.ui.items > .item img.avatar,\n.ui.items > .item .avatar img {\n  width: '';\n  height: '';\n  border-radius: 500rem;\n}\n\n/*--------------\n   Description\n---------------*/\n\n.ui.items > .item > .content > .description {\n  margin-top: 0.6em;\n  max-width: auto;\n  font-size: 1em;\n  line-height: 1.4285em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n    Paragraph\n---------------*/\n\n.ui.items > .item > .content p {\n  margin: 0em 0em 0.5em;\n}\n\n.ui.items > .item > .content p:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n      Meta\n---------------*/\n\n.ui.items > .item .meta {\n  margin: 0.5em 0em 0.5em;\n  font-size: 1em;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.6);\n}\n\n.ui.items > .item .meta * {\n  margin-right: 0.3em;\n}\n\n.ui.items > .item .meta :last-child {\n  margin-right: 0em;\n}\n\n.ui.items > .item .meta [class*=\"right floated\"] {\n  margin-right: 0em;\n  margin-left: 0.3em;\n}\n\n/*--------------\n      Links\n---------------*/\n\n/* Generic */\n\n.ui.items > .item > .content a:not(.ui) {\n  color: '';\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.items > .item > .content a:not(.ui):hover {\n  color: '';\n}\n\n/* Header */\n\n.ui.items > .item > .content > a.header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.items > .item > .content > a.header:hover {\n  color: #1e70bf;\n}\n\n/* Meta */\n\n.ui.items > .item .meta > a:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.items > .item .meta > a:not(.ui):hover {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n     Labels\n---------------*/\n\n/*-----Star----- */\n\n/* Icon */\n\n.ui.items > .item > .content .favorite.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.items > .item > .content .favorite.icon:hover {\n  opacity: 1;\n  color: #FFB70A;\n}\n\n.ui.items > .item > .content .active.favorite.icon {\n  color: #FFE623;\n}\n\n/*-----Like----- */\n\n/* Icon */\n\n.ui.items > .item > .content .like.icon {\n  cursor: pointer;\n  opacity: 0.75;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n.ui.items > .item > .content .like.icon:hover {\n  opacity: 1;\n  color: #FF2733;\n}\n\n.ui.items > .item > .content .active.like.icon {\n  color: #FF2733;\n}\n\n/*----------------\n  Extra Content\n-----------------*/\n\n.ui.items > .item .extra {\n  display: block;\n  position: relative;\n  background: none;\n  margin: 0.5rem 0em 0em;\n  width: 100%;\n  padding: 0em 0em 0em;\n  top: 0em;\n  left: 0em;\n  color: rgba(0, 0, 0, 0.4);\n  box-shadow: none;\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n  border-top: none;\n}\n\n.ui.items > .item .extra > * {\n  margin: 0.25rem 0.5rem 0.25rem 0em;\n}\n\n.ui.items > .item .extra > [class*=\"right floated\"] {\n  margin: 0.25rem 0em 0.25rem 0.5rem;\n}\n\n.ui.items > .item .extra:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n/*******************************\n          Responsive\n*******************************/\n\n/* Default Image Width */\n\n.ui.items > .item > .image:not(.ui) {\n  width: 175px;\n}\n\n/* Tablet Only */\n\n@media only screen and (min-width: 768px) and (max-width: 991px) {\n  .ui.items > .item {\n    margin: 1em 0em;\n  }\n\n  .ui.items > .item > .image:not(.ui) {\n    width: 150px;\n  }\n\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 0em 0em 0em 1em;\n  }\n}\n\n/* Mobily Only */\n\n@media only screen and (max-width: 767px) {\n  .ui.items > .item {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n    margin: 2em 0em;\n  }\n\n  .ui.items > .item > .image {\n    display: block;\n    margin-left: auto;\n    margin-right: auto;\n  }\n\n  .ui.items > .item > .image,\n  .ui.items > .item > .image > img {\n    max-width: 100% !important;\n    width: auto !important;\n    max-height: 250px !important;\n  }\n\n  .ui.items > .item > .image + .content {\n    display: block;\n    padding: 1.5em 0em 0em;\n  }\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n       Aligned\n--------------------*/\n\n.ui.items > .item > .image + [class*=\"top aligned\"].content {\n  -webkit-align-self: flex-start;\n  -ms-flex-item-align: start;\n  align-self: flex-start;\n}\n\n.ui.items > .item > .image + [class*=\"middle aligned\"].content {\n  -webkit-align-self: center;\n  -ms-flex-item-align: center;\n  align-self: center;\n}\n\n.ui.items > .item > .image + [class*=\"bottom aligned\"].content {\n  -webkit-align-self: flex-end;\n  -ms-flex-item-align: end;\n  align-self: flex-end;\n}\n\n/*--------------\n     Relaxed\n---------------*/\n\n.ui.relaxed.items > .item {\n  margin: 1.5em 0em;\n}\n\n.ui[class*=\"very relaxed\"].items > .item {\n  margin: 2em 0em;\n}\n\n/*-------------------\n      Divided\n--------------------*/\n\n.ui.divided.items > .item {\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  margin: 0em;\n  padding: 1em 0em;\n}\n\n.ui.divided.items > .item:first-child {\n  border-top: none;\n  margin-top: 0em !important;\n  padding-top: 0em !important;\n}\n\n.ui.divided.items > .item:last-child {\n  margin-bottom: 0em !important;\n  padding-bottom: 0em !important;\n}\n\n/* Relaxed Divided */\n\n.ui.relaxed.divided.items > .item {\n  margin: 0em;\n  padding: 1.5em 0em;\n}\n\n.ui[class*=\"very relaxed\"].divided.items > .item {\n  margin: 0em;\n  padding: 2em 0em;\n}\n\n/*-------------------\n        Link\n--------------------*/\n\n.ui.items a.item:hover,\n.ui.link.items > .item:hover {\n  cursor: pointer;\n}\n\n.ui.items a.item:hover .content .header,\n.ui.link.items > .item:hover .content .header {\n  color: #1e70bf;\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.items > .item {\n  font-size: 1em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Statistic\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Statistic\n*******************************/\n\n/* Standalone */\n\n.ui.statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  margin: 1em 0em;\n  max-width: auto;\n}\n\n.ui.statistic + .ui.statistic {\n  margin: 0em 0em 0em 1.5em;\n}\n\n.ui.statistic:first-child {\n  margin-top: 0em;\n}\n\n.ui.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Group\n*******************************/\n\n/* Grouped */\n\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-align: start;\n  -webkit-align-items: flex-start;\n  -ms-flex-align: start;\n  align-items: flex-start;\n  -webkit-flex-wrap: wrap;\n  -ms-flex-wrap: wrap;\n  flex-wrap: wrap;\n}\n\n.ui.statistics > .statistic {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  margin: 0em 1.5em 2em;\n  max-width: auto;\n}\n\n.ui.statistics {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1em -1.5em -2em;\n}\n\n/* Clearing */\n\n.ui.statistics:after {\n  display: block;\n  content: ' ';\n  height: 0px;\n  clear: both;\n  overflow: hidden;\n  visibility: hidden;\n}\n\n.ui.statistics:first-child {\n  margin-top: 0em;\n}\n\n.ui.statistics:last-child {\n  margin-bottom: 0em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/*--------------\n      Value\n---------------*/\n\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 4rem;\n  font-weight: normal;\n  line-height: 1em;\n  color: #1B1C1D;\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/*--------------\n     Label\n---------------*/\n\n.ui.statistics .statistic > .label,\n.ui.statistic > .label {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n  text-transform: uppercase;\n  text-align: center;\n}\n\n/* Top Label */\n\n.ui.statistics .statistic > .label ~ .value,\n.ui.statistic > .label ~ .value {\n  margin-top: 0rem;\n}\n\n/* Bottom Label */\n\n.ui.statistics .statistic > .value ~ .label,\n.ui.statistic > .value ~ .label {\n  margin-top: 0rem;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n   Icon Value\n---------------*/\n\n.ui.statistics .statistic > .value .icon,\n.ui.statistic > .value .icon {\n  opacity: 1;\n  width: auto;\n  margin: 0em;\n}\n\n/*--------------\n   Text Value\n---------------*/\n\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  line-height: 1em;\n  min-height: 2em;\n  font-weight: bold;\n  text-align: center;\n}\n\n.ui.statistics .statistic > .text.value + .label,\n.ui.statistic > .text.value + .label {\n  text-align: center;\n}\n\n/*--------------\n   Image Value\n---------------*/\n\n.ui.statistics .statistic > .value img,\n.ui.statistic > .value img {\n  max-height: 3rem;\n  vertical-align: baseline;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n      Count\n---------------*/\n\n.ui.ten.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.ten.statistics .statistic {\n  min-width: 10%;\n  margin: 0em 0em 2em;\n}\n\n.ui.nine.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.nine.statistics .statistic {\n  min-width: 11.11111111%;\n  margin: 0em 0em 2em;\n}\n\n.ui.eight.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.eight.statistics .statistic {\n  min-width: 12.5%;\n  margin: 0em 0em 2em;\n}\n\n.ui.seven.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.seven.statistics .statistic {\n  min-width: 14.28571429%;\n  margin: 0em 0em 2em;\n}\n\n.ui.six.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.six.statistics .statistic {\n  min-width: 16.66666667%;\n  margin: 0em 0em 2em;\n}\n\n.ui.five.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.five.statistics .statistic {\n  min-width: 20%;\n  margin: 0em 0em 2em;\n}\n\n.ui.four.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.four.statistics .statistic {\n  min-width: 25%;\n  margin: 0em 0em 2em;\n}\n\n.ui.three.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.three.statistics .statistic {\n  min-width: 33.33333333%;\n  margin: 0em 0em 2em;\n}\n\n.ui.two.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.two.statistics .statistic {\n  min-width: 50%;\n  margin: 0em 0em 2em;\n}\n\n.ui.one.statistics {\n  margin: 0em 0em -2em;\n}\n\n.ui.one.statistics .statistic {\n  min-width: 100%;\n  margin: 0em 0em 2em;\n}\n\n/*--------------\n   Horizontal\n---------------*/\n\n.ui.horizontal.statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n}\n\n.ui.horizontal.statistics {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: column;\n  -ms-flex-direction: column;\n  flex-direction: column;\n  margin: 0em;\n  max-width: none;\n}\n\n.ui.horizontal.statistics .statistic {\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n  -webkit-box-align: center;\n  -webkit-align-items: center;\n  -ms-flex-align: center;\n  align-items: center;\n  max-width: none;\n  margin: 1em 0em;\n}\n\n.ui.horizontal.statistic > .text.value,\n.ui.horizontal.statistics > .statistic > .text.value {\n  min-height: 0em !important;\n}\n\n.ui.horizontal.statistics .statistic > .value .icon,\n.ui.horizontal.statistic > .value .icon {\n  width: 1.18em;\n}\n\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  display: inline-block;\n  vertical-align: middle;\n}\n\n.ui.horizontal.statistics .statistic > .label,\n.ui.horizontal.statistic > .label {\n  display: inline-block;\n  vertical-align: middle;\n  margin: 0em 0em 0em 0.75em;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n.ui.red.statistics .statistic > .value,\n.ui.statistics .red.statistic > .value,\n.ui.red.statistic > .value {\n  color: #DB2828;\n}\n\n.ui.orange.statistics .statistic > .value,\n.ui.statistics .orange.statistic > .value,\n.ui.orange.statistic > .value {\n  color: #F2711C;\n}\n\n.ui.yellow.statistics .statistic > .value,\n.ui.statistics .yellow.statistic > .value,\n.ui.yellow.statistic > .value {\n  color: #FBBD08;\n}\n\n.ui.olive.statistics .statistic > .value,\n.ui.statistics .olive.statistic > .value,\n.ui.olive.statistic > .value {\n  color: #B5CC18;\n}\n\n.ui.green.statistics .statistic > .value,\n.ui.statistics .green.statistic > .value,\n.ui.green.statistic > .value {\n  color: #21BA45;\n}\n\n.ui.teal.statistics .statistic > .value,\n.ui.statistics .teal.statistic > .value,\n.ui.teal.statistic > .value {\n  color: #00B5AD;\n}\n\n.ui.blue.statistics .statistic > .value,\n.ui.statistics .blue.statistic > .value,\n.ui.blue.statistic > .value {\n  color: #2185D0;\n}\n\n.ui.violet.statistics .statistic > .value,\n.ui.statistics .violet.statistic > .value,\n.ui.violet.statistic > .value {\n  color: #6435C9;\n}\n\n.ui.purple.statistics .statistic > .value,\n.ui.statistics .purple.statistic > .value,\n.ui.purple.statistic > .value {\n  color: #A333C8;\n}\n\n.ui.pink.statistics .statistic > .value,\n.ui.statistics .pink.statistic > .value,\n.ui.pink.statistic > .value {\n  color: #E03997;\n}\n\n.ui.brown.statistics .statistic > .value,\n.ui.statistics .brown.statistic > .value,\n.ui.brown.statistic > .value {\n  color: #A5673F;\n}\n\n.ui.grey.statistics .statistic > .value,\n.ui.statistics .grey.statistic > .value,\n.ui.grey.statistic > .value {\n  color: #767676;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.statistics .statistic > .value,\n.ui.inverted.statistic .value {\n  color: #FFFFFF;\n}\n\n.ui.inverted.statistics .statistic > .label,\n.ui.inverted.statistic .label {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n.ui.inverted.red.statistics .statistic > .value,\n.ui.statistics .inverted.red.statistic > .value,\n.ui.inverted.red.statistic > .value {\n  color: #FF695E;\n}\n\n.ui.inverted.orange.statistics .statistic > .value,\n.ui.statistics .inverted.orange.statistic > .value,\n.ui.inverted.orange.statistic > .value {\n  color: #FF851B;\n}\n\n.ui.inverted.yellow.statistics .statistic > .value,\n.ui.statistics .inverted.yellow.statistic > .value,\n.ui.inverted.yellow.statistic > .value {\n  color: #FFE21F;\n}\n\n.ui.inverted.olive.statistics .statistic > .value,\n.ui.statistics .inverted.olive.statistic > .value,\n.ui.inverted.olive.statistic > .value {\n  color: #D9E778;\n}\n\n.ui.inverted.green.statistics .statistic > .value,\n.ui.statistics .inverted.green.statistic > .value,\n.ui.inverted.green.statistic > .value {\n  color: #2ECC40;\n}\n\n.ui.inverted.teal.statistics .statistic > .value,\n.ui.statistics .inverted.teal.statistic > .value,\n.ui.inverted.teal.statistic > .value {\n  color: #6DFFFF;\n}\n\n.ui.inverted.blue.statistics .statistic > .value,\n.ui.statistics .inverted.blue.statistic > .value,\n.ui.inverted.blue.statistic > .value {\n  color: #54C8FF;\n}\n\n.ui.inverted.violet.statistics .statistic > .value,\n.ui.statistics .inverted.violet.statistic > .value,\n.ui.inverted.violet.statistic > .value {\n  color: #A291FB;\n}\n\n.ui.inverted.purple.statistics .statistic > .value,\n.ui.statistics .inverted.purple.statistic > .value,\n.ui.inverted.purple.statistic > .value {\n  color: #DC73FF;\n}\n\n.ui.inverted.pink.statistics .statistic > .value,\n.ui.statistics .inverted.pink.statistic > .value,\n.ui.inverted.pink.statistic > .value {\n  color: #FF8EDF;\n}\n\n.ui.inverted.brown.statistics .statistic > .value,\n.ui.statistics .inverted.brown.statistic > .value,\n.ui.inverted.brown.statistic > .value {\n  color: #D67C1C;\n}\n\n.ui.inverted.grey.statistics .statistic > .value,\n.ui.statistics .inverted.grey.statistic > .value,\n.ui.inverted.grey.statistic > .value {\n  color: #DCDDDE;\n}\n\n/*--------------\n    Floated\n---------------*/\n\n.ui[class*=\"left floated\"].statistic {\n  float: left;\n  margin: 0em 2em 1em 0em;\n}\n\n.ui[class*=\"right floated\"].statistic {\n  float: right;\n  margin: 0em 0em 1em 2em;\n}\n\n.ui.floated.statistic:last-child {\n  margin-bottom: 0em;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n/* Mini */\n\n.ui.mini.statistics .statistic > .value,\n.ui.mini.statistic > .value {\n  font-size: 1.5rem;\n}\n\n.ui.mini.horizontal.statistics .statistic > .value,\n.ui.mini.horizontal.statistic > .value {\n  font-size: 1.5rem;\n}\n\n.ui.mini.statistics .statistic > .text.value,\n.ui.mini.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Tiny */\n\n.ui.tiny.statistics .statistic > .value,\n.ui.tiny.statistic > .value {\n  font-size: 2rem;\n}\n\n.ui.tiny.horizontal.statistics .statistic > .value,\n.ui.tiny.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n\n.ui.tiny.statistics .statistic > .text.value,\n.ui.tiny.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Small */\n\n.ui.small.statistics .statistic > .value,\n.ui.small.statistic > .value {\n  font-size: 3rem;\n}\n\n.ui.small.horizontal.statistics .statistic > .value,\n.ui.small.horizontal.statistic > .value {\n  font-size: 2rem;\n}\n\n.ui.small.statistics .statistic > .text.value,\n.ui.small.statistic > .text.value {\n  font-size: 1rem;\n}\n\n/* Medium */\n\n.ui.statistics .statistic > .value,\n.ui.statistic > .value {\n  font-size: 4rem;\n}\n\n.ui.horizontal.statistics .statistic > .value,\n.ui.horizontal.statistic > .value {\n  font-size: 3rem;\n}\n\n.ui.statistics .statistic > .text.value,\n.ui.statistic > .text.value {\n  font-size: 2rem;\n}\n\n/* Large */\n\n.ui.large.statistics .statistic > .value,\n.ui.large.statistic > .value {\n  font-size: 5rem;\n}\n\n.ui.large.horizontal.statistics .statistic > .value,\n.ui.large.horizontal.statistic > .value {\n  font-size: 4rem;\n}\n\n.ui.large.statistics .statistic > .text.value,\n.ui.large.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n/* Huge */\n\n.ui.huge.statistics .statistic > .value,\n.ui.huge.statistic > .value {\n  font-size: 6rem;\n}\n\n.ui.huge.horizontal.statistics .statistic > .value,\n.ui.huge.horizontal.statistic > .value {\n  font-size: 5rem;\n}\n\n.ui.huge.statistics .statistic > .text.value,\n.ui.huge.statistic > .text.value {\n  font-size: 2.5rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n    User Variable Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Accordion\n*******************************/\n\n.ui.accordion,\n.ui.accordion .accordion {\n  max-width: 100%;\n}\n\n.ui.accordion .accordion {\n  margin: 1em 0em 0em;\n  padding: 0em;\n}\n\n/* Title */\n\n.ui.accordion .title,\n.ui.accordion .accordion .title {\n  cursor: pointer;\n}\n\n/* Default Styling */\n\n.ui.accordion .title:not(.ui) {\n  padding: 0.5em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Content */\n\n.ui.accordion .title ~ .content,\n.ui.accordion .accordion .title ~ .content {\n  display: none;\n}\n\n/* Default Styling */\n\n.ui.accordion:not(.styled) .title ~ .content:not(.ui),\n.ui.accordion:not(.styled) .accordion .title ~ .content:not(.ui) {\n  margin: '';\n  padding: 0.5em 0em 1em;\n}\n\n.ui.accordion:not(.styled) .title ~ .content:not(.ui):last-child {\n  padding-bottom: 0em;\n}\n\n/* Arrow */\n\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  display: inline-block;\n  float: none;\n  opacity: 1;\n  width: 1.25em;\n  height: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n  padding: 0em;\n  font-size: 1em;\n  -webkit-transition: -webkit-transform 0.1s ease, opacity 0.1s ease;\n  transition: transform 0.1s ease, opacity 0.1s ease;\n  vertical-align: baseline;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n/* Menu */\n\n.ui.accordion.menu .item .title {\n  display: block;\n  padding: 0em;\n}\n\n.ui.accordion.menu .item .title > .dropdown.icon {\n  float: right;\n  margin: 0.21425em 0em 0em 1em;\n  -webkit-transform: rotate(180deg);\n  -ms-transform: rotate(180deg);\n  transform: rotate(180deg);\n}\n\n/* Header */\n\n.ui.accordion .ui.header .dropdown.icon {\n  font-size: 1em;\n  margin: 0em 0.25rem 0em 0rem;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.accordion .active.title .dropdown.icon,\n.ui.accordion .accordion .active.title .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n\n.ui.accordion.menu .item .active.title > .dropdown.icon {\n  -webkit-transform: rotate(90deg);\n  -ms-transform: rotate(90deg);\n  transform: rotate(90deg);\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Styled\n---------------*/\n\n.ui.styled.accordion {\n  width: 600px;\n}\n\n.ui.styled.accordion,\n.ui.styled.accordion .accordion {\n  border-radius: 0.28571429rem;\n  background: #FFFFFF;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15);\n}\n\n.ui.styled.accordion .title,\n.ui.styled.accordion .accordion .title {\n  margin: 0em;\n  padding: 0.75em 1em;\n  color: rgba(0, 0, 0, 0.4);\n  font-weight: bold;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  -webkit-transition: background 0.1s ease, color 0.1s ease;\n  transition: background 0.1s ease, color 0.1s ease;\n}\n\n.ui.styled.accordion > .title:first-child,\n.ui.styled.accordion .accordion .title:first-child {\n  border-top: none;\n}\n\n/* Content */\n\n.ui.styled.accordion .content,\n.ui.styled.accordion .accordion .content {\n  margin: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n\n.ui.styled.accordion .accordion .content {\n  padding: 0em;\n  padding: 0.5em 1em 1.5em;\n}\n\n/* Hover */\n\n.ui.styled.accordion .title:hover,\n.ui.styled.accordion .active.title,\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.styled.accordion .accordion .title:hover,\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Active */\n\n.ui.styled.accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.styled.accordion .accordion .active.title {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n     Active\n---------------*/\n\n.ui.accordion .active.content,\n.ui.accordion .accordion .active.content {\n  display: block;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.accordion,\n.ui.fluid.accordion .accordion {\n  width: 100%;\n}\n\n/*--------------\n     Inverted\n---------------*/\n\n.ui.inverted.accordion .title:not(.ui) {\n  color: rgba(255, 255, 255, 0.9);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Accordion';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfOIKAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zryj6HgAAAFwAAAAyGhlYWT/0IhHAAACOAAAADZoaGVhApkB5wAAAnAAAAAkaG10eAJuABIAAAKUAAAAGGxvY2EAjABWAAACrAAAAA5tYXhwAAgAFgAAArwAAAAgbmFtZfC1n04AAALcAAABPHBvc3QAAwAAAAAEGAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQASAEkAtwFuABMAADc0PwE2FzYXFh0BFAcGJwYvASY1EgaABQgHBQYGBQcIBYAG2wcGfwcBAQcECf8IBAcBAQd/BgYAAAAAAQAAAEkApQFuABMAADcRNDc2MzIfARYVFA8BBiMiJyY1AAUGBwgFgAYGgAUIBwYFWwEACAUGBoAFCAcFgAYGBQcAAAABAAAAAQAAqWYls18PPPUACwIAAAAAAM/9o+4AAAAAz/2j7gAAAAAAtwFuAAAACAACAAAAAAAAAAEAAAHg/+AAAAIAAAAAAAC3AAEAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAQAAAAC3ABIAtwAAAAAAAAAKABQAHgBCAGQAAAABAAAABgAUAAEAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAASwAAoAAAAABGgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAS0AAAEtFpovuE9TLzIAAAIkAAAAYAAAAGAIIweQY21hcAAAAoQAAABMAAAATA984gpnYXNwAAAC0AAAAAgAAAAIAAAAEGhlYWQAAALYAAAANgAAADb/0IhHaGhlYQAAAxAAAAAkAAAAJAKZAedobXR4AAADNAAAABgAAAAYAm4AEm1heHAAAANMAAAABgAAAAYABlAAbmFtZQAAA1QAAAE8AAABPPC1n05wb3N0AAAEkAAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLa/iU+HQFHQAAAHkPHQAAAH4RHQAAAAkdAAABJBIABwEBBw0PERQZHnJhdGluZ3JhdGluZ3UwdTF1MjB1RjBEOXVGMERBAAACAYkABAAGAQEEBwoNVp38lA78lA78lA77lA773Z33bxWLkI2Qj44I9xT3FAWOj5CNkIuQi4+JjoePiI2Gi4YIi/uUBYuGiYeHiIiHh4mGi4aLho2Ijwj7FPcUBYeOiY+LkAgO+92L5hWL95QFi5CNkI6Oj4+PjZCLkIuQiY6HCPcU+xQFj4iNhouGi4aJh4eICPsU+xQFiIeGiYaLhouHjYePiI6Jj4uQCA74lBT4lBWLDAoAAAAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDZ//3//wAB/+MPKwADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAADfYOJZfDzz1AAsCAAAAAADP/aPuAAAAAM/9o+4AAAAAALcBbgAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAAAtwABAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAEAAAAAtwASALcAAAAAUAAABgAAAAAADgCuAAEAAAAAAAEADAAAAAEAAAAAAAIADgBAAAEAAAAAAAMADAAiAAEAAAAAAAQADABOAAEAAAAAAAUAFgAMAAEAAAAAAAYABgAuAAEAAAAAAAoANABaAAMAAQQJAAEADAAAAAMAAQQJAAIADgBAAAMAAQQJAAMADAAiAAMAAQQJAAQADABOAAMAAQQJAAUAFgAMAAMAAQQJAAYADAA0AAMAAQQJAAoANABaAHIAYQB0AGkAbgBnAFYAZQByAHMAaQBvAG4AIAAxAC4AMAByAGEAdABpAG4AZ3JhdGluZwByAGEAdABpAG4AZwBSAGUAZwB1AGwAYQByAHIAYQB0AGkAbgBnAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n/* Dropdown Icon */\n\n.ui.accordion .title .dropdown.icon,\n.ui.accordion .accordion .title .dropdown.icon {\n  font-family: Accordion;\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n.ui.accordion .title .dropdown.icon:before,\n.ui.accordion .accordion .title .dropdown.icon:before {\n  content: '\\f0da' ;\n}\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Checkbox\n*******************************/\n\n/*--------------\n    Content\n---------------*/\n\n.ui.checkbox {\n  position: relative;\n  display: inline-block;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  outline: none;\n  vertical-align: baseline;\n  font-style: normal;\n  min-height: 17px;\n  font-size: 1rem;\n  line-height: 17px;\n  min-width: 17px;\n}\n\n/* HTML Checkbox */\n\n.ui.checkbox input[type=\"checkbox\"],\n.ui.checkbox input[type=\"radio\"] {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  opacity: 0 !important;\n  outline: none;\n  z-index: 3;\n  width: 17px;\n  height: 17px;\n}\n\n/*--------------\n      Box\n---------------*/\n\n.ui.checkbox .box,\n.ui.checkbox label {\n  cursor: auto;\n  position: relative;\n  display: block;\n  padding-left: 1.85714em;\n  outline: none;\n  font-size: 1em;\n}\n\n.ui.checkbox .box:before,\n.ui.checkbox label:before {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  content: '';\n  background: #FFFFFF;\n  border-radius: 0.21428571rem;\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n  border: 1px solid #D4D4D5;\n}\n\n/*--------------\n    Checkmark\n---------------*/\n\n.ui.checkbox .box:after,\n.ui.checkbox label:after {\n  position: absolute;\n  font-size: 14px;\n  top: 0px;\n  left: 0px;\n  width: 17px;\n  height: 17px;\n  text-align: center;\n  opacity: 0;\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: border 0.1s ease, opacity 0.1s ease, -webkit-transform 0.1s ease, box-shadow 0.1s ease;\n  transition: border 0.1s ease, opacity 0.1s ease, transform 0.1s ease, box-shadow 0.1s ease;\n}\n\n/*--------------\n      Label\n---------------*/\n\n/* Inside */\n\n.ui.checkbox label,\n.ui.checkbox + label {\n  color: rgba(0, 0, 0, 0.87);\n  -webkit-transition: color 0.1s ease;\n  transition: color 0.1s ease;\n}\n\n/* Outside */\n\n.ui.checkbox + label {\n  vertical-align: middle;\n}\n\n/*******************************\n           States\n*******************************/\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.checkbox .box:hover::before,\n.ui.checkbox label:hover::before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox label:hover,\n.ui.checkbox + label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/*--------------\n      Down\n---------------*/\n\n.ui.checkbox .box:active::before,\n.ui.checkbox label:active::before {\n  background: #F9FAFB;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox .box:active::after,\n.ui.checkbox label:active::after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.checkbox input:active ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Focus\n---------------*/\n\n.ui.checkbox input:focus ~ .box:before,\n.ui.checkbox input:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n\n.ui.checkbox input:focus ~ .box:after,\n.ui.checkbox input:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n.ui.checkbox input:focus ~ label {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.checkbox input:checked ~ .box:before,\n.ui.checkbox input:checked ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Indeterminate\n---------------*/\n\n.ui.checkbox input:indeterminate ~ .box:before,\n.ui.checkbox input:indeterminate ~ label:before {\n  background: #FFFFFF;\n  border-color: rgba(34, 36, 38, 0.35);\n}\n\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  opacity: 1;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n  Active Focus\n---------------*/\n\n.ui.checkbox input:indeterminate:focus ~ .box:before,\n.ui.checkbox input:indeterminate:focus ~ label:before,\n.ui.checkbox input:checked:focus ~ .box:before,\n.ui.checkbox input:checked:focus ~ label:before {\n  background: #FFFFFF;\n  border-color: #96C8DA;\n}\n\n.ui.checkbox input:indeterminate:focus ~ .box:after,\n.ui.checkbox input:indeterminate:focus ~ label:after,\n.ui.checkbox input:checked:focus ~ .box:after,\n.ui.checkbox input:checked:focus ~ label:after {\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n    Read-Only\n---------------*/\n\n.ui.read-only.checkbox,\n.ui.read-only.checkbox label {\n  cursor: default;\n}\n\n/*--------------\n     Disabled\n---------------*/\n\n.ui.disabled.checkbox .box:after,\n.ui.disabled.checkbox label,\n.ui.checkbox input[disabled] ~ .box:after,\n.ui.checkbox input[disabled] ~ label {\n  cursor: default;\n  opacity: 0.5;\n  color: #000000;\n}\n\n/*--------------\n     Hidden\n---------------*/\n\n/* Initialized checkbox moves input below element\n to prevent manually triggering */\n\n.ui.checkbox input.hidden {\n  z-index: -1;\n}\n\n/* Selectable Label */\n\n.ui.checkbox input.hidden + label {\n  cursor: pointer;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*--------------\n     Radio\n---------------*/\n\n.ui.radio.checkbox {\n  min-height: 15px;\n}\n\n.ui.radio.checkbox .box,\n.ui.radio.checkbox label {\n  padding-left: 1.85714em;\n}\n\n/* Box */\n\n.ui.radio.checkbox .box:before,\n.ui.radio.checkbox label:before {\n  content: '';\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  top: 1px;\n  left: 0px;\n}\n\n/* Bullet */\n\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  border: none;\n  content: '' !important;\n  width: 15px;\n  height: 15px;\n  line-height: 15px;\n}\n\n/* Radio Checkbox */\n\n.ui.radio.checkbox .box:after,\n.ui.radio.checkbox label:after {\n  top: 1px;\n  left: 0px;\n  width: 15px;\n  height: 15px;\n  border-radius: 500rem;\n  -webkit-transform: scale(0.46666667);\n  -ms-transform: scale(0.46666667);\n  transform: scale(0.46666667);\n  background-color: rgba(0, 0, 0, 0.87);\n}\n\n/* Focus */\n\n.ui.radio.checkbox input:focus ~ .box:before,\n.ui.radio.checkbox input:focus ~ label:before {\n  background-color: #FFFFFF;\n}\n\n.ui.radio.checkbox input:focus ~ .box:after,\n.ui.radio.checkbox input:focus ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Indeterminate */\n\n.ui.radio.checkbox input:indeterminate ~ .box:after,\n.ui.radio.checkbox input:indeterminate ~ label:after {\n  opacity: 0;\n}\n\n/* Active */\n\n.ui.radio.checkbox input:checked ~ .box:before,\n.ui.radio.checkbox input:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n\n.ui.radio.checkbox input:checked ~ .box:after,\n.ui.radio.checkbox input:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/* Active Focus */\n\n.ui.radio.checkbox input:focus:checked ~ .box:before,\n.ui.radio.checkbox input:focus:checked ~ label:before {\n  background-color: #FFFFFF;\n}\n\n.ui.radio.checkbox input:focus:checked ~ .box:after,\n.ui.radio.checkbox input:focus:checked ~ label:after {\n  background-color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------\n     Slider\n---------------*/\n\n.ui.slider.checkbox {\n  min-height: 1.25rem;\n}\n\n/* Input */\n\n.ui.slider.checkbox input {\n  width: 3.5rem;\n  height: 1.25rem;\n}\n\n/* Label */\n\n.ui.slider.checkbox .box,\n.ui.slider.checkbox label {\n  padding-left: 4.5rem;\n  line-height: 1rem;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/* Line */\n\n.ui.slider.checkbox .box:before,\n.ui.slider.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  border: none !important;\n  left: 0em;\n  z-index: 1;\n  top: 0.4rem;\n  background-color: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 0.21428571rem;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease;\n  transition: background 0.3s ease;\n}\n\n/* Handle */\n\n.ui.slider.checkbox .box:after,\n.ui.slider.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: -0.25rem;\n  left: 0em;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  border-radius: 500rem;\n  -webkit-transition: left 0.3s ease;\n  transition: left 0.3s ease;\n}\n\n/* Focus */\n\n.ui.slider.checkbox input:focus ~ .box:before,\n.ui.slider.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n\n.ui.slider.checkbox .box:hover,\n.ui.slider.checkbox label:hover {\n  color: rgba(0, 0, 0, 0.8);\n}\n\n.ui.slider.checkbox .box:hover::before,\n.ui.slider.checkbox label:hover::before {\n  background: rgba(0, 0, 0, 0.15);\n}\n\n/* Active */\n\n.ui.slider.checkbox input:checked ~ .box,\n.ui.slider.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.slider.checkbox input:checked ~ .box:before,\n.ui.slider.checkbox input:checked ~ label:before {\n  background-color: #545454 !important;\n}\n\n.ui.slider.checkbox input:checked ~ .box:after,\n.ui.slider.checkbox input:checked ~ label:after {\n  left: 2rem;\n}\n\n/* Active Focus */\n\n.ui.slider.checkbox input:focus:checked ~ .box,\n.ui.slider.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.slider.checkbox input:focus:checked ~ .box:before,\n.ui.slider.checkbox input:focus:checked ~ label:before {\n  background-color: #000000 !important;\n}\n\n/*--------------\n     Toggle\n---------------*/\n\n.ui.toggle.checkbox {\n  min-height: 1.5rem;\n}\n\n/* Input */\n\n.ui.toggle.checkbox input {\n  width: 3.5rem;\n  height: 1.5rem;\n}\n\n/* Label */\n\n.ui.toggle.checkbox .box,\n.ui.toggle.checkbox label {\n  min-height: 1.5rem;\n  padding-left: 4.5rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.toggle.checkbox label {\n  padding-top: 0.15em;\n}\n\n/* Switch */\n\n.ui.toggle.checkbox .box:before,\n.ui.toggle.checkbox label:before {\n  display: block;\n  position: absolute;\n  content: '';\n  z-index: 1;\n  -webkit-transform: none;\n  -ms-transform: none;\n  transform: none;\n  border: none;\n  top: 0rem;\n  background: rgba(0, 0, 0, 0.05);\n  width: 3.5rem;\n  height: 1.5rem;\n  border-radius: 500rem;\n}\n\n/* Handle */\n\n.ui.toggle.checkbox .box:after,\n.ui.toggle.checkbox label:after {\n  background: #FFFFFF -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  background: #FFFFFF linear-gradient(transparent, rgba(0, 0, 0, 0.05));\n  position: absolute;\n  content: '' !important;\n  opacity: 1;\n  z-index: 2;\n  border: none;\n  box-shadow: 0px 1px 2px 0 rgba(34, 36, 38, 0.15), 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n  width: 1.5rem;\n  height: 1.5rem;\n  top: 0rem;\n  left: 0em;\n  border-radius: 500rem;\n  -webkit-transition: background 0.3s ease, left 0.3s ease;\n  transition: background 0.3s ease, left 0.3s ease;\n}\n\n.ui.toggle.checkbox input ~ .box:after,\n.ui.toggle.checkbox input ~ label:after {\n  left: -0.05rem;\n}\n\n/* Focus */\n\n.ui.toggle.checkbox input:focus ~ .box:before,\n.ui.toggle.checkbox input:focus ~ label:before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Hover */\n\n.ui.toggle.checkbox .box:hover::before,\n.ui.toggle.checkbox label:hover::before {\n  background-color: rgba(0, 0, 0, 0.15);\n  border: none;\n}\n\n/* Active */\n\n.ui.toggle.checkbox input:checked ~ .box,\n.ui.toggle.checkbox input:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.toggle.checkbox input:checked ~ .box:before,\n.ui.toggle.checkbox input:checked ~ label:before {\n  background-color: #2185D0 !important;\n}\n\n.ui.toggle.checkbox input:checked ~ .box:after,\n.ui.toggle.checkbox input:checked ~ label:after {\n  left: 2.15rem;\n}\n\n/* Active Focus */\n\n.ui.toggle.checkbox input:focus:checked ~ .box,\n.ui.toggle.checkbox input:focus:checked ~ label {\n  color: rgba(0, 0, 0, 0.95) !important;\n}\n\n.ui.toggle.checkbox input:focus:checked ~ .box:before,\n.ui.toggle.checkbox input:focus:checked ~ label:before {\n  background-color: #0d71bb !important;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n     Fitted\n---------------*/\n\n.ui.fitted.checkbox .box,\n.ui.fitted.checkbox label {\n  padding-left: 0em !important;\n}\n\n.ui.fitted.toggle.checkbox,\n.ui.fitted.toggle.checkbox {\n  width: 3.5rem;\n}\n\n.ui.fitted.slider.checkbox,\n.ui.fitted.slider.checkbox {\n  width: 3.5rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Checkbox';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMg8SBD8AAAC8AAAAYGNtYXAYVtCJAAABHAAAAFRnYXNwAAAAEAAAAXAAAAAIZ2x5Zn4huwUAAAF4AAABYGhlYWQGPe1ZAAAC2AAAADZoaGVhB30DyAAAAxAAAAAkaG10eBBKAEUAAAM0AAAAHGxvY2EAmgESAAADUAAAABBtYXhwAAkALwAAA2AAAAAgbmFtZSC8IugAAAOAAAABknBvc3QAAwAAAAAFFAAAACAAAwMTAZAABQAAApkCzAAAAI8CmQLMAAAB6wAzAQkAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADoAgPA/8AAQAPAAEAAAAABAAAAAAAAAAAAAAAgAAAAAAADAAAAAwAAABwAAQADAAAAHAADAAEAAAAcAAQAOAAAAAoACAACAAIAAQAg6AL//f//AAAAAAAg6AD//f//AAH/4xgEAAMAAQAAAAAAAAAAAAAAAQAB//8ADwABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAEUAUQO7AvgAGgAAARQHAQYjIicBJjU0PwE2MzIfAQE2MzIfARYVA7sQ/hQQFhcQ/uMQEE4QFxcQqAF2EBcXEE4QAnMWEP4UEBABHRAXFhBOEBCoAXcQEE4QFwAAAAABAAABbgMlAkkAFAAAARUUBwYjISInJj0BNDc2MyEyFxYVAyUQEBf9SRcQEBAQFwK3FxAQAhJtFxAQEBAXbRcQEBAQFwAAAAABAAAASQMlA24ALAAAARUUBwYrARUUBwYrASInJj0BIyInJj0BNDc2OwE1NDc2OwEyFxYdATMyFxYVAyUQEBfuEBAXbhYQEO4XEBAQEBfuEBAWbhcQEO4XEBACEm0XEBDuFxAQEBAX7hAQF20XEBDuFxAQEBAX7hAQFwAAAQAAAAIAAHRSzT9fDzz1AAsEAAAAAADRsdR3AAAAANGx1HcAAAAAA7sDbgAAAAgAAgAAAAAAAAABAAADwP/AAAAEAAAAAAADuwABAAAAAAAAAAAAAAAAAAAABwQAAAAAAAAAAAAAAAIAAAAEAABFAyUAAAMlAAAAAAAAAAoAFAAeAE4AcgCwAAEAAAAHAC0AAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAIAAAAAQAAAAAAAgAHAGkAAQAAAAAAAwAIADkAAQAAAAAABAAIAH4AAQAAAAAABQALABgAAQAAAAAABgAIAFEAAQAAAAAACgAaAJYAAwABBAkAAQAQAAgAAwABBAkAAgAOAHAAAwABBAkAAwAQAEEAAwABBAkABAAQAIYAAwABBAkABQAWACMAAwABBAkABgAQAFkAAwABBAkACgA0ALBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhWZXJzaW9uIDIuMABWAGUAcgBzAGkAbwBuACAAMgAuADBDaGVja2JveABDAGgAZQBjAGsAYgBvAHhDaGVja2JveABDAGgAZQBjAGsAYgBvAHhSZWd1bGFyAFIAZQBnAHUAbABhAHJDaGVja2JveABDAGgAZQBjAGsAYgBvAHhGb250IGdlbmVyYXRlZCBieSBJY29Nb29uLgBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('truetype');\n}\n\n/* Checkmark */\n\n.ui.checkbox label:after,\n.ui.checkbox .box:after {\n  font-family: 'Checkbox';\n}\n\n/* Checked */\n\n.ui.checkbox input:checked ~ .box:after,\n.ui.checkbox input:checked ~ label:after {\n  content: '\\e800';\n}\n\n/* Indeterminate */\n\n.ui.checkbox input:indeterminate ~ .box:after,\n.ui.checkbox input:indeterminate ~ label:after {\n  font-size: 12px;\n  content: '\\e801';\n}\n\n/*  UTF Reference\n.check:before { content: '\\e800'; }\n.dash:before  { content: '\\e801'; }\n.plus:before { content: '\\e802'; }\n*/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Dimmer\n*******************************/\n\n.dimmable {\n  position: relative;\n}\n\n.ui.dimmer {\n  display: none;\n  position: absolute;\n  top: 0em !important;\n  left: 0em !important;\n  width: 100%;\n  height: 100%;\n  text-align: center;\n  vertical-align: middle;\n  background-color: rgba(0, 0, 0, 0.85);\n  opacity: 0;\n  line-height: 1;\n  -webkit-animation-fill-mode: both;\n  animation-fill-mode: both;\n  -webkit-animation-duration: 0.5s;\n  animation-duration: 0.5s;\n  -webkit-transition: background-color 0.5s linear;\n  transition: background-color 0.5s linear;\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/* Dimmer Content */\n\n.ui.dimmer > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n\n.ui.dimmer > .content > * {\n  display: table-cell;\n  vertical-align: middle;\n  color: #FFFFFF;\n}\n\n/* Loose Coupling */\n\n.ui.segment > .ui.dimmer {\n  border-radius: inherit !important;\n}\n\n/*******************************\n            States\n*******************************/\n\n.animating.dimmable:not(body),\n.dimmed.dimmable:not(body) {\n  overflow: hidden;\n}\n\n.dimmed.dimmable > .ui.animating.dimmer,\n.dimmed.dimmable > .ui.visible.dimmer,\n.ui.active.dimmer {\n  display: block;\n  opacity: 1;\n}\n\n.ui.disabled.dimmer {\n  width: 0 !important;\n  height: 0 !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n      Page\n---------------*/\n\n.ui.page.dimmer {\n  position: fixed;\n  -webkit-transform-style: '';\n  transform-style: '';\n  -webkit-perspective: 2000px;\n  perspective: 2000px;\n  -webkit-transform-origin: center center;\n  -ms-transform-origin: center center;\n  transform-origin: center center;\n}\n\nbody.animating.in.dimmable,\nbody.dimmed.dimmable {\n  overflow: hidden;\n}\n\nbody.dimmable > .dimmer {\n  position: fixed;\n}\n\n/*--------------\n    Blurring\n---------------*/\n\n.blurring.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(0px) grayscale(0);\n  filter: blur(0px) grayscale(0);\n  -webkit-transition: 800ms -webkit-filter ease, 800ms filter ease;\n  transition: 800ms filter ease;\n}\n\n.blurring.dimmed.dimmable > :not(.dimmer) {\n  -webkit-filter: blur(5px) grayscale(0.7);\n  filter: blur(5px) grayscale(0.7);\n}\n\n/* Dimmer Color */\n\n.blurring.dimmable > .dimmer {\n  background-color: rgba(0, 0, 0, 0.6);\n}\n\n.blurring.dimmable > .inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.6);\n}\n\n/*--------------\n    Aligned\n---------------*/\n\n.ui.dimmer > .top.aligned.content > * {\n  vertical-align: top;\n}\n\n.ui.dimmer > .bottom.aligned.content > * {\n  vertical-align: bottom;\n}\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n\n.ui.inverted.dimmer > .content > * {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Simple\n---------------*/\n\n/* Displays without javascript */\n\n.ui.simple.dimmer {\n  display: block;\n  overflow: hidden;\n  opacity: 1;\n  width: 0%;\n  height: 0%;\n  z-index: -100;\n  background-color: rgba(0, 0, 0, 0);\n}\n\n.dimmed.dimmable > .ui.simple.dimmer {\n  overflow: visible;\n  opacity: 1;\n  width: 100%;\n  height: 100%;\n  background-color: rgba(0, 0, 0, 0.85);\n  z-index: 1;\n}\n\n.ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0);\n}\n\n.dimmed.dimmable > .ui.simple.inverted.dimmer {\n  background-color: rgba(255, 255, 255, 0.85);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Dropdown\n*******************************/\n\n.ui.dropdown {\n  cursor: pointer;\n  position: relative;\n  display: inline-block;\n  outline: none;\n  text-align: left;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n  transition: box-shadow 0.1s ease, width 0.1s ease;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/*******************************\n            Content\n*******************************/\n\n/*--------------\n      Menu\n---------------*/\n\n.ui.dropdown .menu {\n  cursor: auto;\n  position: absolute;\n  display: none;\n  outline: none;\n  top: 100%;\n  min-width: -webkit-max-content;\n  min-width: -moz-max-content;\n  min-width: max-content;\n  margin: 0em;\n  padding: 0em 0em;\n  background: #FFFFFF;\n  font-size: 1em;\n  text-shadow: none;\n  text-align: left;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n  z-index: 11;\n  will-change: transform, opacity;\n}\n\n.ui.dropdown .menu > * {\n  white-space: nowrap;\n}\n\n/*--------------\n  Hidden Input\n---------------*/\n\n.ui.dropdown > input:not(.search):first-child,\n.ui.dropdown > select {\n  display: none !important;\n}\n\n/*--------------\n Dropdown Icon\n---------------*/\n\n.ui.dropdown > .dropdown.icon {\n  position: relative;\n  width: auto;\n  font-size: 0.85714286em;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.dropdown .menu > .item .dropdown.icon {\n  width: auto;\n  float: right;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.dropdown .menu > .item .dropdown.icon + .text {\n  margin-right: 1em;\n}\n\n/*--------------\n      Text\n---------------*/\n\n.ui.dropdown > .text {\n  display: inline-block;\n  -webkit-transition: none;\n  transition: none;\n}\n\n/*--------------\n    Menu Item\n---------------*/\n\n.ui.dropdown .menu > .item {\n  position: relative;\n  cursor: pointer;\n  display: block;\n  border: none;\n  height: auto;\n  text-align: left;\n  border-top: none;\n  line-height: 1em;\n  color: rgba(0, 0, 0, 0.87);\n  padding: 0.71428571rem 1.14285714rem !important;\n  font-size: 1rem;\n  text-transform: none;\n  font-weight: normal;\n  box-shadow: none;\n  -webkit-touch-callout: none;\n}\n\n.ui.dropdown .menu > .item:first-child {\n  border-top-width: 0px;\n}\n\n/*--------------\n  Floated Content\n---------------*/\n\n.ui.dropdown > .text > [class*=\"right floated\"],\n.ui.dropdown .menu .item > [class*=\"right floated\"] {\n  float: right !important;\n  margin-right: 0em !important;\n  margin-left: 1em !important;\n}\n\n.ui.dropdown > .text > [class*=\"left floated\"],\n.ui.dropdown .menu .item > [class*=\"left floated\"] {\n  float: left !important;\n  margin-left: 0em !important;\n  margin-right: 1em !important;\n}\n\n.ui.dropdown .menu .item > .icon.floated,\n.ui.dropdown .menu .item > .flag.floated,\n.ui.dropdown .menu .item > .image.floated,\n.ui.dropdown .menu .item > img.floated {\n  margin-top: 0em;\n}\n\n/*--------------\n  Menu Divider\n---------------*/\n\n.ui.dropdown .menu > .header {\n  margin: 1rem 0rem 0.75rem;\n  padding: 0em 1.14285714rem;\n  color: rgba(0, 0, 0, 0.85);\n  font-size: 0.78571429em;\n  font-weight: bold;\n  text-transform: uppercase;\n}\n\n.ui.dropdown .menu > .divider {\n  border-top: 1px solid rgba(34, 36, 38, 0.1);\n  height: 0em;\n  margin: 0.5em 0em;\n}\n\n.ui.dropdown .menu > .input {\n  width: auto;\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  margin: 1.14285714rem 0.71428571rem;\n  min-width: 10rem;\n}\n\n.ui.dropdown .menu > .header + .input {\n  margin-top: 0em;\n}\n\n.ui.dropdown .menu > .input:not(.transparent) input {\n  padding: 0.5em 1em;\n}\n\n.ui.dropdown .menu > .input:not(.transparent) .button,\n.ui.dropdown .menu > .input:not(.transparent) .icon,\n.ui.dropdown .menu > .input:not(.transparent) .label {\n  padding-top: 0.5em;\n  padding-bottom: 0.5em;\n}\n\n/*-----------------\n  Item Description\n-------------------*/\n\n.ui.dropdown > .text > .description,\n.ui.dropdown .menu > .item > .description {\n  float: right;\n  margin: 0em 0em 0em 1em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*-----------------\n       Message\n-------------------*/\n\n.ui.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n  font-weight: normal;\n}\n\n.ui.dropdown .menu > .message:not(.ui) {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*--------------\n    Sub Menu\n---------------*/\n\n.ui.dropdown .menu .menu {\n  top: 0% !important;\n  left: 100% !important;\n  right: auto !important;\n  margin: 0em 0em 0em -0.5em !important;\n  border-radius: 0.28571429rem !important;\n  z-index: 21 !important;\n}\n\n/* Hide Arrow */\n\n.ui.dropdown .menu .menu:after {\n  display: none;\n}\n\n/*--------------\n   Sub Elements\n---------------*/\n\n/* Icons / Flags / Labels / Image */\n\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image {\n  margin-top: 0em;\n}\n\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-top: 0em;\n}\n\n.ui.dropdown > .text > .icon,\n.ui.dropdown > .text > .label,\n.ui.dropdown > .text > .flag,\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .icon,\n.ui.dropdown .menu > .item > .label,\n.ui.dropdown .menu > .item > .flag,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  margin-left: 0em;\n  float: none;\n  margin-right: 0.71428571rem;\n}\n\n/*--------------\n     Image\n---------------*/\n\n.ui.dropdown > .text > img,\n.ui.dropdown > .text > .image,\n.ui.dropdown .menu > .item > .image,\n.ui.dropdown .menu > .item > img {\n  display: inline-block;\n  vertical-align: middle;\n  width: auto;\n  max-height: 2em;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n/*--------------\n      Menu\n---------------*/\n\n/* Remove Menu Item Divider */\n\n.ui.dropdown .ui.menu > .item:before,\n.ui.menu .ui.dropdown .menu > .item:before {\n  display: none;\n}\n\n/* Prevent Menu Item Border */\n\n.ui.menu .ui.dropdown .menu .active.item {\n  border-left: none;\n}\n\n/* Automatically float dropdown menu right on last menu item */\n\n.ui.menu .right.menu .dropdown:last-child .menu,\n.ui.menu .right.dropdown.item .menu,\n.ui.buttons > .ui.dropdown:last-child .menu {\n  left: auto;\n  right: 0em;\n}\n\n/*--------------\n      Label\n---------------*/\n\n/* Dropdown Menu */\n\n.ui.label.dropdown .menu {\n  min-width: 100%;\n}\n\n/*--------------\n     Button\n---------------*/\n\n/* No Margin On Icon Button */\n\n.ui.dropdown.icon.button > .dropdown.icon {\n  margin: 0em;\n}\n\n.ui.button.dropdown .menu {\n  min-width: 100%;\n}\n\n/*******************************\n              Types\n*******************************/\n\n/*--------------\n    Selection\n---------------*/\n\n/* Displays like a select box */\n\n.ui.selection.dropdown {\n  cursor: pointer;\n  word-wrap: break-word;\n  line-height: 1em;\n  white-space: normal;\n  outline: 0;\n  -webkit-transform: rotateZ(0deg);\n  transform: rotateZ(0deg);\n  min-width: 14em;\n  min-height: 2.7142em;\n  background: #FFFFFF;\n  display: inline-block;\n  padding: 0.78571429em 2.6em 0.78571429em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: none;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  border-radius: 0.28571429rem;\n  -webkit-transition: box-shadow 0.1s ease, width 0.1s ease;\n  transition: box-shadow 0.1s ease, width 0.1s ease;\n}\n\n.ui.selection.dropdown.visible,\n.ui.selection.dropdown.active {\n  z-index: 10;\n}\n\nselect.ui.dropdown {\n  height: 38px;\n  padding: 0.5em;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  visibility: visible;\n}\n\n.ui.selection.dropdown > .search.icon,\n.ui.selection.dropdown > .delete.icon,\n.ui.selection.dropdown > .dropdown.icon {\n  cursor: pointer;\n  position: absolute;\n  top: auto;\n  width: auto;\n  z-index: 3;\n  margin: -0.78571429em;\n  padding: 0.78571429em;\n  right: 1em;\n  opacity: 0.8;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n/* Compact */\n\n.ui.compact.selection.dropdown {\n  min-width: 0px;\n}\n\n/*  Selection Menu */\n\n.ui.selection.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  border-top-width: 0px !important;\n  width: auto;\n  outline: none;\n  margin: 0px -1px;\n  min-width: calc(100% +  2px );\n  width: calc(100% +  2px );\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n.ui.selection.dropdown .menu:after,\n.ui.selection.dropdown .menu:before {\n  display: none;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.selection.dropdown .menu > .message {\n  padding: 0.71428571rem 1.14285714rem;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.selection.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.selection.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.selection.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.selection.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/* Menu Item */\n\n.ui.selection.dropdown .menu > .item {\n  border-top: 1px solid #FAFAFA;\n  padding: 0.71428571rem 1.14285714rem !important;\n  white-space: normal;\n  word-wrap: normal;\n}\n\n/* Hover */\n\n.ui.selection.dropdown:hover {\n  border-color: rgba(34, 36, 38, 0.35);\n  box-shadow: none;\n}\n\n/* Active */\n\n.ui.selection.active.dropdown {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n.ui.selection.active.dropdown .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Focus */\n\n.ui.selection.dropdown:focus {\n  border-color: #96C8DA;\n  box-shadow: none;\n}\n\n.ui.selection.dropdown:focus .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible */\n\n.ui.selection.visible.dropdown > .text:not(.default) {\n  font-weight: normal;\n  color: rgba(0, 0, 0, 0.8);\n}\n\n/* Visible Hover */\n\n.ui.selection.active.dropdown:hover {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n.ui.selection.active.dropdown:hover .menu {\n  border-color: #96C8DA;\n  box-shadow: 0px 2px 3px 0px rgba(34, 36, 38, 0.15);\n}\n\n/* Dropdown Icon */\n\n.ui.active.selection.dropdown > .dropdown.icon,\n.ui.visible.selection.dropdown > .dropdown.icon {\n  opacity: 1;\n  z-index: 3;\n}\n\n/* Connecting Border */\n\n.ui.active.selection.dropdown {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n\n/*--------------\n   Searchable\n---------------*/\n\n/* Search Selection */\n\n.ui.search.dropdown {\n  min-width: '';\n}\n\n/* Search Dropdown */\n\n.ui.search.dropdown > input.search {\n  background: none transparent !important;\n  border: none !important;\n  box-shadow: none !important;\n  cursor: pointer;\n  top: 0em;\n  left: 0em;\n  width: 100%;\n  outline: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  padding: inherit;\n}\n\n/* Text Layering */\n\n.ui.search.dropdown > input.search {\n  position: absolute;\n  z-index: 2;\n}\n\n.ui.search.dropdown > .text {\n  cursor: text;\n  position: relative;\n  z-index: 3;\n}\n\n/* Search Selection */\n\n.ui.search.selection.dropdown > input.search {\n  line-height: 1.2142em;\n  padding: 0.67861429em 2.6em 0.67861429em 1em;\n}\n\n/* Active/Visible Search */\n\n.ui.search.dropdown.active > input.search,\n.ui.search.dropdown.visible > input.search {\n  cursor: auto;\n}\n\n.ui.search.dropdown.active > .text,\n.ui.search.dropdown.visible > .text {\n  pointer-events: none;\n}\n\n/* Filtered Text */\n\n.ui.active.search.dropdown input.search:focus + .text .icon,\n.ui.active.search.dropdown input.search:focus + .text .flag {\n  opacity: 0.45;\n}\n\n.ui.active.search.dropdown input.search:focus + .text {\n  color: rgba(0, 0, 0, 0.4) !important;\n}\n\n/* Search Menu */\n\n.ui.search.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.search.dropdown .menu {\n    max-height: 7.58571429rem;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.search.dropdown .menu {\n    max-height: 10.11428571rem;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.search.dropdown .menu {\n    max-height: 15.17142857rem;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.search.dropdown .menu {\n    max-height: 20.22857143rem;\n  }\n}\n\n/*--------------\n    Multiple\n---------------*/\n\n/* Multiple Selection */\n\n.ui.multiple.dropdown {\n  padding: 0.22620476em 2.6em 0.22620476em 0.28571429em;\n}\n\n.ui.multiple.dropdown .menu {\n  cursor: auto;\n}\n\n/* Multiple Search Selection */\n\n.ui.multiple.search.dropdown,\n.ui.multiple.search.dropdown > input.search {\n  cursor: text;\n}\n\n/* Selection Label */\n\n.ui.multiple.dropdown > .label {\n  -webkit-user-select: none;\n  -moz-user-select: none;\n  -ms-user-select: none;\n  user-select: none;\n  display: inline-block;\n  vertical-align: top;\n  white-space: normal;\n  font-size: 1em;\n  padding: 0.35714286em 0.71428571em;\n  margin: 0.21428571em 0.28571429rem 0.21428571em 0em;\n  box-shadow: 0px 0px 0px 1px rgba(34, 36, 38, 0.15) inset;\n}\n\n/* Dropdown Icon */\n\n.ui.multiple.dropdown .dropdown.icon {\n  margin: 0em -0.71428571em 0em 0em;\n  padding: 0.5em;\n}\n\n/* Text */\n\n.ui.multiple.dropdown > .text {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n\n.ui.multiple.dropdown > .label ~ .text {\n  display: none;\n}\n\n/*-----------------\n  Multiple Search\n-----------------*/\n\n/* Prompt Text */\n\n.ui.multiple.search.dropdown > .text {\n  display: inline-block;\n  position: absolute;\n  top: 0;\n  left: 0;\n  padding: inherit;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  line-height: 1.2142em;\n}\n\n.ui.multiple.search.dropdown > .label ~ .text {\n  display: none;\n}\n\n/* Search */\n\n.ui.multiple.search.dropdown > input.search {\n  position: static;\n  padding: 0;\n  max-width: 100%;\n  margin: 0.45240952em 0em 0.45240952em 0.71428571em;\n  width: 2.2em;\n  line-height: 1.2142em;\n}\n\n/*--------------\n     Inline\n---------------*/\n\n.ui.inline.dropdown {\n  cursor: pointer;\n  display: inline-block;\n  color: inherit;\n}\n\n.ui.inline.dropdown .dropdown.icon {\n  margin: 0em 0.5em 0em 0.25em;\n  vertical-align: baseline;\n}\n\n.ui.inline.dropdown > .text {\n  font-weight: bold;\n}\n\n.ui.inline.dropdown .menu {\n  cursor: auto;\n  margin-top: 0.25em;\n  border-radius: 0.28571429rem;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n        Active\n----------------------*/\n\n/* Menu Item Active */\n\n.ui.dropdown .menu .active.item {\n  background: transparent;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.95);\n  box-shadow: none;\n  z-index: 12;\n}\n\n/*--------------------\n        Hover\n----------------------*/\n\n/* Menu Item Hover */\n\n.ui.dropdown .menu > .item:hover {\n  background: rgba(0, 0, 0, 0.05);\n  color: rgba(0, 0, 0, 0.95);\n  z-index: 13;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n/* Positioning */\n\n.ui.loading.dropdown > i.icon:before,\n.ui.loading.dropdown > i.icon:after {\n  left: 30% !important;\n}\n\n.ui.loading.dropdown > i.icon {\n  top: 50% !important;\n}\n\n.ui.multiple.loading.dropdown > i.icon:before,\n.ui.multiple.loading.dropdown > i.icon:after {\n  top: 0% !important;\n  left: 0% !important;\n}\n\n.ui.loading.dropdown > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.loading.dropdown > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  box-shadow: 0px 0px 0px 1px transparent;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: dropdown-spin 0.6s linear;\n  animation: dropdown-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n}\n\n/* Coupling */\n\n.ui.loading.dropdown.button > i.icon:before,\n.ui.loading.dropdown.button > i.icon:after {\n  display: none;\n}\n\n@-webkit-keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n@keyframes dropdown-spin {\n  from {\n    -webkit-transform: rotate(0deg);\n    transform: rotate(0deg);\n  }\n\n  to {\n    -webkit-transform: rotate(360deg);\n    transform: rotate(360deg);\n  }\n}\n\n/*--------------------\n     Default Text\n----------------------*/\n\n.ui.dropdown > .default.text,\n.ui.default.dropdown > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n\n.ui.dropdown:hover > .default.text,\n.ui.default.dropdown:hover > .text {\n  color: rgba(179, 179, 179, 0.7);\n}\n\n/*--------------------\n        Loading\n----------------------*/\n\n.ui.loading.dropdown > .text {\n  -webkit-transition: none;\n  transition: none;\n}\n\n/* Used To Check Position */\n\n.ui.dropdown .loading.menu {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n\n/*--------------------\n    Keyboard Select\n----------------------*/\n\n/* Selected Item */\n\n.ui.dropdown.selected,\n.ui.dropdown .menu .selected.item {\n  background: rgba(0, 0, 0, 0.03);\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n    Search Filtered\n----------------------*/\n\n/* Filtered Item */\n\n.ui.dropdown > .filtered.text {\n  visibility: hidden;\n}\n\n.ui.dropdown .filtered.item {\n  display: none !important;\n}\n\n/*--------------------\n        Error\n----------------------*/\n\n.ui.dropdown.error,\n.ui.dropdown.error > .text,\n.ui.dropdown.error > .default.text {\n  color: #9F3A38;\n}\n\n.ui.selection.dropdown.error {\n  background: #FFF6F6;\n  border-color: #E0B4B4;\n}\n\n.ui.selection.dropdown.error:hover {\n  border-color: #E0B4B4;\n}\n\n.ui.dropdown.error > .menu,\n.ui.dropdown.error > .menu .menu {\n  border-color: #E0B4B4;\n}\n\n.ui.dropdown.error > .menu > .item {\n  color: #9F3A38;\n}\n\n.ui.multiple.selection.error.dropdown > .label {\n  border-color: #E0B4B4;\n}\n\n/* Item Hover */\n\n.ui.dropdown.error > .menu > .item:hover {\n  background-color: #FFF2F2;\n}\n\n/* Item Active */\n\n.ui.dropdown.error > .menu .active.item {\n  background-color: #FDCFCF;\n}\n\n/*--------------------\n        Disabled\n----------------------*/\n\n/* Disabled */\n\n.ui.disabled.dropdown,\n.ui.dropdown .menu > .disabled.item {\n  cursor: default;\n  pointer-events: none;\n  opacity: 0.45;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Direction\n---------------*/\n\n/* Flyout Direction */\n\n.ui.dropdown .menu {\n  left: 0px;\n}\n\n/* Default Side (Right) */\n\n.ui.dropdown .right.menu > .menu,\n.ui.dropdown .menu .right.menu {\n  left: 100% !important;\n  right: auto !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/* Left Flyout Menu */\n\n.ui.dropdown > .left.menu .menu,\n.ui.dropdown .menu .left.menu {\n  left: auto !important;\n  right: 100% !important;\n  border-radius: 0.28571429rem !important;\n}\n\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n\n.ui.dropdown .item .left.dropdown.icon,\n.ui.dropdown .left.menu .item .dropdown.icon {\n  width: auto;\n  float: left;\n  margin: 0em 0.71428571rem 0em 0em;\n}\n\n.ui.dropdown .item .left.dropdown.icon + .text,\n.ui.dropdown .left.menu .item .dropdown.icon + .text {\n  margin-left: 1em;\n}\n\n/*--------------\n     Upward\n---------------*/\n\n/* Upward Main Menu */\n\n.ui.upward.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Upward Sub Menu */\n\n.ui.dropdown .upward.menu {\n  top: auto !important;\n  bottom: 0 !important;\n}\n\n/* Active Upward */\n\n.ui.simple.upward.active.dropdown,\n.ui.simple.upward.dropdown:hover {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em !important;\n}\n\n.ui.upward.dropdown.button:not(.pointing):not(.floating).active {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/* Selection */\n\n.ui.upward.selection.dropdown .menu {\n  border-top-width: 1px !important;\n  border-bottom-width: 0px !important;\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n\n.ui.upward.selection.dropdown:hover {\n  box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, 0.05);\n}\n\n/* Active Upward */\n\n.ui.active.upward.selection.dropdown {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Upward */\n\n.ui.upward.selection.dropdown.visible {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.08);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem !important;\n}\n\n/* Visible Hover Upward */\n\n.ui.upward.active.selection.dropdown:hover {\n  box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, 0.05);\n}\n\n.ui.upward.active.selection.dropdown:hover .menu {\n  box-shadow: 0px -2px 3px 0px rgba(0, 0, 0, 0.08);\n}\n\n/*--------------\n     Simple\n---------------*/\n\n/*  Selection Menu */\n\n.ui.scrolling.dropdown .menu,\n.ui.dropdown .scrolling.menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n}\n\n.ui.scrolling.dropdown .menu {\n  overflow-x: hidden;\n  overflow-y: auto;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  min-width: 100% !important;\n  width: auto !important;\n}\n\n.ui.dropdown .scrolling.menu {\n  position: static;\n  overflow-y: auto;\n  border: none;\n  box-shadow: none !important;\n  border-radius: 0 !important;\n  margin: 0 !important;\n  min-width: 100% !important;\n  width: auto !important;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.scrolling.dropdown .menu .item.item.item,\n.ui.dropdown .scrolling.menu > .item.item.item {\n  border-top: none;\n  padding-right: calc( 1.14285714rem  +  17px ) !important;\n}\n\n.ui.scrolling.dropdown .menu .item:first-child,\n.ui.dropdown .scrolling.menu .item:first-child {\n  border-top: none;\n}\n\n.ui.dropdown > .animating.menu .scrolling.menu,\n.ui.dropdown > .visible.menu .scrolling.menu {\n  display: block;\n}\n\n/* Scrollbar in IE */\n\n@media all and (-ms-high-contrast: none) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    min-width: calc(100% -  17px );\n  }\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 9.71428571rem;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 14.57142857rem;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.scrolling.dropdown .menu,\n  .ui.dropdown .scrolling.menu {\n    max-height: 19.42857143rem;\n  }\n}\n\n/*--------------\n     Simple\n---------------*/\n\n/* Displays without javascript */\n\n.ui.simple.dropdown .menu:before,\n.ui.simple.dropdown .menu:after {\n  display: none;\n}\n\n.ui.simple.dropdown .menu {\n  position: absolute;\n  display: block;\n  overflow: hidden;\n  top: -9999px !important;\n  opacity: 0;\n  width: 0;\n  height: 0;\n  -webkit-transition: opacity 0.1s ease;\n  transition: opacity 0.1s ease;\n}\n\n.ui.simple.active.dropdown,\n.ui.simple.dropdown:hover {\n  border-bottom-left-radius: 0em !important;\n  border-bottom-right-radius: 0em !important;\n}\n\n.ui.simple.active.dropdown > .menu,\n.ui.simple.dropdown:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 100% !important;\n  opacity: 1;\n}\n\n.ui.simple.dropdown > .menu > .item:active > .menu,\n.ui.simple.dropdown:hover > .menu > .item:hover > .menu {\n  overflow: visible;\n  width: auto;\n  height: auto;\n  top: 0% !important;\n  left: 100% !important;\n  opacity: 1;\n}\n\n.ui.simple.disabled.dropdown:hover .menu {\n  display: none;\n  height: 0px;\n  width: 0px;\n  overflow: hidden;\n}\n\n/* Visible */\n\n.ui.simple.visible.dropdown > .menu {\n  display: block;\n}\n\n/*--------------\n      Fluid\n---------------*/\n\n.ui.fluid.dropdown {\n  display: block;\n  width: 100%;\n  min-width: 0em;\n}\n\n.ui.fluid.dropdown > .dropdown.icon {\n  float: right;\n}\n\n/*--------------\n    Floating\n---------------*/\n\n.ui.floating.dropdown .menu {\n  left: 0;\n  right: auto;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08) !important;\n  border-radius: 0.28571429rem !important;\n}\n\n.ui.floating.dropdown > .menu {\n  margin-top: 0.5em !important;\n  border-radius: 0.28571429rem !important;\n}\n\n/*--------------\n     Pointing\n---------------*/\n\n.ui.pointing.dropdown > .menu {\n  top: 100%;\n  margin-top: 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n\n.ui.pointing.dropdown > .menu:after {\n  display: block;\n  position: absolute;\n  pointer-events: none;\n  content: '';\n  visibility: visible;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n  width: 0.5em;\n  height: 0.5em;\n  box-shadow: -1px -1px 0px 1px rgba(34, 36, 38, 0.15);\n  background: #FFFFFF;\n  z-index: 2;\n}\n\n.ui.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 50%;\n  margin: 0em 0em 0em -0.25em;\n}\n\n/* Top Left Pointing */\n\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n\n.ui.top.left.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  left: 0%;\n  right: auto;\n  margin: 1em 0em 0em;\n}\n\n.ui.top.left.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: 1em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n}\n\n/* Top Right  Pointing */\n\n.ui.top.right.pointing.dropdown > .menu {\n  top: 100%;\n  bottom: auto;\n  right: 0%;\n  left: auto;\n  margin: 1em 0em 0em;\n}\n\n.ui.top.right.pointing.dropdown > .menu:after {\n  top: -0.25em;\n  left: auto;\n  right: 1em;\n  margin: 0em;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n}\n\n/* Left Pointing */\n\n.ui.left.pointing.dropdown > .menu {\n  top: 0%;\n  left: 100%;\n  right: auto;\n  margin: 0em 0em 0em 1em;\n}\n\n.ui.left.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(-45deg);\n  -ms-transform: rotate(-45deg);\n  transform: rotate(-45deg);\n}\n\n/* Right Pointing */\n\n.ui.right.pointing.dropdown > .menu {\n  top: 0%;\n  left: auto;\n  right: 100%;\n  margin: 0em 1em 0em 0em;\n}\n\n.ui.right.pointing.dropdown > .menu:after {\n  top: 1em;\n  left: auto;\n  right: -0.25em;\n  margin: 0em 0em 0em 0em;\n  -webkit-transform: rotate(135deg);\n  -ms-transform: rotate(135deg);\n  transform: rotate(135deg);\n}\n\n/* Bottom Pointing */\n\n.ui.bottom.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  left: 0%;\n  right: auto;\n  margin: 0em 0em 1em;\n}\n\n.ui.bottom.pointing.dropdown > .menu:after {\n  top: auto;\n  bottom: -0.25em;\n  right: auto;\n  margin: 0em;\n  -webkit-transform: rotate(-135deg);\n  -ms-transform: rotate(-135deg);\n  transform: rotate(-135deg);\n}\n\n/* Reverse Sub-Menu Direction */\n\n.ui.bottom.pointing.dropdown > .menu .menu {\n  top: auto !important;\n  bottom: 0px !important;\n}\n\n/* Bottom Left */\n\n.ui.bottom.left.pointing.dropdown > .menu {\n  left: 0%;\n  right: auto;\n}\n\n.ui.bottom.left.pointing.dropdown > .menu:after {\n  left: 1em;\n  right: auto;\n}\n\n/* Bottom Right */\n\n.ui.bottom.right.pointing.dropdown > .menu {\n  right: 0%;\n  left: auto;\n}\n\n.ui.bottom.right.pointing.dropdown > .menu:after {\n  left: auto;\n  right: 1em;\n}\n\n/* Upward pointing */\n\n.ui.upward.pointing.dropdown > .menu,\n.ui.upward.top.pointing.dropdown > .menu {\n  top: auto;\n  bottom: 100%;\n  margin: 0em 0em 0.71428571rem;\n  border-radius: 0.28571429rem;\n}\n\n.ui.upward.pointing.dropdown > .menu:after,\n.ui.upward.top.pointing.dropdown > .menu:after {\n  top: 100%;\n  bottom: auto;\n  box-shadow: 1px 1px 0px 1px rgba(34, 36, 38, 0.15);\n  margin: -0.25em 0em 0em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/* Dropdown Carets */\n\n@font-face {\n  font-family: 'Dropdown';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjB5AAAAC8AAAAYGNtYXAPfuIIAAABHAAAAExnYXNwAAAAEAAAAWgAAAAIZ2x5Zjo82LgAAAFwAAABVGhlYWQAQ88bAAACxAAAADZoaGVhAwcB6QAAAvwAAAAkaG10eAS4ABIAAAMgAAAAIGxvY2EBNgDeAAADQAAAABJtYXhwAAoAFgAAA1QAAAAgbmFtZVcZpu4AAAN0AAABRXBvc3QAAwAAAAAEvAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADw2gHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEADgAAAAKAAgAAgACAAEAIPDa//3//wAAAAAAIPDX//3//wAB/+MPLQADAAEAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAIABJQElABMAABM0NzY3BTYXFhUUDwEGJwYvASY1AAUGBwEACAUGBoAFCAcGgAUBEgcGBQEBAQcECQYHfwYBAQZ/BwYAAQAAAG4BJQESABMAADc0PwE2MzIfARYVFAcGIyEiJyY1AAWABgcIBYAGBgUI/wAHBgWABwaABQWABgcHBgUFBgcAAAABABIASQC3AW4AEwAANzQ/ATYXNhcWHQEUBwYnBi8BJjUSBoAFCAcFBgYFBwgFgAbbBwZ/BwEBBwQJ/wgEBwEBB38GBgAAAAABAAAASQClAW4AEwAANxE0NzYzMh8BFhUUDwEGIyInJjUABQYHCAWABgaABQgHBgVbAQAIBQYGgAUIBwWABgYFBwAAAAEAAAABAADZuaKOXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAAAAACgAUAB4AQgBkAIgAqgAAAAEAAAAIABQAAQAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAOAK4AAQAAAAAAAQAOAAAAAQAAAAAAAgAOAEcAAQAAAAAAAwAOACQAAQAAAAAABAAOAFUAAQAAAAAABQAWAA4AAQAAAAAABgAHADIAAQAAAAAACgA0AGMAAwABBAkAAQAOAAAAAwABBAkAAgAOAEcAAwABBAkAAwAOACQAAwABBAkABAAOAFUAAwABBAkABQAWAA4AAwABBAkABgAOADkAAwABBAkACgA0AGMAaQBjAG8AbQBvAG8AbgBWAGUAcgBzAGkAbwBuACAAMQAuADAAaQBjAG8AbQBvAG8Abmljb21vb24AaQBjAG8AbQBvAG8AbgBSAGUAZwB1AGwAYQByAGkAYwBvAG0AbwBvAG4ARgBvAG4AdAAgAGcAZQBuAGUAcgBhAHQAZQBkACAAYgB5ACAASQBjAG8ATQBvAG8AbgAuAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AAAVwAAoAAAAABSgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAAdkAAAHZLDXE/09TLzIAAALQAAAAYAAAAGAIIweQY21hcAAAAzAAAABMAAAATA9+4ghnYXNwAAADfAAAAAgAAAAIAAAAEGhlYWQAAAOEAAAANgAAADYAQ88baGhlYQAAA7wAAAAkAAAAJAMHAelobXR4AAAD4AAAACAAAAAgBLgAEm1heHAAAAQAAAAABgAAAAYACFAAbmFtZQAABAgAAAFFAAABRVcZpu5wb3N0AAAFUAAAACAAAAAgAAMAAAEABAQAAQEBCGljb21vb24AAQIAAQA6+BwC+BsD+BgEHgoAGVP/i4seCgAZU/+LiwwHi2v4lPh0BR0AAACIDx0AAACNER0AAAAJHQAAAdASAAkBAQgPERMWGyAlKmljb21vb25pY29tb29udTB1MXUyMHVGMEQ3dUYwRDh1RjBEOXVGMERBAAACAYkABgAIAgABAAQABwAKAA0AVgCfAOgBL/yUDvyUDvyUDvuUDvtvi/emFYuQjZCOjo+Pj42Qiwj3lIsFkIuQiY6Hj4iNhouGi4aJh4eHCPsU+xQFiIiGiYaLhouHjYeOCPsU9xQFiI+Jj4uQCA77b4v3FBWLkI2Pjo8I9xT3FAWPjo+NkIuQi5CJjogI9xT7FAWPh42Hi4aLhomHh4eIiIaJhosI+5SLBYaLh42HjoiPiY+LkAgO+92d928Vi5CNkI+OCPcU9xQFjo+QjZCLkIuPiY6Hj4iNhouGCIv7lAWLhomHh4iIh4eJhouGi4aNiI8I+xT3FAWHjomPi5AIDvvdi+YVi/eUBYuQjZCOjo+Pj42Qi5CLkImOhwj3FPsUBY+IjYaLhouGiYeHiAj7FPsUBYiHhomGi4aLh42Hj4iOiY+LkAgO+JQU+JQViwwKAAAAAAMCAAGQAAUAAAFMAWYAAABHAUwBZgAAAPUAGQCEAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAA8NoB4P/g/+AB4AAgAAAAAQAAAAAAAAAAAAAAIAAAAAAAAgAAAAMAAAAUAAMAAQAAABQABAA4AAAACgAIAAIAAgABACDw2v/9//8AAAAAACDw1//9//8AAf/jDy0AAwABAAAAAAAAAAAAAAABAAH//wAPAAEAAAABAAA5emozXw889QALAgAAAAAA0ABHWAAAAADQAEdYAAAAAAElAW4AAAAIAAIAAAAAAAAAAQAAAeD/4AAAAgAAAAAAASUAAQAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAABAAAAASUAAAElAAAAtwASALcAAAAAUAAACAAAAAAADgCuAAEAAAAAAAEADgAAAAEAAAAAAAIADgBHAAEAAAAAAAMADgAkAAEAAAAAAAQADgBVAAEAAAAAAAUAFgAOAAEAAAAAAAYABwAyAAEAAAAAAAoANABjAAMAAQQJAAEADgAAAAMAAQQJAAIADgBHAAMAAQQJAAMADgAkAAMAAQQJAAQADgBVAAMAAQQJAAUAFgAOAAMAAQQJAAYADgA5AAMAAQQJAAoANABjAGkAYwBvAG0AbwBvAG4AVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG0AbwBvAG5pY29tb29uAGkAYwBvAG0AbwBvAG4AUgBlAGcAdQBsAGEAcgBpAGMAbwBtAG8AbwBuAEYAbwBuAHQAIABnAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAEkAYwBvAE0AbwBvAG4ALgAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\") format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.ui.dropdown > .dropdown.icon {\n  font-family: 'Dropdown';\n  line-height: 1;\n  height: 1em;\n  width: 1.23em;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n.ui.dropdown > .dropdown.icon {\n  width: auto;\n}\n\n.ui.dropdown > .dropdown.icon:before {\n  content: '\\f0d7';\n}\n\n/* Sub Menu */\n\n.ui.dropdown .menu .item .dropdown.icon:before {\n  content: '\\f0da' ;\n}\n\n.ui.dropdown .item .left.dropdown.icon:before,\n.ui.dropdown .left.menu .item .dropdown.icon:before {\n  content: \"\\f0d9\" ;\n}\n\n/* Vertical Menu Dropdown */\n\n.ui.vertical.menu .dropdown.item > .dropdown.icon:before {\n  content: \"\\f0da\" ;\n}\n\n/* Icons for Reference\n.dropdown.down.icon {\n  content: \"\\f0d7\";\n}\n.dropdown.up.icon {\n  content: \"\\f0d8\";\n}\n.dropdown.left.icon {\n  content: \"\\f0d9\";\n}\n.dropdown.icon.icon {\n  content: \"\\f0da\";\n}\n*/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Types\n*******************************/\n\n.ui.embed {\n  position: relative;\n  max-width: 100%;\n  height: 0px;\n  overflow: hidden;\n  background: #DCDDDE;\n  padding-bottom: 56.25%;\n}\n\n/*-----------------\n  Embedded Content\n------------------*/\n\n.ui.embed iframe,\n.ui.embed embed,\n.ui.embed object {\n  position: absolute;\n  border: none;\n  width: 100%;\n  height: 100%;\n  top: 0px;\n  left: 0px;\n  margin: 0em;\n  padding: 0em;\n}\n\n/*-----------------\n      Embed\n------------------*/\n\n.ui.embed > .embed {\n  display: none;\n}\n\n/*--------------\n   Placeholder\n---------------*/\n\n.ui.embed > .placeholder {\n  position: absolute;\n  cursor: pointer;\n  top: 0px;\n  left: 0px;\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-color: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n}\n\n/*--------------\n      Icon\n---------------*/\n\n.ui.embed > .icon {\n  cursor: pointer;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  width: 100%;\n  height: 100%;\n  z-index: 2;\n}\n\n.ui.embed > .icon:after {\n  position: absolute;\n  top: 0%;\n  left: 0%;\n  width: 100%;\n  height: 100%;\n  z-index: 3;\n  content: '';\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 0.5;\n  -webkit-transition: opacity 0.5s ease;\n  transition: opacity 0.5s ease;\n}\n\n.ui.embed > .icon:before {\n  position: absolute;\n  top: 50%;\n  left: 50%;\n  z-index: 4;\n  -webkit-transform: translateX(-50%) translateY(-50%);\n  -ms-transform: translateX(-50%) translateY(-50%);\n  transform: translateX(-50%) translateY(-50%);\n  color: #FFFFFF;\n  font-size: 6rem;\n  text-shadow: 0px 2px 10px rgba(34, 36, 38, 0.2);\n  -webkit-transition: opacity 0.5s ease, color 0.5s ease;\n  transition: opacity 0.5s ease, color 0.5s ease;\n  z-index: 10;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n     Hover\n---------------*/\n\n.ui.embed .icon:hover:after {\n  background: -webkit-radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  background: radial-gradient(transparent 45%, rgba(0, 0, 0, 0.3));\n  opacity: 1;\n}\n\n.ui.embed .icon:hover:before {\n  color: #FFFFFF;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.embed > .icon,\n.ui.active.embed > .placeholder {\n  display: none;\n}\n\n.ui.active.embed > .embed {\n  display: block;\n}\n\n/*******************************\n        Video Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.square.embed {\n  padding-bottom: 100%;\n}\n\n.ui[class*=\"4:3\"].embed {\n  padding-bottom: 75%;\n}\n\n.ui[class*=\"16:9\"].embed {\n  padding-bottom: 56.25%;\n}\n\n.ui[class*=\"21:9\"].embed {\n  padding-bottom: 42.85714286%;\n}\n/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Modal\n*******************************/\n\n.ui.modal {\n  display: none;\n  position: fixed;\n  z-index: 1001;\n  top: 50%;\n  left: 50%;\n  text-align: left;\n  background: #FFFFFF;\n  border: none;\n  box-shadow: 1px 3px 3px 0px rgba(0, 0, 0, 0.2), 1px 3px 15px 2px rgba(0, 0, 0, 0.2);\n  -webkit-transform-origin: 50% 25%;\n  -ms-transform-origin: 50% 25%;\n  transform-origin: 50% 25%;\n  border-radius: 0.28571429rem;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n  will-change: top, left, margin, transform, opacity;\n}\n\n.ui.modal > :first-child:not(.icon),\n.ui.modal > .icon:first-child + * {\n  border-top-left-radius: 0.28571429rem;\n  border-top-right-radius: 0.28571429rem;\n}\n\n.ui.modal > :last-child {\n  border-bottom-left-radius: 0.28571429rem;\n  border-bottom-right-radius: 0.28571429rem;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/*--------------\n     Close\n---------------*/\n\n.ui.modal > .close {\n  cursor: pointer;\n  position: absolute;\n  top: -2.5rem;\n  right: -2.5rem;\n  z-index: 1;\n  opacity: 0.8;\n  font-size: 1.25em;\n  color: #FFFFFF;\n  width: 2.25rem;\n  height: 2.25rem;\n  padding: 0.625rem 0rem 0rem 0rem;\n}\n\n.ui.modal > .close:hover {\n  opacity: 1;\n}\n\n/*--------------\n     Header\n---------------*/\n\n.ui.modal > .header {\n  display: block;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  background: #FFFFFF;\n  margin: 0em;\n  padding: 1.25rem 1.5rem;\n  box-shadow: none;\n  color: rgba(0, 0, 0, 0.85);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.15);\n}\n\n.ui.modal > .header:not(.ui) {\n  font-size: 1.42857143rem;\n  line-height: 1.2857em;\n  font-weight: bold;\n}\n\n/*--------------\n     Content\n---------------*/\n\n.ui.modal > .content {\n  display: block;\n  width: 100%;\n  font-size: 1em;\n  line-height: 1.4;\n  padding: 1.5rem;\n  background: #FFFFFF;\n}\n\n.ui.modal > .image.content {\n  display: -webkit-box;\n  display: -webkit-flex;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n  -webkit-flex-direction: row;\n  -ms-flex-direction: row;\n  flex-direction: row;\n}\n\n/* Image */\n\n.ui.modal > .content > .image {\n  display: block;\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  width: '';\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.modal > [class*=\"top aligned\"] {\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.modal > [class*=\"middle aligned\"] {\n  -webkit-align-self: middle;\n  -ms-flex-item-align: middle;\n  align-self: middle;\n}\n\n.ui.modal > [class*=\"stretched\"] {\n  -webkit-align-self: stretch;\n  -ms-flex-item-align: stretch;\n  align-self: stretch;\n}\n\n/* Description */\n\n.ui.modal > .content > .description {\n  display: block;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  min-width: 0px;\n  -webkit-align-self: top;\n  -ms-flex-item-align: top;\n  align-self: top;\n}\n\n.ui.modal > .content > .icon + .description,\n.ui.modal > .content > .image + .description {\n  -webkit-box-flex: 0;\n  -webkit-flex: 0 1 auto;\n  -ms-flex: 0 1 auto;\n  flex: 0 1 auto;\n  min-width: '';\n  width: auto;\n  padding-left: 2em;\n}\n\n/*rtl:ignore*/\n\n.ui.modal > .content > .image > i.icon {\n  margin: 0em;\n  opacity: 1;\n  width: auto;\n  line-height: 1;\n  font-size: 8rem;\n}\n\n/*--------------\n     Actions\n---------------*/\n\n.ui.modal > .actions {\n  background: #F9FAFB;\n  padding: 1rem 1rem;\n  border-top: 1px solid rgba(34, 36, 38, 0.15);\n  text-align: right;\n}\n\n.ui.modal .actions > .button {\n  margin-left: 0.75em;\n}\n\n/*-------------------\n       Responsive\n--------------------*/\n\n/* Modal Width */\n\n@media only screen and (max-width: 767px) {\n  .ui.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.modal {\n    width: 850px;\n    margin: 0em 0em 0em -425px;\n  }\n}\n\n@media only screen and (min-width: 1200px) {\n  .ui.modal {\n    width: 900px;\n    margin: 0em 0em 0em -450px;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.modal {\n    width: 950px;\n    margin: 0em 0em 0em -475px;\n  }\n}\n\n/* Tablet and Mobile */\n\n@media only screen and (max-width: 991px) {\n  .ui.modal > .header {\n    padding-right: 2.25rem;\n  }\n\n  .ui.modal > .close {\n    top: 1.0535rem;\n    right: 1rem;\n    color: rgba(0, 0, 0, 0.87);\n  }\n}\n\n/* Mobile */\n\n@media only screen and (max-width: 767px) {\n  .ui.modal > .header {\n    padding: 0.75rem 1rem !important;\n    padding-right: 2.25rem !important;\n  }\n\n  .ui.modal > .content {\n    display: block;\n    padding: 1rem !important;\n  }\n\n  .ui.modal > .close {\n    top: 0.5rem !important;\n    right: 0.5rem !important;\n  }\n\n  /*rtl:ignore*/\n\n  .ui.modal .image.content {\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n    -webkit-flex-direction: column;\n    -ms-flex-direction: column;\n    flex-direction: column;\n  }\n\n  .ui.modal .content > .image {\n    display: block;\n    max-width: 100%;\n    margin: 0em auto !important;\n    text-align: center;\n    padding: 0rem 0rem 1rem !important;\n  }\n\n  .ui.modal > .content > .image > i.icon {\n    font-size: 5rem;\n    text-align: center;\n  }\n\n  /*rtl:ignore*/\n\n  .ui.modal .content > .description {\n    display: block;\n    width: 100% !important;\n    margin: 0em !important;\n    padding: 1rem 0rem !important;\n    box-shadow: none;\n  }\n\n  /* Let Buttons Stack */\n\n  .ui.modal > .actions {\n    padding: 1rem 1rem 0rem !important;\n  }\n\n  .ui.modal .actions > .buttons,\n  .ui.modal .actions > .button {\n    margin-bottom: 1rem;\n  }\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.inverted.dimmer > .ui.modal {\n  box-shadow: 1px 3px 10px 2px rgba(0, 0, 0, 0.2);\n}\n\n/*******************************\n             Types\n*******************************/\n\n.ui.basic.modal {\n  background-color: transparent;\n  border: none;\n  border-radius: 0em;\n  box-shadow: none !important;\n  color: #FFFFFF;\n}\n\n.ui.basic.modal > .header,\n.ui.basic.modal > .content,\n.ui.basic.modal > .actions {\n  background-color: transparent;\n}\n\n.ui.basic.modal > .header {\n  color: #FFFFFF;\n}\n\n.ui.basic.modal > .close {\n  top: 1rem;\n  right: 1.5rem;\n}\n\n.ui.inverted.dimmer > .basic.modal {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.inverted.dimmer > .ui.basic.modal > .header {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Tablet and Mobile */\n\n@media only screen and (max-width: 991px) {\n  .ui.basic.modal > .close {\n    color: #FFFFFF;\n  }\n}\n\n/*******************************\n             States\n*******************************/\n\n.ui.active.modal {\n  display: block;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Scrolling\n---------------*/\n\n/* A modal that cannot fit on the page */\n\n.scrolling.dimmable.dimmed {\n  overflow: hidden;\n}\n\n.scrolling.dimmable.dimmed > .dimmer {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scrolling.dimmable > .dimmer {\n  position: fixed;\n}\n\n.modals.dimmer .ui.scrolling.modal {\n  position: static !important;\n  margin: 3.5rem auto !important;\n}\n\n/* undetached scrolling */\n\n.scrolling.undetached.dimmable.dimmed {\n  overflow: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n.scrolling.undetached.dimmable.dimmed > .dimmer {\n  overflow: hidden;\n}\n\n.scrolling.undetached.dimmable .ui.scrolling.modal {\n  position: absolute;\n  left: 50%;\n  margin-top: 3.5rem !important;\n}\n\n/* Coupling with Sidebar */\n\n.undetached.dimmable.dimmed > .pusher {\n  z-index: auto;\n}\n\n@media only screen and (max-width: 991px) {\n  .modals.dimmer .ui.scrolling.modal {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n}\n\n/*--------------\n   Full Screen\n---------------*/\n\n.ui.fullscreen.modal {\n  width: 95% !important;\n  left: 2.5% !important;\n  margin: 1em auto;\n}\n\n.ui.fullscreen.scrolling.modal {\n  left: 0em !important;\n}\n\n.ui.fullscreen.modal > .header {\n  padding-right: 2.25rem;\n}\n\n.ui.fullscreen.modal > .close {\n  top: 1.0535rem;\n  right: 1rem;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*--------------\n      Size\n---------------*/\n\n.ui.modal {\n  font-size: 1rem;\n}\n\n/* Small */\n\n.ui.small.modal > .header:not(.ui) {\n  font-size: 1.3em;\n}\n\n/* Small Modal Width */\n\n@media only screen and (max-width: 767px) {\n  .ui.small.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.small.modal {\n    width: 70.4%;\n    margin: 0em 0em 0em -35.2%;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.small.modal {\n    width: 680px;\n    margin: 0em 0em 0em -340px;\n  }\n}\n\n@media only screen and (min-width: 1200px) {\n  .ui.small.modal {\n    width: 720px;\n    margin: 0em 0em 0em -360px;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.small.modal {\n    width: 760px;\n    margin: 0em 0em 0em -380px;\n  }\n}\n\n/* Large Modal Width */\n\n.ui.large.modal > .header {\n  font-size: 1.6em;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.large.modal {\n    width: 95%;\n    margin: 0em 0em 0em -47.5%;\n  }\n}\n\n@media only screen and (min-width: 768px) {\n  .ui.large.modal {\n    width: 88%;\n    margin: 0em 0em 0em -44%;\n  }\n}\n\n@media only screen and (min-width: 992px) {\n  .ui.large.modal {\n    width: 1020px;\n    margin: 0em 0em 0em -510px;\n  }\n}\n\n@media only screen and (min-width: 1200px) {\n  .ui.large.modal {\n    width: 1080px;\n    margin: 0em 0em 0em -540px;\n  }\n}\n\n@media only screen and (min-width: 1920px) {\n  .ui.large.modal {\n    width: 1140px;\n    margin: 0em 0em 0em -570px;\n  }\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Nag\n*******************************/\n\n.ui.nag {\n  display: none;\n  opacity: 0.95;\n  position: relative;\n  top: 0em;\n  left: 0px;\n  z-index: 999;\n  min-height: 0em;\n  width: 100%;\n  margin: 0em;\n  padding: 0.75em 1em;\n  background: #555555;\n  box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.2);\n  font-size: 1rem;\n  text-align: center;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n  -webkit-transition: 0.2s background ease;\n  transition: 0.2s background ease;\n}\n\na.ui.nag {\n  cursor: pointer;\n}\n\n.ui.nag > .title {\n  display: inline-block;\n  margin: 0em 0.5em;\n  color: #FFFFFF;\n}\n\n.ui.nag > .close.icon {\n  cursor: pointer;\n  opacity: 0.4;\n  position: absolute;\n  top: 50%;\n  right: 1em;\n  font-size: 1em;\n  margin: -0.5em 0em 0em;\n  color: #FFFFFF;\n  -webkit-transition: opacity 0.2s ease;\n  transition: opacity 0.2s ease;\n}\n\n/*******************************\n             States\n*******************************/\n\n/* Hover */\n\n.ui.nag:hover {\n  background: #555555;\n  opacity: 1;\n}\n\n.ui.nag .close:hover {\n  opacity: 1;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n     Static\n---------------*/\n\n.ui.overlay.nag {\n  position: absolute;\n  display: block;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.ui.fixed.nag {\n  position: fixed;\n}\n\n/*--------------\n     Bottom\n---------------*/\n\n.ui.bottom.nags,\n.ui.bottom.nag {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n  top: auto;\n  bottom: 0em;\n}\n\n/*--------------\n     White\n---------------*/\n\n.ui.inverted.nags .nag,\n.ui.inverted.nag {\n  background-color: #F3F4F5;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.inverted.nags .nag .close,\n.ui.inverted.nags .nag .title,\n.ui.inverted.nag .close,\n.ui.inverted.nag .title {\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*******************************\n           Groups\n*******************************/\n\n.ui.nags .nag {\n  border-radius: 0em !important;\n}\n\n.ui.nags .nag:last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.bottom.nags .nag:last-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Popup\n*******************************/\n\n.ui.popup {\n  display: none;\n  position: absolute;\n  top: 0px;\n  right: 0px;\n  /* Fixes content being squished when inline (moz only) */\n  min-width: -webkit-min-content;\n  min-width: -moz-min-content;\n  min-width: min-content;\n  z-index: 1900;\n  border: 1px solid #D4D4D5;\n  line-height: 1.4285em;\n  max-width: 250px;\n  background: #FFFFFF;\n  padding: 0.833em 1em;\n  font-weight: normal;\n  font-style: normal;\n  color: rgba(0, 0, 0, 0.87);\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n}\n\n.ui.popup > .header {\n  padding: 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1.125em;\n  line-height: 1.2;\n  font-weight: bold;\n}\n\n.ui.popup > .header + .content {\n  padding-top: 0.5em;\n}\n\n.ui.popup:before {\n  position: absolute;\n  content: '';\n  width: 0.75em;\n  height: 0.75em;\n  background: #FFFFFF;\n  -webkit-transform: rotate(45deg);\n  -ms-transform: rotate(45deg);\n  transform: rotate(45deg);\n  z-index: 2;\n  box-shadow: 1px 1px 0px 0px #bababc;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/*--------------\n     Spacing\n---------------*/\n\n.ui.popup {\n  margin: 0em;\n}\n\n/* Extending from Top */\n\n.ui.top.popup {\n  margin: 0em 0em 0.75em;\n}\n\n.ui.top.left.popup {\n  -webkit-transform-origin: left bottom;\n  -ms-transform-origin: left bottom;\n  transform-origin: left bottom;\n}\n\n.ui.top.center.popup {\n  -webkit-transform-origin: center bottom;\n  -ms-transform-origin: center bottom;\n  transform-origin: center bottom;\n}\n\n.ui.top.right.popup {\n  -webkit-transform-origin: right bottom;\n  -ms-transform-origin: right bottom;\n  transform-origin: right bottom;\n}\n\n/* Extending from Vertical Center */\n\n.ui.left.center.popup {\n  margin: 0em 0.75em 0em 0em;\n  -webkit-transform-origin: right 50%;\n  -ms-transform-origin: right 50%;\n  transform-origin: right 50%;\n}\n\n.ui.right.center.popup {\n  margin: 0em 0em 0em 0.75em;\n  -webkit-transform-origin: left 50%;\n  -ms-transform-origin: left 50%;\n  transform-origin: left 50%;\n}\n\n/* Extending from Bottom */\n\n.ui.bottom.popup {\n  margin: 0.75em 0em 0em;\n}\n\n.ui.bottom.left.popup {\n  -webkit-transform-origin: left top;\n  -ms-transform-origin: left top;\n  transform-origin: left top;\n}\n\n.ui.bottom.center.popup {\n  -webkit-transform-origin: center top;\n  -ms-transform-origin: center top;\n  transform-origin: center top;\n}\n\n.ui.bottom.right.popup {\n  -webkit-transform-origin: right top;\n  -ms-transform-origin: right top;\n  transform-origin: right top;\n}\n\n/*--------------\n     Pointer\n---------------*/\n\n/*--- Below ---*/\n\n.ui.bottom.center.popup:before {\n  margin-left: -0.325em;\n  top: -0.325em;\n  left: 50%;\n  right: auto;\n  bottom: auto;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n.ui.bottom.left.popup {\n  margin-left: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.bottom.left.popup:before {\n  top: -0.325em;\n  left: 1em;\n  right: auto;\n  bottom: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n.ui.bottom.right.popup {\n  margin-right: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.bottom.right.popup:before {\n  top: -0.325em;\n  right: 1em;\n  bottom: auto;\n  left: auto;\n  margin-left: 0em;\n  box-shadow: -1px -1px 0px 0px #bababc;\n}\n\n/*--- Above ---*/\n\n.ui.top.center.popup:before {\n  top: auto;\n  right: auto;\n  bottom: -0.325em;\n  left: 50%;\n  margin-left: -0.325em;\n}\n\n.ui.top.left.popup {\n  margin-left: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.top.left.popup:before {\n  bottom: -0.325em;\n  left: 1em;\n  top: auto;\n  right: auto;\n  margin-left: 0em;\n}\n\n.ui.top.right.popup {\n  margin-right: 0em;\n}\n\n/*rtl:rename*/\n\n.ui.top.right.popup:before {\n  bottom: -0.325em;\n  right: 1em;\n  top: auto;\n  left: auto;\n  margin-left: 0em;\n}\n\n/*--- Left Center ---*/\n\n/*rtl:rename*/\n\n.ui.left.center.popup:before {\n  top: 50%;\n  right: -0.325em;\n  bottom: auto;\n  left: auto;\n  margin-top: -0.325em;\n  box-shadow: 1px -1px 0px 0px #bababc;\n}\n\n/*--- Right Center  ---*/\n\n/*rtl:rename*/\n\n.ui.right.center.popup:before {\n  top: 50%;\n  left: -0.325em;\n  bottom: auto;\n  right: auto;\n  margin-top: -0.325em;\n  box-shadow: -1px 1px 0px 0px #bababc;\n}\n\n/* Arrow Color By Location */\n\n.ui.bottom.popup:before {\n  background: #FFFFFF;\n}\n\n.ui.right.center.popup:before,\n.ui.left.center.popup:before {\n  background: #FFFFFF;\n}\n\n.ui.top.popup:before {\n  background: #FFFFFF;\n}\n\n/* Inverted Arrow Color */\n\n.ui.inverted.bottom.popup:before {\n  background: #1B1C1D;\n}\n\n.ui.inverted.right.center.popup:before,\n.ui.inverted.left.center.popup:before {\n  background: #1B1C1D;\n}\n\n.ui.inverted.top.popup:before {\n  background: #1B1C1D;\n}\n\n/*******************************\n            Coupling\n*******************************/\n\n/* Immediate Nested Grid */\n\n.ui.popup > .ui.grid:not(.padded) {\n  width: calc(100% + 1.75rem);\n  margin: -0.7rem -0.875rem;\n}\n\n/*******************************\n            States\n*******************************/\n\n.ui.loading.popup {\n  display: block;\n  visibility: hidden;\n  z-index: -1;\n}\n\n.ui.animating.popup,\n.ui.visible.popup {\n  display: block;\n}\n\n.ui.visible.popup {\n  -webkit-transform: translateZ(0px);\n  transform: translateZ(0px);\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\n/*******************************\n            Variations\n*******************************/\n\n/*--------------\n     Basic\n---------------*/\n\n.ui.basic.popup:before {\n  display: none;\n}\n\n/*--------------\n     Wide\n---------------*/\n\n.ui.wide.popup {\n  max-width: 350px;\n}\n\n.ui[class*=\"very wide\"].popup {\n  max-width: 550px;\n}\n\n@media only screen and (max-width: 767px) {\n  .ui.wide.popup,\n  .ui[class*=\"very wide\"].popup {\n    max-width: 250px;\n  }\n}\n\n/*--------------\n     Fluid\n---------------*/\n\n.ui.fluid.popup {\n  width: 100%;\n  max-width: none;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n/* Inverted colors  */\n\n.ui.inverted.popup {\n  background: #1B1C1D;\n  color: #FFFFFF;\n  border: none;\n  box-shadow: none;\n}\n\n.ui.inverted.popup .header {\n  background-color: none;\n  color: #FFFFFF;\n}\n\n.ui.inverted.popup:before {\n  background-color: #1B1C1D;\n  box-shadow: none !important;\n}\n\n/*--------------\n     Flowing\n---------------*/\n\n.ui.flowing.popup {\n  max-width: none;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.mini.popup {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.popup {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.popup {\n  font-size: 0.92857143rem;\n}\n\n.ui.popup {\n  font-size: 1rem;\n}\n\n.ui.large.popup {\n  font-size: 1.14285714rem;\n}\n\n.ui.huge.popup {\n  font-size: 1.42857143rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Progress Bar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Progress\n*******************************/\n\n.ui.progress {\n  position: relative;\n  display: block;\n  max-width: 100%;\n  border: none;\n  margin: 1em 0em 2.5em;\n  box-shadow: none;\n  background: rgba(0, 0, 0, 0.1);\n  padding: 0em;\n  border-radius: 0.28571429rem;\n}\n\n.ui.progress:first-child {\n  margin: 0em 0em 2.5em;\n}\n\n.ui.progress:last-child {\n  margin: 0em 0em 1.5em;\n}\n\n/*******************************\n            Content\n*******************************/\n\n/* Activity Bar */\n\n.ui.progress .bar {\n  display: block;\n  line-height: 1;\n  position: relative;\n  width: 0%;\n  min-width: 2em;\n  background: #888888;\n  border-radius: 0.28571429rem;\n  -webkit-transition: width 0.1s ease, background-color 0.1s ease;\n  transition: width 0.1s ease, background-color 0.1s ease;\n}\n\n/* Percent Complete */\n\n.ui.progress .bar > .progress {\n  white-space: nowrap;\n  position: absolute;\n  width: auto;\n  font-size: 0.92857143em;\n  top: 50%;\n  right: 0.5em;\n  left: auto;\n  bottom: auto;\n  color: rgba(255, 255, 255, 0.7);\n  text-shadow: none;\n  margin-top: -0.5em;\n  font-weight: bold;\n  text-align: left;\n}\n\n/* Label */\n\n.ui.progress > .label {\n  position: absolute;\n  width: 100%;\n  font-size: 1em;\n  top: 100%;\n  right: auto;\n  left: 0%;\n  bottom: auto;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-shadow: none;\n  margin-top: 0.2em;\n  text-align: center;\n  -webkit-transition: color 0.4s ease;\n  transition: color 0.4s ease;\n}\n\n/*******************************\n            Types\n*******************************/\n\n/* Indicating */\n\n.ui.indicating.progress[data-percent^=\"1\"] .bar,\n.ui.indicating.progress[data-percent^=\"2\"] .bar {\n  background-color: #D95C5C;\n}\n\n.ui.indicating.progress[data-percent^=\"3\"] .bar {\n  background-color: #EFBC72;\n}\n\n.ui.indicating.progress[data-percent^=\"4\"] .bar,\n.ui.indicating.progress[data-percent^=\"5\"] .bar {\n  background-color: #E6BB48;\n}\n\n.ui.indicating.progress[data-percent^=\"6\"] .bar {\n  background-color: #DDC928;\n}\n\n.ui.indicating.progress[data-percent^=\"7\"] .bar,\n.ui.indicating.progress[data-percent^=\"8\"] .bar {\n  background-color: #B4D95C;\n}\n\n.ui.indicating.progress[data-percent^=\"9\"] .bar,\n.ui.indicating.progress[data-percent^=\"100\"] .bar {\n  background-color: #66DA81;\n}\n\n/* Indicating Label */\n\n.ui.indicating.progress[data-percent^=\"1\"] .label,\n.ui.indicating.progress[data-percent^=\"2\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"3\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"4\"] .label,\n.ui.indicating.progress[data-percent^=\"5\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"6\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"7\"] .label,\n.ui.indicating.progress[data-percent^=\"8\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.indicating.progress[data-percent^=\"9\"] .label,\n.ui.indicating.progress[data-percent^=\"100\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Single Digits */\n\n.ui.indicating.progress[data-percent=\"1\"] .bar,\n.ui.indicating.progress[data-percent=\"2\"] .bar,\n.ui.indicating.progress[data-percent=\"3\"] .bar,\n.ui.indicating.progress[data-percent=\"4\"] .bar,\n.ui.indicating.progress[data-percent=\"5\"] .bar,\n.ui.indicating.progress[data-percent=\"6\"] .bar,\n.ui.indicating.progress[data-percent=\"7\"] .bar,\n.ui.indicating.progress[data-percent=\"8\"] .bar,\n.ui.indicating.progress[data-percent=\"9\"] .bar {\n  background-color: #D95C5C;\n}\n\n.ui.indicating.progress[data-percent=\"1\"] .label,\n.ui.indicating.progress[data-percent=\"2\"] .label,\n.ui.indicating.progress[data-percent=\"3\"] .label,\n.ui.indicating.progress[data-percent=\"4\"] .label,\n.ui.indicating.progress[data-percent=\"5\"] .label,\n.ui.indicating.progress[data-percent=\"6\"] .label,\n.ui.indicating.progress[data-percent=\"7\"] .label,\n.ui.indicating.progress[data-percent=\"8\"] .label,\n.ui.indicating.progress[data-percent=\"9\"] .label {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* Indicating Success */\n\n.ui.indicating.progress.success .label {\n  color: #1A531B;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n     Success\n---------------*/\n\n.ui.progress.success .bar {\n  background-color: #21BA45 !important;\n}\n\n.ui.progress.success .bar,\n.ui.progress.success .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n.ui.progress.success > .label {\n  color: #1A531B;\n}\n\n/*--------------\n     Warning\n---------------*/\n\n.ui.progress.warning .bar {\n  background-color: #F2C037 !important;\n}\n\n.ui.progress.warning .bar,\n.ui.progress.warning .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n.ui.progress.warning > .label {\n  color: #794B02;\n}\n\n/*--------------\n     Error\n---------------*/\n\n.ui.progress.error .bar {\n  background-color: #DB2828 !important;\n}\n\n.ui.progress.error .bar,\n.ui.progress.error .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n.ui.progress.error > .label {\n  color: #912D2B;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.active.progress .bar {\n  position: relative;\n  min-width: 2em;\n}\n\n.ui.active.progress .bar::after {\n  content: '';\n  opacity: 0;\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  right: 0px;\n  bottom: 0px;\n  background: #FFFFFF;\n  border-radius: 0.28571429rem;\n  -webkit-animation: progress-active 2s ease infinite;\n  animation: progress-active 2s ease infinite;\n}\n\n@-webkit-keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n\n@keyframes progress-active {\n  0% {\n    opacity: 0.3;\n    width: 0;\n  }\n\n  100% {\n    opacity: 0;\n    width: 100%;\n  }\n}\n\n/*--------------\n    Disabled\n---------------*/\n\n.ui.disabled.progress {\n  opacity: 0.35;\n}\n\n.ui.disabled.progress .bar,\n.ui.disabled.progress .bar::after {\n  -webkit-animation: none !important;\n  animation: none !important;\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*--------------\n    Inverted\n---------------*/\n\n.ui.inverted.progress {\n  background: rgba(255, 255, 255, 0.08);\n  border: none;\n}\n\n.ui.inverted.progress .bar {\n  background: #888888;\n}\n\n.ui.inverted.progress .bar > .progress {\n  color: #F9FAFB;\n}\n\n.ui.inverted.progress > .label {\n  color: #FFFFFF;\n}\n\n.ui.inverted.progress.success > .label {\n  color: #21BA45;\n}\n\n.ui.inverted.progress.warning > .label {\n  color: #F2C037;\n}\n\n.ui.inverted.progress.error > .label {\n  color: #DB2828;\n}\n\n/*--------------\n    Attached\n---------------*/\n\n/* bottom attached */\n\n.ui.progress.attached {\n  background: transparent;\n  position: relative;\n  border: none;\n  margin: 0em;\n}\n\n.ui.progress.attached,\n.ui.progress.attached .bar {\n  display: block;\n  height: 0.2rem;\n  padding: 0px;\n  overflow: hidden;\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n.ui.progress.attached .bar {\n  border-radius: 0em;\n}\n\n/* top attached */\n\n.ui.progress.top.attached,\n.ui.progress.top.attached .bar {\n  top: 0px;\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.progress.top.attached .bar {\n  border-radius: 0em;\n}\n\n/* Coupling */\n\n.ui.segment > .ui.attached.progress,\n.ui.card > .ui.attached.progress {\n  position: absolute;\n  top: auto;\n  left: 0;\n  bottom: 100%;\n  width: 100%;\n}\n\n.ui.segment > .ui.bottom.attached.progress,\n.ui.card > .ui.bottom.attached.progress {\n  top: 100%;\n  bottom: auto;\n}\n\n/*--------------\n     Colors\n---------------*/\n\n/* Red */\n\n.ui.red.progress .bar {\n  background-color: #DB2828;\n}\n\n.ui.red.inverted.progress .bar {\n  background-color: #FF695E;\n}\n\n/* Orange */\n\n.ui.orange.progress .bar {\n  background-color: #F2711C;\n}\n\n.ui.orange.inverted.progress .bar {\n  background-color: #FF851B;\n}\n\n/* Yellow */\n\n.ui.yellow.progress .bar {\n  background-color: #FBBD08;\n}\n\n.ui.yellow.inverted.progress .bar {\n  background-color: #FFE21F;\n}\n\n/* Olive */\n\n.ui.olive.progress .bar {\n  background-color: #B5CC18;\n}\n\n.ui.olive.inverted.progress .bar {\n  background-color: #D9E778;\n}\n\n/* Green */\n\n.ui.green.progress .bar {\n  background-color: #21BA45;\n}\n\n.ui.green.inverted.progress .bar {\n  background-color: #2ECC40;\n}\n\n/* Teal */\n\n.ui.teal.progress .bar {\n  background-color: #00B5AD;\n}\n\n.ui.teal.inverted.progress .bar {\n  background-color: #6DFFFF;\n}\n\n/* Blue */\n\n.ui.blue.progress .bar {\n  background-color: #2185D0;\n}\n\n.ui.blue.inverted.progress .bar {\n  background-color: #54C8FF;\n}\n\n/* Violet */\n\n.ui.violet.progress .bar {\n  background-color: #6435C9;\n}\n\n.ui.violet.inverted.progress .bar {\n  background-color: #A291FB;\n}\n\n/* Purple */\n\n.ui.purple.progress .bar {\n  background-color: #A333C8;\n}\n\n.ui.purple.inverted.progress .bar {\n  background-color: #DC73FF;\n}\n\n/* Pink */\n\n.ui.pink.progress .bar {\n  background-color: #E03997;\n}\n\n.ui.pink.inverted.progress .bar {\n  background-color: #FF8EDF;\n}\n\n/* Brown */\n\n.ui.brown.progress .bar {\n  background-color: #A5673F;\n}\n\n.ui.brown.inverted.progress .bar {\n  background-color: #D67C1C;\n}\n\n/* Grey */\n\n.ui.grey.progress .bar {\n  background-color: #767676;\n}\n\n.ui.grey.inverted.progress .bar {\n  background-color: #DCDDDE;\n}\n\n/* Black */\n\n.ui.black.progress .bar {\n  background-color: #1B1C1D;\n}\n\n.ui.black.inverted.progress .bar {\n  background-color: #545454;\n}\n\n/*--------------\n     Sizes\n---------------*/\n\n.ui.tiny.progress {\n  font-size: 0.85714286rem;\n}\n\n.ui.tiny.progress .bar {\n  height: 0.5em;\n}\n\n.ui.small.progress {\n  font-size: 0.92857143rem;\n}\n\n.ui.small.progress .bar {\n  height: 1em;\n}\n\n.ui.progress {\n  font-size: 1rem;\n}\n\n.ui.progress .bar {\n  height: 1.75em;\n}\n\n.ui.large.progress {\n  font-size: 1.14285714rem;\n}\n\n.ui.large.progress .bar {\n  height: 2.5em;\n}\n\n.ui.big.progress {\n  font-size: 1.28571429rem;\n}\n\n.ui.big.progress .bar {\n  height: 3.5em;\n}\n\n/*******************************\n            Progress\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           Rating\n*******************************/\n\n.ui.rating {\n  display: -webkit-inline-box;\n  display: -webkit-inline-flex;\n  display: -ms-inline-flexbox;\n  display: inline-flex;\n  white-space: nowrap;\n  vertical-align: baseline;\n}\n\n.ui.rating:last-child {\n  margin-right: 0em;\n}\n\n/* Icon */\n\n.ui.rating .icon {\n  padding: 0em;\n  margin: 0em;\n  text-align: center;\n  font-weight: normal;\n  font-style: normal;\n  -webkit-box-flex: 1;\n  -webkit-flex: 1 0 auto;\n  -ms-flex: 1 0 auto;\n  flex: 1 0 auto;\n  cursor: pointer;\n  width: 1.25em;\n  height: auto;\n  -webkit-transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n  transition: opacity 0.1s ease, background 0.1s ease, text-shadow 0.1s ease, color 0.1s ease;\n}\n\n/*******************************\n             Types\n*******************************/\n\n/*-------------------\n      Standard\n--------------------*/\n\n/* Inactive Icon */\n\n.ui.rating .icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n}\n\n/* Active Icon */\n\n.ui.rating .active.icon {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/* Selected Icon */\n\n.ui.rating .icon.selected,\n.ui.rating .icon.selected.active {\n  background: transparent;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n/* Inactive */\n\n.ui.star.rating .icon {\n  width: 1.25em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none;\n}\n\n/* Active Star */\n\n.ui.star.rating .active.icon {\n  background: transparent !important;\n  color: #FFE623 !important;\n  text-shadow: 0px -1px 0px #DDC507, -1px 0px 0px #DDC507, 0px 1px 0px #DDC507, 1px 0px 0px #DDC507 !important;\n}\n\n/* Selected Star */\n\n.ui.star.rating .icon.selected,\n.ui.star.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FFCC00 !important;\n  text-shadow: 0px -1px 0px #E6A200, -1px 0px 0px #E6A200, 0px 1px 0px #E6A200, 1px 0px 0px #E6A200 !important;\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n.ui.heart.rating .icon {\n  width: 1.4em;\n  height: auto;\n  background: transparent;\n  color: rgba(0, 0, 0, 0.15);\n  text-shadow: none !important;\n}\n\n/* Active Heart */\n\n.ui.heart.rating .active.icon {\n  background: transparent !important;\n  color: #FF6D75 !important;\n  text-shadow: 0px -1px 0px #CD0707, -1px 0px 0px #CD0707, 0px 1px 0px #CD0707, 1px 0px 0px #CD0707 !important;\n}\n\n/* Selected Heart */\n\n.ui.heart.rating .icon.selected,\n.ui.heart.rating .icon.selected.active {\n  background: transparent !important;\n  color: #FF3000 !important;\n  text-shadow: 0px -1px 0px #AA0101, -1px 0px 0px #AA0101, 0px 1px 0px #AA0101, 1px 0px 0px #AA0101 !important;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*-------------------\n       Disabled\n--------------------*/\n\n/* disabled rating */\n\n.ui.disabled.rating .icon {\n  cursor: default;\n}\n\n/*-------------------\n   User Interactive\n--------------------*/\n\n/* Selected Rating */\n\n.ui.rating.selected .active.icon {\n  opacity: 1;\n}\n\n.ui.rating.selected .icon.selected,\n.ui.rating .icon.selected {\n  opacity: 1;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.mini.rating {\n  font-size: 0.71428571rem;\n}\n\n.ui.tiny.rating {\n  font-size: 0.85714286rem;\n}\n\n.ui.small.rating {\n  font-size: 0.92857143rem;\n}\n\n.ui.rating {\n  font-size: 1rem;\n}\n\n.ui.large.rating {\n  font-size: 1.14285714rem;\n}\n\n.ui.huge.rating {\n  font-size: 1.42857143rem;\n}\n\n.ui.massive.rating {\n  font-size: 2rem;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n@font-face {\n  font-family: 'Rating';\n  src: url(\"data:application/x-font-ttf;charset=utf-8;base64,AAEAAAALAIAAAwAwT1MvMggjCBsAAAC8AAAAYGNtYXCj2pm8AAABHAAAAKRnYXNwAAAAEAAAAcAAAAAIZ2x5ZlJbXMYAAAHIAAARnGhlYWQBGAe5AAATZAAAADZoaGVhA+IB/QAAE5wAAAAkaG10eCzgAEMAABPAAAAAcGxvY2EwXCxOAAAUMAAAADptYXhwACIAnAAAFGwAAAAgbmFtZfC1n04AABSMAAABPHBvc3QAAwAAAAAVyAAAACAAAwIAAZAABQAAAUwBZgAAAEcBTAFmAAAA9QAZAIQAAAAAAAAAAAAAAAAAAAABEAAAAAAAAAAAAAAAAAAAAABAAADxZQHg/+D/4AHgACAAAAABAAAAAAAAAAAAAAAgAAAAAAACAAAAAwAAABQAAwABAAAAFAAEAJAAAAAgACAABAAAAAEAIOYF8AbwDfAj8C7wbvBw8Irwl/Cc8SPxZf/9//8AAAAAACDmAPAE8AzwI/Au8G7wcPCH8JfwnPEj8WT//f//AAH/4xoEEAYQAQ/sD+IPow+iD4wPgA98DvYOtgADAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAPAAEAAAAAAAAAAAACAAA3OQEAAAAAAQAAAAAAAAAAAAIAADc5AQAAAAABAAAAAAAAAAAAAgAANzkBAAAAAAIAAP/tAgAB0wAKABUAAAEvAQ8BFwc3Fyc3BQc3Jz8BHwEHFycCALFPT7GAHp6eHoD/AHAWW304OH1bFnABGRqgoBp8sFNTsHyyOnxYEnFxElh8OgAAAAACAAD/7QIAAdMACgASAAABLwEPARcHNxcnNwUxER8BBxcnAgCxT0+xgB6enh6A/wA4fVsWcAEZGqCgGnywU1OwfLIBHXESWHw6AAAAAQAA/+0CAAHTAAoAAAEvAQ8BFwc3Fyc3AgCxT0+xgB6enh6AARkaoKAafLBTU7B8AAAAAAEAAAAAAgABwAArAAABFA4CBzEHDgMjIi4CLwEuAzU0PgIzMh4CFz4DMzIeAhUCAAcMEgugBgwMDAYGDAwMBqALEgwHFyg2HhAfGxkKChkbHxAeNigXAS0QHxsZCqAGCwkGBQkLBqAKGRsfEB42KBcHDBILCxIMBxcoNh4AAAAAAgAAAAACAAHAACsAWAAAATQuAiMiDgIHLgMjIg4CFRQeAhcxFx4DMzI+Aj8BPgM1DwEiFCIGMTAmIjQjJy4DNTQ+AjMyHgIfATc+AzMyHgIVFA4CBwIAFyg2HhAfGxkKChkbHxAeNigXBwwSC6AGDAwMBgYMDAwGoAsSDAdbogEBAQEBAaIGCgcEDRceEQkREA4GLy8GDhARCREeFw0EBwoGAS0eNigXBwwSCwsSDAcXKDYeEB8bGQqgBgsJBgUJCwagChkbHxA+ogEBAQGiBg4QEQkRHhcNBAcKBjQ0BgoHBA0XHhEJERAOBgABAAAAAAIAAcAAMQAAARQOAgcxBw4DIyIuAi8BLgM1ND4CMzIeAhcHFwc3Jzc+AzMyHgIVAgAHDBILoAYMDAwGBgwMDAagCxIMBxcoNh4KFRMSCC9wQLBwJwUJCgkFHjYoFwEtEB8bGQqgBgsJBgUJCwagChkbHxAeNigXAwUIBUtAoMBAOwECAQEXKDYeAAABAAAAAAIAAbcAKgAAEzQ3NjMyFxYXFhcWFzY3Njc2NzYzMhcWFRQPAQYjIi8BJicmJyYnJicmNQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGBwExPyMkBgYLCgkKCgoKCQoLBgYkIz8/QawFBawCBgUNDg4OFRQTAAAAAQAAAA0B2wHSACYAABM0PwI2FzYfAhYVFA8BFxQVFAcGByYvAQcGByYnJjU0PwEnJjUAEI9BBQkIBkCPEAdoGQMDBgUGgIEGBQYDAwEYaAcBIwsCFoEMAQEMgRYCCwYIZJABBQUFAwEBAkVFAgEBAwUFAwOQZAkFAAAAAAIAAAANAdsB0gAkAC4AABM0PwI2FzYfAhYVFA8BFxQVFAcmLwEHBgcmJyY1ND8BJyY1HwEHNxcnNy8BBwAQj0EFCQgGQI8QB2gZDAUGgIEGBQYDAwEYaAc/WBVsaxRXeDY2ASMLAhaBDAEBDIEWAgsGCGSQAQUNAQECRUUCAQEDBQUDA5BkCQURVXg4OHhVEW5uAAABACMAKQHdAXwAGgAANzQ/ATYXNh8BNzYXNh8BFhUUDwEGByYvASY1IwgmCAwLCFS8CAsMCCYICPUIDAsIjgjSCwkmCQEBCVS7CQEBCSYJCg0H9gcBAQePBwwAAAEAHwAfAXMBcwAsAAA3ND8BJyY1ND8BNjMyHwE3NjMyHwEWFRQPARcWFRQPAQYjIi8BBwYjIi8BJjUfCFRUCAgnCAwLCFRUCAwLCCcICFRUCAgnCAsMCFRUCAsMCCcIYgsIVFQIDAsIJwgIVFQICCcICwwIVFQICwwIJwgIVFQICCcIDAAAAAACAAAAJQFJAbcAHwArAAA3NTQ3NjsBNTQ3NjMyFxYdATMyFxYdARQHBiMhIicmNTczNTQnJiMiBwYdAQAICAsKJSY1NCYmCQsICAgIC/7tCwgIW5MWFR4fFRZApQsICDc0JiYmJjQ3CAgLpQsICAgIC8A3HhYVFRYeNwAAAQAAAAcBbgG3ACEAADcRNDc2NzYzITIXFhcWFREUBwYHBiMiLwEHBiMiJyYnJjUABgUKBgYBLAYGCgUGBgUKBQcOCn5+Cg4GBgoFBicBcAoICAMDAwMICAr+kAoICAQCCXl5CQIECAgKAAAAAwAAACUCAAFuABgAMQBKAAA3NDc2NzYzMhcWFxYVFAcGBwYjIicmJyY1MxYXFjMyNzY3JicWFRQHBiMiJyY1NDcGBzcUFxYzMjc2NTQ3NjMyNzY1NCcmIyIHBhUABihDREtLREMoBgYoQ0RLS0RDKAYlJjk5Q0M5OSYrQREmJTU1JSYRQSuEBAQGBgQEEREZBgQEBAQGJBkayQoKQSgoKChBCgoKCkEoJycoQQoKOiMjIyM6RCEeIjUmJSUmNSIeIUQlBgQEBAQGGBIRBAQGBgQEGhojAAAABQAAAAkCAAGJACwAOABRAGgAcAAANzQ3Njc2MzIXNzYzMhcWFxYXFhcWFxYVFDEGBwYPAQYjIicmNTQ3JicmJyY1MxYXNyYnJjU0NwYHNxQXFjMyNzY1NDc2MzI3NjU0JyYjIgcGFRc3Njc2NyYnNxYXFhcWFRQHBgcGBwYjPwEWFRQHBgcABitBQU0ZGhADBQEEBAUFBAUEBQEEHjw8Hg4DBQQiBQ0pIyIZBiUvSxYZDg4RQSuEBAQGBgQEEREZBgQEBAQGJBkaVxU9MzQiIDASGxkZEAYGCxQrODk/LlACFxYlyQsJQycnBRwEAgEDAwIDAwIBAwUCNmxsNhkFFAMFBBUTHh8nCQtKISgSHBsfIh4hRCUGBAQEBAYYEhEEBAYGBAQaGiPJJQUiIjYzISASGhkbCgoKChIXMRsbUZANCyghIA8AAAMAAAAAAbcB2wA5AEoAlAAANzU0NzY7ATY3Njc2NzY3Njc2MzIXFhcWFRQHMzIXFhUUBxYVFAcUFRQHFgcGKwEiJyYnJisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzMyFxYXFhcWFxYXFhcWOwEyNTQnNjc2NTQnNjU0JyYnNjc2NTQnJisBNDc2NTQnJiMGBwYHBgcGBwYHBgcGBwYHBgcGBwYrARUACwoQTgodEQ4GBAMFBgwLDxgTEwoKDjMdFhYOAgoRARkZKCUbGxsjIQZSEAoLJQUFCAcGBQUGBwgFBUkJBAUFBAQHBwMDBwcCPCUjNwIJBQUFDwMDBAkGBgsLDmUODgoJGwgDAwYFDAYQAQUGAwQGBgYFBgUGBgQJSbcPCwsGJhUPCBERExMMCgkJFBQhGxwWFR4ZFQoKFhMGBh0WKBcXBgcMDAoLDxIHBQYGBQcIBQYGBQgSAQEBAQICAQEDAgEULwgIBQoLCgsJDhQHCQkEAQ0NCg8LCxAdHREcDQ4IEBETEw0GFAEHBwUECAgFBQUFAgO3AAADAAD/2wG3AbcAPABNAJkAADc1NDc2OwEyNzY3NjsBMhcWBxUWFRQVFhUUBxYVFAcGKwEWFRQHBgcGIyInJicmJyYnJicmJyYnIyInJjU3FBcWMzI3NjU0JyYjIgcGFRczMhcWFxYXFhcWFxYXFhcWFxYXFhcWFzI3NjU0JyY1MzI3NjU0JyYjNjc2NTQnNjU0JyYnNjU0JyYrASIHIgcGBwYHBgcGIwYrARUACwoQUgYhJRsbHiAoGRkBEQoCDhYWHTMOCgoTExgPCwoFBgIBBAMFDhEdCk4QCgslBQUIBwYFBQYHCAUFSQkEBgYFBgUGBgYEAwYFARAGDAUGAwMIGwkKDg5lDgsLBgYJBAMDDwUFBQkCDg4ZJSU8AgcHAwMHBwQEBQUECbe3DwsKDAwHBhcWJwIWHQYGExYKChUZHhYVHRoiExQJCgsJDg4MDAwNBg4WJQcLCw+kBwUGBgUHCAUGBgUIpAMCBQYFBQcIBAUHBwITBwwTExERBw0OHBEdHRALCw8KDQ0FCQkHFA4JCwoLCgUICBgMCxUDAgEBAgMBAQG3AAAAAQAAAA0A7gHSABQAABM0PwI2FxEHBgcmJyY1ND8BJyY1ABCPQQUJgQYFBgMDARhoBwEjCwIWgQwB/oNFAgEBAwUFAwOQZAkFAAAAAAIAAAAAAgABtwAqAFkAABM0NzYzMhcWFxYXFhc2NzY3Njc2MzIXFhUUDwEGIyIvASYnJicmJyYnJjUzFB8BNzY1NCcmJyYnJicmIyIHBgcGBwYHBiMiJyYnJicmJyYjIgcGBwYHBgcGFQAkJUARExIQEAsMCgoMCxAQEhMRQCUkQbIGBwcGsgMFBQsKCQkGByU1pqY1BgYJCg4NDg0PDhIRDg8KCgcFCQkFBwoKDw4REg4PDQ4NDgoJBgYBMT8jJAYGCwoJCgoKCgkKCwYGJCM/P0GsBQWsAgYFDQ4ODhUUEzA1oJ82MBcSEgoLBgcCAgcHCwsKCQgHBwgJCgsLBwcCAgcGCwoSEhcAAAACAAAABwFuAbcAIQAoAAA3ETQ3Njc2MyEyFxYXFhURFAcGBwYjIi8BBwYjIicmJyY1PwEfAREhEQAGBQoGBgEsBgYKBQYGBQoFBw4Kfn4KDgYGCgUGJZIZef7cJwFwCggIAwMDAwgICv6QCggIBAIJeXkJAgQICAoIjRl0AWP+nQAAAAABAAAAJQHbAbcAMgAANzU0NzY7ATU0NzYzMhcWHQEUBwYrASInJj0BNCcmIyIHBh0BMzIXFh0BFAcGIyEiJyY1AAgIC8AmJjQ1JiUFBQgSCAUFFhUfHhUWHAsICAgIC/7tCwgIQKULCAg3NSUmJiU1SQgFBgYFCEkeFhUVFh43CAgLpQsICAgICwAAAAIAAQANAdsB0gAiAC0AABM2PwI2MzIfAhYXFg8BFxYHBiMiLwEHBiMiJyY/AScmNx8CLwE/AS8CEwEDDJBABggJBUGODgIDCmcYAgQCCAMIf4IFBgYEAgEZaQgC7hBbEgINSnkILgEBJggCFYILC4IVAggICWWPCgUFA0REAwUFCo9lCQipCTBmEw1HEhFc/u0AAAADAAAAAAHJAbcAFAAlAHkAADc1NDc2OwEyFxYdARQHBisBIicmNTcUFxYzMjc2NTQnJiMiBwYVFzU0NzYzNjc2NzY3Njc2NzY3Njc2NzY3NjMyFxYXFhcWFxYXFhUUFRQHBgcGBxQHBgcGBzMyFxYVFAcWFRYHFgcGBxYHBgcjIicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQFBQgGDw8OFAkFBAQBAQMCAQIEBAYFBw4KCgcHBQQCAwEBAgMDAgYCAgIBAU8XEBAQBQEOBQUECwMREiYlExYXDAwWJAoHBQY3twcGBQUGB7cIBQUFBQgkBwYFBQYHCAUGBgUIJLcHBQYBEBATGQkFCQgGBQwLBgcICQUGAwMFBAcHBgYICQQEBwsLCwYGCgIDBAMCBBEQFhkSDAoVEhAREAsgFBUBBAUEBAcMAQUFCAAAAAADAAD/2wHJAZIAFAAlAHkAADcUFxYXNxY3Nj0BNCcmBycGBwYdATc0NzY3FhcWFRQHBicGJyY1FzU0NzY3Fjc2NzY3NjcXNhcWBxYXFgcWBxQHFhUUBwYHJxYXFhcWFRYXFhcWFRQVFAcGBwYHBgcGBwYnBicmJyYnJicmJyYnJicmJyYnJiciJyY1AAUGB1MHBQYGBQdTBwYFJQUFCAcGBQUGBwgFBWQGBQcKJBYMDBcWEyUmEhEDCwQFBQ4BBRAQEBdPAQECAgIGAgMDAgEBAwIEBQcHCgoOBwUGBAQCAQIDAQEEBAUJFA4PDwYIBQWlBwYFAQEBBwQJtQkEBwEBAQUGB7eTBwYEAQEEBgcJBAYBAQYECZS4BwYEAgENBwUCBgMBAQEXEyEJEhAREBcIDhAaFhEPAQEFAgQCBQELBQcKDAkIBAUHCgUGBwgDBgIEAQEHBQkIBwUMCwcECgcGCRoREQ8CBgQIAAAAAQAAAAEAAJth57dfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAAAAAAoAFAAeAEoAcACKAMoBQAGIAcwCCgJUAoICxgMEAzoDpgRKBRgF7AYSBpgG2gcgB2oIGAjOAAAAAQAAABwAmgAFAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\") format('truetype'), url(\"data:application/font-woff;charset=utf-8;base64,d09GRk9UVE8AABcUAAoAAAAAFswAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABDRkYgAAAA9AAAEuEAABLho6TvIE9TLzIAABPYAAAAYAAAAGAIIwgbY21hcAAAFDgAAACkAAAApKPambxnYXNwAAAU3AAAAAgAAAAIAAAAEGhlYWQAABTkAAAANgAAADYBGAe5aGhlYQAAFRwAAAAkAAAAJAPiAf1obXR4AAAVQAAAAHAAAABwLOAAQ21heHAAABWwAAAABgAAAAYAHFAAbmFtZQAAFbgAAAE8AAABPPC1n05wb3N0AAAW9AAAACAAAAAgAAMAAAEABAQAAQEBB3JhdGluZwABAgABADr4HAL4GwP4GAQeCgAZU/+Lix4KABlT/4uLDAeLZviU+HQFHQAAAP0PHQAAAQIRHQAAAAkdAAAS2BIAHQEBBw0PERQZHiMoLTI3PEFGS1BVWl9kaW5zeH2Ch4xyYXRpbmdyYXRpbmd1MHUxdTIwdUU2MDB1RTYwMXVFNjAydUU2MDN1RTYwNHVFNjA1dUYwMDR1RjAwNXVGMDA2dUYwMEN1RjAwRHVGMDIzdUYwMkV1RjA2RXVGMDcwdUYwODd1RjA4OHVGMDg5dUYwOEF1RjA5N3VGMDlDdUYxMjN1RjE2NHVGMTY1AAACAYkAGgAcAgABAAQABwAKAA0AVgCWAL0BAgGMAeQCbwLwA4cD5QR0BQMFdgZgB8MJkQtxC7oM2Q1jDggOmRAYEZr8lA78lA78lA77lA74lPetFftFpTz3NDz7NPtFcfcU+xBt+0T3Mt73Mjht90T3FPcQBfuU+0YV+wRRofcQMOP3EZ3D9wXD+wX3EXkwM6H7EPsExQUO+JT3rRX7RaU89zQ8+zT7RXH3FPsQbftE9zLe9zI4bfdE9xT3EAX7lPtGFYuLi/exw/sF9xF5MDOh+xD7BMUFDviU960V+0WlPPc0PPs0+0Vx9xT7EG37RPcy3vcyOG33RPcU9xAFDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iu2i7J4pm6mqLKetovci81JizoIDviU98EVi9xJzTqLYItkeHBucKhknmCLOotJSYs6i2CeZKhwCIuL9zT7NAWbe5t7m4ubi5ubm5sI9zT3NAWopp6yi7YIME0V+zb7NgWKioqKiouKi4qMiowI+zb3NgV6m4Ghi6OLubCwuYuji6GBm3oIule6vwWbnKGVo4u5i7Bmi12Lc4F1ensIDviU98EVi2B4ZG5wCIuL+zT7NAV7e3t7e4t7i3ube5sI+zT3NAVupniyi7aL3M3N3Iuni6WDoX4IXED3BEtL+zT3RPdU+wTLssYFl46YjZiL3IvNSYs6CA6L98UVi7WXrKOio6Otl7aLlouXiZiHl4eWhZaEloSUhZKFk4SShZKEkpKSkZOSkpGUkZaSCJaSlpGXj5iPl42Wi7aLrX+jc6N0l2qLYYthdWBgYAj7RvtABYeIh4mGi4aLh42Hjgj7RvdABYmNiY2Hj4iOhpGDlISUhZWFlIWVhpaHmYaYiZiLmAgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuHioiJiImIiIqHi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOZ4v3txWLkpCPlo0I9yOgzPcWBY6SkI+Ri5CLkIePhAjL+xb3I3YFlomQh4uEi4aJh4aGCCMmpPsjBYuKi4mLiIuCh4aDi4iLh4yHjQj7FM/7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwjKeRXjN3b7DfcAxPZSd/cN4t/7DJ1V9wFV+wEFDq73ZhWLk42RkZEIsbIFkZCRjpOLkouSiJCGCN8291D3UAWQkJKOkouTi5GIkYYIsWQFkYaNhIuEi4OJhYWFCPuJ+4kFhYWFiYOLhIuEjYaRCPsi9yIFhZCJkouSCA77AartFYuSjpKQkAjf3zffBYaQiJKLk4uSjpKQkAiysgWRkJGOk4uSi5KIkIYI3zff3wWQkJKOk4uSi5KIkIYIsmQFkIaOhIuEi4OIhIaGCDc33zcFkIaOhIuEi4OIhYaFCGRkBYaGhIiEi4OLhI6GkAg33zc3BYaGhIiEi4OLhY6FkAhksgWGkYiRi5MIDvtLi8sVi/c5BYuSjpKQkJCQko6SiwiVi4vCBYuul6mkpKSkqpiui66LqX6kcqRymG2LaAiLVJSLBZKLkoiQhpCGjoSLhAiL+zkFi4OIhYaGhoWEiYSLCPuniwWEi4SNhpGGkIiRi5MI5vdUFfcni4vCBYufhJx8mn2ZepJ3i3aLeoR9fX18g3qLdwiLVAUO+yaLshWL+AQFi5GNkY+RjpCQj5KNj42PjI+LCPfAiwWPi4+Kj4mRiZCHj4aPhY2Fi4UIi/wEBYuEiYWHhoeGhoeFiIiKhoqHi4GLhI6EkQj7EvcN+xL7DQWEhYOIgouHi4eLh42EjoaPiJCHkImRi5IIDov3XRWLko2Rj5Kltq+vuKW4pbuZvYu9i7t9uHG4ca9npWCPhI2Fi4SLhYmEh4RxYGdoXnAIXnFbflmLWYtbmF6lXqZnrnG2h5KJkouRCLCLFaRkq2yxdLF0tH+4i7iLtJexorGiq6qksm64Z61goZZ3kXaLdItnfm1ycnJybX9oiwhoi22XcqRypH6pi6+LopGglp9gdWdpbl4I9xiwFYuHjIiOiI6IjoqPi4+LjoyOjo2OjY6Lj4ubkJmXl5eWmZGbi4+LjoyOjo2OjY6LjwiLj4mOiY6IjYiNh4tzi3eCenp6eoJ3i3MIDov3XRWLko2Sj5GouK+utqW3pbqYvouci5yJnIgIm6cFjY6NjI+LjIuNi42JjYqOio+JjomOiY6KjomOiY6JjoqNioyKjomMiYuHi4qLiouLCHdnbVVjQ2NDbVV3Zwh9cgWJiIiJiIuJi36SdJiIjYmOi46LjY+UlJlvl3KcdJ90oHeie6WHkYmSi5IIsIsVqlq0Z711CKGzBXqXfpqCnoKdhp6LoIuikaCWn2B1Z2luXgj3GLAVi4eMiI6IjoiOio+Lj4uOjI6OjY6NjouPi5uQmZeXl5aZkZuLj4uOjI6OjY6NjouPCIuPiY6JjoiNiI2Hi3OLd4J6enp6gneLcwji+10VoLAFtI+wmK2hrqKnqKKvdq1wp2uhCJ2rBZ1/nHycepx6mHqWeY+EjYWLhIuEiYWHhIR/gH1+fG9qaXJmeWV5Y4Jhiwi53BXb9yQFjIKMg4uEi3CDc3x1fHV3fHOBCA6L1BWL90sFi5WPlJKSkpKTj5aLCNmLBZKPmJqepJaZlZeVlY+Qj5ONl42WjpeOmI+YkZWTk5OSk46Vi5uLmYiYhZiFlIGSfgiSfo55i3WLeYd5gXgIvosFn4uchJl8mn2Seot3i3qGfIJ9jYSLhYuEi3yIfoR+i4eLh4uHi3eGen99i3CDdnt8CHt8dYNwiwhmiwV5i3mNeY95kHeRc5N1k36Ph4sIOYsFgIuDjoSShJKHlIuVCLCdFYuGjIePiI+Hj4mQi5CLj42Pj46OjY+LkIuQiZCIjoePh42Gi4aLh4mHh4eIioaLhgjUeRWUiwWNi46Lj4qOi4+KjYqOi4+Kj4mQio6KjYqNio+Kj4mQio6KjIqzfquEpIsIrosFr4uemouri5CKkYqQkY6QkI6SjpKNkouSi5KJkoiRlZWQlouYi5CKkImRiZGJj4iOCJGMkI+PlI+UjZKLkouViJODk4SSgo+CiwgmiwWLlpCalJ6UnpCbi5aLnoiYhJSFlH+QeYuGhoeDiYCJf4h/h3+IfoWBg4KHh4SCgH4Ii4qIiYiGh4aIh4mIiIiIh4eGh4aHh4eHiIiHiIeHiIiHiIeKh4mIioiLCIKLi/tLBQ6L90sVi/dLBYuVj5OSk5KSk46WiwjdiwWPi5iPoZOkk6CRnZCdj56Nn4sIq4sFpougg5x8m3yTd4txCIuJBZd8kHuLd4uHi4eLh5J+jn6LfIuEi4SJhZR9kHyLeot3hHp8fH19eoR3iwhYiwWVeI95i3mLdIh6hH6EfoKBfoV+hX2He4uBi4OPg5KFkYaTh5SHlYiTipOKk4qTiJMIiZSIkYiPgZSBl4CaeKR+moSPCD2LBYCLg4+EkoSSh5SLlQiw9zgVi4aMh4+Ij4ePiZCLkIuPjY+Pjo6Nj4uQi5CJkIiOh4+HjYaLhouHiYeHh4iKhouGCNT7OBWUiwWOi46Kj4mPio+IjoiPh4+IjoePiI+Hj4aPho6HjoiNiI6Hj4aOho6Ii4qWfpKDj4YIk4ORgY5+j36OgI1/jYCPg5CGnYuXj5GUkpSOmYuei5aGmoKfgp6GmouWCPCLBZSLlI+SkpOTjpOLlYuSiZKHlIeUho+Fi46PjY+NkY2RjJCLkIuYhpaBlY6RjZKLkgiLkomSiJKIkoaQhY6MkIyRi5CLm4aXgpOBkn6Pe4sIZosFcotrhGN9iouIioaJh4qHiomKiYqIioaKh4mHioiKiYuHioiLh4qIi4mLCIKLi/tLBQ77lIv3txWLkpCPlo0I9yOgzPcWBY6SkI+RiwiL/BL7FUcFh4mHioiLh4uIjImOiY6KjouPi4yLjYyOCKP3IyPwBYaQiZCLjwgOi/fFFYu1l6yjoqOjrZe2i5aLl4mYh5eHloWWhJaElIWShZOEkoWShJKSkpGTkpKRlJGWkgiWkpaRl4+Yj5eNlou2i61/o3OjdJdqi2GLYXVgYGAI+0b7QAWHiIeJhouGi4eNh44I+0b3QAWJjYmNh4+IjoaRg5SElIWVhZSFlYaWh5mGmImYi5gIsIsVi2ucaa9oCPc6+zT3OvczBa+vnK2Lq4ubiZiHl4eXhpSFkoSSg5GCj4KQgo2CjYONgYuBi4KLgIl/hoCGgIWChAiBg4OFhISEhYaFhoaIhoaJhYuFi4aNiJCGkIaRhJGEkoORgZOCkoCRgJB/kICNgosIgYuBi4OJgomCiYKGgoeDhYSEhYSGgod/h3+Jfot7CA77JouyFYv4BAWLkY2Rj5GOkJCPko2PjY+Mj4sI98CLBY+Lj4qPiZGJkIePho+FjYWLhQiL/AQFi4SJhYeGh4aGh4WIiIqGioeLgYuEjoSRCPsS9w37EvsNBYSFg4iCi4eLh4uHjYSOho+IkIeQiZGLkgiwkxX3JvchpHL3DfsIi/f3+7iLi/v3BQ5ni8sVi/c5BYuSjpKQkJCQko6Siwj3VIuLwgWLrpippKSkpKmYrouvi6l+pHKkcpdti2gIi0IFi4aKhoeIh4eHiYaLCHmLBYaLh42Hj4eOipCLkAiL1AWLn4OcfZp9mXqSdot3i3qEfX18fIR6i3cIi1SniwWSi5KIkIaQho6Ei4QIi/s5BYuDiIWGhoaFhImEiwj7p4sFhIuEjYaRhpCIkYuTCA5njPe6FYyQkI6UjQj3I6DM9xYFj5KPj5GLkIuQh4+ECMv7FvcjdgWUiZCIjYaNhoiFhYUIIyak+yMFjIWKhomHiYiIiYaLiIuHjIeNCPsUz/sVRwWHiYeKiIuHi4eNiY6Jj4uQjJEIo/cjI/AFhZGJkY2QCPeB+z0VnILlW3rxiJ6ZmNTS+wydgpxe54v7pwUOZ4vCFYv3SwWLkI2Pjo+Pjo+NkIsI3osFkIuPiY6Ij4eNh4uGCIv7SwWLhomHh4eIh4eKhosIOIsFhouHjIePiI+Jj4uQCLCvFYuGjIePh46IkImQi5CLj42Pjo6PjY+LkIuQiZCIjoePh42Gi4aLhomIh4eIioaLhgjvZxWL90sFi5CNj46Oj4+PjZCLj4ySkJWWlZaVl5SXmJuVl5GRjo6OkI6RjZCNkIyPjI6MkY2TCIySjJGMj4yPjZCOkY6RjpCPjo6Pj42Qi5SLk4qSiZKJkYiPiJCIjoiPho6GjYeMhwiNh4yGjIaMhYuHi4iLiIuHi4eLg4uEiYSJhImFiYeJh4mFh4WLioqJiomJiIqJiokIi4qKiIqJCNqLBZqLmIWWgJaAkH+LfIt6hn2Af46DjYSLhIt9h36Cf4+Bi3+HgImAhYKEhI12hnmAfgh/fXiDcosIZosFfot+jHyOfI5/joOOg41/j32Qc5N8j4SMhouHjYiOh4+Jj4uQCA5ni/c5FYuGjYaOiI+Hj4mQiwjeiwWQi4+Njo+Pjo2Qi5AIi/dKBYuQiZCHjoiPh42Giwg4iwWGi4eJh4eIiImGi4YIi/tKBbD3JhWLkIyPj4+OjpCNkIuQi4+Jj4iOh42Hi4aLhomHiIeHh4eKhouGi4aMiI+Hj4qPi5AI7/snFYv3SwWLkI2Qj46Oj4+NkIuSi5qPo5OZkJePk46TjZeOmo6ajpiMmIsIsIsFpIueg5d9ln6Qeol1koSRgo2Aj4CLgIeAlH+Pfot9i4WJhIiCloCQfIt7i3yFfoGACICAfoZ8iwg8iwWMiIyJi4mMiYyJjYmMiIyKi4mPhI2GjYeNh42GjYOMhIyEi4SLhouHi4iLiYuGioYIioWKhomHioeJh4iGh4eIh4aIh4iFiISJhImDioKLhouHjYiPh4+Ij4iRiJGJkIqPCIqPipGKkomTipGKj4qOiZCJkYiQiJCIjoWSgZZ+nIKXgZaBloGWhJGHi4aLh42HjwiIjomQi48IDviUFPiUFYsMCgAAAAADAgABkAAFAAABTAFmAAAARwFMAWYAAAD1ABkAhAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAAAAAEAAAPFlAeD/4P/gAeAAIAAAAAEAAAAAAAAAAAAAACAAAAAAAAIAAAADAAAAFAADAAEAAAAUAAQAkAAAACAAIAAEAAAAAQAg5gXwBvAN8CPwLvBu8HDwivCX8JzxI/Fl//3//wAAAAAAIOYA8ATwDPAj8C7wbvBw8Ifwl/Cc8SPxZP/9//8AAf/jGgQQBhABD+wP4g+jD6IPjA+AD3wO9g62AAMAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAf//AA8AAQAAAAEAAJrVlLJfDzz1AAsCAAAAAADP/GODAAAAAM/8Y4MAAP/bAgAB2wAAAAgAAgAAAAAAAAABAAAB4P/gAAACAAAAAAACAAABAAAAAAAAAAAAAAAAAAAAHAAAAAAAAAAAAAAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAdwAAAHcAAACAAAjAZMAHwFJAAABbgAAAgAAAAIAAAACAAAAAgAAAAEAAAACAAAAAW4AAAHcAAAB3AABAdwAAAHcAAAAAFAAABwAAAAAAA4ArgABAAAAAAABAAwAAAABAAAAAAACAA4AQAABAAAAAAADAAwAIgABAAAAAAAEAAwATgABAAAAAAAFABYADAABAAAAAAAGAAYALgABAAAAAAAKADQAWgADAAEECQABAAwAAAADAAEECQACAA4AQAADAAEECQADAAwAIgADAAEECQAEAAwATgADAAEECQAFABYADAADAAEECQAGAAwANAADAAEECQAKADQAWgByAGEAdABpAG4AZwBWAGUAcgBzAGkAbwBuACAAMQAuADAAcgBhAHQAaQBuAGdyYXRpbmcAcgBhAHQAaQBuAGcAUgBlAGcAdQBsAGEAcgByAGEAdABpAG4AZwBGAG8AbgB0ACAAZwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABJAGMAbwBNAG8AbwBuAC4AAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\") format('woff');\n  font-weight: normal;\n  font-style: normal;\n}\n\n.ui.rating .icon {\n  font-family: 'Rating';\n  line-height: 1;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  font-weight: normal;\n  font-style: normal;\n  text-align: center;\n}\n\n/* Empty Star */\n\n.ui.rating .icon:before {\n  content: '\\f006';\n}\n\n/* Active Star */\n\n.ui.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/*-------------------\n        Star\n--------------------*/\n\n/* Unfilled Star */\n\n.ui.star.rating .icon:before {\n  content: '\\f005';\n}\n\n/* Active Star */\n\n.ui.star.rating .active.icon:before {\n  content: '\\f005';\n}\n\n/* Partial */\n\n.ui.star.rating .partial.icon:before {\n  content: '\\f006';\n}\n\n.ui.star.rating .partial.icon {\n  content: '\\f005';\n}\n\n/*-------------------\n        Heart\n--------------------*/\n\n/* Empty Heart\n.ui.heart.rating .icon:before {\n  content: '\\f08a';\n}\n*/\n\n.ui.heart.rating .icon:before {\n  content: '\\f004';\n}\n\n/* Active */\n\n.ui.heart.rating .active.icon:before {\n  content: '\\f004';\n}\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n             Search\n*******************************/\n\n.ui.search {\n  position: relative;\n}\n\n.ui.search > .prompt {\n  margin: 0em;\n  outline: none;\n  -webkit-appearance: none;\n  -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n  text-shadow: none;\n  font-style: normal;\n  font-weight: normal;\n  line-height: 1.2142em;\n  padding: 0.67861429em 1em;\n  font-size: 1em;\n  background: #FFFFFF;\n  border: 1px solid rgba(34, 36, 38, 0.15);\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0em 0em 0em 0em transparent inset;\n  -webkit-transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n  transition: background-color 0.1s ease, color 0.1s ease, box-shadow 0.1s ease, border-color 0.1s ease;\n}\n\n.ui.search .prompt {\n  border-radius: 500rem;\n}\n\n/*--------------\n     Icon\n---------------*/\n\n.ui.search .prompt ~ .search.icon {\n  cursor: pointer;\n}\n\n/*--------------\n    Results\n---------------*/\n\n.ui.search > .results {\n  display: none;\n  position: absolute;\n  top: 100%;\n  left: 0%;\n  -webkit-transform-origin: center top;\n  -ms-transform-origin: center top;\n  transform-origin: center top;\n  background: #FFFFFF;\n  margin-top: 0.5em;\n  width: 18em;\n  border-radius: 0.28571429rem;\n  box-shadow: 0px 2px 4px 0px rgba(34, 36, 38, 0.12), 0px 2px 10px 0px rgba(34, 36, 38, 0.08);\n  border: 1px solid #D4D4D5;\n  z-index: 998;\n}\n\n.ui.search > .results > :first-child {\n  border-radius: 0.28571429rem 0.28571429rem 0em 0em;\n}\n\n.ui.search > .results > :last-child {\n  border-radius: 0em 0em 0.28571429rem 0.28571429rem;\n}\n\n/*--------------\n    Result\n---------------*/\n\n.ui.search > .results .result {\n  cursor: pointer;\n  display: block;\n  overflow: hidden;\n  font-size: 1em;\n  padding: 0.85714286em 1.14285714em;\n  color: rgba(0, 0, 0, 0.87);\n  line-height: 1.33;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n}\n\n.ui.search > .results .result:last-child {\n  border-bottom: none !important;\n}\n\n/* Image */\n\n.ui.search > .results .result .image {\n  float: right;\n  overflow: hidden;\n  background: none;\n  width: 5em;\n  height: 3em;\n  border-radius: 0.25em;\n}\n\n.ui.search > .results .result .image img {\n  display: block;\n  width: auto;\n  height: 100%;\n}\n\n/*--------------\n      Info\n---------------*/\n\n.ui.search > .results .result .image + .content {\n  margin: 0em 6em 0em 0em;\n}\n\n.ui.search > .results .result .title {\n  margin: -0.14285em 0em 0em;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-weight: bold;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.search > .results .result .description {\n  margin-top: 0;\n  font-size: 0.92857143em;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n.ui.search > .results .result .price {\n  float: right;\n  color: #21BA45;\n}\n\n/*--------------\n    Message\n---------------*/\n\n.ui.search > .results > .message {\n  padding: 1em 1em;\n}\n\n.ui.search > .results > .message .header {\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1rem;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.search > .results > .message .description {\n  margin-top: 0.25rem;\n  font-size: 1em;\n  color: rgba(0, 0, 0, 0.87);\n}\n\n/* View All Results */\n\n.ui.search > .results > .action {\n  display: block;\n  border-top: none;\n  background: #F3F4F5;\n  padding: 0.92857143em 1em;\n  color: rgba(0, 0, 0, 0.87);\n  font-weight: bold;\n  text-align: center;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------------\n       Focus\n---------------------*/\n\n.ui.search > .prompt:focus {\n  border-color: rgba(34, 36, 38, 0.35);\n  background: #FFFFFF;\n  color: rgba(0, 0, 0, 0.95);\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.loading.search .input > i.icon:before {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.loading.search .input > i.icon:after {\n  position: absolute;\n  content: '';\n  top: 50%;\n  left: 50%;\n  margin: -0.64285714em 0em 0em -0.64285714em;\n  width: 1.28571429em;\n  height: 1.28571429em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*--------------\n      Hover\n---------------*/\n\n.ui.search > .results .result:hover,\n.ui.category.search > .results .category .result:hover {\n  background: #F9FAFB;\n}\n\n.ui.search .action:hover {\n  background: #E0E0E0;\n}\n\n/*--------------\n      Active\n---------------*/\n\n.ui.category.search > .results .category.active {\n  background: #F3F4F5;\n}\n\n.ui.category.search > .results .category.active > .name {\n  color: rgba(0, 0, 0, 0.87);\n}\n\n.ui.search > .results .result.active,\n.ui.category.search > .results .category .result.active {\n  position: relative;\n  border-left-color: rgba(34, 36, 38, 0.1);\n  background: #F3F4F5;\n  box-shadow: none;\n}\n\n.ui.search > .results .result.active .title {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n.ui.search > .results .result.active .description {\n  color: rgba(0, 0, 0, 0.85);\n}\n\n/*******************************\n           Types\n*******************************/\n\n/*--------------\n    Categories\n---------------*/\n\n.ui.category.search .results {\n  width: 28em;\n}\n\n/* Category */\n\n.ui.category.search > .results .category {\n  background: #F3F4F5;\n  box-shadow: none;\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n  transition: background 0.1s ease, border-color 0.1s ease;\n}\n\n/* Last Category */\n\n.ui.category.search > .results .category:last-child {\n  border-bottom: none;\n}\n\n/* First / Last */\n\n.ui.category.search > .results .category:first-child .name + .result {\n  border-radius: 0em 0.28571429rem 0em 0em;\n}\n\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-radius: 0em 0em 0.28571429rem 0em;\n}\n\n/* Category Result */\n\n.ui.category.search > .results .category .result {\n  background: #FFFFFF;\n  margin-left: 100px;\n  border-left: 1px solid rgba(34, 36, 38, 0.15);\n  border-bottom: 1px solid rgba(34, 36, 38, 0.1);\n  -webkit-transition: background 0.1s ease, border-color 0.1s ease;\n  transition: background 0.1s ease, border-color 0.1s ease;\n  padding: 0.85714286em 1.14285714em;\n}\n\n.ui.category.search > .results .category:last-child .result:last-child {\n  border-bottom: none;\n}\n\n/* Category Result Name */\n\n.ui.category.search > .results .category > .name {\n  width: 100px;\n  background: transparent;\n  font-family: 'Lato', 'Helvetica Neue', Arial, Helvetica, sans-serif;\n  font-size: 1em;\n  float: 1em;\n  float: left;\n  padding: 0.4em 1em;\n  font-weight: bold;\n  color: rgba(0, 0, 0, 0.4);\n}\n\n/*******************************\n           Variations\n*******************************/\n\n/*-------------------\n     Left / Right\n--------------------*/\n\n.ui[class*=\"left aligned\"].search > .results {\n  right: auto;\n  left: 0%;\n}\n\n.ui[class*=\"right aligned\"].search > .results {\n  right: 0%;\n  left: auto;\n}\n\n/*--------------\n    Fluid\n---------------*/\n\n.ui.fluid.search .results {\n  width: 100%;\n}\n\n/*--------------\n      Sizes\n---------------*/\n\n.ui.mini.search {\n  font-size: 0.71428571em;\n}\n\n.ui.small.search {\n  font-size: 0.92857143em;\n}\n\n.ui.search {\n  font-size: 1em;\n}\n\n.ui.large.search {\n  font-size: 1.14285714em;\n}\n\n.ui.big.search {\n  font-size: 1.28571429em;\n}\n\n.ui.huge.search {\n  font-size: 1.42857143em;\n}\n\n.ui.massive.search {\n  font-size: 1.71428571em;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n              Shape\n*******************************/\n\n.ui.shape {\n  position: relative;\n  vertical-align: top;\n  display: inline-block;\n  -webkit-perspective: 2000px;\n  perspective: 2000px;\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n\n.ui.shape .sides {\n  -webkit-transform-style: preserve-3d;\n  transform-style: preserve-3d;\n}\n\n.ui.shape .side {\n  opacity: 1;\n  width: 100%;\n  margin: 0em !important;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n}\n\n.ui.shape .side {\n  display: none;\n}\n\n.ui.shape .side * {\n  -webkit-backface-visibility: visible !important;\n  backface-visibility: visible !important;\n}\n\n/*******************************\n             Types\n*******************************/\n\n.ui.cube.shape .side {\n  min-width: 15em;\n  height: 15em;\n  padding: 2em;\n  background-color: #E6E6E6;\n  color: rgba(0, 0, 0, 0.87);\n  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.3);\n}\n\n.ui.cube.shape .side > .content {\n  width: 100%;\n  height: 100%;\n  display: table;\n  text-align: center;\n  -webkit-user-select: text;\n  -moz-user-select: text;\n  -ms-user-select: text;\n  user-select: text;\n}\n\n.ui.cube.shape .side > .content > div {\n  display: table-cell;\n  vertical-align: middle;\n  font-size: 2em;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n.ui.text.shape.animating .sides {\n  position: static;\n}\n\n.ui.text.shape .side {\n  white-space: nowrap;\n}\n\n.ui.text.shape .side > * {\n  white-space: normal;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------\n    Loading\n---------------*/\n\n.ui.loading.shape {\n  position: absolute;\n  top: -9999px;\n  left: -9999px;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.shape .animating.side {\n  position: absolute;\n  top: 0px;\n  left: 0px;\n  display: block;\n  z-index: 100;\n}\n\n.ui.shape .hidden.side {\n  opacity: 0.6;\n}\n\n/*--------------\n      CSS\n---------------*/\n\n.ui.shape.animating .sides {\n  position: absolute;\n}\n\n.ui.shape.animating .sides {\n  -webkit-transition: -webkit-transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n  transition: transform 0.6s ease-in-out, left 0.6s ease-in-out, width 0.6s ease-in-out, height 0.6s ease-in-out;\n}\n\n.ui.shape.animating .side {\n  -webkit-transition: opacity 0.6s ease-in-out;\n  transition: opacity 0.6s ease-in-out;\n}\n\n/*--------------\n     Active\n---------------*/\n\n.ui.shape .active.side {\n  display: block;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Sidebar\n*******************************/\n\n/* Sidebar Menu */\n\n.ui.sidebar {\n  position: fixed;\n  top: 0;\n  left: 0;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-transition: none;\n  transition: none;\n  will-change: transform;\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  visibility: hidden;\n  -webkit-overflow-scrolling: touch;\n  height: 100% !important;\n  max-height: 100%;\n  border-radius: 0em !important;\n  margin: 0em !important;\n  overflow-y: auto !important;\n  z-index: 102;\n}\n\n/* GPU Layers for Child Elements */\n\n.ui.sidebar > * {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-transform: rotateZ(0deg);\n  transform: rotateZ(0deg);\n}\n\n/*--------------\n   Direction\n---------------*/\n\n.ui.left.sidebar {\n  right: auto;\n  left: 0px;\n  -webkit-transform: translate3d(-100%, 0, 0);\n  transform: translate3d(-100%, 0, 0);\n}\n\n.ui.right.sidebar {\n  right: 0px !important;\n  left: auto !important;\n  -webkit-transform: translate3d(100%, 0%, 0);\n  transform: translate3d(100%, 0%, 0);\n}\n\n.ui.top.sidebar,\n.ui.bottom.sidebar {\n  width: 100% !important;\n  height: auto !important;\n}\n\n.ui.top.sidebar {\n  top: 0px !important;\n  bottom: auto !important;\n  -webkit-transform: translate3d(0, -100%, 0);\n  transform: translate3d(0, -100%, 0);\n}\n\n.ui.bottom.sidebar {\n  top: auto !important;\n  bottom: 0px !important;\n  -webkit-transform: translate3d(0, 100%, 0);\n  transform: translate3d(0, 100%, 0);\n}\n\n/*--------------\n     Pushable\n---------------*/\n\n.pushable {\n  height: 100%;\n  overflow-x: hidden;\n  padding: 0em !important;\n}\n\n/* Whole Page */\n\nbody.pushable {\n  background: #545454 !important;\n}\n\n/* Page Context */\n\n.pushable:not(body) {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n.pushable:not(body) > .ui.sidebar,\n.pushable:not(body) > .fixed,\n.pushable:not(body) > .pusher:after {\n  position: absolute;\n}\n\n/*--------------\n     Fixed\n---------------*/\n\n.pushable > .fixed {\n  position: fixed;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  will-change: transform;\n  z-index: 101;\n}\n\n/*--------------\n     Page\n---------------*/\n\n.pushable > .pusher {\n  position: relative;\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  overflow: hidden;\n  min-height: 100%;\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  z-index: 2;\n}\n\nbody.pushable > .pusher {\n  background: #FFFFFF;\n}\n\n/* Pusher should inherit background from context */\n\n.pushable > .pusher {\n  background: inherit;\n}\n\n/*--------------\n     Dimmer\n---------------*/\n\n.pushable > .pusher:after {\n  position: fixed;\n  top: 0px;\n  right: 0px;\n  content: '';\n  background-color: rgba(0, 0, 0, 0.4);\n  overflow: hidden;\n  opacity: 0;\n  -webkit-transition: opacity 500ms;\n  transition: opacity 500ms;\n  will-change: opacity;\n  z-index: 1000;\n}\n\n/*--------------\n    Coupling\n---------------*/\n\n.ui.sidebar.menu .item {\n  border-radius: 0em !important;\n}\n\n/*******************************\n            States\n*******************************/\n\n/*--------------\n     Dimmed\n---------------*/\n\n.pushable > .pusher.dimmed:after {\n  width: 100% !important;\n  height: 100% !important;\n  opacity: 1 !important;\n}\n\n/*--------------\n    Animating\n---------------*/\n\n.ui.animating.sidebar {\n  visibility: visible;\n}\n\n/*--------------\n     Visible\n---------------*/\n\n.ui.visible.sidebar {\n  visibility: visible;\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n/* Shadow Direction */\n\n.ui.left.visible.sidebar,\n.ui.right.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n\n.ui.top.visible.sidebar,\n.ui.bottom.visible.sidebar {\n  box-shadow: 0px 0px 20px rgba(34, 36, 38, 0.15);\n}\n\n/* Visible On Load */\n\n.ui.visible.left.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(260px, 0, 0);\n  transform: translate3d(260px, 0, 0);\n}\n\n.ui.visible.right.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-260px, 0, 0);\n  transform: translate3d(-260px, 0, 0);\n}\n\n.ui.visible.top.sidebar ~ .fixed,\n.ui.visible.top.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 36px, 0);\n  transform: translate3d(0, 36px, 0);\n}\n\n.ui.visible.bottom.sidebar ~ .fixed,\n.ui.visible.bottom.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, -36px, 0);\n  transform: translate3d(0, -36px, 0);\n}\n\n/* opposite sides visible forces content overlay */\n\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .fixed,\n.ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .fixed,\n.ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n/*--------------\n       iOS\n---------------*/\n\n/*\n  iOS incorrectly sizes document when content\n  is presented outside of view with 2Dtranslate\n*/\n\nhtml.ios {\n  overflow-x: hidden;\n  -webkit-overflow-scrolling: touch;\n}\n\nhtml.ios,\nhtml.ios body {\n  height: initial !important;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n/*--------------\n     Width\n---------------*/\n\n/* Left / Right */\n\n.ui[class*=\"very thin\"].left.sidebar,\n.ui[class*=\"very thin\"].right.sidebar {\n  width: 60px;\n}\n\n.ui.thin.left.sidebar,\n.ui.thin.right.sidebar {\n  width: 150px;\n}\n\n.ui.left.sidebar,\n.ui.right.sidebar {\n  width: 260px;\n}\n\n.ui.wide.left.sidebar,\n.ui.wide.right.sidebar {\n  width: 350px;\n}\n\n.ui[class*=\"very wide\"].left.sidebar,\n.ui[class*=\"very wide\"].right.sidebar {\n  width: 475px;\n}\n\n/* Left Visible */\n\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(60px, 0, 0);\n  transform: translate3d(60px, 0, 0);\n}\n\n.ui.visible.thin.left.sidebar ~ .fixed,\n.ui.visible.thin.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(150px, 0, 0);\n  transform: translate3d(150px, 0, 0);\n}\n\n.ui.visible.wide.left.sidebar ~ .fixed,\n.ui.visible.wide.left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(350px, 0, 0);\n  transform: translate3d(350px, 0, 0);\n}\n\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].left.sidebar ~ .pusher {\n  -webkit-transform: translate3d(475px, 0, 0);\n  transform: translate3d(475px, 0, 0);\n}\n\n/* Right Visible */\n\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very thin\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-60px, 0, 0);\n  transform: translate3d(-60px, 0, 0);\n}\n\n.ui.visible.thin.right.sidebar ~ .fixed,\n.ui.visible.thin.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-150px, 0, 0);\n  transform: translate3d(-150px, 0, 0);\n}\n\n.ui.visible.wide.right.sidebar ~ .fixed,\n.ui.visible.wide.right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-350px, 0, 0);\n  transform: translate3d(-350px, 0, 0);\n}\n\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .fixed,\n.ui.visible[class*=\"very wide\"].right.sidebar ~ .pusher {\n  -webkit-transform: translate3d(-475px, 0, 0);\n  transform: translate3d(-475px, 0, 0);\n}\n\n/*******************************\n          Animations\n*******************************/\n\n/*--------------\n    Overlay\n---------------*/\n\n/* Set-up */\n\n.ui.overlay.sidebar {\n  z-index: 102;\n}\n\n/* Initial */\n\n.ui.left.overlay.sidebar {\n  -webkit-transform: translate3d(-100%, 0%, 0);\n  transform: translate3d(-100%, 0%, 0);\n}\n\n.ui.right.overlay.sidebar {\n  -webkit-transform: translate3d(100%, 0%, 0);\n  transform: translate3d(100%, 0%, 0);\n}\n\n.ui.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n  transform: translate3d(0%, -100%, 0);\n}\n\n.ui.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n  transform: translate3d(0%, 100%, 0);\n}\n\n/* Animation */\n\n.animating.ui.overlay.sidebar,\n.ui.visible.overlay.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/* End - Sidebar */\n\n.ui.visible.left.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n.ui.visible.right.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n.ui.visible.top.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n.ui.visible.bottom.overlay.sidebar {\n  -webkit-transform: translate3d(0%, 0%, 0);\n  transform: translate3d(0%, 0%, 0);\n}\n\n/* End - Pusher */\n\n.ui.visible.overlay.sidebar ~ .fixed,\n.ui.visible.overlay.sidebar ~ .pusher {\n  -webkit-transform: none !important;\n  -ms-transform: none !important;\n  transform: none !important;\n}\n\n/*--------------\n      Push\n---------------*/\n\n/* Initial */\n\n.ui.push.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial */\n\n.ui.left.push.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n  transform: translate3d(-100%, 0, 0);\n}\n\n.ui.right.push.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n  transform: translate3d(100%, 0, 0);\n}\n\n.ui.top.push.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n  transform: translate3d(0%, -100%, 0);\n}\n\n.ui.bottom.push.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n  transform: translate3d(0%, 100%, 0);\n}\n\n/* End */\n\n.ui.visible.push.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n  transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n    Uncover\n---------------*/\n\n/* Initial */\n\n.ui.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  z-index: 1;\n}\n\n/* End */\n\n.ui.visible.uncover.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/*--------------\n   Slide Along\n---------------*/\n\n/* Initial */\n\n.ui.slide.along.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n\n.ui.left.slide.along.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n  transform: translate3d(-50%, 0, 0);\n}\n\n.ui.right.slide.along.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n  transform: translate3d(50%, 0, 0);\n}\n\n.ui.top.slide.along.sidebar {\n  -webkit-transform: translate3d(0, -50%, 0);\n  transform: translate3d(0, -50%, 0);\n}\n\n.ui.bottom.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n  transform: translate3d(0%, 50%, 0);\n}\n\n/* Animation */\n\n.ui.animating.slide.along.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/* End */\n\n.ui.visible.slide.along.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n  transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Slide Out\n---------------*/\n\n/* Initial */\n\n.ui.slide.out.sidebar {\n  z-index: 1;\n}\n\n/* Sidebar - Initial */\n\n.ui.left.slide.out.sidebar {\n  -webkit-transform: translate3d(50%, 0, 0);\n  transform: translate3d(50%, 0, 0);\n}\n\n.ui.right.slide.out.sidebar {\n  -webkit-transform: translate3d(-50%, 0, 0);\n  transform: translate3d(-50%, 0, 0);\n}\n\n.ui.top.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 50%, 0);\n  transform: translate3d(0%, 50%, 0);\n}\n\n.ui.bottom.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, -50%, 0);\n  transform: translate3d(0%, -50%, 0);\n}\n\n/* Animation */\n\n.ui.animating.slide.out.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n/* End */\n\n.ui.visible.slide.out.sidebar {\n  -webkit-transform: translate3d(0%, 0, 0);\n  transform: translate3d(0%, 0, 0);\n}\n\n/*--------------\n   Scale Down\n---------------*/\n\n/* Initial */\n\n.ui.scale.down.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n  z-index: 102;\n}\n\n/* Sidebar - Initial  */\n\n.ui.left.scale.down.sidebar {\n  -webkit-transform: translate3d(-100%, 0, 0);\n  transform: translate3d(-100%, 0, 0);\n}\n\n.ui.right.scale.down.sidebar {\n  -webkit-transform: translate3d(100%, 0, 0);\n  transform: translate3d(100%, 0, 0);\n}\n\n.ui.top.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, -100%, 0);\n  transform: translate3d(0%, -100%, 0);\n}\n\n.ui.bottom.scale.down.sidebar {\n  -webkit-transform: translate3d(0%, 100%, 0);\n  transform: translate3d(0%, 100%, 0);\n}\n\n/* Pusher - Initial */\n\n.ui.scale.down.left.sidebar ~ .pusher {\n  -webkit-transform-origin: 75% 50%;\n  -ms-transform-origin: 75% 50%;\n  transform-origin: 75% 50%;\n}\n\n.ui.scale.down.right.sidebar ~ .pusher {\n  -webkit-transform-origin: 25% 50%;\n  -ms-transform-origin: 25% 50%;\n  transform-origin: 25% 50%;\n}\n\n.ui.scale.down.top.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 75%;\n  -ms-transform-origin: 50% 75%;\n  transform-origin: 50% 75%;\n}\n\n.ui.scale.down.bottom.sidebar ~ .pusher {\n  -webkit-transform-origin: 50% 25%;\n  -ms-transform-origin: 50% 25%;\n  transform-origin: 50% 25%;\n}\n\n/* Animation */\n\n.ui.animating.scale.down > .visible.ui.sidebar {\n  -webkit-transition: -webkit-transform 500ms ease;\n  transition: transform 500ms ease;\n}\n\n.ui.visible.scale.down.sidebar ~ .pusher,\n.ui.animating.scale.down.sidebar ~ .pusher {\n  display: block !important;\n  width: 100%;\n  height: 100%;\n  overflow: hidden !important;\n}\n\n/* End */\n\n.ui.visible.scale.down.sidebar {\n  -webkit-transform: translate3d(0, 0, 0);\n  transform: translate3d(0, 0, 0);\n}\n\n.ui.visible.scale.down.sidebar ~ .pusher {\n  -webkit-transform: scale(0.75);\n  -ms-transform: scale(0.75);\n  transform: scale(0.75);\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n            Sticky\n*******************************/\n\n.ui.sticky {\n  position: static;\n  -webkit-transition: none;\n  transition: none;\n  z-index: 800;\n}\n\n/*******************************\n            States\n*******************************/\n\n/* Bound */\n\n.ui.sticky.bound {\n  position: absolute;\n  left: auto;\n  right: auto;\n}\n\n/* Fixed */\n\n.ui.sticky.fixed {\n  position: fixed;\n  left: auto;\n  right: auto;\n}\n\n/* Bound/Fixed Position */\n\n.ui.sticky.bound.top,\n.ui.sticky.fixed.top {\n  top: 0px;\n  bottom: auto;\n}\n\n.ui.sticky.bound.bottom,\n.ui.sticky.fixed.bottom {\n  top: auto;\n  bottom: 0px;\n}\n\n/*******************************\n            Types\n*******************************/\n\n.ui.native.sticky {\n  position: -webkit-sticky;\n  position: -moz-sticky;\n  position: -ms-sticky;\n  position: -o-sticky;\n  position: sticky;\n}\n\n/*******************************\n         Theme Overrides\n*******************************/\n\n/*******************************\n         Site Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n           UI Tabs\n*******************************/\n\n.ui.tab {\n  display: none;\n}\n\n/*******************************\n             States\n*******************************/\n\n/*--------------------\n       Active\n---------------------*/\n\n.ui.tab.active,\n.ui.tab.open {\n  display: block;\n}\n\n/*--------------------\n       Loading\n---------------------*/\n\n.ui.tab.loading {\n  position: relative;\n  overflow: hidden;\n  display: block;\n  min-height: 250px;\n}\n\n.ui.tab.loading * {\n  position: relative !important;\n  left: -10000px !important;\n}\n\n.ui.tab.loading:before,\n.ui.tab.loading.segment:before {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  border-radius: 500rem;\n  border: 0.2em solid rgba(0, 0, 0, 0.1);\n}\n\n.ui.tab.loading:after,\n.ui.tab.loading.segment:after {\n  position: absolute;\n  content: '';\n  top: 100px;\n  left: 50%;\n  margin: -1.25em 0em 0em -1.25em;\n  width: 2.5em;\n  height: 2.5em;\n  -webkit-animation: button-spin 0.6s linear;\n  animation: button-spin 0.6s linear;\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n  border-radius: 500rem;\n  border-color: #767676 transparent transparent;\n  border-style: solid;\n  border-width: 0.2em;\n  box-shadow: 0px 0px 0px 1px transparent;\n}\n\n/*******************************\n         Tab Overrides\n*******************************/\n\n/*******************************\n        User Overrides\n*******************************/\n/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n/*******************************\n          Transitions\n*******************************/\n\n.transition {\n  -webkit-animation-iteration-count: 1;\n  animation-iteration-count: 1;\n  -webkit-animation-duration: 300ms;\n  animation-duration: 300ms;\n  -webkit-animation-timing-function: ease;\n  animation-timing-function: ease;\n  -webkit-animation-fill-mode: both;\n  animation-fill-mode: both;\n}\n\n/*******************************\n            States\n*******************************/\n\n/* Animating */\n\n.animating.transition {\n  -webkit-backface-visibility: hidden;\n  backface-visibility: hidden;\n  visibility: visible !important;\n}\n\n/* Loading */\n\n.loading.transition {\n  position: absolute;\n  top: -99999px;\n  left: -99999px;\n}\n\n/* Hidden */\n\n.hidden.transition {\n  display: none;\n  visibility: hidden;\n}\n\n/* Visible */\n\n.visible.transition {\n  display: block !important;\n  visibility: visible !important;\n  /*  backface-visibility: @backfaceVisibility;\n  transform: @use3DAcceleration;*/\n}\n\n/* Disabled */\n\n.disabled.transition {\n  -webkit-animation-play-state: paused;\n  animation-play-state: paused;\n}\n\n/*******************************\n          Variations\n*******************************/\n\n.looping.transition {\n  -webkit-animation-iteration-count: infinite;\n  animation-iteration-count: infinite;\n}\n\n/*******************************\n          Transitions\n*******************************/\n\n/*\n  Some transitions adapted from Animate CSS\n  https://github.com/daneden/animate.css\n\n  Additional transitions adapted from Glide\n  by Nick Pettit - https://github.com/nickpettit/glide\n*/\n\n/*--------------\n     Browse\n---------------*/\n\n.transition.browse {\n  -webkit-animation-duration: 500ms;\n  animation-duration: 500ms;\n}\n\n.transition.browse.in {\n  -webkit-animation-name: browseIn;\n  animation-name: browseIn;\n}\n\n.transition.browse.out,\n.transition.browse.left.out {\n  -webkit-animation-name: browseOutLeft;\n  animation-name: browseOutLeft;\n}\n\n.transition.browse.right.out {\n  -webkit-animation-name: browseOutRight;\n  animation-name: browseOutRight;\n}\n\n/* In */\n\n@-webkit-keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n    transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n    transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n\n@keyframes browseIn {\n  0% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n  }\n\n  10% {\n    -webkit-transform: scale(0.8) translateZ(0px);\n    transform: scale(0.8) translateZ(0px);\n    z-index: -1;\n    opacity: 0.7;\n  }\n\n  80% {\n    -webkit-transform: scale(1.05) translateZ(0px);\n    transform: scale(1.05) translateZ(0px);\n    opacity: 1;\n    z-index: 999;\n  }\n\n  100% {\n    -webkit-transform: scale(1) translateZ(0px);\n    transform: scale(1) translateZ(0px);\n    z-index: 999;\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n@keyframes browseOutLeft {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: -1;\n    -webkit-transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(-105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: -1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n@keyframes browseOutRight {\n  0% {\n    z-index: 999;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg);\n  }\n\n  50% {\n    z-index: 1;\n    -webkit-transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n    transform: translateX(105%) rotateY(35deg) rotateX(10deg) translateZ(-10px);\n  }\n\n  80% {\n    opacity: 1;\n  }\n\n  100% {\n    z-index: 1;\n    -webkit-transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    transform: translateX(0%) rotateY(0deg) rotateX(0deg) translateZ(-10px);\n    opacity: 0;\n  }\n}\n\n/*--------------\n     Drop\n---------------*/\n\n.drop.transition {\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n  -webkit-animation-duration: 400ms;\n  animation-duration: 400ms;\n  -webkit-animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n  animation-timing-function: cubic-bezier(0.34, 1.61, 0.7, 1);\n}\n\n.drop.transition.in {\n  -webkit-animation-name: dropIn;\n  animation-name: dropIn;\n}\n\n.drop.transition.out {\n  -webkit-animation-name: dropOut;\n  animation-name: dropOut;\n}\n\n/* Drop */\n\n@-webkit-keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n@keyframes dropIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n@-webkit-keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n}\n\n@keyframes dropOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0);\n    transform: scale(0);\n  }\n}\n\n/*--------------\n      Fade\n---------------*/\n\n.transition.fade.in {\n  -webkit-animation-name: fadeIn;\n  animation-name: fadeIn;\n}\n\n.transition[class*=\"fade up\"].in {\n  -webkit-animation-name: fadeInUp;\n  animation-name: fadeInUp;\n}\n\n.transition[class*=\"fade down\"].in {\n  -webkit-animation-name: fadeInDown;\n  animation-name: fadeInDown;\n}\n\n.transition[class*=\"fade left\"].in {\n  -webkit-animation-name: fadeInLeft;\n  animation-name: fadeInLeft;\n}\n\n.transition[class*=\"fade right\"].in {\n  -webkit-animation-name: fadeInRight;\n  animation-name: fadeInRight;\n}\n\n.transition.fade.out {\n  -webkit-animation-name: fadeOut;\n  animation-name: fadeOut;\n}\n\n.transition[class*=\"fade up\"].out {\n  -webkit-animation-name: fadeOutUp;\n  animation-name: fadeOutUp;\n}\n\n.transition[class*=\"fade down\"].out {\n  -webkit-animation-name: fadeOutDown;\n  animation-name: fadeOutDown;\n}\n\n.transition[class*=\"fade left\"].out {\n  -webkit-animation-name: fadeOutLeft;\n  animation-name: fadeOutLeft;\n}\n\n.transition[class*=\"fade right\"].out {\n  -webkit-animation-name: fadeOutRight;\n  animation-name: fadeOutRight;\n}\n\n/* In */\n\n@-webkit-keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n\n  100% {\n    opacity: 1;\n  }\n}\n\n@keyframes fadeIn {\n  0% {\n    opacity: 0;\n  }\n\n  100% {\n    opacity: 1;\n  }\n}\n\n@-webkit-keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n    transform: translateY(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@keyframes fadeInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(10%);\n    transform: translateY(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@-webkit-keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n    transform: translateY(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@keyframes fadeInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateY(-10%);\n    transform: translateY(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n}\n\n@-webkit-keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n    transform: translateX(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n@keyframes fadeInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(10%);\n    transform: translateX(10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n@-webkit-keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n    transform: translateX(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n@keyframes fadeInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translateX(-10%);\n    transform: translateX(-10%);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n\n  100% {\n    opacity: 0;\n  }\n}\n\n@keyframes fadeOut {\n  0% {\n    opacity: 1;\n  }\n\n  100% {\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n    transform: translateY(5%);\n  }\n}\n\n@keyframes fadeOutUp {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(5%);\n    transform: translateY(5%);\n  }\n}\n\n@-webkit-keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n    transform: translateY(-5%);\n  }\n}\n\n@keyframes fadeOutDown {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateY(0%);\n    transform: translateY(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateY(-5%);\n    transform: translateY(-5%);\n  }\n}\n\n@-webkit-keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n    transform: translateX(5%);\n  }\n}\n\n@keyframes fadeOutLeft {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(5%);\n    transform: translateX(5%);\n  }\n}\n\n@-webkit-keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n    transform: translateX(-5%);\n  }\n}\n\n@keyframes fadeOutRight {\n  0% {\n    opacity: 1;\n    -webkit-transform: translateX(0%);\n    transform: translateX(0%);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translateX(-5%);\n    transform: translateX(-5%);\n  }\n}\n\n/*--------------\n     Flips\n---------------*/\n\n.flip.transition.in,\n.flip.transition.out {\n  -webkit-animation-duration: 600ms;\n  animation-duration: 600ms;\n}\n\n.horizontal.flip.transition.in {\n  -webkit-animation-name: horizontalFlipIn;\n  animation-name: horizontalFlipIn;\n}\n\n.horizontal.flip.transition.out {\n  -webkit-animation-name: horizontalFlipOut;\n  animation-name: horizontalFlipOut;\n}\n\n.vertical.flip.transition.in {\n  -webkit-animation-name: verticalFlipIn;\n  animation-name: verticalFlipIn;\n}\n\n.vertical.flip.transition.out {\n  -webkit-animation-name: verticalFlipOut;\n  animation-name: verticalFlipOut;\n}\n\n/* In */\n\n@-webkit-keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n    transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n\n@keyframes horizontalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(-90deg);\n    transform: perspective(2000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n}\n\n@-webkit-keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n\n@keyframes verticalFlipIn {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n    transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes horizontalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateY(0deg);\n    transform: perspective(2000px) rotateY(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateY(90deg);\n    transform: perspective(2000px) rotateY(90deg);\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes verticalFlipOut {\n  0% {\n    -webkit-transform: perspective(2000px) rotateX(0deg);\n    transform: perspective(2000px) rotateX(0deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(2000px) rotateX(-90deg);\n    transform: perspective(2000px) rotateX(-90deg);\n    opacity: 0;\n  }\n}\n\n/*--------------\n      Scale\n---------------*/\n\n.scale.transition.in {\n  -webkit-animation-name: scaleIn;\n  animation-name: scaleIn;\n}\n\n.scale.transition.out {\n  -webkit-animation-name: scaleOut;\n  animation-name: scaleOut;\n}\n\n@-webkit-keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n@keyframes scaleIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale(0.8);\n    transform: scale(0.8);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n  }\n}\n\n@keyframes scaleOut {\n  0% {\n    opacity: 1;\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n  }\n}\n\n/*--------------\n      Fly\n---------------*/\n\n/* Inward */\n\n.transition.fly {\n  -webkit-animation-duration: 0.6s;\n  animation-duration: 0.6s;\n  -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);\n}\n\n.transition.fly.in {\n  -webkit-animation-name: flyIn;\n  animation-name: flyIn;\n}\n\n.transition[class*=\"fly up\"].in {\n  -webkit-animation-name: flyInUp;\n  animation-name: flyInUp;\n}\n\n.transition[class*=\"fly down\"].in {\n  -webkit-animation-name: flyInDown;\n  animation-name: flyInDown;\n}\n\n.transition[class*=\"fly left\"].in {\n  -webkit-animation-name: flyInLeft;\n  animation-name: flyInLeft;\n}\n\n.transition[class*=\"fly right\"].in {\n  -webkit-animation-name: flyInRight;\n  animation-name: flyInRight;\n}\n\n/* Outward */\n\n.transition.fly.out {\n  -webkit-animation-name: flyOut;\n  animation-name: flyOut;\n}\n\n.transition[class*=\"fly up\"].out {\n  -webkit-animation-name: flyOutUp;\n  animation-name: flyOutUp;\n}\n\n.transition[class*=\"fly down\"].out {\n  -webkit-animation-name: flyOutDown;\n  animation-name: flyOutDown;\n}\n\n.transition[class*=\"fly left\"].out {\n  -webkit-animation-name: flyOutLeft;\n  animation-name: flyOutLeft;\n}\n\n.transition[class*=\"fly right\"].out {\n  -webkit-animation-name: flyOutRight;\n  animation-name: flyOutRight;\n}\n\n/* In */\n\n@-webkit-keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n    transform: scale3d(1.03, 1.03, 1.03);\n  }\n\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n    transform: scale3d(0.97, 0.97, 0.97);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n@keyframes flyIn {\n  0% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n\n  20% {\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.03, 1.03, 1.03);\n    transform: scale3d(1.03, 1.03, 1.03);\n  }\n\n  80% {\n    -webkit-transform: scale3d(0.97, 0.97, 0.97);\n    transform: scale3d(0.97, 0.97, 0.97);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n@-webkit-keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n    transform: translate3d(0, 1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n    transform: translate3d(0, -5px, 0);\n  }\n\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n@keyframes flyInUp {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 1500px, 0);\n    transform: translate3d(0, 1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, -5px, 0);\n    transform: translate3d(0, -5px, 0);\n  }\n\n  100% {\n    -webkit-transform: translate3d(0, 0, 0);\n    transform: translate3d(0, 0, 0);\n  }\n}\n\n@-webkit-keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n    transform: translate3d(0, -1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n    transform: translate3d(0, 25px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n    transform: translate3d(0, 5px, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@keyframes flyInDown {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -1500px, 0);\n    transform: translate3d(0, -1500px, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 25px, 0);\n    transform: translate3d(0, 25px, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(0, 5px, 0);\n    transform: translate3d(0, 5px, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@-webkit-keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n    transform: translate3d(1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n    transform: translate3d(-25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n    transform: translate3d(-5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@keyframes flyInLeft {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(1500px, 0, 0);\n    transform: translate3d(1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(-25px, 0, 0);\n    transform: translate3d(-25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(10px, 0, 0);\n    transform: translate3d(10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(-5px, 0, 0);\n    transform: translate3d(-5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@-webkit-keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n    transform: translate3d(-1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n    transform: translate3d(25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n    transform: translate3d(5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n@keyframes flyInRight {\n  0% {\n    opacity: 0;\n    -webkit-transform: translate3d(-1500px, 0, 0);\n    transform: translate3d(-1500px, 0, 0);\n  }\n\n  60% {\n    opacity: 1;\n    -webkit-transform: translate3d(25px, 0, 0);\n    transform: translate3d(25px, 0, 0);\n  }\n\n  75% {\n    -webkit-transform: translate3d(-10px, 0, 0);\n    transform: translate3d(-10px, 0, 0);\n  }\n\n  90% {\n    -webkit-transform: translate3d(5px, 0, 0);\n    transform: translate3d(5px, 0, 0);\n  }\n\n  100% {\n    -webkit-transform: none;\n    transform: none;\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  50%, 55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n\n@keyframes flyOut {\n  20% {\n    -webkit-transform: scale3d(0.9, 0.9, 0.9);\n    transform: scale3d(0.9, 0.9, 0.9);\n  }\n\n  50%, 55% {\n    opacity: 1;\n    -webkit-transform: scale3d(1.1, 1.1, 1.1);\n    transform: scale3d(1.1, 1.1, 1.1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scale3d(0.3, 0.3, 0.3);\n    transform: scale3d(0.3, 0.3, 0.3);\n  }\n}\n\n@-webkit-keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0);\n  }\n}\n\n@keyframes flyOutUp {\n  20% {\n    -webkit-transform: translate3d(0, 10px, 0);\n    transform: translate3d(0, 10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, -20px, 0);\n    transform: translate3d(0, -20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, 2000px, 0);\n    transform: translate3d(0, 2000px, 0);\n  }\n}\n\n@-webkit-keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n    transform: translate3d(0, 20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0);\n  }\n}\n\n@keyframes flyOutDown {\n  20% {\n    -webkit-transform: translate3d(0, -10px, 0);\n    transform: translate3d(0, -10px, 0);\n  }\n\n  40%, 45% {\n    opacity: 1;\n    -webkit-transform: translate3d(0, 20px, 0);\n    transform: translate3d(0, 20px, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(0, -2000px, 0);\n    transform: translate3d(0, -2000px, 0);\n  }\n}\n\n@-webkit-keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n    transform: translate3d(20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0);\n  }\n}\n\n@keyframes flyOutRight {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(20px, 0, 0);\n    transform: translate3d(20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(-2000px, 0, 0);\n    transform: translate3d(-2000px, 0, 0);\n  }\n}\n\n@-webkit-keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n    transform: translate3d(-20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0);\n  }\n}\n\n@keyframes flyOutLeft {\n  20% {\n    opacity: 1;\n    -webkit-transform: translate3d(-20px, 0, 0);\n    transform: translate3d(-20px, 0, 0);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: translate3d(2000px, 0, 0);\n    transform: translate3d(2000px, 0, 0);\n  }\n}\n\n/*--------------\n     Slide\n---------------*/\n\n.transition.slide.in,\n.transition[class*=\"slide down\"].in {\n  -webkit-animation-name: slideInY;\n  animation-name: slideInY;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"slide up\"].in {\n  -webkit-animation-name: slideInY;\n  animation-name: slideInY;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"slide left\"].in {\n  -webkit-animation-name: slideInX;\n  animation-name: slideInX;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"slide right\"].in {\n  -webkit-animation-name: slideInX;\n  animation-name: slideInX;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n.transition.slide.out,\n.transition[class*=\"slide down\"].out {\n  -webkit-animation-name: slideOutY;\n  animation-name: slideOutY;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"slide up\"].out {\n  -webkit-animation-name: slideOutY;\n  animation-name: slideOutY;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"slide left\"].out {\n  -webkit-animation-name: slideOutX;\n  animation-name: slideOutX;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"slide right\"].out {\n  -webkit-animation-name: slideOutX;\n  animation-name: slideOutX;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n/* In */\n\n@-webkit-keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n}\n\n@keyframes slideInY {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n}\n\n@-webkit-keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n}\n\n@keyframes slideInX {\n  0% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n\n  100% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n}\n\n@keyframes slideOutY {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleY(1);\n    transform: scaleY(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleY(0);\n    transform: scaleY(0);\n  }\n}\n\n@-webkit-keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n}\n\n@keyframes slideOutX {\n  0% {\n    opacity: 1;\n    -webkit-transform: scaleX(1);\n    transform: scaleX(1);\n  }\n\n  100% {\n    opacity: 0;\n    -webkit-transform: scaleX(0);\n    transform: scaleX(0);\n  }\n}\n\n/*--------------\n     Swing\n---------------*/\n\n.transition.swing {\n  -webkit-animation-duration: 800ms;\n  animation-duration: 800ms;\n}\n\n.transition[class*=\"swing down\"].in {\n  -webkit-animation-name: swingInX;\n  animation-name: swingInX;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"swing up\"].in {\n  -webkit-animation-name: swingInX;\n  animation-name: swingInX;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"swing left\"].in {\n  -webkit-animation-name: swingInY;\n  animation-name: swingInY;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"swing right\"].in {\n  -webkit-animation-name: swingInY;\n  animation-name: swingInY;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n.transition.swing.out,\n.transition[class*=\"swing down\"].out {\n  -webkit-animation-name: swingOutX;\n  animation-name: swingOutX;\n  -webkit-transform-origin: top center;\n  -ms-transform-origin: top center;\n  transform-origin: top center;\n}\n\n.transition[class*=\"swing up\"].out {\n  -webkit-animation-name: swingOutX;\n  animation-name: swingOutX;\n  -webkit-transform-origin: bottom center;\n  -ms-transform-origin: bottom center;\n  transform-origin: bottom center;\n}\n\n.transition[class*=\"swing left\"].out {\n  -webkit-animation-name: swingOutY;\n  animation-name: swingOutY;\n  -webkit-transform-origin: center right;\n  -ms-transform-origin: center right;\n  transform-origin: center right;\n}\n\n.transition[class*=\"swing right\"].out {\n  -webkit-animation-name: swingOutY;\n  animation-name: swingOutY;\n  -webkit-transform-origin: center left;\n  -ms-transform-origin: center left;\n  transform-origin: center left;\n}\n\n/* In */\n\n@-webkit-keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n    transform: perspective(1000px) rotateX(15deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n}\n\n@keyframes swingInX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(15deg);\n    transform: perspective(1000px) rotateX(15deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n}\n\n@-webkit-keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n    transform: perspective(1000px) rotateY(-17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n}\n\n@keyframes swingInY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-17.5deg);\n    transform: perspective(1000px) rotateY(-17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n}\n\n/* Out */\n\n@-webkit-keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n    transform: perspective(1000px) rotateX(17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes swingOutX {\n  0% {\n    -webkit-transform: perspective(1000px) rotateX(0deg);\n    transform: perspective(1000px) rotateX(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateX(-7.5deg);\n    transform: perspective(1000px) rotateX(-7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateX(17.5deg);\n    transform: perspective(1000px) rotateX(17.5deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateX(-30deg);\n    transform: perspective(1000px) rotateX(-30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateX(90deg);\n    transform: perspective(1000px) rotateX(90deg);\n    opacity: 0;\n  }\n}\n\n@-webkit-keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n    transform: perspective(1000px) rotateY(-10deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n\n@keyframes swingOutY {\n  0% {\n    -webkit-transform: perspective(1000px) rotateY(0deg);\n    transform: perspective(1000px) rotateY(0deg);\n  }\n\n  40% {\n    -webkit-transform: perspective(1000px) rotateY(7.5deg);\n    transform: perspective(1000px) rotateY(7.5deg);\n  }\n\n  60% {\n    -webkit-transform: perspective(1000px) rotateY(-10deg);\n    transform: perspective(1000px) rotateY(-10deg);\n  }\n\n  80% {\n    -webkit-transform: perspective(1000px) rotateY(30deg);\n    transform: perspective(1000px) rotateY(30deg);\n    opacity: 1;\n  }\n\n  100% {\n    -webkit-transform: perspective(1000px) rotateY(-90deg);\n    transform: perspective(1000px) rotateY(-90deg);\n    opacity: 0;\n  }\n}\n\n/*******************************\n       Static Animations\n*******************************/\n\n/*--------------\n    Emphasis\n---------------*/\n\n.flash.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: flash;\n  animation-name: flash;\n}\n\n.shake.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: shake;\n  animation-name: shake;\n}\n\n.bounce.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: bounce;\n  animation-name: bounce;\n}\n\n.tada.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: tada;\n  animation-name: tada;\n}\n\n.pulse.transition {\n  -webkit-animation-duration: 500ms;\n  animation-duration: 500ms;\n  -webkit-animation-name: pulse;\n  animation-name: pulse;\n}\n\n.jiggle.transition {\n  -webkit-animation-duration: 750ms;\n  animation-duration: 750ms;\n  -webkit-animation-name: jiggle;\n  animation-name: jiggle;\n}\n\n/* Flash */\n\n@-webkit-keyframes flash {\n  0%, 50%, 100% {\n    opacity: 1;\n  }\n\n  25%, 75% {\n    opacity: 0;\n  }\n}\n\n@keyframes flash {\n  0%, 50%, 100% {\n    opacity: 1;\n  }\n\n  25%, 75% {\n    opacity: 0;\n  }\n}\n\n/* Shake */\n\n@-webkit-keyframes shake {\n  0%, 100% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0);\n  }\n\n  10%, 30%, 50%, 70%, 90% {\n    -webkit-transform: translateX(-10px);\n    transform: translateX(-10px);\n  }\n\n  20%, 40%, 60%, 80% {\n    -webkit-transform: translateX(10px);\n    transform: translateX(10px);\n  }\n}\n\n@keyframes shake {\n  0%, 100% {\n    -webkit-transform: translateX(0);\n    transform: translateX(0);\n  }\n\n  10%, 30%, 50%, 70%, 90% {\n    -webkit-transform: translateX(-10px);\n    transform: translateX(-10px);\n  }\n\n  20%, 40%, 60%, 80% {\n    -webkit-transform: translateX(10px);\n    transform: translateX(10px);\n  }\n}\n\n/* Bounce */\n\n@-webkit-keyframes bounce {\n  0%, 20%, 50%, 80%, 100% {\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n\n  40% {\n    -webkit-transform: translateY(-30px);\n    transform: translateY(-30px);\n  }\n\n  60% {\n    -webkit-transform: translateY(-15px);\n    transform: translateY(-15px);\n  }\n}\n\n@keyframes bounce {\n  0%, 20%, 50%, 80%, 100% {\n    -webkit-transform: translateY(0);\n    transform: translateY(0);\n  }\n\n  40% {\n    -webkit-transform: translateY(-30px);\n    transform: translateY(-30px);\n  }\n\n  60% {\n    -webkit-transform: translateY(-15px);\n    transform: translateY(-15px);\n  }\n}\n\n/* Tada */\n\n@-webkit-keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  10%, 20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n    transform: scale(0.9) rotate(-3deg);\n  }\n\n  30%, 50%, 70%, 90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n    transform: scale(1.1) rotate(3deg);\n  }\n\n  40%, 60%, 80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n    transform: scale(1.1) rotate(-3deg);\n  }\n\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n    transform: scale(1) rotate(0);\n  }\n}\n\n@keyframes tada {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n  }\n\n  10%, 20% {\n    -webkit-transform: scale(0.9) rotate(-3deg);\n    transform: scale(0.9) rotate(-3deg);\n  }\n\n  30%, 50%, 70%, 90% {\n    -webkit-transform: scale(1.1) rotate(3deg);\n    transform: scale(1.1) rotate(3deg);\n  }\n\n  40%, 60%, 80% {\n    -webkit-transform: scale(1.1) rotate(-3deg);\n    transform: scale(1.1) rotate(-3deg);\n  }\n\n  100% {\n    -webkit-transform: scale(1) rotate(0);\n    transform: scale(1) rotate(0);\n  }\n}\n\n/* Pulse */\n\n@-webkit-keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n\n  50% {\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n    opacity: 0.7;\n  }\n\n  100% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n}\n\n@keyframes pulse {\n  0% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n\n  50% {\n    -webkit-transform: scale(0.9);\n    transform: scale(0.9);\n    opacity: 0.7;\n  }\n\n  100% {\n    -webkit-transform: scale(1);\n    transform: scale(1);\n    opacity: 1;\n  }\n}\n\n/* Rubberband */\n\n@-webkit-keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n    transform: scale3d(1.25, 0.75, 1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n    transform: scale3d(0.75, 1.25, 1);\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n    transform: scale3d(1.15, 0.85, 1);\n  }\n\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n    transform: scale3d(0.95, 1.05, 1);\n  }\n\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n    transform: scale3d(1.05, 0.95, 1);\n  }\n\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n@keyframes jiggle {\n  0% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n\n  30% {\n    -webkit-transform: scale3d(1.25, 0.75, 1);\n    transform: scale3d(1.25, 0.75, 1);\n  }\n\n  40% {\n    -webkit-transform: scale3d(0.75, 1.25, 1);\n    transform: scale3d(0.75, 1.25, 1);\n  }\n\n  50% {\n    -webkit-transform: scale3d(1.15, 0.85, 1);\n    transform: scale3d(1.15, 0.85, 1);\n  }\n\n  65% {\n    -webkit-transform: scale3d(0.95, 1.05, 1);\n    transform: scale3d(0.95, 1.05, 1);\n  }\n\n  75% {\n    -webkit-transform: scale3d(1.05, 0.95, 1);\n    transform: scale3d(1.05, 0.95, 1);\n  }\n\n  100% {\n    -webkit-transform: scale3d(1, 1, 1);\n    transform: scale3d(1, 1, 1);\n  }\n}\n\n/*******************************\n         Site Overrides\n*******************************/"
  },
  {
    "path": "src/asset/semantic-ui/semantic.js",
    "content": " /*\n * # Semantic UI - 2.1.6\n * https://github.com/Semantic-Org/Semantic-UI\n * http://www.semantic-ui.com/\n *\n * Copyright 2014 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n/*!\n * # Semantic UI 2.1.6 - Site\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n;(function ( $, window, document, undefined ) {\n\n$.site = $.fn.site = function(parameters) {\n  var\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    settings        = ( $.isPlainObject(parameters) )\n      ? $.extend(true, {}, $.site.settings, parameters)\n      : $.extend({}, $.site.settings),\n\n    namespace       = settings.namespace,\n    error           = settings.error,\n\n    eventNamespace  = '.' + namespace,\n    moduleNamespace = 'module-' + namespace,\n\n    $document       = $(document),\n    $module         = $document,\n    element         = this,\n    instance        = $module.data(moduleNamespace),\n\n    module,\n    returnedValue\n  ;\n  module = {\n\n    initialize: function() {\n      module.instantiate();\n    },\n\n    instantiate: function() {\n      module.verbose('Storing instance of site', module);\n      instance = module;\n      $module\n        .data(moduleNamespace, module)\n      ;\n    },\n\n    normalize: function() {\n      module.fix.console();\n      module.fix.requestAnimationFrame();\n    },\n\n    fix: {\n      console: function() {\n        module.debug('Normalizing window.console');\n        if (console === undefined || console.log === undefined) {\n          module.verbose('Console not available, normalizing events');\n          module.disable.console();\n        }\n        if (typeof console.group == 'undefined' || typeof console.groupEnd == 'undefined' || typeof console.groupCollapsed == 'undefined') {\n          module.verbose('Console group not available, normalizing events');\n          window.console.group = function() {};\n          window.console.groupEnd = function() {};\n          window.console.groupCollapsed = function() {};\n        }\n        if (typeof console.markTimeline == 'undefined') {\n          module.verbose('Mark timeline not available, normalizing events');\n          window.console.markTimeline = function() {};\n        }\n      },\n      consoleClear: function() {\n        module.debug('Disabling programmatic console clearing');\n        window.console.clear = function() {};\n      },\n      requestAnimationFrame: function() {\n        module.debug('Normalizing requestAnimationFrame');\n        if(window.requestAnimationFrame === undefined) {\n          module.debug('RequestAnimationFrame not available, normalizing event');\n          window.requestAnimationFrame = window.requestAnimationFrame\n            || window.mozRequestAnimationFrame\n            || window.webkitRequestAnimationFrame\n            || window.msRequestAnimationFrame\n            || function(callback) { setTimeout(callback, 0); }\n          ;\n        }\n      }\n    },\n\n    moduleExists: function(name) {\n      return ($.fn[name] !== undefined && $.fn[name].settings !== undefined);\n    },\n\n    enabled: {\n      modules: function(modules) {\n        var\n          enabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(module.moduleExists(name)) {\n            enabledModules.push(name);\n          }\n        });\n        return enabledModules;\n      }\n    },\n\n    disabled: {\n      modules: function(modules) {\n        var\n          disabledModules = []\n        ;\n        modules = modules || settings.modules;\n        $.each(modules, function(index, name) {\n          if(!module.moduleExists(name)) {\n            disabledModules.push(name);\n          }\n        });\n        return disabledModules;\n      }\n    },\n\n    change: {\n      setting: function(setting, value, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? (modules === 'all')\n            ? settings.modules\n            : [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            namespace = (module.moduleExists(name))\n              ? $.fn[name].settings.namespace || false\n              : true,\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', setting, value, name);\n            $.fn[name].settings[setting] = value;\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', setting, value);\n              }\n            }\n          }\n        });\n      },\n      settings: function(newSettings, modules, modifyExisting) {\n        modules = (typeof modules === 'string')\n          ? [modules]\n          : modules || settings.modules\n        ;\n        modifyExisting = (modifyExisting !== undefined)\n          ? modifyExisting\n          : true\n        ;\n        $.each(modules, function(index, name) {\n          var\n            $existingModules\n          ;\n          if(module.moduleExists(name)) {\n            module.verbose('Changing default setting', newSettings, name);\n            $.extend(true, $.fn[name].settings, newSettings);\n            if(modifyExisting && namespace) {\n              $existingModules = $(':data(module-' + namespace + ')');\n              if($existingModules.length > 0) {\n                module.verbose('Modifying existing settings', $existingModules);\n                $existingModules[name]('setting', newSettings);\n              }\n            }\n          }\n        });\n      }\n    },\n\n    enable: {\n      console: function() {\n        module.console(true);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling debug for modules', modules);\n        module.change.setting('debug', true, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Enabling verbose debug for modules', modules);\n        module.change.setting('verbose', true, modules, modifyExisting);\n      }\n    },\n    disable: {\n      console: function() {\n        module.console(false);\n      },\n      debug: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling debug for modules', modules);\n        module.change.setting('debug', false, modules, modifyExisting);\n      },\n      verbose: function(modules, modifyExisting) {\n        modules = modules || settings.modules;\n        module.debug('Disabling verbose debug for modules', modules);\n        module.change.setting('verbose', false, modules, modifyExisting);\n      }\n    },\n\n    console: function(enable) {\n      if(enable) {\n        if(instance.cache.console === undefined) {\n          module.error(error.console);\n          return;\n        }\n        module.debug('Restoring console function');\n        window.console = instance.cache.console;\n      }\n      else {\n        module.debug('Disabling console function');\n        instance.cache.console = window.console;\n        window.console = {\n          clear          : function(){},\n          error          : function(){},\n          group          : function(){},\n          groupCollapsed : function(){},\n          groupEnd       : function(){},\n          info           : function(){},\n          log            : function(){},\n          markTimeline   : function(){},\n          warn           : function(){}\n        };\n      }\n    },\n\n    destroy: function() {\n      module.verbose('Destroying previous site for', $module);\n      $module\n        .removeData(moduleNamespace)\n      ;\n    },\n\n    cache: {},\n\n    setting: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, settings, name);\n      }\n      else if(value !== undefined) {\n        settings[name] = value;\n      }\n      else {\n        return settings[name];\n      }\n    },\n    internal: function(name, value) {\n      if( $.isPlainObject(name) ) {\n        $.extend(true, module, name);\n      }\n      else if(value !== undefined) {\n        module[name] = value;\n      }\n      else {\n        return module[name];\n      }\n    },\n    debug: function() {\n      if(settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.debug.apply(console, arguments);\n        }\n      }\n    },\n    verbose: function() {\n      if(settings.verbose && settings.debug) {\n        if(settings.performance) {\n          module.performance.log(arguments);\n        }\n        else {\n          module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n          module.verbose.apply(console, arguments);\n        }\n      }\n    },\n    error: function() {\n      module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n      module.error.apply(console, arguments);\n    },\n    performance: {\n      log: function(message) {\n        var\n          currentTime,\n          executionTime,\n          previousTime\n        ;\n        if(settings.performance) {\n          currentTime   = new Date().getTime();\n          previousTime  = time || currentTime;\n          executionTime = currentTime - previousTime;\n          time          = currentTime;\n          performance.push({\n            'Element'        : element,\n            'Name'           : message[0],\n            'Arguments'      : [].slice.call(message, 1) || '',\n            'Execution Time' : executionTime\n          });\n        }\n        clearTimeout(module.performance.timer);\n        module.performance.timer = setTimeout(module.performance.display, 500);\n      },\n      display: function() {\n        var\n          title = settings.name + ':',\n          totalTime = 0\n        ;\n        time = false;\n        clearTimeout(module.performance.timer);\n        $.each(performance, function(index, data) {\n          totalTime += data['Execution Time'];\n        });\n        title += ' ' + totalTime + 'ms';\n        if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n          console.groupCollapsed(title);\n          if(console.table) {\n            console.table(performance);\n          }\n          else {\n            $.each(performance, function(index, data) {\n              console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n            });\n          }\n          console.groupEnd();\n        }\n        performance = [];\n      }\n    },\n    invoke: function(query, passedArguments, context) {\n      var\n        object = instance,\n        maxDepth,\n        found,\n        response\n      ;\n      passedArguments = passedArguments || queryArguments;\n      context         = element         || context;\n      if(typeof query == 'string' && object !== undefined) {\n        query    = query.split(/[\\. ]/);\n        maxDepth = query.length - 1;\n        $.each(query, function(depth, value) {\n          var camelCaseValue = (depth != maxDepth)\n            ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n            : query\n          ;\n          if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n            object = object[camelCaseValue];\n          }\n          else if( object[camelCaseValue] !== undefined ) {\n            found = object[camelCaseValue];\n            return false;\n          }\n          else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n            object = object[value];\n          }\n          else if( object[value] !== undefined ) {\n            found = object[value];\n            return false;\n          }\n          else {\n            module.error(error.method, query);\n            return false;\n          }\n        });\n      }\n      if ( $.isFunction( found ) ) {\n        response = found.apply(context, passedArguments);\n      }\n      else if(found !== undefined) {\n        response = found;\n      }\n      if($.isArray(returnedValue)) {\n        returnedValue.push(response);\n      }\n      else if(returnedValue !== undefined) {\n        returnedValue = [returnedValue, response];\n      }\n      else if(response !== undefined) {\n        returnedValue = response;\n      }\n      return found;\n    }\n  };\n\n  if(methodInvoked) {\n    if(instance === undefined) {\n      module.initialize();\n    }\n    module.invoke(query);\n  }\n  else {\n    if(instance !== undefined) {\n      module.destroy();\n    }\n    module.initialize();\n  }\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.site.settings = {\n\n  name        : 'Site',\n  namespace   : 'site',\n\n  error : {\n    console : 'Console cannot be restored, most likely it was overwritten outside of module',\n    method : 'The method you called is not defined.'\n  },\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  modules: [\n    'accordion',\n    'api',\n    'checkbox',\n    'dimmer',\n    'dropdown',\n    'embed',\n    'form',\n    'modal',\n    'nag',\n    'popup',\n    'rating',\n    'shape',\n    'sidebar',\n    'state',\n    'sticky',\n    'tab',\n    'transition',\n    'visit',\n    'visibility'\n  ],\n\n  siteNamespace   : 'site',\n  namespaceStub   : {\n    cache     : {},\n    config    : {},\n    sections  : {},\n    section   : {},\n    utilities : {}\n  }\n\n};\n\n// allows for selection of elements with data attributes\n$.extend($.expr[ \":\" ], {\n  data: ($.expr.createPseudo)\n    ? $.expr.createPseudo(function(dataName) {\n        return function(elem) {\n          return !!$.data(elem, dataName);\n        };\n      })\n    : function(elem, i, match) {\n      // support: jQuery < 1.8\n      return !!$.data(elem, match[ 3 ]);\n    }\n});\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Form Validation\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.form = function(parameters) {\n  var\n    $allModules      = $(this),\n    moduleSelector   = $allModules.selector || '',\n\n    time             = new Date().getTime(),\n    performance      = [],\n\n    query            = arguments[0],\n    legacyParameters = arguments[1],\n    methodInvoked    = (typeof query == 'string'),\n    queryArguments   = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        $module     = $(this),\n        element     = this,\n\n        formErrors  = [],\n        keyHeldDown = false,\n\n        // set at run-time\n        $field,\n        $group,\n        $message,\n        $prompt,\n        $submit,\n        $clear,\n        $reset,\n\n        settings,\n        validation,\n\n        metadata,\n        selector,\n        className,\n        error,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n\n        instance,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          // settings grabbed at run time\n          module.get.settings();\n          if(methodInvoked) {\n            if(instance === undefined) {\n              module.instantiate();\n            }\n            module.invoke(query);\n          }\n          else {\n            module.verbose('Initializing form validation', $module, settings);\n            module.bindEvents();\n            module.set.defaults();\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          module.removeEvents();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $field      = $module.find(selector.field);\n          $group      = $module.find(selector.group);\n          $message    = $module.find(selector.message);\n          $prompt     = $module.find(selector.prompt);\n\n          $submit     = $module.find(selector.submit);\n          $clear      = $module.find(selector.clear);\n          $reset      = $module.find(selector.reset);\n        },\n\n        submit: function() {\n          module.verbose('Submitting form', $module);\n          $module\n            .submit()\n          ;\n        },\n\n        attachEvents: function(selector, action) {\n          action = action || 'submit';\n          $(selector)\n            .on('click' + eventNamespace, function(event) {\n              module[action]();\n              event.preventDefault();\n            })\n          ;\n        },\n\n        bindEvents: function() {\n          module.verbose('Attaching form events');\n          $module\n            .on('submit' + eventNamespace, module.validate.form)\n            .on('blur'   + eventNamespace, selector.field, module.event.field.blur)\n            .on('click'  + eventNamespace, selector.submit, module.submit)\n            .on('click'  + eventNamespace, selector.reset, module.reset)\n            .on('click'  + eventNamespace, selector.clear, module.clear)\n          ;\n          if(settings.keyboardShortcuts) {\n            $module\n              .on('keydown' + eventNamespace, selector.field, module.event.field.keydown)\n            ;\n          }\n          $field\n            .each(function() {\n              var\n                $input     = $(this),\n                type       = $input.prop('type'),\n                inputEvent = module.get.changeEvent(type, $input)\n              ;\n              $(this)\n                .on(inputEvent + eventNamespace, module.event.field.change)\n              ;\n            })\n          ;\n        },\n\n        clear: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue) || '',\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('clear');\n              }\n              else if(isCheckbox) {\n                $field.prop('checked', false);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val('');\n              }\n            })\n          ;\n        },\n\n        reset: function() {\n          $field\n            .each(function () {\n              var\n                $field       = $(this),\n                $element     = $field.parent(),\n                $fieldGroup  = $field.closest($group),\n                $prompt      = $fieldGroup.find(selector.prompt),\n                defaultValue = $field.data(metadata.defaultValue),\n                isCheckbox   = $element.is(selector.uiCheckbox),\n                isDropdown   = $element.is(selector.uiDropdown),\n                isErrored    = $fieldGroup.hasClass(className.error)\n              ;\n              if(defaultValue === undefined) {\n                return;\n              }\n              if(isErrored) {\n                module.verbose('Resetting error on field', $fieldGroup);\n                $fieldGroup.removeClass(className.error);\n                $prompt.remove();\n              }\n              if(isDropdown) {\n                module.verbose('Resetting dropdown value', $element, defaultValue);\n                $element.dropdown('restore defaults');\n              }\n              else if(isCheckbox) {\n                module.verbose('Resetting checkbox value', $element, defaultValue);\n                $field.prop('checked', defaultValue);\n              }\n              else {\n                module.verbose('Resetting field value', $field, defaultValue);\n                $field.val(defaultValue);\n              }\n            })\n          ;\n        },\n\n        is: {\n          bracketedRule: function(rule) {\n            return (rule.type && rule.type.match(settings.regExp.bracket));\n          },\n          valid: function() {\n            var\n              allValid = true\n            ;\n            module.verbose('Checking if form is valid');\n            $.each(validation, function(fieldName, field) {\n              if( !( module.validate.field(field, fieldName) ) ) {\n                allValid = false;\n              }\n            });\n            return allValid;\n          }\n        },\n\n        removeEvents: function() {\n          $module\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n          $submit\n            .off(eventNamespace)\n          ;\n          $field\n            .off(eventNamespace)\n          ;\n        },\n\n        event: {\n          field: {\n            keydown: function(event) {\n              var\n                $field  = $(this),\n                key     = event.which,\n                keyCode = {\n                  enter  : 13,\n                  escape : 27\n                }\n              ;\n              if( key == keyCode.escape) {\n                module.verbose('Escape key pressed blurring field');\n                $field\n                  .blur()\n                ;\n              }\n              if(!event.ctrlKey && key == keyCode.enter && $field.is(selector.input) && $field.not(selector.checkbox).length > 0 ) {\n                if(!keyHeldDown) {\n                  $field\n                    .one('keyup' + eventNamespace, module.event.field.keyup)\n                  ;\n                  module.submit();\n                  module.debug('Enter pressed on input submitting form');\n                }\n                keyHeldDown = true;\n              }\n            },\n            keyup: function() {\n              keyHeldDown = false;\n            },\n            blur: function(event) {\n              var\n                $field          = $(this),\n                $fieldGroup     = $field.closest($group),\n                validationRules = module.get.validation($field)\n              ;\n              if( $fieldGroup.hasClass(className.error) ) {\n                module.debug('Revalidating field', $field, validationRules);\n                module.validate.form.call(module, event, true);\n              }\n              else if(settings.on == 'blur' || settings.on == 'change') {\n                if(validationRules) {\n                  module.validate.field( validationRules );\n                }\n              }\n            },\n            change: function(event) {\n              var\n                $field      = $(this),\n                $fieldGroup = $field.closest($group)\n              ;\n              if(settings.on == 'change' || ( $fieldGroup.hasClass(className.error) && settings.revalidate) ) {\n                clearTimeout(module.timer);\n                module.timer = setTimeout(function() {\n                  module.debug('Revalidating field', $field,  module.get.validation($field));\n                  module.validate.form.call(module, event, true);\n                }, settings.delay);\n              }\n            }\n          }\n\n        },\n\n        get: {\n          ancillaryValue: function(rule) {\n            if(!rule.type || !module.is.bracketedRule(rule)) {\n              return false;\n            }\n            return rule.type.match(settings.regExp.bracket)[1] + '';\n          },\n          ruleName: function(rule) {\n            if( module.is.bracketedRule(rule) ) {\n              return rule.type.replace(rule.type.match(settings.regExp.bracket)[0], '');\n            }\n            return rule.type;\n          },\n          changeEvent: function(type, $input) {\n            if(type == 'checkbox' || type == 'radio' || type == 'hidden' || $input.is('select')) {\n              return 'change';\n            }\n            else {\n              return module.get.inputEvent();\n            }\n          },\n          inputEvent: function() {\n            return (document.createElement('input').oninput !== undefined)\n              ? 'input'\n              : (document.createElement('input').onpropertychange !== undefined)\n                ? 'propertychange'\n                : 'keyup'\n            ;\n          },\n          prompt: function(rule, field) {\n            var\n              ruleName      = module.get.ruleName(rule),\n              ancillary     = module.get.ancillaryValue(rule),\n              prompt        = rule.prompt || settings.prompt[ruleName] || settings.text.unspecifiedRule,\n              requiresValue = (prompt.search('{value}') !== -1),\n              requiresName  = (prompt.search('{name}') !== -1),\n              $label,\n              $field,\n              name\n            ;\n            if(requiresName || requiresValue) {\n              $field = module.get.field(field.identifier);\n            }\n            if(requiresValue) {\n              prompt = prompt.replace('{value}', $field.val());\n            }\n            if(requiresName) {\n              $label = $field.closest(selector.group).find('label').eq(0);\n              name = ($label.size() == 1)\n                ? $label.text()\n                : $field.prop('placeholder') || settings.text.unspecifiedField\n              ;\n              prompt = prompt.replace('{name}', name);\n            }\n            prompt = prompt.replace('{identifier}', field.identifier);\n            prompt = prompt.replace('{ruleValue}', ancillary);\n            if(!rule.prompt) {\n              module.verbose('Using default validation prompt for type', prompt, ruleName);\n            }\n            return prompt;\n          },\n          settings: function() {\n            if($.isPlainObject(parameters)) {\n              var\n                keys     = Object.keys(parameters),\n                isLegacySettings = (keys.length > 0)\n                  ? (parameters[keys[0]].identifier !== undefined && parameters[keys[0]].rules !== undefined)\n                  : false,\n                ruleKeys\n              ;\n              if(isLegacySettings) {\n                // 1.x (ducktyped)\n                settings   = $.extend(true, {}, $.fn.form.settings, legacyParameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, parameters);\n                module.error(settings.error.oldSyntax, element);\n                module.verbose('Extending settings from legacy parameters', validation, settings);\n              }\n              else {\n                // 2.x\n                if(parameters.fields) {\n                  ruleKeys = Object.keys(parameters.fields);\n                  if( typeof parameters.fields[ruleKeys[0]] == 'string' || $.isArray(parameters.fields[ruleKeys[0]]) ) {\n                    $.each(parameters.fields, function(name, rules) {\n                      if(typeof rules == 'string') {\n                        rules = [rules];\n                      }\n                      parameters.fields[name] = {\n                        rules: []\n                      };\n                      $.each(rules, function(index, rule) {\n                        parameters.fields[name].rules.push({ type: rule });\n                      });\n                    });\n                  }\n                }\n\n                settings   = $.extend(true, {}, $.fn.form.settings, parameters);\n                validation = $.extend({}, $.fn.form.settings.defaults, settings.fields);\n                module.verbose('Extending settings', validation, settings);\n              }\n            }\n            else {\n              settings   = $.fn.form.settings;\n              validation = $.fn.form.settings.defaults;\n              module.verbose('Using default form validation', validation, settings);\n            }\n\n            // shorthand\n            namespace       = settings.namespace;\n            metadata        = settings.metadata;\n            selector        = settings.selector;\n            className       = settings.className;\n            error           = settings.error;\n            moduleNamespace = 'module-' + namespace;\n            eventNamespace  = '.' + namespace;\n\n            // grab instance\n            instance = $module.data(moduleNamespace);\n\n            // refresh selector cache\n            module.refresh();\n          },\n          field: function(identifier) {\n            module.verbose('Finding field with identifier', identifier);\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return $field.filter('#' + identifier);\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'\"]');\n            }\n            else if( $field.filter('[name=\"' + identifier +'[]\"]').length > 0 ) {\n              return $field.filter('[name=\"' + identifier +'[]\"]');\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]');\n            }\n            return $('<input/>');\n          },\n          fields: function(fields) {\n            var\n              $fields = $()\n            ;\n            $.each(fields, function(index, name) {\n              $fields = $fields.add( module.get.field(name) );\n            });\n            return $fields;\n          },\n          validation: function($field) {\n            var\n              fieldValidation,\n              identifier\n            ;\n            if(!validation) {\n              return false;\n            }\n            $.each(validation, function(fieldName, field) {\n              identifier = field.identifier || fieldName;\n              if( module.get.field(identifier)[0] == $field[0] ) {\n                field.identifier = identifier;\n                fieldValidation = field;\n              }\n            });\n            return fieldValidation || false;\n          },\n          value: function (field) {\n            var\n              fields = [],\n              results\n            ;\n            fields.push(field);\n            results = module.get.values.call(element, fields);\n            return results[field];\n          },\n          values: function (fields) {\n            var\n              $fields = $.isArray(fields)\n                ? module.get.fields(fields)\n                : $field,\n              values = {}\n            ;\n            $fields.each(function(index, field) {\n              var\n                $field     = $(field),\n                type       = $field.prop('type'),\n                name       = $field.prop('name'),\n                value      = $field.val(),\n                isCheckbox = $field.is(selector.checkbox),\n                isRadio    = $field.is(selector.radio),\n                isMultiple = (name.indexOf('[]') !== -1),\n                isChecked  = (isCheckbox)\n                  ? $field.is(':checked')\n                  : false\n              ;\n              if(name) {\n                if(isMultiple) {\n                  name = name.replace('[]', '');\n                  if(!values[name]) {\n                    values[name] = [];\n                  }\n                  if(isCheckbox) {\n                    if(isChecked) {\n                      values[name].push(value || true);\n                    }\n                    else {\n                      values[name].push(false);\n                    }\n                  }\n                  else {\n                    values[name].push(value);\n                  }\n                }\n                else {\n                  if(isRadio) {\n                    if(isChecked) {\n                      values[name] = value;\n                    }\n                  }\n                  else if(isCheckbox) {\n                    if(isChecked) {\n                      values[name] = value || true;\n                    }\n                    else {\n                      values[name] = false;\n                    }\n                  }\n                  else {\n                    values[name] = value;\n                  }\n                }\n              }\n            });\n            return values;\n          }\n        },\n\n        has: {\n\n          field: function(identifier) {\n            module.verbose('Checking for existence of a field with identifier', identifier);\n            if(typeof identifier !== 'string') {\n              module.error(error.identifier, identifier);\n            }\n            if( $field.filter('#' + identifier).length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[name=\"' + identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            else if( $field.filter('[data-' + metadata.validate + '=\"'+ identifier +'\"]').length > 0 ) {\n              return true;\n            }\n            return false;\n          }\n\n        },\n\n        add: {\n          prompt: function(identifier, errors) {\n            var\n              $field       = module.get.field(identifier),\n              $fieldGroup  = $field.closest($group),\n              $prompt      = $fieldGroup.children(selector.prompt),\n              promptExists = ($prompt.length !== 0)\n            ;\n            errors = (typeof errors == 'string')\n              ? [errors]\n              : errors\n            ;\n            module.verbose('Adding field error state', identifier);\n            $fieldGroup\n              .addClass(className.error)\n            ;\n            if(settings.inline) {\n              if(!promptExists) {\n                $prompt = settings.templates.prompt(errors);\n                $prompt\n                  .appendTo($fieldGroup)\n                ;\n              }\n              $prompt\n                .html(errors[0])\n              ;\n              if(!promptExists) {\n                if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                  module.verbose('Displaying error with css transition', settings.transition);\n                  $prompt.transition(settings.transition + ' in', settings.duration);\n                }\n                else {\n                  module.verbose('Displaying error with fallback javascript animation');\n                  $prompt\n                    .fadeIn(settings.duration)\n                  ;\n                }\n              }\n              else {\n                module.verbose('Inline errors are disabled, no inline error added', identifier);\n              }\n            }\n          },\n          errors: function(errors) {\n            module.debug('Adding form error messages', errors);\n            module.set.error();\n            $message\n              .html( settings.templates.error(errors) )\n            ;\n          }\n        },\n\n        remove: {\n          prompt: function(identifier) {\n            var\n              $field      = module.get.field(identifier),\n              $fieldGroup = $field.closest($group),\n              $prompt     = $fieldGroup.children(selector.prompt)\n            ;\n            $fieldGroup\n              .removeClass(className.error)\n            ;\n            if(settings.inline && $prompt.is(':visible')) {\n              module.verbose('Removing prompt for field', identifier);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                $prompt.transition(settings.transition + ' out', settings.duration, function() {\n                  $prompt.remove();\n                });\n              }\n              else {\n                $prompt\n                  .fadeOut(settings.duration, function(){\n                    $prompt.remove();\n                  })\n                ;\n              }\n            }\n          }\n        },\n\n        set: {\n          success: function() {\n            $module\n              .removeClass(className.error)\n              .addClass(className.success)\n            ;\n          },\n          defaults: function () {\n            $field\n              .each(function () {\n                var\n                  $field     = $(this),\n                  isCheckbox = ($field.filter(selector.checkbox).length > 0),\n                  value      = (isCheckbox)\n                    ? $field.is(':checked')\n                    : $field.val()\n                ;\n                $field.data(metadata.defaultValue, value);\n              })\n            ;\n          },\n          error: function() {\n            $module\n              .removeClass(className.success)\n              .addClass(className.error)\n            ;\n          },\n          value: function (field, value) {\n            var\n              fields = {}\n            ;\n            fields[field] = value;\n            return module.set.values.call(element, fields);\n          },\n          values: function (fields) {\n            if($.isEmptyObject(fields)) {\n              return;\n            }\n            $.each(fields, function(key, value) {\n              var\n                $field      = module.get.field(key),\n                $element    = $field.parent(),\n                isMultiple  = $.isArray(value),\n                isCheckbox  = $element.is(selector.uiCheckbox),\n                isDropdown  = $element.is(selector.uiDropdown),\n                isRadio     = ($field.is(selector.radio) && isCheckbox),\n                fieldExists = ($field.length > 0),\n                $multipleField\n              ;\n              if(fieldExists) {\n                if(isMultiple && isCheckbox) {\n                  module.verbose('Selecting multiple', value, $field);\n                  $element.checkbox('uncheck');\n                  $.each(value, function(index, value) {\n                    $multipleField = $field.filter('[value=\"' + value + '\"]');\n                    $element       = $multipleField.parent();\n                    if($multipleField.length > 0) {\n                      $element.checkbox('check');\n                    }\n                  });\n                }\n                else if(isRadio) {\n                  module.verbose('Selecting radio value', value, $field);\n                  $field.filter('[value=\"' + value + '\"]')\n                    .parent(selector.uiCheckbox)\n                      .checkbox('check')\n                  ;\n                }\n                else if(isCheckbox) {\n                  module.verbose('Setting checkbox value', value, $element);\n                  if(value === true) {\n                    $element.checkbox('check');\n                  }\n                  else {\n                    $element.checkbox('uncheck');\n                  }\n                }\n                else if(isDropdown) {\n                  module.verbose('Setting dropdown value', value, $element);\n                  $element.dropdown('set selected', value);\n                }\n                else {\n                  module.verbose('Setting field value', value, $field);\n                  $field.val(value);\n                }\n              }\n            });\n          }\n        },\n\n        validate: {\n\n          form: function(event, ignoreCallbacks) {\n            var\n              values = module.get.values(),\n              apiRequest\n            ;\n\n            // input keydown event will fire submit repeatedly by browser default\n            if(keyHeldDown) {\n              return false;\n            }\n\n            // reset errors\n            formErrors = [];\n            if( module.is.valid() ) {\n              module.debug('Form has no validation errors, submitting');\n              module.set.success();\n              if(ignoreCallbacks !== true) {\n                return settings.onSuccess.call(element, event, values);\n              }\n            }\n            else {\n              module.debug('Form has errors');\n              module.set.error();\n              if(!settings.inline) {\n                module.add.errors(formErrors);\n              }\n              // prevent ajax submit\n              if($module.data('moduleApi') !== undefined) {\n                event.stopImmediatePropagation();\n              }\n              if(ignoreCallbacks !== true) {\n                return settings.onFailure.call(element, formErrors, values);\n              }\n            }\n          },\n\n          // takes a validation object and returns whether field passes validation\n          field: function(field, fieldName) {\n            var\n              identifier  = field.identifier || fieldName,\n              $field      = module.get.field(identifier),\n              fieldValid  = true,\n              fieldErrors = []\n            ;\n            if(!field.identifier) {\n              module.debug('Using field name as identifier', identifier);\n              field.identifier = identifier;\n            }\n            if($field.prop('disabled')) {\n              module.debug('Field is disabled. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.optional && $.trim($field.val()) === ''){\n              module.debug('Field is optional and empty. Skipping', identifier);\n              fieldValid = true;\n            }\n            else if(field.rules !== undefined) {\n              $.each(field.rules, function(index, rule) {\n                if( module.has.field(identifier) && !( module.validate.rule(field, rule) ) ) {\n                  module.debug('Field is invalid', identifier, rule.type);\n                  fieldErrors.push(module.get.prompt(rule, field));\n                  fieldValid = false;\n                }\n              });\n            }\n            if(fieldValid) {\n              module.remove.prompt(identifier, fieldErrors);\n              settings.onValid.call($field);\n            }\n            else {\n              formErrors = formErrors.concat(fieldErrors);\n              module.add.prompt(identifier, fieldErrors);\n              settings.onInvalid.call($field, fieldErrors);\n              return false;\n            }\n            return true;\n          },\n\n          // takes validation rule and returns whether field passes rule\n          rule: function(field, rule) {\n            var\n              $field       = module.get.field(field.identifier),\n              type         = rule.type,\n              value        = $field.val(),\n              isValid      = true,\n              ancillary    = module.get.ancillaryValue(rule),\n              ruleName     = module.get.ruleName(rule),\n              ruleFunction = settings.rules[ruleName]\n            ;\n            if( !$.isFunction(ruleFunction) ) {\n              module.error(error.noRule, ruleName);\n              return;\n            }\n            // cast to string avoiding encoding special values\n            value = (value === undefined || value === '' || value === null)\n              ? ''\n              : $.trim(value + '')\n            ;\n            return ruleFunction.call($field, value, ancillary);\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      module.initialize();\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.form.settings = {\n\n  name              : 'Form',\n  namespace         : 'form',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  fields            : false,\n\n  keyboardShortcuts : true,\n  on                : 'submit',\n  inline            : false,\n\n  delay             : 200,\n  revalidate        : true,\n\n  transition        : 'scale',\n  duration          : 200,\n\n  onValid           : function() {},\n  onInvalid         : function() {},\n  onSuccess         : function() { return true; },\n  onFailure         : function() { return false; },\n\n  metadata : {\n    defaultValue : 'default',\n    validate     : 'validate'\n  },\n\n  regExp: {\n    bracket : /\\[(.*)\\]/i,\n    decimal : /^\\d*(\\.)\\d+/,\n    email   : \"[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\",\n    escape  : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    flags   : /^\\/(.*)\\/(.*)?/,\n    integer : /^\\-?\\d+$/,\n    number  : /^\\-?\\d*(\\.\\d+)?$/,\n    url     : /(https?:\\/\\/(?:www\\.|(?!www))[^\\s\\.]+\\.[^\\s]{2,}|www\\.[^\\s]+\\.[^\\s]{2,})/i\n  },\n\n  text: {\n    unspecifiedRule  : 'Please enter a valid value',\n    unspecifiedField : 'This field'\n  },\n\n  prompt: {\n    empty                : '{name} must have a value',\n    checked              : '{name} must be checked',\n    email                : '{name} must be a valid e-mail',\n    url                  : '{name} must be a valid url',\n    regExp               : '{name} is not formatted correctly',\n    integer              : '{name} must be an integer',\n    decimal              : '{name} must be a decimal number',\n    number               : '{name} must be set to a number',\n    is                   : '{name} must be \"{ruleValue}\"',\n    isExactly            : '{name} must be exactly \"{ruleValue}\"',\n    not                  : '{name} cannot be set to \"{ruleValue}\"',\n    notExactly           : '{name} cannot be set to exactly \"{ruleValue}\"',\n    contain              : '{name} cannot contain \"{ruleValue}\"',\n    containExactly       : '{name} cannot contain exactly \"{ruleValue}\"',\n    doesntContain        : '{name} must contain  \"{ruleValue}\"',\n    doesntContainExactly : '{name} must contain exactly \"{ruleValue}\"',\n    minLength            : '{name} must be at least {ruleValue} characters',\n    length               : '{name} must be at least {ruleValue} characters',\n    exactLength          : '{name} must be exactly {ruleValue} characters',\n    maxLength            : '{name} cannot be longer than {ruleValue} characters',\n    match                : '{name} must match {ruleValue} field',\n    different            : '{name} must have a different value than {ruleValue} field',\n    creditCard           : '{name} must be a valid credit card number',\n    minCount             : '{name} must have at least {ruleValue} choices',\n    exactCount           : '{name} must have exactly {ruleValue} choices',\n    maxCount             : '{name} must have {ruleValue} or less choices'\n  },\n\n  selector : {\n    checkbox   : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    clear      : '.clear',\n    field      : 'input, textarea, select',\n    group      : '.field',\n    input      : 'input',\n    message    : '.error.message',\n    prompt     : '.prompt.label',\n    radio      : 'input[type=\"radio\"]',\n    reset      : '.reset:not([type=\"reset\"])',\n    submit     : '.submit:not([type=\"submit\"])',\n    uiCheckbox : '.ui.checkbox',\n    uiDropdown : '.ui.dropdown'\n  },\n\n  className : {\n    error   : 'error',\n    label   : 'ui prompt label',\n    pressed : 'down',\n    success : 'success'\n  },\n\n  error: {\n    identifier : 'You must specify a string identifier for each field',\n    method     : 'The method you called is not defined.',\n    noRule     : 'There is no rule matching the one you specified',\n    oldSyntax  : 'Starting in 2.0 forms now only take a single settings object. Validation settings converted to new syntax automatically.'\n  },\n\n  templates: {\n\n    // template that produces error message\n    error: function(errors) {\n      var\n        html = '<ul class=\"list\">'\n      ;\n      $.each(errors, function(index, value) {\n        html += '<li>' + value + '</li>';\n      });\n      html += '</ul>';\n      return $(html);\n    },\n\n    // template that produces label\n    prompt: function(errors) {\n      return $('<div/>')\n        .addClass('ui basic red pointing prompt label')\n        .html(errors[0])\n      ;\n    }\n  },\n\n  rules: {\n\n    // is not empty or blank string\n    empty: function(value) {\n      return !(value === undefined || '' === value || $.isArray(value) && value.length === 0);\n    },\n\n    // checkbox checked\n    checked: function() {\n      return ($(this).filter(':checked').length > 0);\n    },\n\n    // is most likely an email\n    email: function(value){\n      var\n        emailRegExp = new RegExp($.fn.form.settings.regExp.email, 'i')\n      ;\n      return emailRegExp.test(value);\n    },\n\n    // value is most likely url\n    url: function(value) {\n      return $.fn.form.settings.regExp.url.test(value);\n    },\n\n    // matches specified regExp\n    regExp: function(value, regExp) {\n      var\n        regExpParts = regExp.match($.fn.form.settings.regExp.flags),\n        flags\n      ;\n      // regular expression specified as /baz/gi (flags)\n      if(regExpParts) {\n        regExp = (regExpParts.length >= 2)\n          ? regExpParts[1]\n          : regExp\n        ;\n        flags = (regExpParts.length >= 3)\n          ? regExpParts[2]\n          : ''\n        ;\n      }\n      return value.match( new RegExp(regExp, flags) );\n    },\n\n    // is valid integer or matches range\n    integer: function(value, range) {\n      var\n        intRegExp = $.fn.form.settings.regExp.integer,\n        min,\n        max,\n        parts\n      ;\n      if( !range || ['', '..'].indexOf(range) !== -1) {\n        // do nothing\n      }\n      else if(range.indexOf('..') == -1) {\n        if(intRegExp.test(range)) {\n          min = max = range - 0;\n        }\n      }\n      else {\n        parts = range.split('..', 2);\n        if(intRegExp.test(parts[0])) {\n          min = parts[0] - 0;\n        }\n        if(intRegExp.test(parts[1])) {\n          max = parts[1] - 0;\n        }\n      }\n      return (\n        intRegExp.test(value) &&\n        (min === undefined || value >= min) &&\n        (max === undefined || value <= max)\n      );\n    },\n\n    // is valid number (with decimal)\n    decimal: function(value) {\n      return $.fn.form.settings.regExp.decimal.test(value);\n    },\n\n    // is valid number\n    number: function(value) {\n      return $.fn.form.settings.regExp.number.test(value);\n    },\n\n    // is value (case insensitive)\n    is: function(value, text) {\n      text = (typeof text == 'string')\n        ? text.toLowerCase()\n        : text\n      ;\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      return (value == text);\n    },\n\n    // is value\n    isExactly: function(value, text) {\n      return (value == text);\n    },\n\n    // value is not another value (case insensitive)\n    not: function(value, notValue) {\n      value = (typeof value == 'string')\n        ? value.toLowerCase()\n        : value\n      ;\n      notValue = (typeof notValue == 'string')\n        ? notValue.toLowerCase()\n        : notValue\n      ;\n      return (value != notValue);\n    },\n\n    // value is not another value (case sensitive)\n    notExactly: function(value, notValue) {\n      return (value != notValue);\n    },\n\n    // value contains text (insensitive)\n    contains: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) !== -1);\n    },\n\n    // value contains text (case sensitive)\n    containsExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) !== -1);\n    },\n\n    // value contains text (insensitive)\n    doesntContain: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text, 'i') ) === -1);\n    },\n\n    // value contains text (case sensitive)\n    doesntContainExactly: function(value, text) {\n      // escape regex characters\n      text = text.replace($.fn.form.settings.regExp.escape, \"\\\\$&\");\n      return (value.search( new RegExp(text) ) === -1);\n    },\n\n    // is at least string length\n    minLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // see rls notes for 2.0.6 (this is a duplicate of minLength)\n    length: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length >= requiredLength)\n        : false\n      ;\n    },\n\n    // is exactly length\n    exactLength: function(value, requiredLength) {\n      return (value !== undefined)\n        ? (value.length == requiredLength)\n        : false\n      ;\n    },\n\n    // is less than length\n    maxLength: function(value, maxLength) {\n      return (value !== undefined)\n        ? (value.length <= maxLength)\n        : false\n      ;\n    },\n\n    // matches another field\n    match: function(value, identifier) {\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() == matchingValue.toString() )\n        : false\n      ;\n    },\n\n    // different than another field\n    different: function(value, identifier) {\n      // use either id or name of field\n      var\n        $form = $(this),\n        matchingValue\n      ;\n      if( $('[data-validate=\"'+ identifier +'\"]').length > 0 ) {\n        matchingValue = $('[data-validate=\"'+ identifier +'\"]').val();\n      }\n      else if($('#' + identifier).length > 0) {\n        matchingValue = $('#' + identifier).val();\n      }\n      else if($('[name=\"' + identifier +'\"]').length > 0) {\n        matchingValue = $('[name=\"' + identifier + '\"]').val();\n      }\n      else if( $('[name=\"' + identifier +'[]\"]').length > 0 ) {\n        matchingValue = $('[name=\"' + identifier +'[]\"]');\n      }\n      return (matchingValue !== undefined)\n        ? ( value.toString() !== matchingValue.toString() )\n        : false\n      ;\n    },\n\n    creditCard: function(cardNumber, cardTypes) {\n      var\n        cards = {\n          visa: {\n            pattern : /^4/,\n            length  : [16]\n          },\n          amex: {\n            pattern : /^3[47]/,\n            length  : [15]\n          },\n          mastercard: {\n            pattern : /^5[1-5]/,\n            length  : [16]\n          },\n          discover: {\n            pattern : /^(6011|622(12[6-9]|1[3-9][0-9]|[2-8][0-9]{2}|9[0-1][0-9]|92[0-5]|64[4-9])|65)/,\n            length  : [16]\n          },\n          unionPay: {\n            pattern : /^(62|88)/,\n            length  : [16, 17, 18, 19]\n          },\n          jcb: {\n            pattern : /^35(2[89]|[3-8][0-9])/,\n            length  : [16]\n          },\n          maestro: {\n            pattern : /^(5018|5020|5038|6304|6759|676[1-3])/,\n            length  : [12, 13, 14, 15, 16, 17, 18, 19]\n          },\n          dinersClub: {\n            pattern : /^(30[0-5]|^36)/,\n            length  : [14]\n          },\n          laser: {\n            pattern : /^(6304|670[69]|6771)/,\n            length  : [16, 17, 18, 19]\n          },\n          visaElectron: {\n            pattern : /^(4026|417500|4508|4844|491(3|7))/,\n            length  : [16]\n          }\n        },\n        valid         = {},\n        validCard     = false,\n        requiredTypes = (typeof cardTypes == 'string')\n          ? cardTypes.split(',')\n          : false,\n        unionPay,\n        validation\n      ;\n\n      if(typeof cardNumber !== 'string' || cardNumber.length === 0) {\n        return;\n      }\n\n      // verify card types\n      if(requiredTypes) {\n        $.each(requiredTypes, function(index, type){\n          // verify each card type\n          validation = cards[type];\n          if(validation) {\n            valid = {\n              length  : ($.inArray(cardNumber.length, validation.length) !== -1),\n              pattern : (cardNumber.search(validation.pattern) !== -1)\n            };\n            if(valid.length && valid.pattern) {\n              validCard = true;\n            }\n          }\n        });\n\n        if(!validCard) {\n          return false;\n        }\n      }\n\n      // skip luhn for UnionPay\n      unionPay = {\n        number  : ($.inArray(cardNumber.length, cards.unionPay.length) !== -1),\n        pattern : (cardNumber.search(cards.unionPay.pattern) !== -1)\n      };\n      if(unionPay.number && unionPay.pattern) {\n        return true;\n      }\n\n      // verify luhn, adapted from  <https://gist.github.com/2134376>\n      var\n        length        = cardNumber.length,\n        multiple      = 0,\n        producedValue = [\n          [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],\n          [0, 2, 4, 6, 8, 1, 3, 5, 7, 9]\n        ],\n        sum           = 0\n      ;\n      while (length--) {\n        sum += producedValue[multiple][parseInt(cardNumber.charAt(length), 10)];\n        multiple ^= 1;\n      }\n      return (sum % 10 === 0 && sum > 0);\n    },\n\n    minCount: function(value, minCount) {\n      if(minCount == 0) {\n        return true;\n      }\n      if(minCount == 1) {\n        return (value !== '');\n      }\n      return (value.split(',').length >= minCount);\n    },\n\n    exactCount: function(value, exactCount) {\n      if(exactCount == 0) {\n        return (value === '');\n      }\n      if(exactCount == 1) {\n        return (value !== '' && value.search(',') === -1);\n      }\n      return (value.split(',').length == exactCount);\n    },\n\n    maxCount: function(value, maxCount) {\n      if(maxCount == 0) {\n        return false;\n      }\n      if(maxCount == 1) {\n        return (value.search(',') === -1);\n      }\n      return (value.split(',').length <= maxCount);\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Accordion\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.accordion = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.accordion.settings, parameters)\n          : $.extend({}, $.fn.accordion.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        $module  = $(this),\n        $title   = $module.find(selector.title),\n        $content = $module.find(selector.content),\n\n        element  = this,\n        instance = $module.data(moduleNamespace),\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous instance', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $title   = $module.find(selector.title);\n          $content = $module.find(selector.content);\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding delegated events');\n            $module\n              .on(settings.on + eventNamespace, selector.trigger, module.event.click)\n            ;\n          }\n        },\n\n        event: {\n          click: function() {\n            module.toggle.call(this);\n          }\n        },\n\n        toggle: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive && !isAnimating),\n            isOpening   = (!isActive && isAnimating)\n          ;\n          module.debug('Toggling visibility of content', $activeTitle);\n          if(isOpen || isOpening) {\n            if(settings.collapsible) {\n              module.close.call($activeTitle);\n            }\n            else {\n              module.debug('Cannot close accordion content collapsing is disabled');\n            }\n          }\n          else {\n            module.open.call($activeTitle);\n          }\n        },\n\n        open: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating = $activeContent.hasClass(className.animating),\n            isActive    = $activeContent.hasClass(className.active),\n            isOpen      = (isActive || isAnimating)\n          ;\n          if(isOpen) {\n            module.debug('Accordion already open, skipping', $activeContent);\n            return;\n          }\n          module.debug('Opening accordion content', $activeTitle);\n          settings.onOpening.call($activeContent);\n          if(settings.exclusive) {\n            module.closeOthers.call($activeTitle);\n          }\n          $activeTitle\n            .addClass(className.active)\n          ;\n          $activeContent\n            .stop(true, true)\n            .addClass(className.animating)\n          ;\n          if(settings.animateChildren) {\n            if($.fn.transition !== undefined && $module.transition('is supported')) {\n              $activeContent\n                .children()\n                  .transition({\n                    animation   : 'fade in',\n                    queue       : false,\n                    useFailSafe : true,\n                    debug       : settings.debug,\n                    verbose     : settings.verbose,\n                    duration    : settings.duration\n                  })\n              ;\n            }\n            else {\n              $activeContent\n                .children()\n                  .stop(true, true)\n                  .animate({\n                    opacity: 1\n                  }, settings.duration, module.resetOpacity)\n              ;\n            }\n          }\n          $activeContent\n            .slideDown(settings.duration, settings.easing, function() {\n              $activeContent\n                .removeClass(className.animating)\n                .addClass(className.active)\n              ;\n              module.reset.display.call(this);\n              settings.onOpen.call(this);\n              settings.onChange.call(this);\n            })\n          ;\n        },\n\n        close: function(query) {\n          var\n            $activeTitle = (query !== undefined)\n              ? (typeof query === 'number')\n                ? $title.eq(query)\n                : $(query).closest(selector.title)\n              : $(this).closest(selector.title),\n            $activeContent = $activeTitle.next($content),\n            isAnimating    = $activeContent.hasClass(className.animating),\n            isActive       = $activeContent.hasClass(className.active),\n            isOpening      = (!isActive && isAnimating),\n            isClosing      = (isActive && isAnimating)\n          ;\n          if((isActive || isOpening) && !isClosing) {\n            module.debug('Closing accordion content', $activeContent);\n            settings.onClosing.call($activeContent);\n            $activeTitle\n              .removeClass(className.active)\n            ;\n            $activeContent\n              .stop(true, true)\n              .addClass(className.animating)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $activeContent\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      queue       : false,\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $activeContent\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $activeContent\n              .slideUp(settings.duration, settings.easing, function() {\n                $activeContent\n                  .removeClass(className.animating)\n                  .removeClass(className.active)\n                ;\n                module.reset.display.call(this);\n                settings.onClose.call(this);\n                settings.onChange.call(this);\n              })\n            ;\n          }\n        },\n\n        closeOthers: function(index) {\n          var\n            $activeTitle = (index !== undefined)\n              ? $title.eq(index)\n              : $(this).closest(selector.title),\n            $parentTitles    = $activeTitle.parents(selector.content).prev(selector.title),\n            $activeAccordion = $activeTitle.closest(selector.accordion),\n            activeSelector   = selector.title + '.' + className.active + ':visible',\n            activeContent    = selector.content + '.' + className.active + ':visible',\n            $openTitles,\n            $nestedTitles,\n            $openContents\n          ;\n          if(settings.closeNested) {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $openContents = $openTitles.next($content);\n          }\n          else {\n            $openTitles   = $activeAccordion.find(activeSelector).not($parentTitles);\n            $nestedTitles = $activeAccordion.find(activeContent).find(activeSelector).not($parentTitles);\n            $openTitles   = $openTitles.not($nestedTitles);\n            $openContents = $openTitles.next($content);\n          }\n          if( ($openTitles.length > 0) ) {\n            module.debug('Exclusive enabled, closing other content', $openTitles);\n            $openTitles\n              .removeClass(className.active)\n            ;\n            $openContents\n              .removeClass(className.animating)\n              .stop(true, true)\n            ;\n            if(settings.animateChildren) {\n              if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $openContents\n                  .children()\n                    .transition({\n                      animation   : 'fade out',\n                      useFailSafe : true,\n                      debug       : settings.debug,\n                      verbose     : settings.verbose,\n                      duration    : settings.duration\n                    })\n                ;\n              }\n              else {\n                $openContents\n                  .children()\n                    .stop(true, true)\n                    .animate({\n                      opacity: 0\n                    }, settings.duration, module.resetOpacity)\n                ;\n              }\n            }\n            $openContents\n              .slideUp(settings.duration , settings.easing, function() {\n                $(this).removeClass(className.active);\n                module.reset.display.call(this);\n              })\n            ;\n          }\n        },\n\n        reset: {\n\n          display: function() {\n            module.verbose('Removing inline display from element', this);\n            $(this).css('display', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n          opacity: function() {\n            module.verbose('Removing inline opacity from element', this);\n            $(this).css('opacity', '');\n            if( $(this).attr('style') === '') {\n              $(this)\n                .attr('style', '')\n                .removeAttr('style')\n              ;\n            }\n          },\n\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          module.debug('Changing internal', name, value);\n          if(value !== undefined) {\n            if( $.isPlainObject(name) ) {\n              $.extend(true, module, name);\n            }\n            else {\n              module[name] = value;\n            }\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.accordion.settings = {\n\n  name            : 'Accordion',\n  namespace       : 'accordion',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  on              : 'click', // event on title that opens accordion\n\n  observeChanges  : true,  // whether accordion should automatically refresh on DOM insertion\n\n  exclusive       : true,  // whether a single accordion content panel should be open at once\n  collapsible     : true,  // whether accordion content can be closed\n  closeNested     : false, // whether nested content should be closed when a panel is closed\n  animateChildren : true,  // whether children opacity should be animated\n\n  duration        : 350, // duration of animation\n  easing          : 'easeOutQuad', // easing equation for animation\n\n\n  onOpening       : function(){}, // callback before open animation\n  onOpen          : function(){}, // callback after open animation\n  onClosing       : function(){}, // callback before closing animation\n  onClose         : function(){}, // callback after closing animation\n  onChange        : function(){}, // callback after closing or opening animation\n\n  error: {\n    method : 'The method you called is not defined'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating'\n  },\n\n  selector    : {\n    accordion : '.accordion',\n    title     : '.title',\n    trigger   : '.title',\n    content   : '.content'\n  }\n\n};\n\n// Adds easing\n$.extend( $.easing, {\n  easeOutQuad: function (x, t, b, c, d) {\n    return -c *(t/=d)*(t-2) + b;\n  }\n});\n\n})( jQuery, window, document );\n\n\n/*!\n * # Semantic UI 2.1.6 - Checkbox\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.checkbox = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = $.extend(true, {}, $.fn.checkbox.settings, parameters),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $label          = $(this).children(selector.label),\n        $input          = $(this).children(selector.input),\n        input           = $input[0],\n\n        initialLoad     = false,\n        shortcutPressed = false,\n        instance        = $module.data(moduleNamespace),\n\n        observer,\n        element         = this,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.verbose('Initializing checkbox', settings);\n\n          module.create.label();\n          module.bind.events();\n\n          module.set.tabbable();\n          module.hide.input();\n\n          module.observeChanges();\n          module.instantiate();\n          module.setup();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying module');\n          module.unbind.events();\n          module.show.input();\n          $module.removeData(moduleNamespace);\n        },\n\n        fix: {\n          reference: function() {\n            if( $module.is(selector.input) ) {\n              module.debug('Behavior called on <input> adjusting invoked element');\n              $module = $module.closest(selector.checkbox);\n              module.refresh();\n            }\n          }\n        },\n\n        setup: function() {\n          module.set.initialLoad();\n          if( module.is.indeterminate() ) {\n            module.debug('Initial value is indeterminate');\n            module.indeterminate();\n          }\n          else if( module.is.checked() ) {\n            module.debug('Initial value is checked');\n            module.check();\n          }\n          else {\n            module.debug('Initial value is unchecked');\n            module.uncheck();\n          }\n          module.remove.initialLoad();\n        },\n\n        refresh: function() {\n          $label = $module.children(selector.label);\n          $input = $module.children(selector.input);\n          input  = $input[0];\n        },\n\n        hide: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be unselectable');\n            $input.addClass(className.hidden);\n          }\n        },\n        show: {\n          input: function() {\n            module.verbose('Modfying <input> z-index to be selectable');\n            $input.removeClass(className.hidden);\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, updating selector cache');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $element = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($element.length > 0) {\n            module.debug('Attaching checkbox events to element', selector, event);\n            $element\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound);\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            if( $target.is(selector.input) ) {\n              module.verbose('Using default check action on initialized checkbox');\n              return;\n            }\n            if( $target.is(selector.link) ) {\n              module.debug('Clicking link inside checkbox, skipping toggle');\n              return;\n            }\n            module.toggle();\n            $input.focus();\n            event.preventDefault();\n          },\n          keydown: function(event) {\n            var\n              key     = event.which,\n              keyCode = {\n                enter  : 13,\n                space  : 32,\n                escape : 27\n              }\n            ;\n            if(key == keyCode.escape) {\n              module.verbose('Escape key pressed blurring field');\n              $input.blur();\n              shortcutPressed = true;\n            }\n            else if(!event.ctrlKey && ( key == keyCode.space || key == keyCode.enter) ) {\n              module.verbose('Enter/space key pressed, toggling checkbox');\n              module.toggle();\n              shortcutPressed = true;\n            }\n            else {\n              shortcutPressed = false;\n            }\n          },\n          keyup: function(event) {\n            if(shortcutPressed) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        check: function() {\n          if( !module.should.allowCheck() ) {\n            return;\n          }\n          module.debug('Checking checkbox', $input);\n          module.set.checked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onChecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        uncheck: function() {\n          if( !module.should.allowUncheck() ) {\n            return;\n          }\n          module.debug('Unchecking checkbox');\n          module.set.unchecked();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onUnchecked.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        indeterminate: function() {\n          if( module.should.allowIndeterminate() ) {\n            module.debug('Checkbox is already indeterminate');\n            return;\n          }\n          module.debug('Making checkbox indeterminate');\n          module.set.indeterminate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onIndeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        determinate: function() {\n          if( module.should.allowDeterminate() ) {\n            module.debug('Checkbox is already determinate');\n            return;\n          }\n          module.debug('Making checkbox determinate');\n          module.set.determinate();\n          if( !module.should.ignoreCallbacks() ) {\n            settings.onDeterminate.call(input);\n            settings.onChange.call(input);\n          }\n        },\n\n        enable: function() {\n          if( module.is.enabled() ) {\n            module.debug('Checkbox is already enabled');\n            return;\n          }\n          module.debug('Enabling checkbox');\n          module.set.enabled();\n          settings.onEnable.call(input);\n        },\n\n        disable: function() {\n          if( module.is.disabled() ) {\n            module.debug('Checkbox is already disabled');\n            return;\n          }\n          module.debug('Disabling checkbox');\n          module.set.disabled();\n          settings.onDisable.call(input);\n        },\n\n        get: {\n          radios: function() {\n            var\n              name = module.get.name()\n            ;\n            return $('input[name=\"' + name + '\"]').closest(selector.checkbox);\n          },\n          otherRadios: function() {\n            return module.get.radios().not($module);\n          },\n          name: function() {\n            return $input.attr('name');\n          }\n        },\n\n        is: {\n          initialLoad: function() {\n            return initialLoad;\n          },\n          radio: function() {\n            return ($input.hasClass(className.radio) || $input.attr('type') == 'radio');\n          },\n          indeterminate: function() {\n            return $input.prop('indeterminate') !== undefined && $input.prop('indeterminate');\n          },\n          checked: function() {\n            return $input.prop('checked') !== undefined && $input.prop('checked');\n          },\n          disabled: function() {\n            return $input.prop('disabled') !== undefined && $input.prop('disabled');\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          determinate: function() {\n            return !module.is.indeterminate();\n          },\n          unchecked: function() {\n            return !module.is.checked();\n          }\n        },\n\n        should: {\n          allowCheck: function() {\n            if(module.is.determinate() && module.is.checked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow check, checkbox is already checked');\n              return false;\n            }\n            if(settings.beforeChecked.apply(input) === false) {\n              module.debug('Should not allow check, beforeChecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowUncheck: function() {\n            if(module.is.determinate() && module.is.unchecked() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow uncheck, checkbox is already unchecked');\n              return false;\n            }\n            if(settings.beforeUnchecked.apply(input) === false) {\n              module.debug('Should not allow uncheck, beforeUnchecked cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowIndeterminate: function() {\n            if(module.is.indeterminate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow indeterminate, checkbox is already indeterminate');\n              return false;\n            }\n            if(settings.beforeIndeterminate.apply(input) === false) {\n              module.debug('Should not allow indeterminate, beforeIndeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          allowDeterminate: function() {\n            if(module.is.determinate() && !module.should.forceCallbacks() ) {\n              module.debug('Should not allow determinate, checkbox is already determinate');\n              return false;\n            }\n            if(settings.beforeDeterminate.apply(input) === false) {\n              module.debug('Should not allow determinate, beforeDeterminate cancelled');\n              return false;\n            }\n            return true;\n          },\n          forceCallbacks: function() {\n            return (module.is.initialLoad() && settings.fireOnInit);\n          },\n          ignoreCallbacks: function() {\n            return (initialLoad && !settings.fireOnInit);\n          }\n        },\n\n        can: {\n          change: function() {\n            return !( $module.hasClass(className.disabled) || $module.hasClass(className.readOnly) || $input.prop('disabled') || $input.prop('readonly') );\n          },\n          uncheck: function() {\n            return (typeof settings.uncheckable === 'boolean')\n              ? settings.uncheckable\n              : !module.is.radio()\n            ;\n          }\n        },\n\n        set: {\n          initialLoad: function() {\n            initialLoad = true;\n          },\n          checked: function() {\n            module.verbose('Setting class to checked');\n            $module\n              .removeClass(className.indeterminate)\n              .addClass(className.checked)\n            ;\n            if( module.is.radio() ) {\n              module.uncheckOthers();\n            }\n            if(!module.is.indeterminate() && module.is.checked()) {\n              module.debug('Input is already checked, skipping input property change');\n              return;\n            }\n            module.verbose('Setting state to checked', input);\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', true)\n            ;\n            module.trigger.change();\n          },\n          unchecked: function() {\n            module.verbose('Removing checked class');\n            $module\n              .removeClass(className.indeterminate)\n              .removeClass(className.checked)\n            ;\n            if(!module.is.indeterminate() &&  module.is.unchecked() ) {\n              module.debug('Input is already unchecked');\n              return;\n            }\n            module.debug('Setting state to unchecked');\n            $input\n              .prop('indeterminate', false)\n              .prop('checked', false)\n            ;\n            module.trigger.change();\n          },\n          indeterminate: function() {\n            module.verbose('Setting class to indeterminate');\n            $module\n              .addClass(className.indeterminate)\n            ;\n            if( module.is.indeterminate() ) {\n              module.debug('Input is already indeterminate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to indeterminate');\n            $input\n              .prop('indeterminate', true)\n            ;\n            module.trigger.change();\n          },\n          determinate: function() {\n            module.verbose('Removing indeterminate class');\n            $module\n              .removeClass(className.indeterminate)\n            ;\n            if( module.is.determinate() ) {\n              module.debug('Input is already determinate, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to determinate');\n            $input\n              .prop('indeterminate', false)\n            ;\n          },\n          disabled: function() {\n            module.verbose('Setting class to disabled');\n            $module\n              .addClass(className.disabled)\n            ;\n            if( module.is.disabled() ) {\n              module.debug('Input is already disabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to disabled');\n            $input\n              .prop('disabled', 'disabled')\n            ;\n            module.trigger.change();\n          },\n          enabled: function() {\n            module.verbose('Removing disabled class');\n            $module.removeClass(className.disabled);\n            if( module.is.enabled() ) {\n              module.debug('Input is already enabled, skipping input property change');\n              return;\n            }\n            module.debug('Setting state to enabled');\n            $input\n              .prop('disabled', false)\n            ;\n            module.trigger.change();\n          },\n          tabbable: function() {\n            module.verbose('Adding tabindex to checkbox');\n            if( $input.attr('tabindex') === undefined) {\n              $input.attr('tabindex', 0);\n            }\n          }\n        },\n\n        remove: {\n          initialLoad: function() {\n            initialLoad = false;\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n\n        create: {\n          label: function() {\n            if($input.prevAll(selector.label).length > 0) {\n              $input.prev(selector.label).detach().insertAfter($input);\n              module.debug('Moving existing label', $label);\n            }\n            else if( !module.has.label() ) {\n              $label = $('<label>').insertAfter($input);\n              module.debug('Creating label', $label);\n            }\n          }\n        },\n\n        has: {\n          label: function() {\n            return ($label.length > 0);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching checkbox events');\n            $module\n              .on('click'   + eventNamespace, module.event.click)\n              .on('keydown' + eventNamespace, selector.input, module.event.keydown)\n              .on('keyup'   + eventNamespace, selector.input, module.event.keyup)\n            ;\n          }\n        },\n\n        unbind: {\n          events: function() {\n            module.debug('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        uncheckOthers: function() {\n          var\n            $radios = module.get.otherRadios()\n          ;\n          module.debug('Unchecking other radios', $radios);\n          $radios.removeClass(className.checked);\n        },\n\n        toggle: function() {\n          if( !module.can.change() ) {\n            if(!module.is.radio()) {\n              module.debug('Checkbox is read-only or disabled, ignoring toggle');\n            }\n            return;\n          }\n          if( module.is.indeterminate() || module.is.unchecked() ) {\n            module.debug('Currently unchecked');\n            module.check();\n          }\n          else if( module.is.checked() && module.can.uncheck() ) {\n            module.debug('Currently checked');\n            module.uncheck();\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.checkbox.settings = {\n\n  name                : 'Checkbox',\n  namespace           : 'checkbox',\n\n  debug               : false,\n  verbose             : true,\n  performance         : true,\n\n  // delegated event context\n  uncheckable         : 'auto',\n  fireOnInit          : false,\n\n  onChange            : function(){},\n\n  beforeChecked       : function(){},\n  beforeUnchecked     : function(){},\n  beforeDeterminate   : function(){},\n  beforeIndeterminate : function(){},\n\n  onChecked           : function(){},\n  onUnchecked         : function(){},\n\n  onDeterminate       : function() {},\n  onIndeterminate     : function() {},\n\n  onEnabled           : function(){},\n  onDisabled          : function(){},\n\n  className       : {\n    checked       : 'checked',\n    indeterminate : 'indeterminate',\n    disabled      : 'disabled',\n    hidden        : 'hidden',\n    radio         : 'radio',\n    readOnly      : 'read-only'\n  },\n\n  error     : {\n    method       : 'The method you called is not defined'\n  },\n\n  selector : {\n    checkbox : '.ui.checkbox',\n    label    : 'label, .box',\n    input    : 'input[type=\"checkbox\"], input[type=\"radio\"]',\n    link     : 'a[href]'\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Dimmer\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dimmer = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dimmer.settings, parameters)\n          : $.extend({}, $.fn.dimmer.settings),\n\n        selector        = settings.selector,\n        namespace       = settings.namespace,\n        className       = settings.className,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n        moduleSelector  = $allModules.selector || '',\n\n        clickEvent      = ('ontouchstart' in document.documentElement)\n          ? 'touchstart'\n          : 'click',\n\n        $module = $(this),\n        $dimmer,\n        $dimmable,\n\n        element   = this,\n        instance  = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        preinitialize: function() {\n          if( module.is.dimmer() ) {\n\n            $dimmable = $module.parent();\n            $dimmer   = $module;\n          }\n          else {\n            $dimmable = $module;\n            if( module.has.dimmer() ) {\n              if(settings.dimmerName) {\n                $dimmer = $dimmable.find(selector.dimmer).filter('.' + settings.dimmerName);\n              }\n              else {\n                $dimmer = $dimmable.find(selector.dimmer);\n              }\n            }\n            else {\n              $dimmer = module.create();\n            }\n          }\n        },\n\n        initialize: function() {\n          module.debug('Initializing dimmer', settings);\n\n          module.bind.events();\n          module.set.dimmable();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', $dimmer);\n          module.unbind.events();\n          module.remove.variation();\n          $dimmable\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            if(settings.on == 'hover') {\n              $dimmable\n                .on('mouseenter' + eventNamespace, module.show)\n                .on('mouseleave' + eventNamespace, module.hide)\n              ;\n            }\n            else if(settings.on == 'click') {\n              $dimmable\n                .on(clickEvent + eventNamespace, module.toggle)\n              ;\n            }\n            if( module.is.page() ) {\n              module.debug('Setting as a page dimmer', $dimmable);\n              module.set.pageDimmer();\n            }\n\n            if( module.is.closable() ) {\n              module.verbose('Adding dimmer close event', $dimmer);\n              $dimmable\n                .on(clickEvent + eventNamespace, selector.dimmer, module.event.click)\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          events: function() {\n            $module\n              .removeData(moduleNamespace)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            module.verbose('Determining if event occured on dimmer', event);\n            if( $dimmer.find(event.target).length === 0 || $(event.target).is(selector.content) ) {\n              module.hide();\n              event.stopImmediatePropagation();\n            }\n          }\n        },\n\n        addContent: function(element) {\n          var\n            $content = $(element)\n          ;\n          module.debug('Add content to dimmer', $content);\n          if($content.parent()[0] !== $dimmer[0]) {\n            $content.detach().appendTo($dimmer);\n          }\n        },\n\n        create: function() {\n          var\n            $element = $( settings.template.dimmer() )\n          ;\n          if(settings.variation) {\n            module.debug('Creating dimmer with variation', settings.variation);\n            $element.addClass(settings.variation);\n          }\n          if(settings.dimmerName) {\n            module.debug('Creating named dimmer', settings.dimmerName);\n            $element.addClass(settings.dimmerName);\n          }\n          $element\n            .appendTo($dimmable)\n          ;\n          return $element;\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Showing dimmer', $dimmer, settings);\n          if( (!module.is.dimmed() || module.is.animating()) && module.is.enabled() ) {\n            module.animate.show(callback);\n            settings.onShow.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is already shown or disabled');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.dimmed() || module.is.animating() ) {\n            module.debug('Hiding dimmer', $dimmer);\n            module.animate.hide(callback);\n            settings.onHide.call(element);\n            settings.onChange.call(element);\n          }\n          else {\n            module.debug('Dimmer is not visible');\n          }\n        },\n\n        toggle: function() {\n          module.verbose('Toggling dimmer visibility', $dimmer);\n          if( !module.is.dimmed() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              if(settings.opacity !== 'auto') {\n                module.set.opacity();\n              }\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' in',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.set.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.set.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Showing dimmer animation with javascript');\n              module.set.dimmed();\n              if(settings.opacity == 'auto') {\n                settings.opacity = 0.8;\n              }\n              $dimmer\n                .stop()\n                .css({\n                  opacity : 0,\n                  width   : '100%',\n                  height  : '100%'\n                })\n                .fadeTo(module.get.duration(), settings.opacity, function() {\n                  $dimmer.removeAttr('style');\n                  module.set.active();\n                  callback();\n                })\n              ;\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(settings.useCSS && $.fn.transition !== undefined && $dimmer.transition('is supported')) {\n              module.verbose('Hiding dimmer with css');\n              $dimmer\n                .transition({\n                  animation   : settings.transition + ' out',\n                  queue       : false,\n                  duration    : module.get.duration(),\n                  useFailSafe : true,\n                  onStart     : function() {\n                    module.remove.dimmed();\n                  },\n                  onComplete  : function() {\n                    module.remove.active();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.verbose('Hiding dimmer with javascript');\n              module.remove.dimmed();\n              $dimmer\n                .stop()\n                .fadeOut(module.get.duration(), function() {\n                  module.remove.active();\n                  $dimmer.removeAttr('style');\n                  callback();\n                })\n              ;\n            }\n          }\n        },\n\n        get: {\n          dimmer: function() {\n            return $dimmer;\n          },\n          duration: function() {\n            if(typeof settings.duration == 'object') {\n              if( module.is.active() ) {\n                return settings.duration.hide;\n              }\n              else {\n                return settings.duration.show;\n              }\n            }\n            return settings.duration;\n          }\n        },\n\n        has: {\n          dimmer: function() {\n            if(settings.dimmerName) {\n              return ($module.find(selector.dimmer).filter('.' + settings.dimmerName).length > 0);\n            }\n            else {\n              return ( $module.find(selector.dimmer).length > 0 );\n            }\n          }\n        },\n\n        is: {\n          active: function() {\n            return $dimmer.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $dimmer.is(':animated') || $dimmer.hasClass(className.animating) );\n          },\n          closable: function() {\n            if(settings.closable == 'auto') {\n              if(settings.on == 'hover') {\n                return false;\n              }\n              return true;\n            }\n            return settings.closable;\n          },\n          dimmer: function() {\n            return $module.hasClass(className.dimmer);\n          },\n          dimmable: function() {\n            return $module.hasClass(className.dimmable);\n          },\n          dimmed: function() {\n            return $dimmable.hasClass(className.dimmed);\n          },\n          disabled: function() {\n            return $dimmable.hasClass(className.disabled);\n          },\n          enabled: function() {\n            return !module.is.disabled();\n          },\n          page: function () {\n            return $dimmable.is('body');\n          },\n          pageDimmer: function() {\n            return $dimmer.hasClass(className.pageDimmer);\n          }\n        },\n\n        can: {\n          show: function() {\n            return !$dimmer.hasClass(className.disabled);\n          }\n        },\n\n        set: {\n          opacity: function(opacity) {\n            var\n              color      = $dimmer.css('background-color'),\n              colorArray = color.split(','),\n              isRGBA     = (colorArray && colorArray.length == 4)\n            ;\n            opacity    = settings.opacity === 0 ? 0 : settings.opacity || opacity;\n            if(isRGBA) {\n              colorArray[3] = opacity + ')';\n              color         = colorArray.join(',');\n            }\n            else {\n              color = 'rgba(0, 0, 0, ' + opacity + ')';\n            }\n            module.debug('Setting opacity to', opacity);\n            $dimmer.css('background-color', color);\n          },\n          active: function() {\n            $dimmer.addClass(className.active);\n          },\n          dimmable: function() {\n            $dimmable.addClass(className.dimmable);\n          },\n          dimmed: function() {\n            $dimmable.addClass(className.dimmed);\n          },\n          pageDimmer: function() {\n            $dimmer.addClass(className.pageDimmer);\n          },\n          disabled: function() {\n            $dimmer.addClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.addClass(variation);\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $dimmer\n              .removeClass(className.active)\n            ;\n          },\n          dimmed: function() {\n            $dimmable.removeClass(className.dimmed);\n          },\n          disabled: function() {\n            $dimmer.removeClass(className.disabled);\n          },\n          variation: function(variation) {\n            variation = variation || settings.variation;\n            if(variation) {\n              $dimmer.removeClass(variation);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      module.preinitialize();\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.dimmer.settings = {\n\n  name        : 'Dimmer',\n  namespace   : 'dimmer',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  // name to distinguish between multiple dimmers in context\n  dimmerName  : false,\n\n  // whether to add a variation type\n  variation   : false,\n\n  // whether to bind close events\n  closable    : 'auto',\n\n  // whether to use css animations\n  useCSS      : true,\n\n  // css animation to use\n  transition  : 'fade',\n\n  // event to bind to\n  on          : false,\n\n  // overriding opacity value\n  opacity     : 'auto',\n\n  // transition durations\n  duration    : {\n    show : 500,\n    hide : 500\n  },\n\n  onChange    : function(){},\n  onShow      : function(){},\n  onHide      : function(){},\n\n  error   : {\n    method   : 'The method you called is not defined.'\n  },\n\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    dimmable   : 'dimmable',\n    dimmed     : 'dimmed',\n    dimmer     : 'dimmer',\n    disabled   : 'disabled',\n    hide       : 'hide',\n    pageDimmer : 'page',\n    show       : 'show'\n  },\n\n  selector: {\n    dimmer   : '> .ui.dimmer',\n    content  : '.ui.dimmer > .content, .ui.dimmer > .content > .center'\n  },\n\n  template: {\n    dimmer: function() {\n     return $('<div />').attr('class', 'ui dimmer');\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Dropdown\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.dropdown = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = ('ontouchstart' in document.documentElement),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function(elementIndex) {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.dropdown.settings, parameters)\n          : $.extend({}, $.fn.dropdown.settings),\n\n        className       = settings.className,\n        message         = settings.message,\n        fields          = settings.fields,\n        keys            = settings.keys,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        selector        = settings.selector,\n        error           = settings.error,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $text           = $module.find(selector.text),\n        $search         = $module.find(selector.search),\n        $input          = $module.find(selector.input),\n        $icon           = $module.find(selector.icon),\n\n        $combo = ($module.prev().find(selector.text).length > 0)\n          ? $module.prev().find(selector.text)\n          : $module.prev(),\n\n        $menu           = $module.children(selector.menu),\n        $item           = $menu.find(selector.item),\n\n        activated       = false,\n        itemActivated   = false,\n        internalChange  = false,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        initialLoad,\n        pageLostFocus,\n        elementNamespace,\n        id,\n        selectObserver,\n        menuObserver,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing dropdown', settings);\n\n          if( module.is.alreadySetup() ) {\n            module.setup.reference();\n          }\n          else {\n            module.setup.layout();\n            module.refreshData();\n\n            module.save.defaults();\n            module.restore.selected();\n\n            module.create.id();\n            module.bind.events();\n\n            module.observeChanges();\n            module.instantiate();\n          }\n\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of dropdown', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous dropdown', $module);\n          module.remove.tabbable();\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          $menu\n            .off(eventNamespace)\n          ;\n          $document\n            .off(elementNamespace)\n          ;\n          if(selectObserver) {\n            selectObserver.disconnect();\n          }\n          if(menuObserver) {\n            menuObserver.disconnect();\n          }\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            selectObserver = new MutationObserver(function(mutations) {\n              module.debug('<select> modified, recreating menu');\n              module.setup.select();\n            });\n            menuObserver = new MutationObserver(function(mutations) {\n              module.debug('Menu modified, updating selector cache');\n              module.refresh();\n            });\n            if(module.has.input()) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            if(module.has.menu()) {\n              menuObserver.observe($menu[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n            module.debug('Setting up mutation observer', selectObserver, menuObserver);\n          }\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2, 8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          },\n          userChoice: function(values) {\n            var\n              $userChoices,\n              $userChoice,\n              isUserValue,\n              html\n            ;\n            values = values || module.get.userValues();\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            $.each(values, function(index, value) {\n              if(module.get.item(value) === false) {\n                html         = settings.templates.addition( module.add.variables(message.addResult, value) );\n                $userChoice  = $('<div />')\n                  .html(html)\n                  .attr('data-' + metadata.value, value)\n                  .attr('data-' + metadata.text, value)\n                  .addClass(className.addition)\n                  .addClass(className.item)\n                ;\n                $userChoices = ($userChoices === undefined)\n                  ? $userChoice\n                  : $userChoices.add($userChoice)\n                ;\n                module.verbose('Creating user choices for value', value, $userChoice);\n              }\n            });\n            return $userChoices;\n          },\n          userLabels: function(value) {\n            var\n              userValues = module.get.userValues()\n            ;\n            if(userValues) {\n              module.debug('Adding user labels', userValues);\n              $.each(userValues, function(index, value) {\n                module.verbose('Adding custom user value');\n                module.add.label(value, value);\n              });\n            }\n          },\n          menu: function() {\n            $menu = $('<div />')\n              .addClass(className.menu)\n              .appendTo($module)\n            ;\n          }\n        },\n\n        search: function(query) {\n          query = (query !== undefined)\n            ? query\n            : module.get.query()\n          ;\n          module.verbose('Searching for query', query);\n          module.filter(query);\n        },\n\n        select: {\n          firstUnfiltered: function() {\n            module.verbose('Selecting first non-filtered element');\n            module.remove.selectedItem();\n            $item\n              .not(selector.unselectable)\n                .eq(0)\n                .addClass(className.selected)\n            ;\n          },\n          nextAvailable: function($selected) {\n            $selected = $selected.eq(0);\n            var\n              $nextAvailable = $selected.nextAll(selector.item).not(selector.unselectable).eq(0),\n              $prevAvailable = $selected.prevAll(selector.item).not(selector.unselectable).eq(0),\n              hasNext        = ($nextAvailable.length > 0)\n            ;\n            if(hasNext) {\n              module.verbose('Moving selection to', $nextAvailable);\n              $nextAvailable.addClass(className.selected);\n            }\n            else {\n              module.verbose('Moving selection to', $prevAvailable);\n              $prevAvailable.addClass(className.selected);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug : settings.debug,\n                on    : false\n              }\n            ;\n            module.verbose('First request, initializing API');\n            $module\n              .api(apiSettings)\n            ;\n          },\n          layout: function() {\n            if( $module.is('select') ) {\n              module.setup.select();\n              module.setup.returnedObject();\n            }\n            if( !module.has.menu() ) {\n              module.create.menu();\n            }\n            if( module.is.search() && !module.has.search() ) {\n              module.verbose('Adding search input');\n              $search = $('<input />')\n                .addClass(className.search)\n                .prop('autocomplete', 'off')\n                .insertBefore($text)\n              ;\n            }\n            if(settings.allowTab) {\n              module.set.tabbable();\n            }\n          },\n          select: function() {\n            var\n              selectValues  = module.get.selectValues()\n            ;\n            module.debug('Dropdown initialized on a select', selectValues);\n            if( $module.is('select') ) {\n              $input = $module;\n            }\n            // see if select is placed correctly already\n            if($input.parent(selector.dropdown).length > 0) {\n              module.debug('UI dropdown already exists. Creating dropdown menu only');\n              $module = $input.closest(selector.dropdown);\n              if( !module.has.menu() ) {\n                module.create.menu();\n              }\n              $menu = $module.children(selector.menu);\n              module.setup.menu(selectValues);\n            }\n            else {\n              module.debug('Creating entire dropdown from select');\n              $module = $('<div />')\n                .attr('class', $input.attr('class') )\n                .addClass(className.selection)\n                .addClass(className.dropdown)\n                .html( templates.dropdown(selectValues) )\n                .insertBefore($input)\n              ;\n              if($input.hasClass(className.multiple) && $input.prop('multiple') === false) {\n                module.error(error.missingMultiple);\n                $input.prop('multiple', true);\n              }\n              if($input.is('[multiple]')) {\n                module.set.multiple();\n              }\n              if ($input.prop('disabled')) {\n                module.debug('Disabling dropdown')\n                $module.addClass(className.disabled)\n              }\n              $input\n                .removeAttr('class')\n                .detach()\n                .prependTo($module)\n              ;\n            }\n            module.refresh();\n          },\n          menu: function(values) {\n            $menu.html( templates.menu(values, fields));\n            $item = $menu.find(selector.item);\n          },\n          reference: function() {\n            module.debug('Dropdown behavior was called on select, replacing with closest dropdown');\n            // replace module reference\n            $module = $module.parent(selector.dropdown);\n            module.refresh();\n            module.setup.returnedObject();\n            // invoke method in context of current instance\n            if(methodInvoked) {\n              instance = module;\n              module.invoke(query);\n            }\n          },\n          returnedObject: function() {\n            var\n              $firstModules = $allModules.slice(0, elementIndex),\n              $lastModules = $allModules.slice(elementIndex + 1)\n            ;\n            // adjust all modules to use correct reference\n            $allModules = $firstModules.add($module).add($lastModules);\n          }\n        },\n\n        refresh: function() {\n          module.refreshSelectors();\n          module.refreshData();\n        },\n\n        refreshSelectors: function() {\n          module.verbose('Refreshing selector cache');\n          $text   = $module.find(selector.text);\n          $search = $module.find(selector.search);\n          $input  = $module.find(selector.input);\n          $icon   = $module.find(selector.icon);\n          $combo  = ($module.prev().find(selector.text).length > 0)\n            ? $module.prev().find(selector.text)\n            : $module.prev()\n          ;\n          $menu    = $module.children(selector.menu);\n          $item    = $menu.find(selector.item);\n        },\n\n        refreshData: function() {\n          module.verbose('Refreshing cached metadata');\n          $item\n            .removeData(metadata.text)\n            .removeData(metadata.value)\n          ;\n          $module\n            .removeData(metadata.defaultText)\n            .removeData(metadata.defaultValue)\n            .removeData(metadata.placeholderText)\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Toggling menu visibility');\n          if( !module.is.active() ) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.can.show() && !module.is.active() ) {\n            module.debug('Showing dropdown');\n            if(module.is.multiple() && !module.has.search() && module.is.allFiltered()) {\n              return true;\n            }\n            if(module.has.message() && !(module.has.maxSelections() || module.has.allResultsFiltered()) ) {\n              module.remove.message();\n            }\n            if(settings.onShow.call(element) !== false) {\n              module.animate.show(function() {\n                if( module.can.click() ) {\n                  module.bind.intent();\n                }\n                module.set.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.active() ) {\n            module.debug('Hiding dropdown');\n            if(settings.onHide.call(element) !== false) {\n              module.animate.hide(function() {\n                module.remove.visible();\n                callback.call(element);\n              });\n            }\n          }\n        },\n\n        hideOthers: function() {\n          module.verbose('Finding other dropdowns to hide');\n          $allModules\n            .not($module)\n              .has(selector.menu + '.' + className.visible)\n                .dropdown('hide')\n          ;\n        },\n\n        hideMenu: function() {\n          module.verbose('Hiding menu  instantaneously');\n          module.remove.active();\n          module.remove.visible();\n          $menu.transition('hide');\n        },\n\n        hideSubMenus: function() {\n          var\n            $subMenus = $menu.children(selector.item).find(selector.menu)\n          ;\n          module.verbose('Hiding sub menus', $subMenus);\n          $subMenus.transition('hide');\n        },\n\n        bind: {\n          events: function() {\n            if(hasTouch) {\n              module.bind.touchEvents();\n            }\n            module.bind.keyboardEvents();\n            module.bind.inputEvents();\n            module.bind.mouseEvents();\n          },\n          touchEvents: function() {\n            module.debug('Touch device detected binding additional touch events');\n            if( module.is.searchSelection() ) {\n              // do nothing special yet\n            }\n            else if( module.is.single() ) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.test.toggle)\n              ;\n            }\n            $menu\n              .on('touchstart' + eventNamespace, selector.item, module.event.item.mouseenter)\n            ;\n          },\n          keyboardEvents: function() {\n            module.verbose('Binding keyboard events');\n            $module\n              .on('keydown' + eventNamespace, module.event.keydown)\n            ;\n            if( module.has.search() ) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.search, module.event.input)\n              ;\n            }\n            if( module.is.multiple() ) {\n              $document\n                .on('keydown' + elementNamespace, module.event.document.keydown)\n              ;\n            }\n          },\n          inputEvents: function() {\n            module.verbose('Binding input change events');\n            $module\n              .on('change' + eventNamespace, selector.input, module.event.change)\n            ;\n          },\n          mouseEvents: function() {\n            module.verbose('Binding mouse events');\n            if(module.is.multiple()) {\n              $module\n                .on('click'   + eventNamespace, selector.label,  module.event.label.click)\n                .on('click'   + eventNamespace, selector.remove, module.event.remove.click)\n              ;\n            }\n            if( module.is.searchSelection() ) {\n              $module\n                .on('mousedown' + eventNamespace, selector.menu,   module.event.menu.mousedown)\n                .on('mouseup'   + eventNamespace, selector.menu,   module.event.menu.mouseup)\n                .on('click'     + eventNamespace, selector.icon,   module.event.icon.click)\n                .on('click'     + eventNamespace, selector.search, module.show)\n                .on('focus'     + eventNamespace, selector.search, module.event.search.focus)\n                .on('blur'      + eventNamespace, selector.search, module.event.search.blur)\n                .on('click'     + eventNamespace, selector.text,   module.event.text.focus)\n              ;\n              if(module.is.multiple()) {\n                $module\n                  .on('click' + eventNamespace, module.event.click)\n                ;\n              }\n            }\n            else {\n              if(settings.on == 'click') {\n                $module\n                  .on('click' + eventNamespace, selector.icon, module.event.icon.click)\n                  .on('click' + eventNamespace, module.event.test.toggle)\n                ;\n              }\n              else if(settings.on == 'hover') {\n                $module\n                  .on('mouseenter' + eventNamespace, module.delay.show)\n                  .on('mouseleave' + eventNamespace, module.delay.hide)\n                ;\n              }\n              else {\n                $module\n                  .on(settings.on + eventNamespace, module.toggle)\n                ;\n              }\n              $module\n                .on('mousedown' + eventNamespace, module.event.mousedown)\n                .on('mouseup'   + eventNamespace, module.event.mouseup)\n                .on('focus'     + eventNamespace, module.event.focus)\n                .on('blur'      + eventNamespace, module.event.blur)\n              ;\n            }\n            $menu\n              .on('mouseenter' + eventNamespace, selector.item, module.event.item.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.item, module.event.item.mouseleave)\n              .on('click'      + eventNamespace, selector.item, module.event.item.click)\n            ;\n          },\n          intent: function() {\n            module.verbose('Binding hide intent event to document');\n            if(hasTouch) {\n              $document\n                .on('touchstart' + elementNamespace, module.event.test.touch)\n                .on('touchmove'  + elementNamespace, module.event.test.touch)\n              ;\n            }\n            $document\n              .on('click' + elementNamespace, module.event.test.hide)\n            ;\n          }\n        },\n\n        unbind: {\n          intent: function() {\n            module.verbose('Removing hide intent event from document');\n            if(hasTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n                .off('touchmove' + elementNamespace)\n              ;\n            }\n            $document\n              .off('click' + elementNamespace)\n            ;\n          }\n        },\n\n        filter: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            afterFiltered = function() {\n              if(module.is.multiple()) {\n                module.filterActive();\n              }\n              module.select.firstUnfiltered();\n              if( module.has.allResultsFiltered() ) {\n                if( settings.onNoResults.call(element, searchTerm) ) {\n                  if(!settings.allowAdditions) {\n                    module.verbose('All items filtered, showing message', searchTerm);\n                    module.add.message(message.noResults);\n                  }\n                }\n                else {\n                  module.verbose('All items filtered, hiding dropdown', searchTerm);\n                  module.hideMenu();\n                }\n              }\n              else {\n                module.remove.message();\n              }\n              if(settings.allowAdditions) {\n                module.add.userSuggestion(query);\n              }\n              if(module.is.searchSelection() && module.can.show() && module.is.focusedOnSearch() ) {\n                module.show();\n              }\n            }\n          ;\n          if(settings.useLabels && module.has.maxSelections()) {\n            return;\n          }\n          if(settings.apiSettings) {\n            if( module.can.useAPI() ) {\n              module.queryRemote(searchTerm, function() {\n                afterFiltered();\n              });\n            }\n            else {\n              module.error(error.noAPI);\n            }\n          }\n          else {\n            module.filterItems(searchTerm);\n            afterFiltered();\n          }\n        },\n\n        queryRemote: function(query, callback) {\n          var\n            apiSettings = {\n              errorDuration        : false,\n              throttle             : settings.throttle,\n              urlData              : {\n                query: query\n              },\n              onError: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onFailure: function() {\n                module.add.message(message.serverError);\n                callback();\n              },\n              onSuccess : function(response) {\n                module.remove.message();\n                module.setup.menu({\n                  values: response[fields.remoteValues]\n                });\n                callback();\n              }\n            }\n          ;\n          if( !$module.api('get request') ) {\n            module.setup.api();\n          }\n          apiSettings = $.extend(true, {}, apiSettings, settings.apiSettings);\n          $module\n            .api('setting', apiSettings)\n            .api('query')\n          ;\n        },\n\n        filterItems: function(query) {\n          var\n            searchTerm = (query !== undefined)\n              ? query\n              : module.get.query(),\n            results          =  null,\n            escapedTerm      = module.escape.regExp(searchTerm),\n            beginsWithRegExp = new RegExp('^' + escapedTerm, 'igm')\n          ;\n          // avoid loop if we're matching nothing\n          if( module.has.query() ) {\n            results = [];\n\n            module.verbose('Searching for matching values', searchTerm);\n            $item\n              .each(function(){\n                var\n                  $choice = $(this),\n                  text,\n                  value\n                ;\n                if(settings.match == 'both' || settings.match == 'text') {\n                  text = String(module.get.choiceText($choice, false));\n                  if(text.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, text)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n                if(settings.match == 'both' || settings.match == 'value') {\n                  value = String(module.get.choiceValue($choice, text));\n\n                  if(value.search(beginsWithRegExp) !== -1) {\n                    results.push(this);\n                    return true;\n                  }\n                  else if(settings.fullTextSearch && module.fuzzySearch(searchTerm, value)) {\n                    results.push(this);\n                    return true;\n                  }\n                }\n              })\n            ;\n          }\n          module.debug('Showing only matched items', searchTerm);\n          module.remove.filteredItem();\n          if(results) {\n            $item\n              .not(results)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        filterActive: function() {\n          if(settings.useLabels) {\n            $item.filter('.' + className.active)\n              .addClass(className.filtered)\n            ;\n          }\n        },\n\n        focusSearch: function() {\n          if( module.is.search() && !module.is.focusedOnSearch() ) {\n            $search[0].focus();\n          }\n        },\n\n        forceSelection: function() {\n          var\n            $currentlySelected = $item.not(className.filtered).filter('.' + className.selected).eq(0),\n            $activeItem        = $item.not(className.filtered).filter('.' + className.active).eq(0),\n            $selectedItem      = ($currentlySelected.length > 0)\n              ? $currentlySelected\n              : $activeItem,\n            hasSelected = ($selectedItem.size() > 0)\n          ;\n          if( module.has.query() ) {\n            if(hasSelected) {\n              module.debug('Forcing partial selection to selected item', $selectedItem);\n              module.event.item.click.call($selectedItem);\n              return;\n            }\n            else {\n              module.remove.searchTerm();\n            }\n          }\n          module.hide();\n        },\n\n        event: {\n          change: function() {\n            if(!internalChange) {\n              module.debug('Input changed, updating selection');\n              module.set.selected();\n            }\n          },\n          focus: function() {\n            if(settings.showOnFocus && !activated && module.is.hidden() && !pageLostFocus) {\n              module.show();\n            }\n          },\n          click: function(event) {\n            var\n              $target = $(event.target)\n            ;\n            // focus search\n            if($target.is($module) && !module.is.focusedOnSearch()) {\n              module.focusSearch();\n            }\n          },\n          blur: function(event) {\n            pageLostFocus = (document.activeElement === this);\n            if(!activated && !pageLostFocus) {\n              module.remove.activeLabel();\n              module.hide();\n            }\n          },\n          // prevents focus callback from occurring on mousedown\n          mousedown: function() {\n            activated = true;\n          },\n          mouseup: function() {\n            activated = false;\n          },\n          search: {\n            focus: function() {\n              activated = true;\n              if(module.is.multiple()) {\n                module.remove.activeLabel();\n              }\n              if(settings.showOnFocus) {\n                module.search();\n                module.show();\n              }\n            },\n            blur: function(event) {\n              pageLostFocus = (document.activeElement === this);\n              if(!itemActivated && !pageLostFocus) {\n                if(module.is.multiple()) {\n                  module.remove.activeLabel();\n                  module.hide();\n                }\n                else if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n                else {\n                  module.hide();\n                }\n              }\n              else if(pageLostFocus) {\n                if(settings.forceSelection) {\n                  module.forceSelection();\n                }\n              }\n            }\n          },\n          icon: {\n            click: function(event) {\n              module.toggle();\n              event.stopPropagation();\n            }\n          },\n          text: {\n            focus: function(event) {\n              activated = true;\n              module.focusSearch();\n            }\n          },\n          input: function(event) {\n            if(module.is.multiple() || module.is.searchSelection()) {\n              module.set.filtered();\n            }\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.search, settings.delay.search);\n          },\n          label: {\n            click: function(event) {\n              var\n                $label        = $(this),\n                $labels       = $module.find(selector.label),\n                $activeLabels = $labels.filter('.' + className.active),\n                $nextActive   = $label.nextAll('.' + className.active),\n                $prevActive   = $label.prevAll('.' + className.active),\n                $range = ($nextActive.length > 0)\n                  ? $label.nextUntil($nextActive).add($activeLabels).add($label)\n                  : $label.prevUntil($prevActive).add($activeLabels).add($label)\n              ;\n              if(event.shiftKey) {\n                $activeLabels.removeClass(className.active);\n                $range.addClass(className.active);\n              }\n              else if(event.ctrlKey) {\n                $label.toggleClass(className.active);\n              }\n              else {\n                $activeLabels.removeClass(className.active);\n                $label.addClass(className.active);\n              }\n              settings.onLabelSelect.apply(this, $labels.filter('.' + className.active));\n            }\n          },\n          remove: {\n            click: function() {\n              var\n                $label = $(this).parent()\n              ;\n              if( $label.hasClass(className.active) ) {\n                // remove all selected labels\n                module.remove.activeLabels();\n              }\n              else {\n                // remove this label only\n                module.remove.activeLabels( $label );\n              }\n            }\n          },\n          test: {\n            toggle: function(event) {\n              var\n                toggleBehavior = (module.is.multiple())\n                  ? module.show\n                  : module.toggle\n              ;\n              if( module.determine.eventOnElement(event, toggleBehavior) ) {\n                event.preventDefault();\n              }\n            },\n            touch: function(event) {\n              module.determine.eventOnElement(event, function() {\n                if(event.type == 'touchstart') {\n                  module.timer = setTimeout(function() {\n                    module.hide();\n                  }, settings.delay.touch);\n                }\n                else if(event.type == 'touchmove') {\n                  clearTimeout(module.timer);\n                }\n              });\n              event.stopPropagation();\n            },\n            hide: function(event) {\n              module.determine.eventInModule(event, module.hide);\n            }\n          },\n          menu: {\n            mousedown: function() {\n              itemActivated = true;\n            },\n            mouseup: function() {\n              itemActivated = false;\n            }\n          },\n          item: {\n            mouseenter: function(event) {\n              var\n                $subMenu    = $(this).children(selector.menu),\n                $otherMenus = $(this).siblings(selector.item).children(selector.menu)\n              ;\n              if( $subMenu.length > 0 ) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Showing sub-menu', $subMenu);\n                  $.each($otherMenus, function() {\n                    module.animate.hide(false, $(this));\n                  });\n                  module.animate.show(false,  $subMenu);\n                }, settings.delay.show);\n                event.preventDefault();\n              }\n            },\n            mouseleave: function(event) {\n              var\n                $subMenu = $(this).children(selector.menu)\n              ;\n              if($subMenu.length > 0) {\n                clearTimeout(module.itemTimer);\n                module.itemTimer = setTimeout(function() {\n                  module.verbose('Hiding sub-menu', $subMenu);\n                  module.animate.hide(false,  $subMenu);\n                }, settings.delay.hide);\n              }\n            },\n            touchend: function() {\n            },\n            click: function (event) {\n              var\n                $choice        = $(this),\n                $target        = (event)\n                  ? $(event.target)\n                  : $(''),\n                $subMenu       = $choice.find(selector.menu),\n                text           = module.get.choiceText($choice),\n                value          = module.get.choiceValue($choice, text),\n                hasSubMenu     = ($subMenu.length > 0),\n                isBubbledEvent = ($subMenu.find($target).length > 0)\n              ;\n              if(!isBubbledEvent && (!hasSubMenu || settings.allowCategorySelection)) {\n                if(!settings.useLabels) {\n                  module.remove.filteredItem();\n                  module.remove.searchTerm();\n                  module.set.scrollPosition($choice);\n                }\n                module.determine.selectAction.call(this, text, value);\n              }\n            }\n          },\n\n          document: {\n            // label selection should occur even when element has no focus\n            keydown: function(event) {\n              var\n                pressedKey    = event.which,\n                isShortcutKey = module.is.inObject(pressedKey, keys)\n              ;\n              if(isShortcutKey) {\n                var\n                  $label            = $module.find(selector.label),\n                  $activeLabel      = $label.filter('.' + className.active),\n                  activeValue       = $activeLabel.data(metadata.value),\n                  labelIndex        = $label.index($activeLabel),\n                  labelCount        = $label.length,\n                  hasActiveLabel    = ($activeLabel.length > 0),\n                  hasMultipleActive = ($activeLabel.length > 1),\n                  isFirstLabel      = (labelIndex === 0),\n                  isLastLabel       = (labelIndex + 1 == labelCount),\n                  isSearch          = module.is.searchSelection(),\n                  isFocusedOnSearch = module.is.focusedOnSearch(),\n                  isFocused         = module.is.focused(),\n                  caretAtStart      = (isFocusedOnSearch && module.get.caretPosition() === 0),\n                  $nextLabel\n                ;\n                if(isSearch && !hasActiveLabel && !isFocusedOnSearch) {\n                  return;\n                }\n\n                if(pressedKey == keys.leftArrow) {\n                  // activate previous label\n                  if((isFocused || caretAtStart) && !hasActiveLabel) {\n                    module.verbose('Selecting previous label');\n                    $label.last().addClass(className.active);\n                  }\n                  else if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting previous label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding previous label to selection');\n                    }\n                    if(isFirstLabel && !hasMultipleActive) {\n                      $activeLabel.addClass(className.active);\n                    }\n                    else {\n                      $activeLabel.prev(selector.siblingLabel)\n                        .addClass(className.active)\n                        .end()\n                      ;\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.rightArrow) {\n                  // activate first label\n                  if(isFocused && !hasActiveLabel) {\n                    $label.first().addClass(className.active);\n                  }\n                  // activate next label\n                  if(hasActiveLabel) {\n                    if(!event.shiftKey) {\n                      module.verbose('Selecting next label');\n                      $label.removeClass(className.active);\n                    }\n                    else {\n                      module.verbose('Adding next label to selection');\n                    }\n                    if(isLastLabel) {\n                      if(isSearch) {\n                        if(!isFocusedOnSearch) {\n                          module.focusSearch();\n                        }\n                        else {\n                          $label.removeClass(className.active);\n                        }\n                      }\n                      else if(hasMultipleActive) {\n                        $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                      }\n                      else {\n                        $activeLabel.addClass(className.active);\n                      }\n                    }\n                    else {\n                      $activeLabel.next(selector.siblingLabel).addClass(className.active);\n                    }\n                    event.preventDefault();\n                  }\n                }\n                else if(pressedKey == keys.deleteKey || pressedKey == keys.backspace) {\n                  if(hasActiveLabel) {\n                    module.verbose('Removing active labels');\n                    if(isLastLabel) {\n                      if(isSearch && !isFocusedOnSearch) {\n                        module.focusSearch();\n                      }\n                    }\n                    $activeLabel.last().next(selector.siblingLabel).addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                    event.preventDefault();\n                  }\n                  else if(caretAtStart && !hasActiveLabel && pressedKey == keys.backspace) {\n                    module.verbose('Removing last label on input backspace');\n                    $activeLabel = $label.last().addClass(className.active);\n                    module.remove.activeLabels($activeLabel);\n                  }\n                }\n                else {\n                  $activeLabel.removeClass(className.active);\n                }\n              }\n            }\n          },\n\n          keydown: function(event) {\n            var\n              pressedKey    = event.which,\n              isShortcutKey = module.is.inObject(pressedKey, keys)\n            ;\n            if(isShortcutKey) {\n              var\n                $currentlySelected = $item.not(selector.unselectable).filter('.' + className.selected).eq(0),\n                $activeItem        = $menu.children('.' + className.active).eq(0),\n                $selectedItem      = ($currentlySelected.length > 0)\n                  ? $currentlySelected\n                  : $activeItem,\n                $visibleItems = ($selectedItem.length > 0)\n                  ? $selectedItem.siblings(':not(.' + className.filtered +')').andSelf()\n                  : $menu.children(':not(.' + className.filtered +')'),\n                $subMenu             = $selectedItem.children(selector.menu),\n                $parentMenu          = $selectedItem.closest(selector.menu),\n                inVisibleMenu        = ($parentMenu.hasClass(className.visible) || $parentMenu.hasClass(className.animating) || $parentMenu.parent(selector.menu).length > 0),\n                hasSubMenu           = ($subMenu.length> 0),\n                hasSelectedItem      = ($selectedItem.length > 0),\n                selectedIsSelectable = ($selectedItem.not(selector.unselectable).length > 0),\n                delimiterPressed     = (pressedKey == keys.delimiter && settings.allowAdditions && module.is.multiple()),\n                $nextItem,\n                isSubMenuItem,\n                newIndex\n              ;\n              // visible menu keyboard shortcuts\n              if( module.is.visible() ) {\n\n                // enter (select or open sub-menu)\n                if(pressedKey == keys.enter || delimiterPressed) {\n                  if(pressedKey == keys.enter && hasSelectedItem && hasSubMenu && !settings.allowCategorySelection) {\n                    module.verbose('Pressed enter on unselectable category, opening sub menu');\n                    pressedKey = keys.rightArrow;\n                  }\n                  else if(selectedIsSelectable) {\n                    module.verbose('Selecting item from keyboard shortcut', $selectedItem);\n                    module.event.item.click.call($selectedItem, event);\n                    if(module.is.searchSelection()) {\n                      module.remove.searchTerm();\n                    }\n                  }\n                  event.preventDefault();\n                }\n\n                // left arrow (hide sub-menu)\n                if(pressedKey == keys.leftArrow) {\n\n                  isSubMenuItem = ($parentMenu[0] !== $menu[0]);\n\n                  if(isSubMenuItem) {\n                    module.verbose('Left key pressed, closing sub-menu');\n                    module.animate.hide(false,  $parentMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $parentMenu\n                      .closest(selector.item)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // right arrow (show sub-menu)\n                if(pressedKey == keys.rightArrow) {\n                  if(hasSubMenu) {\n                    module.verbose('Right key pressed, opening sub-menu');\n                    module.animate.show(false,  $subMenu);\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $subMenu\n                      .find(selector.item).eq(0)\n                        .addClass(className.selected)\n                    ;\n                    event.preventDefault();\n                  }\n                }\n\n                // up arrow (traverse menu up)\n                if(pressedKey == keys.upArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $selectedItem.prevAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($visibleItems.index( $nextItem ) < 0) {\n                    module.verbose('Up key pressed but reached top of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Up key pressed, changing active item');\n                    $selectedItem\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // down arrow (traverse menu down)\n                if(pressedKey == keys.downArrow) {\n                  $nextItem = (hasSelectedItem && inVisibleMenu)\n                    ? $nextItem = $selectedItem.nextAll(selector.item + ':not(' + selector.unselectable + ')').eq(0)\n                    : $item.eq(0)\n                  ;\n                  if($nextItem.length === 0) {\n                    module.verbose('Down key pressed but reached bottom of current menu');\n                    event.preventDefault();\n                    return;\n                  }\n                  else {\n                    module.verbose('Down key pressed, changing active item');\n                    $item\n                      .removeClass(className.selected)\n                    ;\n                    $nextItem\n                      .addClass(className.selected)\n                    ;\n                    module.set.scrollPosition($nextItem);\n                  }\n                  event.preventDefault();\n                }\n\n                // page down (show next page)\n                if(pressedKey == keys.pageUp) {\n                  module.scrollPage('up');\n                  event.preventDefault();\n                }\n                if(pressedKey == keys.pageDown) {\n                  module.scrollPage('down');\n                  event.preventDefault();\n                }\n\n                // escape (close menu)\n                if(pressedKey == keys.escape) {\n                  module.verbose('Escape key pressed, closing dropdown');\n                  module.hide();\n                }\n\n              }\n              else {\n                // delimiter key\n                if(delimiterPressed) {\n                  event.preventDefault();\n                }\n                // down arrow (open menu)\n                if(pressedKey == keys.downArrow) {\n                  module.verbose('Down key pressed, showing dropdown');\n                  module.show();\n                  event.preventDefault();\n                }\n              }\n            }\n            else {\n              if( module.is.selection() && !module.is.search() ) {\n                module.set.selectedLetter( String.fromCharCode(pressedKey) );\n              }\n            }\n          }\n        },\n\n        trigger: {\n          change: function() {\n            var\n              events       = document.createEvent('HTMLEvents'),\n              inputElement = $input[0]\n            ;\n            if(inputElement) {\n              module.verbose('Triggering native change event');\n              events.initEvent('change', true, false);\n              inputElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        determine: {\n          selectAction: function(text, value) {\n            module.verbose('Determining action', settings.action);\n            if( $.isFunction( module.action[settings.action] ) ) {\n              module.verbose('Triggering preset action', settings.action, text, value);\n              module.action[ settings.action ].call(this, text, value);\n            }\n            else if( $.isFunction(settings.action) ) {\n              module.verbose('Triggering user action', settings.action, text, value);\n              settings.action.call(this, text, value);\n            }\n            else {\n              module.error(error.action, settings.action);\n            }\n          },\n          eventInModule: function(event, callback) {\n            var\n              $target    = $(event.target),\n              inDocument = ($target.closest(document.documentElement).length > 0),\n              inModule   = ($target.closest($module).length > 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(inDocument && !inModule) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown, canceling callback');\n              return false;\n            }\n          },\n          eventOnElement: function(event, callback) {\n            var\n              $target    = $(event.target),\n              $label     = $target.closest(selector.siblingLabel),\n              notOnLabel = ($module.find($label).length === 0),\n              notInMenu  = ($target.closest($menu).length === 0)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if(notOnLabel && notInMenu) {\n              module.verbose('Triggering event', callback);\n              callback();\n              return true;\n            }\n            else {\n              module.verbose('Event occurred in dropdown menu, canceling callback');\n              return false;\n            }\n          }\n        },\n\n        action: {\n\n          nothing: function() {},\n\n          activate: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            if( module.can.activate( $(this) ) ) {\n              module.set.selected(value, $(this));\n              if(module.is.multiple() && !module.is.allFiltered()) {\n                return;\n              }\n              else {\n                module.hideAndClear();\n              }\n            }\n          },\n\n          select: function(text, value) {\n            // mimics action.activate but does not select text\n            module.action.activate.call(this);\n          },\n\n          combo: function(text, value) {\n            value = (value !== undefined)\n              ? value\n              : text\n            ;\n            module.set.selected(value, $(this));\n            module.hideAndClear();\n          },\n\n          hide: function(text, value) {\n            module.set.value(value);\n            module.hideAndClear();\n          }\n\n        },\n\n        get: {\n          id: function() {\n            return id;\n          },\n          defaultText: function() {\n            return $module.data(metadata.defaultText);\n          },\n          defaultValue: function() {\n            return $module.data(metadata.defaultValue);\n          },\n          placeholderText: function() {\n            return $module.data(metadata.placeholderText) || '';\n          },\n          text: function() {\n            return $text.text();\n          },\n          query: function() {\n            return $.trim($search.val());\n          },\n          searchWidth: function(characterCount) {\n            return (characterCount * settings.glyphWidth) + 'em';\n          },\n          selectionCount: function() {\n            var\n              values = module.get.values(),\n              count\n            ;\n            count = ( module.is.multiple() )\n              ? $.isArray(values)\n                ? values.length\n                : 0\n              : (module.get.value() !== '')\n                ? 1\n                : 0\n            ;\n            return count;\n          },\n          transition: function($subMenu) {\n            return (settings.transition == 'auto')\n              ? module.is.upward($subMenu)\n                ? 'slide up'\n                : 'slide down'\n              : settings.transition\n            ;\n          },\n          userValues: function() {\n            var\n              values = module.get.values()\n            ;\n            if(!values) {\n              return false;\n            }\n            values = $.isArray(values)\n              ? values\n              : [values]\n            ;\n            return $.grep(values, function(value) {\n              return (module.get.item(value) === false);\n            });\n          },\n          uniqueArray: function(array) {\n            return $.grep(array, function (value, index) {\n                return $.inArray(value, array) === index;\n            });\n          },\n          caretPosition: function() {\n            var\n              input = $search.get(0),\n              range,\n              rangeLength\n            ;\n            if('selectionStart' in input) {\n              return input.selectionStart;\n            }\n            else if (document.selection) {\n              input.focus();\n              range       = document.selection.createRange();\n              rangeLength = range.text.length;\n              range.moveStart('character', -input.value.length);\n              return range.text.length - rangeLength;\n            }\n          },\n          value: function() {\n            var\n              value = ($input.length > 0)\n                ? $input.val()\n                : $module.data(metadata.value)\n            ;\n            // prevents placeholder element from being selected when multiple\n            if($.isArray(value) && value.length === 1 && value[0] === '') {\n              return '';\n            }\n            return value;\n          },\n          values: function() {\n            var\n              value = module.get.value()\n            ;\n            if(value === '') {\n              return '';\n            }\n            return ( !module.has.selectInput() && module.is.multiple() )\n              ? (typeof value == 'string') // delimited string\n                ? value.split(settings.delimiter)\n                : ''\n              : value\n            ;\n          },\n          remoteValues: function() {\n            var\n              values = module.get.values(),\n              remoteValues = false\n            ;\n            if(values) {\n              if(typeof values == 'string') {\n                values = [values];\n              }\n              remoteValues = {};\n              $.each(values, function(index, value) {\n                var\n                  name = module.read.remoteData(value)\n                ;\n                module.verbose('Restoring value from session data', name, value);\n                remoteValues[value] = (name)\n                  ? name\n                  : value\n                ;\n              });\n            }\n            return remoteValues;\n          },\n          choiceText: function($choice, preserveHTML) {\n            preserveHTML = (preserveHTML !== undefined)\n              ? preserveHTML\n              : settings.preserveHTML\n            ;\n            if($choice) {\n              if($choice.find(selector.menu).length > 0) {\n                module.verbose('Retreiving text of element with sub-menu');\n                $choice = $choice.clone();\n                $choice.find(selector.menu).remove();\n                $choice.find(selector.menuIcon).remove();\n              }\n              return ($choice.data(metadata.text) !== undefined)\n                ? $choice.data(metadata.text)\n                : (preserveHTML)\n                  ? $.trim($choice.html())\n                  : $.trim($choice.text())\n              ;\n            }\n          },\n          choiceValue: function($choice, choiceText) {\n            choiceText = choiceText || module.get.choiceText($choice);\n            if(!$choice) {\n              return false;\n            }\n            return ($choice.data(metadata.value) !== undefined)\n              ? String( $choice.data(metadata.value) )\n              : (typeof choiceText === 'string')\n                ? $.trim(choiceText.toLowerCase())\n                : String(choiceText)\n            ;\n          },\n          inputEvent: function() {\n            var\n              input = $search[0]\n            ;\n            if(input) {\n              return (input.oninput !== undefined)\n                ? 'input'\n                : (input.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n              ;\n            }\n            return false;\n          },\n          selectValues: function() {\n            var\n              select = {}\n            ;\n            select.values = [];\n            $module\n              .find('option')\n                .each(function() {\n                  var\n                    $option  = $(this),\n                    name     = $option.html(),\n                    disabled = $option.attr('disabled'),\n                    value    = ( $option.attr('value') !== undefined )\n                      ? $option.attr('value')\n                      : name\n                  ;\n                  if(settings.placeholder === 'auto' && value === '') {\n                    select.placeholder = name;\n                  }\n                  else {\n                    select.values.push({\n                      name     : name,\n                      value    : value,\n                      disabled : disabled\n                    });\n                  }\n                })\n            ;\n            if(settings.placeholder && settings.placeholder !== 'auto') {\n              module.debug('Setting placeholder value to', settings.placeholder);\n              select.placeholder = settings.placeholder;\n            }\n            if(settings.sortSelect) {\n              select.values.sort(function(a, b) {\n                return (a.name > b.name)\n                  ? 1\n                  : -1\n                ;\n              });\n              module.debug('Retrieved and sorted values from select', select);\n            }\n            else {\n              module.debug('Retreived values from select', select);\n            }\n            return select;\n          },\n          activeItem: function() {\n            return $item.filter('.'  + className.active);\n          },\n          selectedItem: function() {\n            var\n              $selectedItem = $item.not(selector.unselectable).filter('.'  + className.selected)\n            ;\n            return ($selectedItem.length > 0)\n              ? $selectedItem\n              : $item.eq(0)\n            ;\n          },\n          itemWithAdditions: function(value) {\n            var\n              $items       = module.get.item(value),\n              $userItems   = module.create.userChoice(value),\n              hasUserItems = ($userItems && $userItems.length > 0)\n            ;\n            if(hasUserItems) {\n              $items = ($items.length > 0)\n                ? $items.add($userItems)\n                : $userItems\n              ;\n            }\n            return $items;\n          },\n          item: function(value, strict) {\n            var\n              $selectedItem = false,\n              shouldSearch,\n              isMultiple\n            ;\n            value = (value !== undefined)\n              ? value\n              : ( module.get.values() !== undefined)\n                ? module.get.values()\n                : module.get.text()\n            ;\n            shouldSearch = (isMultiple)\n              ? (value.length > 0)\n              : (value !== undefined && value !== null)\n            ;\n            isMultiple = (module.is.multiple() && $.isArray(value));\n            strict     = (value === '' || value === 0)\n              ? true\n              : strict || false\n            ;\n            if(shouldSearch) {\n              $item\n                .each(function() {\n                  var\n                    $choice       = $(this),\n                    optionText    = module.get.choiceText($choice),\n                    optionValue   = module.get.choiceValue($choice, optionText)\n                  ;\n                  // safe early exit\n                  if(optionValue === null || optionValue === undefined) {\n                    return;\n                  }\n                  if(isMultiple) {\n                    if($.inArray( String(optionValue), value) !== -1 || $.inArray(optionText, value) !== -1) {\n                      $selectedItem = ($selectedItem)\n                        ? $selectedItem.add($choice)\n                        : $choice\n                      ;\n                    }\n                  }\n                  else if(strict) {\n                    module.verbose('Ambiguous dropdown value using strict type check', $choice, value);\n                    if( optionValue === value || optionText === value) {\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                  else {\n                    if( String(optionValue) == String(value) || optionText == value) {\n                      module.verbose('Found select item by value', optionValue, value);\n                      $selectedItem = $choice;\n                      return true;\n                    }\n                  }\n                })\n              ;\n            }\n            return $selectedItem;\n          }\n        },\n\n        check: {\n          maxSelections: function(selectionCount) {\n            if(settings.maxSelections) {\n              selectionCount = (selectionCount !== undefined)\n                ? selectionCount\n                : module.get.selectionCount()\n              ;\n              if(selectionCount >= settings.maxSelections) {\n                module.debug('Maximum selection count reached');\n                if(settings.useLabels) {\n                  $item.addClass(className.filtered);\n                  module.add.message(message.maxSelections);\n                }\n                return true;\n              }\n              else {\n                module.verbose('No longer at maximum selection count');\n                module.remove.message();\n                module.remove.filteredItem();\n                if(module.is.searchSelection()) {\n                  module.filterItems();\n                }\n                return false;\n              }\n            }\n            return true;\n          }\n        },\n\n        restore: {\n          defaults: function() {\n            module.clear();\n            module.restore.defaultText();\n            module.restore.defaultValue();\n          },\n          defaultText: function() {\n            var\n              defaultText     = module.get.defaultText(),\n              placeholderText = module.get.placeholderText\n            ;\n            if(defaultText === placeholderText) {\n              module.debug('Restoring default placeholder text', defaultText);\n              module.set.placeholderText(defaultText);\n            }\n            else {\n              module.debug('Restoring default text', defaultText);\n              module.set.text(defaultText);\n            }\n          },\n          defaultValue: function() {\n            var\n              defaultValue = module.get.defaultValue()\n            ;\n            if(defaultValue !== undefined) {\n              module.debug('Restoring default value', defaultValue);\n              if(defaultValue !== '') {\n                module.set.value(defaultValue);\n                module.set.selected();\n              }\n              else {\n                module.remove.activeItem();\n                module.remove.selectedItem();\n              }\n            }\n          },\n          labels: function() {\n            if(settings.allowAdditions) {\n              if(!settings.useLabels) {\n                module.error(error.labels);\n                settings.useLabels = true;\n              }\n              module.debug('Restoring selected values');\n              module.create.userLabels();\n            }\n            module.check.maxSelections();\n          },\n          selected: function() {\n            module.restore.values();\n            if(module.is.multiple()) {\n              module.debug('Restoring previously selected values and labels');\n              module.restore.labels();\n            }\n            else {\n              module.debug('Restoring previously selected values');\n            }\n          },\n          values: function() {\n            // prevents callbacks from occuring on initial load\n            module.set.initialLoad();\n            if(settings.apiSettings) {\n              if(settings.saveRemoteData) {\n                module.restore.remoteValues();\n              }\n              else {\n                module.clearValue();\n              }\n            }\n            else {\n              module.set.selected();\n            }\n            module.remove.initialLoad();\n          },\n          remoteValues: function() {\n            var\n              values = module.get.remoteValues()\n            ;\n            module.debug('Recreating selected from session data', values);\n            if(values) {\n              if( module.is.single() ) {\n                $.each(values, function(value, name) {\n                  module.set.text(name);\n                });\n              }\n              else {\n                $.each(values, function(value, name) {\n                  module.add.label(value, name);\n                });\n              }\n            }\n          }\n        },\n\n        read: {\n          remoteData: function(value) {\n            var\n              name\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            name = sessionStorage.getItem(value);\n            return (name !== undefined)\n              ? name\n              : false\n            ;\n          }\n        },\n\n        save: {\n          defaults: function() {\n            module.save.defaultText();\n            module.save.placeholderText();\n            module.save.defaultValue();\n          },\n          defaultValue: function() {\n            var\n              value = module.get.value()\n            ;\n            module.verbose('Saving default value as', value);\n            $module.data(metadata.defaultValue, value);\n          },\n          defaultText: function() {\n            var\n              text = module.get.text()\n            ;\n            module.verbose('Saving default text as', text);\n            $module.data(metadata.defaultText, text);\n          },\n          placeholderText: function() {\n            var\n              text\n            ;\n            if(settings.placeholder !== false && $text.hasClass(className.placeholder)) {\n              text = module.get.text();\n              module.verbose('Saving placeholder text as', text);\n              $module.data(metadata.placeholderText, text);\n            }\n          },\n          remoteData: function(name, value) {\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            module.verbose('Saving remote data to session storage', value, name);\n            sessionStorage.setItem(value, name);\n          }\n        },\n\n        clear: function() {\n          if(module.is.multiple()) {\n            module.remove.labels();\n          }\n          else {\n            module.remove.activeItem();\n            module.remove.selectedItem();\n          }\n          module.set.placeholderText();\n          module.clearValue();\n        },\n\n        clearValue: function() {\n          module.set.value('');\n        },\n\n        scrollPage: function(direction, $selectedItem) {\n          var\n            $currentItem  = $selectedItem || module.get.selectedItem(),\n            $menu         = $currentItem.closest(selector.menu),\n            menuHeight    = $menu.outerHeight(),\n            currentScroll = $menu.scrollTop(),\n            itemHeight    = $item.eq(0).outerHeight(),\n            itemsPerPage  = Math.floor(menuHeight / itemHeight),\n            maxScroll     = $menu.prop('scrollHeight'),\n            newScroll     = (direction == 'up')\n              ? currentScroll - (itemHeight * itemsPerPage)\n              : currentScroll + (itemHeight * itemsPerPage),\n            $selectableItem = $item.not(selector.unselectable),\n            isWithinRange,\n            $nextSelectedItem,\n            elementIndex\n          ;\n          elementIndex      = (direction == 'up')\n            ? $selectableItem.index($currentItem) - itemsPerPage\n            : $selectableItem.index($currentItem) + itemsPerPage\n          ;\n          isWithinRange = (direction == 'up')\n            ? (elementIndex >= 0)\n            : (elementIndex < $selectableItem.length)\n          ;\n          $nextSelectedItem = (isWithinRange)\n            ? $selectableItem.eq(elementIndex)\n            : (direction == 'up')\n              ? $selectableItem.first()\n              : $selectableItem.last()\n          ;\n          if($nextSelectedItem.length > 0) {\n            module.debug('Scrolling page', direction, $nextSelectedItem);\n            $currentItem\n              .removeClass(className.selected)\n            ;\n            $nextSelectedItem\n              .addClass(className.selected)\n            ;\n            $menu\n              .scrollTop(newScroll)\n            ;\n          }\n        },\n\n        set: {\n          filtered: function() {\n            var\n              isMultiple       = module.is.multiple(),\n              isSearch         = module.is.searchSelection(),\n              isSearchMultiple = (isMultiple && isSearch),\n              searchValue      = (isSearch)\n                ? module.get.query()\n                : '',\n              hasSearchValue   = (typeof searchValue === 'string' && searchValue.length > 0),\n              searchWidth      = module.get.searchWidth(searchValue.length),\n              valueIsSet       = searchValue !== ''\n            ;\n            if(isMultiple && hasSearchValue) {\n              module.verbose('Adjusting input width', searchWidth, settings.glyphWidth);\n              $search.css('width', searchWidth);\n            }\n            if(hasSearchValue || (isSearchMultiple && valueIsSet)) {\n              module.verbose('Hiding placeholder text');\n              $text.addClass(className.filtered);\n            }\n            else if(!isMultiple || (isSearchMultiple && !valueIsSet)) {\n              module.verbose('Showing placeholder text');\n              $text.removeClass(className.filtered);\n            }\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          placeholderText: function(text) {\n            text = text || module.get.placeholderText();\n            module.debug('Setting placeholder text', text);\n            module.set.text(text);\n            $text.addClass(className.placeholder);\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Added tabindex to searchable dropdown');\n              $search\n                .val('')\n                .attr('tabindex', 0)\n              ;\n              $menu\n                .attr('tabindex', -1)\n              ;\n            }\n            else {\n              module.debug('Added tabindex to dropdown');\n              if( $module.attr('tabindex') === undefined) {\n                $module\n                  .attr('tabindex', 0)\n                ;\n                $menu\n                  .attr('tabindex', -1)\n                ;\n              }\n            }\n          },\n          initialLoad: function() {\n            module.verbose('Setting initial load');\n            initialLoad = true;\n          },\n          activeItem: function($item) {\n            if( settings.allowAdditions && $item.filter(selector.addition).length > 0 ) {\n              $item.addClass(className.filtered);\n            }\n            else {\n              $item.addClass(className.active);\n            }\n          },\n          scrollPosition: function($item, forceScroll) {\n            var\n              edgeTolerance = 5,\n              $menu,\n              hasActive,\n              offset,\n              itemHeight,\n              itemOffset,\n              menuOffset,\n              menuScroll,\n              menuHeight,\n              abovePage,\n              belowPage\n            ;\n\n            $item       = $item || module.get.selectedItem();\n            $menu       = $item.closest(selector.menu);\n            hasActive   = ($item && $item.length > 0);\n            forceScroll = (forceScroll !== undefined)\n              ? forceScroll\n              : false\n            ;\n            if($item && $menu.length > 0 && hasActive) {\n              itemOffset = $item.position().top;\n\n              $menu.addClass(className.loading);\n              menuScroll = $menu.scrollTop();\n              menuOffset = $menu.offset().top;\n              itemOffset = $item.offset().top;\n              offset     = menuScroll - menuOffset + itemOffset;\n              if(!forceScroll) {\n                menuHeight = $menu.height();\n                belowPage  = menuScroll + menuHeight < (offset + edgeTolerance);\n                abovePage  = ((offset - edgeTolerance) < menuScroll);\n              }\n              module.debug('Scrolling to active item', offset);\n              if(forceScroll || abovePage || belowPage) {\n                $menu.scrollTop(offset);\n              }\n              $menu.removeClass(className.loading);\n            }\n          },\n          text: function(text) {\n            if(settings.action !== 'select') {\n              if(settings.action == 'combo') {\n                module.debug('Changing combo button text', text, $combo);\n                if(settings.preserveHTML) {\n                  $combo.html(text);\n                }\n                else {\n                  $combo.text(text);\n                }\n              }\n              else {\n                if(text !== module.get.placeholderText()) {\n                  $text.removeClass(className.placeholder);\n                }\n                module.debug('Changing text', text, $text);\n                $text\n                  .removeClass(className.filtered)\n                ;\n                if(settings.preserveHTML) {\n                  $text.html(text);\n                }\n                else {\n                  $text.text(text);\n                }\n              }\n            }\n          },\n          selectedLetter: function(letter) {\n            var\n              $selectedItem         = $item.filter('.' + className.selected),\n              alreadySelectedLetter = $selectedItem.length > 0 && module.has.firstLetter($selectedItem, letter),\n              $nextValue            = false,\n              $nextItem\n            ;\n            // check next of same letter\n            if(alreadySelectedLetter) {\n              $nextItem = $selectedItem.nextAll($item).eq(0);\n              if( module.has.firstLetter($nextItem, letter) ) {\n                $nextValue  = $nextItem;\n              }\n            }\n            // check all values\n            if(!$nextValue) {\n              $item\n                .each(function(){\n                  if(module.has.firstLetter($(this), letter)) {\n                    $nextValue = $(this);\n                    return false;\n                  }\n                })\n              ;\n            }\n            // set next value\n            if($nextValue) {\n              module.verbose('Scrolling to next value with letter', letter);\n              module.set.scrollPosition($nextValue);\n              $selectedItem.removeClass(className.selected);\n              $nextValue.addClass(className.selected);\n            }\n          },\n          direction: function($menu) {\n            if(settings.direction == 'auto') {\n              if(module.is.onScreen($menu)) {\n                module.remove.upward($menu);\n              }\n              else {\n                module.set.upward($menu);\n              }\n            }\n            else if(settings.direction == 'upward') {\n              module.set.upward($menu);\n            }\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.addClass(className.upward);\n          },\n          value: function(value, text, $selected) {\n            var\n              hasInput     = ($input.length > 0),\n              isAddition   = !module.has.value(value),\n              currentValue = module.get.values(),\n              stringValue  = (value !== undefined)\n                ? String(value)\n                : value,\n              newValue\n            ;\n            if(hasInput) {\n              if(stringValue == currentValue) {\n                module.verbose('Skipping value update already same value', value, currentValue);\n                if(!module.is.initialLoad()) {\n                  return;\n                }\n              }\n\n              if( module.is.single() && module.has.selectInput() && module.can.extendSelect() ) {\n                module.debug('Adding user option', value);\n                module.add.optionValue(value);\n              }\n              module.debug('Updating input value', value, currentValue);\n              internalChange = true;\n              $input\n                .val(value)\n              ;\n              if(settings.fireOnInit === false && module.is.initialLoad()) {\n                module.debug('Input native change event ignored on initial load');\n              }\n              else {\n                module.trigger.change();\n              }\n              internalChange = false;\n            }\n            else {\n              module.verbose('Storing value in metadata', value, $input);\n              if(value !== currentValue) {\n                $module.data(metadata.value, stringValue);\n              }\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onChange);\n            }\n            else {\n              settings.onChange.call(element, value, text, $selected);\n            }\n          },\n          active: function() {\n            $module\n              .addClass(className.active)\n            ;\n          },\n          multiple: function() {\n            $module.addClass(className.multiple);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          exactly: function(value, $selectedItem) {\n            module.debug('Setting selected to exact values');\n            module.clear();\n            module.set.selected(value, $selectedItem);\n          },\n          selected: function(value, $selectedItem) {\n            var\n              isMultiple = module.is.multiple(),\n              $userSelectedItem\n            ;\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n            if(!$selectedItem) {\n              return;\n            }\n            module.debug('Setting selected menu item to', $selectedItem);\n            if(module.is.single()) {\n              module.remove.activeItem();\n              module.remove.selectedItem();\n            }\n            else if(settings.useLabels) {\n              module.remove.selectedItem();\n            }\n            // select each item\n            $selectedItem\n              .each(function() {\n                var\n                  $selected      = $(this),\n                  selectedText   = module.get.choiceText($selected),\n                  selectedValue  = module.get.choiceValue($selected, selectedText),\n\n                  isFiltered     = $selected.hasClass(className.filtered),\n                  isActive       = $selected.hasClass(className.active),\n                  isUserValue    = $selected.hasClass(className.addition),\n                  shouldAnimate  = (isMultiple && $selectedItem.length == 1)\n                ;\n                if(isMultiple) {\n                  if(!isActive || isUserValue) {\n                    if(settings.apiSettings && settings.saveRemoteData) {\n                      module.save.remoteData(selectedText, selectedValue);\n                    }\n                    if(settings.useLabels) {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.add.label(selectedValue, selectedText, shouldAnimate);\n                      module.set.activeItem($selected);\n                      module.filterActive();\n                      module.select.nextAvailable($selectedItem);\n                    }\n                    else {\n                      module.add.value(selectedValue, selectedText, $selected);\n                      module.set.text(module.add.variables(message.count));\n                      module.set.activeItem($selected);\n                    }\n                  }\n                  else if(!isFiltered) {\n                    module.debug('Selected active value, removing label');\n                    module.remove.selected(selectedValue);\n                  }\n                }\n                else {\n                  if(settings.apiSettings && settings.saveRemoteData) {\n                    module.save.remoteData(selectedText, selectedValue);\n                  }\n                  module.set.text(selectedText);\n                  module.set.value(selectedValue, selectedText, $selected);\n                  $selected\n                    .addClass(className.active)\n                    .addClass(className.selected)\n                  ;\n                }\n              })\n            ;\n          }\n        },\n\n        add: {\n          label: function(value, text, shouldAnimate) {\n            var\n              $next  = module.is.searchSelection()\n                ? $search\n                : $text,\n              $label\n            ;\n            $label =  $('<a />')\n              .addClass(className.label)\n              .attr('data-value', value)\n              .html(templates.label(value, text))\n            ;\n            $label = settings.onLabelCreate.call($label, value, text);\n\n            if(module.has.label(value)) {\n              module.debug('Label already exists, skipping', value);\n              return;\n            }\n            if(settings.label.variation) {\n              $label.addClass(settings.label.variation);\n            }\n            if(shouldAnimate === true) {\n              module.debug('Animating in label', $label);\n              $label\n                .addClass(className.hidden)\n                .insertBefore($next)\n                .transition(settings.label.transition, settings.label.duration)\n              ;\n            }\n            else {\n              module.debug('Adding selection label', $label);\n              $label\n                .insertBefore($next)\n              ;\n            }\n          },\n          message: function(message) {\n            var\n              $message = $menu.children(selector.message),\n              html     = settings.templates.message(module.add.variables(message))\n            ;\n            if($message.length > 0) {\n              $message\n                .html(html)\n              ;\n            }\n            else {\n              $message = $('<div/>')\n                .html(html)\n                .addClass(className.message)\n                .appendTo($menu)\n              ;\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(hasOption) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            if( module.is.single() ) {\n              module.verbose('Removing previous user addition');\n              $input.find('option.' + className.addition).remove();\n            }\n            $('<option/>')\n              .prop('value', value)\n              .addClass(className.addition)\n              .html(value)\n              .appendTo($input)\n            ;\n            module.verbose('Adding user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          userSuggestion: function(value) {\n            var\n              $addition         = $menu.children(selector.addition),\n              $existingItem     = module.get.item(value),\n              alreadyHasValue   = $existingItem && $existingItem.not(selector.addition).length,\n              hasUserSuggestion = $addition.length > 0,\n              html\n            ;\n            if(settings.useLabels && module.has.maxSelections()) {\n              return;\n            }\n            if(value === '' || alreadyHasValue) {\n              $addition.remove();\n              return;\n            }\n            $item\n              .removeClass(className.selected)\n            ;\n            if(hasUserSuggestion) {\n              html = settings.templates.addition( module.add.variables(message.addResult, value) );\n              $addition\n                .html(html)\n                .attr('data-' + metadata.value, value)\n                .attr('data-' + metadata.text, value)\n                .removeClass(className.filtered)\n                .addClass(className.selected)\n              ;\n              module.verbose('Replacing user suggestion with new value', $addition);\n            }\n            else {\n              $addition = module.create.userChoice(value);\n              $addition\n                .prependTo($menu)\n                .addClass(className.selected)\n              ;\n              module.verbose('Adding item choice to menu corresponding with user choice addition', $addition);\n            }\n          },\n          variables: function(message, term) {\n            var\n              hasCount    = (message.search('{count}') !== -1),\n              hasMaxCount = (message.search('{maxCount}') !== -1),\n              hasTerm     = (message.search('{term}') !== -1),\n              values,\n              count,\n              query\n            ;\n            module.verbose('Adding templated variables to message', message);\n            if(hasCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{count}', count);\n            }\n            if(hasMaxCount) {\n              count  = module.get.selectionCount();\n              message = message.replace('{maxCount}', settings.maxSelections);\n            }\n            if(hasTerm) {\n              query   = term || module.get.query();\n              message = message.replace('{term}', query);\n            }\n            return message;\n          },\n          value: function(addedValue, addedText, $selectedItem) {\n            var\n              currentValue = module.get.values(),\n              newValue\n            ;\n            if(addedValue === '') {\n              module.debug('Cannot select blank values from multiselect');\n              return;\n            }\n            // extend current array\n            if($.isArray(currentValue)) {\n              newValue = currentValue.concat([addedValue]);\n              newValue = module.get.uniqueArray(newValue);\n            }\n            else {\n              newValue = [addedValue];\n            }\n            // add values\n            if( module.has.selectInput() ) {\n              if(module.can.extendSelect()) {\n                module.debug('Adding value to select', addedValue, newValue, $input);\n                module.add.optionValue(addedValue);\n              }\n            }\n            else {\n              newValue = newValue.join(settings.delimiter);\n              module.debug('Setting hidden input to delimited value', newValue, $input);\n            }\n\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('Skipping onadd callback on initial load', settings.onAdd);\n            }\n            else {\n              settings.onAdd.call(element, addedValue, addedText, $selectedItem);\n            }\n            module.set.value(newValue, addedValue, addedText, $selectedItem);\n            module.check.maxSelections();\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          activeLabel: function() {\n            $module.find(selector.label).removeClass(className.active);\n          },\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          initialLoad: function() {\n            initialLoad = false;\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            $element.removeClass(className.upward);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          activeItem: function() {\n            $item.removeClass(className.active);\n          },\n          filteredItem: function() {\n            if(settings.useLabels && module.has.maxSelections() ) {\n              return;\n            }\n            if(settings.useLabels && module.is.multiple()) {\n              $item.not('.' + className.active).removeClass(className.filtered);\n            }\n            else {\n              $item.removeClass(className.filtered);\n            }\n          },\n          optionValue: function(value) {\n            var\n              $option   = $input.find('option[value=\"' + value + '\"]'),\n              hasOption = ($option.length > 0)\n            ;\n            if(!hasOption || !$option.hasClass(className.addition)) {\n              return;\n            }\n            // temporarily disconnect observer\n            if(selectObserver) {\n              selectObserver.disconnect();\n              module.verbose('Temporarily disconnecting mutation observer', value);\n            }\n            $option.remove();\n            module.verbose('Removing user addition as an <option>', value);\n            if(selectObserver) {\n              selectObserver.observe($input[0], {\n                childList : true,\n                subtree   : true\n              });\n            }\n          },\n          message: function() {\n            $menu.children(selector.message).remove();\n          },\n          searchTerm: function() {\n            module.verbose('Cleared search term');\n            $search.val('');\n            module.set.filtered();\n          },\n          selected: function(value, $selectedItem) {\n            $selectedItem = (settings.allowAdditions)\n              ? $selectedItem || module.get.itemWithAdditions(value)\n              : $selectedItem || module.get.item(value)\n            ;\n\n            if(!$selectedItem) {\n              return false;\n            }\n\n            $selectedItem\n              .each(function() {\n                var\n                  $selected     = $(this),\n                  selectedText  = module.get.choiceText($selected),\n                  selectedValue = module.get.choiceValue($selected, selectedText)\n                ;\n                if(module.is.multiple()) {\n                  if(settings.useLabels) {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    module.remove.label(selectedValue);\n                  }\n                  else {\n                    module.remove.value(selectedValue, selectedText, $selected);\n                    if(module.get.selectionCount() === 0) {\n                      module.set.placeholderText();\n                    }\n                    else {\n                      module.set.text(module.add.variables(message.count));\n                    }\n                  }\n                }\n                else {\n                  module.remove.value(selectedValue, selectedText, $selected);\n                }\n                $selected\n                  .removeClass(className.filtered)\n                  .removeClass(className.active)\n                ;\n                if(settings.useLabels) {\n                  $selected.removeClass(className.selected);\n                }\n              })\n            ;\n          },\n          selectedItem: function() {\n            $item.removeClass(className.selected);\n          },\n          value: function(removedValue, removedText, $removedItem) {\n            var\n              values = module.get.values(),\n              newValue\n            ;\n            if( module.has.selectInput() ) {\n              module.verbose('Input is <select> removing selected option', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              module.remove.optionValue(removedValue);\n            }\n            else {\n              module.verbose('Removing from delimited values', removedValue);\n              newValue = module.remove.arrayValue(removedValue, values);\n              newValue = newValue.join(settings.delimiter);\n            }\n            if(settings.fireOnInit === false && module.is.initialLoad()) {\n              module.verbose('No callback on initial load', settings.onRemove);\n            }\n            else {\n              settings.onRemove.call(element, removedValue, removedText, $removedItem);\n            }\n            module.set.value(newValue, removedText, $removedItem);\n            module.check.maxSelections();\n          },\n          arrayValue: function(removedValue, values) {\n            if( !$.isArray(values) ) {\n              values = [values];\n            }\n            values = $.grep(values, function(value){\n              return (removedValue != value);\n            });\n            module.verbose('Removed value from delimited string', removedValue, values);\n            return values;\n          },\n          label: function(value, shouldAnimate) {\n            var\n              $labels       = $module.find(selector.label),\n              $removedLabel = $labels.filter('[data-value=\"' + value +'\"]')\n            ;\n            module.verbose('Removing label', $removedLabel);\n            $removedLabel.remove();\n          },\n          activeLabels: function($activeLabels) {\n            $activeLabels = $activeLabels || $module.find(selector.label).filter('.' + className.active);\n            module.verbose('Removing active label selections', $activeLabels);\n            module.remove.labels($activeLabels);\n          },\n          labels: function($labels) {\n            $labels = $labels || $module.find(selector.label);\n            module.verbose('Removing labels', $labels);\n            $labels\n              .each(function(){\n                var\n                  $label      = $(this),\n                  value       = $label.data(metadata.value),\n                  stringValue = (value !== undefined)\n                    ? String(value)\n                    : value,\n                  isUserValue = module.is.userValue(stringValue)\n                ;\n                if(settings.onLabelRemove.call($label, value) === false) {\n                  module.debug('Label remove callback cancelled removal');\n                  return;\n                }\n                if(isUserValue) {\n                  module.remove.value(stringValue);\n                  module.remove.label(stringValue);\n                }\n                else {\n                  // selected will also remove label\n                  module.remove.selected(stringValue);\n                }\n              })\n            ;\n          },\n          tabbable: function() {\n            if( module.has.search() ) {\n              module.debug('Searchable dropdown initialized');\n              $search\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n            else {\n              module.debug('Simple selection dropdown initialized');\n              $module\n                .removeAttr('tabindex')\n              ;\n              $menu\n                .removeAttr('tabindex')\n              ;\n            }\n          }\n        },\n\n        has: {\n          search: function() {\n            return ($search.length > 0);\n          },\n          selectInput: function() {\n            return ( $input.is('select') );\n          },\n          firstLetter: function($item, letter) {\n            var\n              text,\n              firstLetter\n            ;\n            if(!$item || $item.length === 0 || typeof letter !== 'string') {\n              return false;\n            }\n            text        = module.get.choiceText($item, false);\n            letter      = letter.toLowerCase();\n            firstLetter = String(text).charAt(0).toLowerCase();\n            return (letter == firstLetter);\n          },\n          input: function() {\n            return ($input.length > 0);\n          },\n          items: function() {\n            return ($item.length > 0);\n          },\n          menu: function() {\n            return ($menu.length > 0);\n          },\n          message: function() {\n            return ($menu.children(selector.message).length !== 0);\n          },\n          label: function(value) {\n            var\n              $labels = $module.find(selector.label)\n            ;\n            return ($labels.filter('[data-value=\"' + value +'\"]').length > 0);\n          },\n          maxSelections: function() {\n            return (settings.maxSelections && module.get.selectionCount() >= settings.maxSelections);\n          },\n          allResultsFiltered: function() {\n            return ($item.filter(selector.unselectable).length === $item.length);\n          },\n          query: function() {\n            return (module.get.query() !== '');\n          },\n          value: function(value) {\n            var\n              values   = module.get.values(),\n              hasValue = $.isArray(values)\n               ? values && ($.inArray(value, values) !== -1)\n               : (values == value)\n            ;\n            return (hasValue)\n              ? true\n              : false\n            ;\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          alreadySetup: function() {\n            return ($module.is('select') && $module.parent(selector.dropdown).length > 0  && $module.prev().length === 0);\n          },\n          animating: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.transition && $subMenu.transition('is animating')\n              : $menu.transition    && $menu.transition('is animating')\n            ;\n          },\n          disabled: function() {\n            return $module.hasClass(className.disabled);\n          },\n          focused: function() {\n            return (document.activeElement === $module[0]);\n          },\n          focusedOnSearch: function() {\n            return (document.activeElement === $search[0]);\n          },\n          allFiltered: function() {\n            return( (module.is.multiple() || module.has.search()) && !module.has.message() && module.has.allResultsFiltered() );\n          },\n          hidden: function($subMenu) {\n            return !module.is.visible($subMenu);\n          },\n          initialLoad: function() {\n            return initialLoad;\n          },\n          onScreen: function($subMenu) {\n            var\n              $currentMenu   = $subMenu || $menu,\n              canOpenDownward = true,\n              onScreen = {},\n              calculations\n            ;\n            $currentMenu.addClass(className.loading);\n            calculations = {\n              context: {\n                scrollTop : $context.scrollTop(),\n                height    : $context.outerHeight()\n              },\n              menu : {\n                offset: $currentMenu.offset(),\n                height: $currentMenu.outerHeight()\n              }\n            };\n            onScreen = {\n              above : (calculations.context.scrollTop) <= calculations.menu.offset.top - calculations.menu.height,\n              below : (calculations.context.scrollTop + calculations.context.height) >= calculations.menu.offset.top + calculations.menu.height\n            };\n            if(onScreen.below) {\n              module.verbose('Dropdown can fit in context downward', onScreen);\n              canOpenDownward = true;\n            }\n            else if(!onScreen.below && !onScreen.above) {\n              module.verbose('Dropdown cannot fit in either direction, favoring downward', onScreen);\n              canOpenDownward = true;\n            }\n            else {\n              module.verbose('Dropdown cannot fit below, opening upward', onScreen);\n              canOpenDownward = false;\n            }\n            $currentMenu.removeClass(className.loading);\n            return canOpenDownward;\n          },\n          inObject: function(needle, object) {\n            var\n              found = false\n            ;\n            $.each(object, function(index, property) {\n              if(property == needle) {\n                found = true;\n                return true;\n              }\n            });\n            return found;\n          },\n          multiple: function() {\n            return $module.hasClass(className.multiple);\n          },\n          single: function() {\n            return !module.is.multiple();\n          },\n          selectMutation: function(mutations) {\n            var\n              selectChanged = false\n            ;\n            $.each(mutations, function(index, mutation) {\n              if(mutation.target && $(mutation.target).is('select')) {\n                selectChanged = true;\n                return true;\n              }\n            });\n            return selectChanged;\n          },\n          search: function() {\n            return $module.hasClass(className.search);\n          },\n          searchSelection: function() {\n            return ( module.has.search() && $search.parent(selector.dropdown).length === 1 );\n          },\n          selection: function() {\n            return $module.hasClass(className.selection);\n          },\n          userValue: function(value) {\n            return ($.inArray(value, module.get.userValues()) !== -1);\n          },\n          upward: function($menu) {\n            var $element = $menu || $module;\n            return $element.hasClass(className.upward);\n          },\n          visible: function($subMenu) {\n            return ($subMenu)\n              ? $subMenu.hasClass(className.visible)\n              : $menu.hasClass(className.visible)\n            ;\n          }\n        },\n\n        can: {\n          activate: function($item) {\n            if(settings.useLabels) {\n              return true;\n            }\n            if(!module.has.maxSelections()) {\n              return true;\n            }\n            if(module.has.maxSelections() && $item.hasClass(className.active)) {\n              return true;\n            }\n            return false;\n          },\n          click: function() {\n            return (hasTouch || settings.on == 'click');\n          },\n          extendSelect: function() {\n            return settings.allowAdditions || settings.apiSettings;\n          },\n          show: function() {\n            return !module.is.disabled() && (module.has.items() || module.has.message());\n          },\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          }\n        },\n\n        animate: {\n          show: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  module.hideSubMenus();\n                  module.hideOthers();\n                  module.set.active();\n                },\n              transition\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            module.verbose('Doing menu show animation', $currentMenu);\n            module.set.direction($subMenu);\n            transition = module.get.transition($subMenu);\n            if( module.is.selection() ) {\n              module.set.scrollPosition(module.get.selectedItem(), true);\n            }\n            if( module.is.hidden($currentMenu) || module.is.animating($currentMenu) ) {\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('show');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' in',\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    duration   : settings.duration,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition, transition);\n              }\n            }\n          },\n          hide: function(callback, $subMenu) {\n            var\n              $currentMenu = $subMenu || $menu,\n              duration = ($subMenu)\n                ? (settings.duration * 0.9)\n                : settings.duration,\n              start = ($subMenu)\n                ? function() {}\n                : function() {\n                  if( module.can.click() ) {\n                    module.unbind.intent();\n                  }\n                  module.remove.active();\n                },\n              transition = module.get.transition($subMenu)\n            ;\n            callback = $.isFunction(callback)\n              ? callback\n              : function(){}\n            ;\n            if( module.is.visible($currentMenu) || module.is.animating($currentMenu) ) {\n              module.verbose('Doing menu hide animation', $currentMenu);\n\n              if(transition == 'none') {\n                start();\n                $currentMenu.transition('hide');\n                callback.call(element);\n              }\n              else if($.fn.transition !== undefined && $module.transition('is supported')) {\n                $currentMenu\n                  .transition({\n                    animation  : transition + ' out',\n                    duration   : settings.duration,\n                    debug      : settings.debug,\n                    verbose    : settings.verbose,\n                    queue      : true,\n                    onStart    : start,\n                    onComplete : function() {\n                      if(settings.direction == 'auto') {\n                        module.remove.upward($subMenu);\n                      }\n                      callback.call(element);\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.transition);\n              }\n            }\n          }\n        },\n\n        hideAndClear: function() {\n          module.remove.searchTerm();\n          if( module.has.maxSelections() ) {\n            return;\n          }\n          if(module.has.search()) {\n            module.hide(function() {\n              module.remove.filteredItem();\n            });\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        delay: {\n          show: function() {\n            module.verbose('Delaying show event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.show, settings.delay.show);\n          },\n          hide: function() {\n            module.verbose('Delaying hide event to ensure user intent');\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.hide, settings.delay.hide);\n          }\n        },\n\n        escape: {\n          regExp: function(text) {\n            text =  String(text);\n            return text.replace(regExp.escape, '\\\\$&');\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : $allModules\n  ;\n};\n\n$.fn.dropdown.settings = {\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  on                     : 'click',    // what event should show menu action on item selection\n  action                 : 'activate', // action on item selection (nothing, activate, select, combo, hide, function(){})\n\n\n  apiSettings            : false,\n  saveRemoteData         : true,      // Whether remote name/value pairs should be stored in sessionStorage to allow remote data to be restored on page refresh\n  throttle               : 200,       // How long to wait after last user input to search remotely\n\n  context                : window,      // Context to use when determining if on screen\n  direction              : 'auto',     // Whether dropdown should always open in one direction\n  keepOnScreen           : true,       // Whether dropdown should check whether it is on screen before showing\n\n  match                  : 'both',     // what to match against with search selection (both, text, or label)\n  fullTextSearch         : false,      // search anywhere in value\n\n  placeholder            : 'auto',     // whether to convert blank <select> values to placeholder text\n  preserveHTML           : true,       // preserve html when selecting value\n  sortSelect             : false,      // sort selection on init\n\n  forceSelection         : true,       // force a choice on blur with search selection\n  allowAdditions         : false,      // whether multiple select should allow user added values\n\n  maxSelections          : false,      // When set to a number limits the number of selections to this count\n  useLabels              : true,       // whether multiple select should filter currently active selections from choices\n  delimiter              : ',',        // when multiselect uses normal <input> the values will be delimited with this character\n\n  showOnFocus            : true,       // show menu on focus\n  allowTab               : true,       // add tabindex to element\n  allowCategorySelection : false,      // allow elements with sub-menus to be selected\n\n  fireOnInit             : false,      // Whether callbacks should fire when initializing dropdown values\n\n  transition             : 'auto',     // auto transition will slide down or up based on direction\n  duration               : 200,        // duration of transition\n\n  glyphWidth             : 1.0714,     // widest glyph width in em (W is 1.0714 em) used to calculate multiselect input width\n\n  // label settings on multi-select\n  label: {\n    transition : 'scale',\n    duration   : 200,\n    variation  : false\n  },\n\n  // delay before event\n  delay : {\n    hide   : 300,\n    show   : 200,\n    search : 20,\n    touch  : 50\n  },\n\n  /* Callbacks */\n  onChange      : function(value, text, $selected){},\n  onAdd         : function(value, text, $selected){},\n  onRemove      : function(value, text, $selected){},\n\n  onLabelSelect : function($selectedLabels){},\n  onLabelCreate : function(value, text) { return $(this); },\n  onLabelRemove : function(value) { return true; },\n  onNoResults   : function(searchTerm) { return true; },\n  onShow        : function(){},\n  onHide        : function(){},\n\n  /* Component */\n  name           : 'Dropdown',\n  namespace      : 'dropdown',\n\n  message: {\n    addResult     : 'Add <b>{term}</b>',\n    count         : '{count} selected',\n    maxSelections : 'Max {maxCount} selections',\n    noResults     : 'No results found.',\n    serverError   : 'There was an error contacting the server'\n  },\n\n  error : {\n    action          : 'You called a dropdown action that was not defined',\n    alreadySetup    : 'Once a select has been initialized behaviors must be called on the created ui dropdown',\n    labels          : 'Allowing user additions currently requires the use of labels.',\n    missingMultiple : '<select> requires multiple property to be set to correctly preserve multiple values',\n    method          : 'The method you called is not defined.',\n    noAPI           : 'The API module is required to load resources remotely',\n    noStorage       : 'Saving remote data requires session storage',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>'\n  },\n\n  regExp : {\n    escape   : /[-[\\]{}()*+?.,\\\\^$|#\\s]/g,\n  },\n\n  metadata : {\n    defaultText     : 'defaultText',\n    defaultValue    : 'defaultValue',\n    placeholderText : 'placeholder',\n    text            : 'text',\n    value           : 'value'\n  },\n\n  // property names for remote query\n  fields: {\n    remoteValues : 'results', // grouping for api results\n    values       : 'values', // grouping for all dropdown values\n    name         : 'name',   // displayed dropdown text\n    value        : 'value'   // actual dropdown value\n  },\n\n  keys : {\n    backspace  : 8,\n    delimiter  : 188, // comma\n    deleteKey  : 46,\n    enter      : 13,\n    escape     : 27,\n    pageUp     : 33,\n    pageDown   : 34,\n    leftArrow  : 37,\n    upArrow    : 38,\n    rightArrow : 39,\n    downArrow  : 40\n  },\n\n  selector : {\n    addition     : '.addition',\n    dropdown     : '.ui.dropdown',\n    icon         : '> .dropdown.icon',\n    input        : '> input[type=\"hidden\"], > select',\n    item         : '.item',\n    label        : '> .label',\n    remove       : '> .label > .delete.icon',\n    siblingLabel : '.label',\n    menu         : '.menu',\n    message      : '.message',\n    menuIcon     : '.dropdown.icon',\n    search       : 'input.search, .menu > .search > input',\n    text         : '> .text:not(.icon)',\n    unselectable : '.disabled, .filtered'\n  },\n\n  className : {\n    active      : 'active',\n    addition    : 'addition',\n    animating   : 'animating',\n    disabled    : 'disabled',\n    dropdown    : 'ui dropdown',\n    filtered    : 'filtered',\n    hidden      : 'hidden transition',\n    item        : 'item',\n    label       : 'ui label',\n    loading     : 'loading',\n    menu        : 'menu',\n    message     : 'message',\n    multiple    : 'multiple',\n    placeholder : 'default',\n    search      : 'search',\n    selected    : 'selected',\n    selection   : 'selection',\n    upward      : 'upward',\n    visible     : 'visible'\n  }\n\n};\n\n/* Templates */\n$.fn.dropdown.settings.templates = {\n\n  // generates dropdown from select values\n  dropdown: function(select) {\n    var\n      placeholder = select.placeholder || false,\n      values      = select.values || {},\n      html        = ''\n    ;\n    html +=  '<i class=\"dropdown icon\"></i>';\n    if(select.placeholder) {\n      html += '<div class=\"default text\">' + placeholder + '</div>';\n    }\n    else {\n      html += '<div class=\"text\"></div>';\n    }\n    html += '<div class=\"menu\">';\n    $.each(select.values, function(index, option) {\n      html += (option.disabled)\n        ? '<div class=\"disabled item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n        : '<div class=\"item\" data-value=\"' + option.value + '\">' + option.name + '</div>'\n      ;\n    });\n    html += '</div>';\n    return html;\n  },\n\n  // generates just menu from select\n  menu: function(response, fields) {\n    var\n      values = response[fields.values] || {},\n      html   = ''\n    ;\n    $.each(values, function(index, option) {\n      html += '<div class=\"item\" data-value=\"' + option[fields.value] + '\">' + option[fields.name] + '</div>';\n    });\n    return html;\n  },\n\n  // generates label for multiselect\n  label: function(value, text) {\n    return text + '<i class=\"delete icon\"></i>';\n  },\n\n\n  // generates messages like \"No results\"\n  message: function(message) {\n    return message;\n  },\n\n  // generates user addition to selection menu\n  addition: function(choice) {\n    return choice;\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Video\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.embed = function(parameters) {\n\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.embed.settings, parameters)\n          : $.extend({}, $.fn.embed.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        sources         = settings.sources,\n        error           = settings.error,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        templates       = settings.templates,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n        $module         = $(this),\n        $placeholder    = $module.find(selector.placeholder),\n        $icon           = $module.find(selector.icon),\n        $embed          = $module.find(selector.embed),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing embed');\n          module.determine.autoplay();\n          module.create();\n          module.bind.events();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance of embed');\n          module.reset();\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $placeholder = $module.find(selector.placeholder);\n          $icon        = $module.find(selector.icon);\n          $embed       = $module.find(selector.embed);\n        },\n\n        bind: {\n          events: function() {\n            if( module.has.placeholder() ) {\n              module.debug('Adding placeholder events');\n              $module\n                .on('click' + eventNamespace, selector.placeholder, module.createAndShow)\n                .on('click' + eventNamespace, selector.icon, module.createAndShow)\n              ;\n            }\n          }\n        },\n\n        create: function() {\n          var\n            placeholder = module.get.placeholder()\n          ;\n          if(placeholder) {\n            module.createPlaceholder();\n          }\n          else {\n            module.createAndShow();\n          }\n        },\n\n        createPlaceholder: function(placeholder) {\n          var\n            icon  = module.get.icon(),\n            url   = module.get.url(),\n            embed = module.generate.embed(url)\n          ;\n          placeholder = placeholder || module.get.placeholder();\n          $module.html( templates.placeholder(placeholder, icon) );\n          module.debug('Creating placeholder for embed', placeholder, icon);\n        },\n\n        createEmbed: function(url) {\n          module.refresh();\n          url = url || module.get.url();\n          $embed = $('<div/>')\n            .addClass(className.embed)\n            .html( module.generate.embed(url) )\n            .appendTo($module)\n          ;\n          settings.onCreate.call(element, url);\n          module.debug('Creating embed object', $embed);\n        },\n\n        createAndShow: function() {\n          module.createEmbed();\n          module.show();\n        },\n\n        // sets new embed\n        change: function(source, id, url) {\n          module.debug('Changing video to ', source, id, url);\n          $module\n            .data(metadata.source, source)\n            .data(metadata.id, id)\n            .data(metadata.url, url)\n          ;\n          module.create();\n        },\n\n        // clears embed\n        reset: function() {\n          module.debug('Clearing embed and showing placeholder');\n          module.remove.active();\n          module.remove.embed();\n          module.showPlaceholder();\n          settings.onReset.call(element);\n        },\n\n        // shows current embed\n        show: function() {\n          module.debug('Showing embed');\n          module.set.active();\n          settings.onDisplay.call(element);\n        },\n\n        hide: function() {\n          module.debug('Hiding embed');\n          module.showPlaceholder();\n        },\n\n        showPlaceholder: function() {\n          module.debug('Showing placeholder image');\n          module.remove.active();\n          settings.onPlaceholderDisplay.call(element);\n        },\n\n        get: {\n          id: function() {\n            return settings.id || $module.data(metadata.id);\n          },\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          },\n          icon: function() {\n            return (settings.icon)\n              ? settings.icon\n              : ($module.data(metadata.icon) !== undefined)\n                ? $module.data(metadata.icon)\n                : module.determine.icon()\n            ;\n          },\n          source: function(url) {\n            return (settings.source)\n              ? settings.source\n              : ($module.data(metadata.source) !== undefined)\n                ? $module.data(metadata.source)\n                : module.determine.source()\n            ;\n          },\n          type: function() {\n            var source = module.get.source();\n            return (sources[source] !== undefined)\n              ? sources[source].type\n              : false\n            ;\n          },\n          url: function() {\n            return (settings.url)\n              ? settings.url\n              : ($module.data(metadata.url) !== undefined)\n                ? $module.data(metadata.url)\n                : module.determine.url()\n            ;\n          }\n        },\n\n        determine: {\n          autoplay: function() {\n            if(module.should.autoplay()) {\n              settings.autoplay = true;\n            }\n          },\n          source: function(url) {\n            var\n              matchedSource = false\n            ;\n            url = url || module.get.url();\n            if(url) {\n              $.each(sources, function(name, source) {\n                if(url.search(source.domain) !== -1) {\n                  matchedSource = name;\n                  return false;\n                }\n              });\n            }\n            return matchedSource;\n          },\n          icon: function() {\n            var\n              source = module.get.source()\n            ;\n            return (sources[source] !== undefined)\n              ? sources[source].icon\n              : false\n            ;\n          },\n          url: function() {\n            var\n              id     = settings.id     || $module.data(metadata.id),\n              source = settings.source || $module.data(metadata.source),\n              url\n            ;\n            url = (sources[source] !== undefined)\n              ? sources[source].url.replace('{id}', id)\n              : false\n            ;\n            if(url) {\n              $module.data(metadata.url, url);\n            }\n            return url;\n          }\n        },\n\n\n        set: {\n          active: function() {\n            $module.addClass(className.active);\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          embed: function() {\n            $embed.empty();\n          }\n        },\n\n        encode: {\n          parameters: function(parameters) {\n            var\n              urlString = [],\n              index\n            ;\n            for (index in parameters) {\n              urlString.push( encodeURIComponent(index) + '=' + encodeURIComponent( parameters[index] ) );\n            }\n            return urlString.join('&amp;');\n          }\n        },\n\n        generate: {\n          embed: function(url) {\n            module.debug('Generating embed html');\n            var\n              source = module.get.source(),\n              html,\n              parameters\n            ;\n            url = module.get.url(url);\n            if(url) {\n              parameters = module.generate.parameters(source);\n              html       = templates.iframe(url, parameters);\n            }\n            else {\n              module.error(error.noURL, $module);\n            }\n            return html;\n          },\n          parameters: function(source, extraParameters) {\n            var\n              parameters = (sources[source] && sources[source].parameters !== undefined)\n                ? sources[source].parameters(settings)\n                : {}\n            ;\n            extraParameters = extraParameters || settings.parameters;\n            if(extraParameters) {\n              parameters = $.extend({}, parameters, extraParameters);\n            }\n            parameters = settings.onEmbed(parameters);\n            return module.encode.parameters(parameters);\n          }\n        },\n\n        has: {\n          placeholder: function() {\n            return settings.placeholder || $module.data(metadata.placeholder);\n          }\n        },\n\n        should: {\n          autoplay: function() {\n            return (settings.autoplay === 'auto')\n              ? (settings.placeholder || $module.data(metadata.placeholder) !== undefined)\n              : settings.autoplay\n            ;\n          }\n        },\n\n        is: {\n          video: function() {\n            return module.get.type() == 'video';\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.embed.settings = {\n\n  name        : 'Embed',\n  namespace   : 'embed',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  icon     : false,\n  source   : false,\n  url      : false,\n  id       : false,\n\n  // standard video settings\n  autoplay  : 'auto',\n  color     : '#444444',\n  hd        : true,\n  brandedUI : false,\n\n  // additional parameters to include with the embed\n  parameters: false,\n\n  onDisplay            : function() {},\n  onPlaceholderDisplay : function() {},\n  onReset              : function() {},\n  onCreate             : function(url) {},\n  onEmbed              : function(parameters) {\n    return parameters;\n  },\n\n  metadata    : {\n    id          : 'id',\n    icon        : 'icon',\n    placeholder : 'placeholder',\n    source      : 'source',\n    url         : 'url'\n  },\n\n  error : {\n    noURL  : 'No URL specified',\n    method : 'The method you called is not defined'\n  },\n\n  className : {\n    active : 'active',\n    embed  : 'embed'\n  },\n\n  selector : {\n    embed       : '.embed',\n    placeholder : '.placeholder',\n    icon        : '.icon'\n  },\n\n  sources: {\n    youtube: {\n      name   : 'youtube',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'youtube.com',\n      url    : '//www.youtube.com/embed/{id}',\n      parameters: function(settings) {\n        return {\n          autohide       : !settings.brandedUI,\n          autoplay       : settings.autoplay,\n          color          : settings.colors || undefined,\n          hq             : settings.hd,\n          jsapi          : settings.api,\n          modestbranding : !settings.brandedUI\n        };\n      }\n    },\n    vimeo: {\n      name   : 'vimeo',\n      type   : 'video',\n      icon   : 'video play',\n      domain : 'vimeo.com',\n      url    : '//player.vimeo.com/video/{id}',\n      parameters: function(settings) {\n        return {\n          api      : settings.api,\n          autoplay : settings.autoplay,\n          byline   : settings.brandedUI,\n          color    : settings.colors || undefined,\n          portrait : settings.brandedUI,\n          title    : settings.brandedUI\n        };\n      }\n    }\n  },\n\n  templates: {\n    iframe : function(url, parameters) {\n      return ''\n        + '<iframe src=\"' + url + '?' + parameters + '\"'\n        + ' width=\"100%\" height=\"100%\"'\n        + ' frameborder=\"0\" scrolling=\"no\" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'\n      ;\n    },\n    placeholder : function(image, icon) {\n      var\n        html = ''\n      ;\n      if(icon) {\n        html += '<i class=\"' + icon + ' icon\"></i>';\n      }\n      if(image) {\n        html += '<img class=\"placeholder\" src=\"' + image + '\">';\n      }\n      return html;\n    }\n  },\n\n  // NOT YET IMPLEMENTED\n  api     : true,\n  onPause : function() {},\n  onPlay  : function() {},\n  onStop  : function() {}\n\n};\n\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Modal\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.modal = function(parameters) {\n  var\n    $allModules    = $(this),\n    $window        = $(window),\n    $document      = $(document),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings    = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.modal.settings, parameters)\n          : $.extend({}, $.fn.modal.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n        $close          = $module.find(selector.close),\n\n        $allModals,\n        $otherModals,\n        $focusedElement,\n        $dimmable,\n        $dimmer,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        observer,\n        module\n      ;\n      module  = {\n\n        initialize: function() {\n          module.verbose('Initializing dimmer', $context);\n\n          module.create.id();\n          module.create.dimmer();\n          module.refreshModals();\n\n          module.bind.events();\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of modal');\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        create: {\n          dimmer: function() {\n            var\n              defaultSettings = {\n                debug      : settings.debug,\n                dimmerName : 'modals',\n                duration   : {\n                  show     : settings.duration,\n                  hide     : settings.duration\n                }\n              },\n              dimmerSettings = $.extend(true, defaultSettings, settings.dimmerSettings)\n            ;\n            if(settings.inverted) {\n              dimmerSettings.variation = (dimmerSettings.variation !== undefined)\n                ? dimmerSettings.variation + ' inverted'\n                : 'inverted'\n              ;\n            }\n            if($.fn.dimmer === undefined) {\n              module.error(error.dimmer);\n              return;\n            }\n            module.debug('Creating dimmer with settings', dimmerSettings);\n            $dimmable = $context.dimmer(dimmerSettings);\n            if(settings.detachable) {\n              module.verbose('Modal is detachable, moving content into dimmer');\n              $dimmable.dimmer('add content', $module);\n            }\n            else {\n              module.set.undetached();\n            }\n            if(settings.blurring) {\n              $dimmable.addClass(className.blurring);\n            }\n            $dimmer = $dimmable.dimmer('get dimmer');\n          },\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous modal');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n          $window.off(elementNamespace);\n          $close.off(eventNamespace);\n          $context.dimmer('destroy');\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.debug('DOM tree modified, refreshing');\n              module.refresh();\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        refresh: function() {\n          module.remove.scrolling();\n          module.cacheSizes();\n          module.set.screenHeight();\n          module.set.type();\n          module.set.position();\n        },\n\n        refreshModals: function() {\n          $otherModals = $module.siblings(selector.modal);\n          $allModals   = $otherModals.add($module);\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching modal events to element', selector, event);\n            $toggle\n              .off(eventNamespace)\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Attaching events');\n            $module\n              .on('click' + eventNamespace, selector.close, module.event.close)\n              .on('click' + eventNamespace, selector.approve, module.event.approve)\n              .on('click' + eventNamespace, selector.deny, module.event.deny)\n            ;\n            $window\n              .on('resize' + elementNamespace, module.event.resize)\n            ;\n          }\n        },\n\n        get: {\n          id: function() {\n            return (Math.random().toString(16) + '000000000').substr(2,8);\n          }\n        },\n\n        event: {\n          approve: function() {\n            if(settings.onApprove.call(element, $(this)) === false) {\n              module.verbose('Approve callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          deny: function() {\n            if(settings.onDeny.call(element, $(this)) === false) {\n              module.verbose('Deny callback returned false cancelling hide');\n              return;\n            }\n            module.hide();\n          },\n          close: function() {\n            module.hide();\n          },\n          click: function(event) {\n            var\n              $target   = $(event.target),\n              isInModal = ($target.closest(selector.modal).length > 0),\n              isInDOM   = $.contains(document.documentElement, event.target)\n            ;\n            if(!isInModal && isInDOM) {\n              module.debug('Dimmer clicked, hiding all modals');\n              if( module.is.active() ) {\n                module.remove.clickaway();\n                if(settings.allowMultiple) {\n                  module.hide();\n                }\n                else {\n                  module.hideAll();\n                }\n              }\n            }\n          },\n          debounce: function(method, delay) {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(method, delay);\n          },\n          keyboard: function(event) {\n            var\n              keyCode   = event.which,\n              escapeKey = 27\n            ;\n            if(keyCode == escapeKey) {\n              if(settings.closable) {\n                module.debug('Escape key pressed hiding modal');\n                module.hide();\n              }\n              else {\n                module.debug('Escape key pressed, but closable is set to false');\n              }\n              event.preventDefault();\n            }\n          },\n          resize: function() {\n            if( $dimmable.dimmer('is active') ) {\n              requestAnimationFrame(module.refresh);\n            }\n          }\n        },\n\n        toggle: function() {\n          if( module.is.active() || module.is.animating() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.showModal(callback);\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.refreshModals();\n          module.hideModal(callback);\n        },\n\n        showModal: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( module.is.animating() || !module.is.active() ) {\n\n            module.showDimmer();\n            module.cacheSizes();\n            module.set.position();\n            module.set.screenHeight();\n            module.set.type();\n            module.set.clickaway();\n\n            if( !settings.allowMultiple && module.others.active() ) {\n              module.hideOthers(module.showModal);\n            }\n            else {\n              settings.onShow.call(element);\n              if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n                module.debug('Showing modal with css animations');\n                $module\n                  .transition({\n                    debug       : settings.debug,\n                    animation   : settings.transition + ' in',\n                    queue       : settings.queue,\n                    duration    : settings.duration,\n                    useFailSafe : true,\n                    onComplete : function() {\n                      settings.onVisible.apply(element);\n                      module.add.keyboardShortcuts();\n                      module.save.focus();\n                      module.set.active();\n                      if(settings.autofocus) {\n                        module.set.autofocus();\n                      }\n                      callback();\n                    }\n                  })\n                ;\n              }\n              else {\n                module.error(error.noTransition);\n              }\n            }\n          }\n          else {\n            module.debug('Modal is already visible');\n          }\n        },\n\n        hideModal: function(callback, keepDimmed) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.debug('Hiding modal');\n          if(settings.onHide.call(element, $(this)) === false) {\n            module.verbose('Hide callback returned false cancelling hide');\n            return;\n          }\n\n          if( module.is.animating() || module.is.active() ) {\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.remove.active();\n              $module\n                .transition({\n                  debug       : settings.debug,\n                  animation   : settings.transition + ' out',\n                  queue       : settings.queue,\n                  duration    : settings.duration,\n                  useFailSafe : true,\n                  onStart     : function() {\n                    if(!module.others.active() && !keepDimmed) {\n                      module.hideDimmer();\n                    }\n                    module.remove.keyboardShortcuts();\n                  },\n                  onComplete : function() {\n                    settings.onHidden.call(element);\n                    module.restore.focus();\n                    callback();\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        showDimmer: function() {\n          if($dimmable.dimmer('is animating') || !$dimmable.dimmer('is active') ) {\n            module.debug('Showing dimmer');\n            $dimmable.dimmer('show');\n          }\n          else {\n            module.debug('Dimmer already visible');\n          }\n        },\n\n        hideDimmer: function() {\n          if( $dimmable.dimmer('is animating') || ($dimmable.dimmer('is active')) ) {\n            $dimmable.dimmer('hide', function() {\n              module.remove.clickaway();\n              module.remove.screenHeight();\n            });\n          }\n          else {\n            module.debug('Dimmer is not visible cannot hide');\n            return;\n          }\n        },\n\n        hideAll: function(callback) {\n          var\n            $visibleModals = $allModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding all visible modals');\n            module.hideDimmer();\n            $visibleModals\n              .modal('hide modal', callback)\n            ;\n          }\n        },\n\n        hideOthers: function(callback) {\n          var\n            $visibleModals = $otherModals.filter('.' + className.active + ', .' + className.animating)\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if( $visibleModals.length > 0 ) {\n            module.debug('Hiding other modals', $otherModals);\n            $visibleModals\n              .modal('hide modal', callback, true)\n            ;\n          }\n        },\n\n        others: {\n          active: function() {\n            return ($otherModals.filter('.' + className.active).length > 0);\n          },\n          animating: function() {\n            return ($otherModals.filter('.' + className.animating).length > 0);\n          }\n        },\n\n\n        add: {\n          keyboardShortcuts: function() {\n            module.verbose('Adding keyboard shortcuts');\n            $document\n              .on('keyup' + eventNamespace, module.event.keyboard)\n            ;\n          }\n        },\n\n        save: {\n          focus: function() {\n            $focusedElement = $(document.activeElement).blur();\n          }\n        },\n\n        restore: {\n          focus: function() {\n            if($focusedElement && $focusedElement.length > 0) {\n              $focusedElement.focus();\n            }\n          }\n        },\n\n        remove: {\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .off('click' + elementNamespace)\n              ;\n            }\n          },\n          bodyStyle: function() {\n            if($body.attr('style') === '') {\n              module.verbose('Removing style attribute');\n              $body.removeAttr('style');\n            }\n          },\n          screenHeight: function() {\n            module.debug('Removing page height');\n            $body\n              .css('height', '')\n            ;\n          },\n          keyboardShortcuts: function() {\n            module.verbose('Removing keyboard shortcuts');\n            $document\n              .off('keyup' + eventNamespace)\n            ;\n          },\n          scrolling: function() {\n            $dimmable.removeClass(className.scrolling);\n            $module.removeClass(className.scrolling);\n          }\n        },\n\n        cacheSizes: function() {\n          var\n            modalHeight = $module.outerHeight()\n          ;\n          if(module.cache === undefined || modalHeight !== 0) {\n            module.cache = {\n              pageHeight    : $(document).outerHeight(),\n              height        : modalHeight + settings.offset,\n              contextHeight : (settings.context == 'body')\n                ? $(window).height()\n                : $dimmable.height()\n            };\n          }\n          module.debug('Caching modal and container sizes', module.cache);\n        },\n\n        can: {\n          fit: function() {\n            return ( ( module.cache.height + (settings.padding * 2) ) < module.cache.contextHeight);\n          }\n        },\n\n        is: {\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return $module.transition('is supported')\n              ? $module.transition('is animating')\n              : $module.is(':visible')\n            ;\n          },\n          scrolling: function() {\n            return $dimmable.hasClass(className.scrolling);\n          },\n          modernBrowser: function() {\n            // appName for IE11 reports 'Netscape' can no longer use\n            return !(window.ActiveXObject || \"ActiveXObject\" in window);\n          }\n        },\n\n        set: {\n          autofocus: function() {\n            var\n              $inputs    = $module.find(':input').filter(':visible'),\n              $autofocus = $inputs.filter('[autofocus]'),\n              $input     = ($autofocus.length > 0)\n                ? $autofocus.first()\n                : $inputs.first()\n            ;\n            if($input.length > 0) {\n              $input.focus();\n            }\n          },\n          clickaway: function() {\n            if(settings.closable) {\n              $dimmer\n                .on('click' + elementNamespace, module.event.click)\n              ;\n            }\n          },\n          screenHeight: function() {\n            if( module.can.fit() ) {\n              $body.css('height', '');\n            }\n            else {\n              module.debug('Modal is taller than page content, resizing page height');\n              $body\n                .css('height', module.cache.height + (settings.padding * 2) )\n              ;\n            }\n          },\n          active: function() {\n            $module.addClass(className.active);\n          },\n          scrolling: function() {\n            $dimmable.addClass(className.scrolling);\n            $module.addClass(className.scrolling);\n          },\n          type: function() {\n            if(module.can.fit()) {\n              module.verbose('Modal fits on screen');\n              if(!module.others.active() && !module.others.animating()) {\n                module.remove.scrolling();\n              }\n            }\n            else {\n              module.verbose('Modal cannot fit on screen setting to scrolling');\n              module.set.scrolling();\n            }\n          },\n          position: function() {\n            module.verbose('Centering modal on page', module.cache);\n            if(module.can.fit()) {\n              $module\n                .css({\n                  top: '',\n                  marginTop: -(module.cache.height / 2)\n                })\n              ;\n            }\n            else {\n              $module\n                .css({\n                  marginTop : '',\n                  top       : $document.scrollTop()\n                })\n              ;\n            }\n          },\n          undetached: function() {\n            $dimmable.addClass(className.undetached);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.modal.settings = {\n\n  name           : 'Modal',\n  namespace      : 'modal',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  observeChanges : false,\n\n  allowMultiple  : false,\n  detachable     : true,\n  closable       : true,\n  autofocus      : true,\n\n  inverted       : false,\n  blurring       : false,\n\n  dimmerSettings : {\n    closable : false,\n    useCSS   : true\n  },\n\n\n  context    : 'body',\n\n  queue      : false,\n  duration   : 500,\n  offset     : 0,\n  transition : 'scale',\n\n  // padding with edge of page\n  padding    : 50,\n\n  // called before show animation\n  onShow     : function(){},\n\n  // called after show animation\n  onVisible  : function(){},\n\n  // called before hide animation\n  onHide     : function(){ return true; },\n\n  // called after hide animation\n  onHidden   : function(){},\n\n  // called after approve selector match\n  onApprove  : function(){ return true; },\n\n  // called after deny selector match\n  onDeny     : function(){ return true; },\n\n  selector    : {\n    close    : '> .close',\n    approve  : '.actions .positive, .actions .approve, .actions .ok',\n    deny     : '.actions .negative, .actions .deny, .actions .cancel',\n    modal    : '.ui.modal'\n  },\n  error : {\n    dimmer    : 'UI Dimmer, a required component is not included in this page',\n    method    : 'The method you called is not defined.',\n    notFound  : 'The element you specified could not be found'\n  },\n  className : {\n    active     : 'active',\n    animating  : 'animating',\n    blurring   : 'blurring',\n    scrolling  : 'scrolling',\n    undetached : 'undetached'\n  }\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Nag\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.nag = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.nag.settings, parameters)\n          : $.extend({}, $.fn.nag.settings),\n\n        className       = settings.className,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        $close          = $module.find(selector.close),\n        $context        = (settings.context)\n          ? $(settings.context)\n          : $('body'),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        moduleOffset,\n        moduleHeight,\n\n        contextWidth,\n        contextHeight,\n        contextOffset,\n\n        yOffset,\n        yPosition,\n\n        timer,\n        module,\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); }\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing element');\n\n          $module\n            .on('click' + eventNamespace, selector.close, module.dismiss)\n            .data(moduleNamespace, module)\n          ;\n\n          if(settings.detachable && $module.parent()[0] !== $context[0]) {\n            $module\n              .detach()\n              .prependTo($context)\n            ;\n          }\n\n          if(settings.displayTime > 0) {\n            setTimeout(module.hide, settings.displayTime);\n          }\n          module.show();\n        },\n\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        show: function() {\n          if( module.should.show() && !$module.is(':visible') ) {\n            module.debug('Showing nag', settings.animation.show);\n            if(settings.animation.show == 'fade') {\n              $module\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            else {\n              $module\n                .slideDown(settings.duration, settings.easing)\n              ;\n            }\n          }\n        },\n\n        hide: function() {\n          module.debug('Showing nag', settings.animation.hide);\n          if(settings.animation.show == 'fade') {\n            $module\n              .fadeIn(settings.duration, settings.easing)\n            ;\n          }\n          else {\n            $module\n              .slideUp(settings.duration, settings.easing)\n            ;\n          }\n        },\n\n        onHide: function() {\n          module.debug('Removing nag', settings.animation.hide);\n          $module.remove();\n          if (settings.onHide) {\n            settings.onHide();\n          }\n        },\n\n        dismiss: function(event) {\n          if(settings.storageMethod) {\n            module.storage.set(settings.key, settings.value);\n          }\n          module.hide();\n          event.stopImmediatePropagation();\n          event.preventDefault();\n        },\n\n        should: {\n          show: function() {\n            if(settings.persist) {\n              module.debug('Persistent nag is set, can show nag');\n              return true;\n            }\n            if( module.storage.get(settings.key) != settings.value.toString() ) {\n              module.debug('Stored value is not set, can show nag', module.storage.get(settings.key));\n              return true;\n            }\n            module.debug('Stored value is set, cannot show nag', module.storage.get(settings.key));\n            return false;\n          }\n        },\n\n        get: {\n          storageOptions: function() {\n            var\n              options = {}\n            ;\n            if(settings.expires) {\n              options.expires = settings.expires;\n            }\n            if(settings.domain) {\n              options.domain = settings.domain;\n            }\n            if(settings.path) {\n              options.path = settings.path;\n            }\n            return options;\n          }\n        },\n\n        clear: function() {\n          module.storage.remove(settings.key);\n        },\n\n        storage: {\n          set: function(key, value) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.setItem(key, value);\n              module.debug('Value stored using local storage', key, value);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.setItem(key, value);\n              module.debug('Value stored using session storage', key, value);\n            }\n            else if($.cookie !== undefined) {\n              $.cookie(key, value, options);\n              module.debug('Value stored using cookie', key, value, options);\n            }\n            else {\n              module.error(error.noCookieStorage);\n              return;\n            }\n          },\n          get: function(key, value) {\n            var\n              storedValue\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              storedValue = window.localStorage.getItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              storedValue = window.sessionStorage.getItem(key);\n            }\n            // get by cookie\n            else if($.cookie !== undefined) {\n              storedValue = $.cookie(key);\n            }\n            else {\n              module.error(error.noCookieStorage);\n            }\n            if(storedValue == 'undefined' || storedValue == 'null' || storedValue === undefined || storedValue === null) {\n              storedValue = undefined;\n            }\n            return storedValue;\n          },\n          remove: function(key) {\n            var\n              options = module.get.storageOptions()\n            ;\n            if(settings.storageMethod == 'localstorage' && window.localStorage !== undefined) {\n              window.localStorage.removeItem(key);\n            }\n            else if(settings.storageMethod == 'sessionstorage' && window.sessionStorage !== undefined) {\n              window.sessionStorage.removeItem(key);\n            }\n            // store by cookie\n            else if($.cookie !== undefined) {\n              $.removeCookie(key, options);\n            }\n            else {\n              module.error(error.noStorage);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.nag.settings = {\n\n  name        : 'Nag',\n\n  debug       : false,\n  verbose     : false,\n  performance : true,\n\n  namespace   : 'Nag',\n\n  // allows cookie to be overriden\n  persist     : false,\n\n  // set to zero to require manually dismissal, otherwise hides on its own\n  displayTime : 0,\n\n  animation   : {\n    show : 'slide',\n    hide : 'slide'\n  },\n\n  context       : false,\n  detachable    : false,\n\n  expires       : 30,\n  domain        : false,\n  path          : '/',\n\n  // type of storage to use\n  storageMethod : 'cookie',\n\n  // value to store in dismissed localstorage/cookie\n  key           : 'nag',\n  value         : 'dismiss',\n\n  error: {\n    noCookieStorage : '$.cookie is not included. A storage solution is required.',\n    noStorage       : 'Neither $.cookie or store is defined. A storage solution is required for storing state',\n    method          : 'The method you called is not defined.'\n  },\n\n  className     : {\n    bottom : 'bottom',\n    fixed  : 'fixed'\n  },\n\n  selector      : {\n    close : '.close.icon'\n  },\n\n  speed         : 500,\n  easing        : 'easeOutQuad',\n\n  onHide: function() {}\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Popup\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.popup = function(parameters) {\n  var\n    $allModules    = $(this),\n    $document      = $(document),\n    $window        = $(window),\n    $body          = $('body'),\n\n    moduleSelector = $allModules.selector || '',\n\n    hasTouch       = (true),\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.popup.settings, parameters)\n          : $.extend({}, $.fn.popup.settings),\n\n        selector           = settings.selector,\n        className          = settings.className,\n        error              = settings.error,\n        metadata           = settings.metadata,\n        namespace          = settings.namespace,\n\n        eventNamespace     = '.' + settings.namespace,\n        moduleNamespace    = 'module-' + namespace,\n\n        $module            = $(this),\n        $context           = $(settings.context),\n        $target            = (settings.target)\n          ? $(settings.target)\n          : $module,\n\n        $popup,\n        $offsetParent,\n\n        searchDepth        = 0,\n        triedPositions     = false,\n        openedWithTouch    = false,\n\n        element            = this,\n        instance           = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        module\n      ;\n\n      module = {\n\n        // binds events\n        initialize: function() {\n          module.debug('Initializing', $module);\n          module.createID();\n          module.bind.events();\n          if( !module.exists() && settings.preserve) {\n            module.create();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        refresh: function() {\n          if(settings.popup) {\n            $popup = $(settings.popup).eq(0);\n          }\n          else {\n            if(settings.inline) {\n              $popup = $target.nextAll(selector.popup).eq(0);\n              settings.popup = $popup;\n            }\n          }\n          if(settings.popup) {\n            $popup.addClass(className.loading);\n            $offsetParent = module.get.offsetParent();\n            $popup.removeClass(className.loading);\n            if(settings.movePopup && module.has.popup() && module.get.offsetParent($popup)[0] !== $offsetParent[0]) {\n              module.debug('Moving popup to the same offset parent as activating element');\n              $popup\n                .detach()\n                .appendTo($offsetParent)\n              ;\n            }\n          }\n          else {\n            $offsetParent = (settings.inline)\n              ? module.get.offsetParent($target)\n              : module.has.popup()\n                ? module.get.offsetParent($popup)\n                : $body\n            ;\n          }\n          if( $offsetParent.is('html') && $offsetParent[0] !== $body[0] ) {\n            module.debug('Setting page as offset parent');\n            $offsetParent = $body;\n          }\n          if( module.get.variation() ) {\n            module.set.variation();\n          }\n        },\n\n        reposition: function() {\n          module.refresh();\n          module.set.position();\n        },\n\n        destroy: function() {\n          module.debug('Destroying previous module');\n          // remove element only if was created dynamically\n          if($popup && !settings.preserve) {\n            module.removePopup();\n          }\n          // clear all timeouts\n          clearTimeout(module.hideTimer);\n          clearTimeout(module.showTimer);\n          // remove events\n          $window.off(elementNamespace);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        event: {\n          start:  function(event) {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.show\n                : settings.delay\n            ;\n            clearTimeout(module.hideTimer);\n            if(!openedWithTouch) {\n              module.showTimer = setTimeout(module.show, delay);\n            }\n          },\n          end:  function() {\n            var\n              delay = ($.isPlainObject(settings.delay))\n                ? settings.delay.hide\n                : settings.delay\n            ;\n            clearTimeout(module.showTimer);\n            module.hideTimer = setTimeout(module.hide, delay);\n          },\n          touchstart: function(event) {\n            openedWithTouch = true;\n            module.show();\n          },\n          resize: function() {\n            if( module.is.visible() ) {\n              module.set.position();\n            }\n          },\n          hideGracefully: function(event) {\n            // don't close on clicks inside popup\n            if(event && $(event.target).closest(selector.popup).length === 0) {\n              module.debug('Click occurred outside popup hiding popup');\n              module.hide();\n            }\n            else {\n              module.debug('Click was inside popup, keeping popup open');\n            }\n          }\n        },\n\n        // generates popup html from metadata\n        create: function() {\n          var\n            html      = module.get.html(),\n            title     = module.get.title(),\n            content   = module.get.content()\n          ;\n\n          if(html || content || title) {\n            module.debug('Creating pop-up html');\n            if(!html) {\n              html = settings.templates.popup({\n                title   : title,\n                content : content\n              });\n            }\n            $popup = $('<div/>')\n              .addClass(className.popup)\n              .data(metadata.activator, $module)\n              .html(html)\n            ;\n            if(settings.inline) {\n              module.verbose('Inserting popup element inline', $popup);\n              $popup\n                .insertAfter($module)\n              ;\n            }\n            else {\n              module.verbose('Appending popup element to body', $popup);\n              $popup\n                .appendTo( $context )\n              ;\n            }\n            module.refresh();\n            module.set.variation();\n\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n            settings.onCreate.call($popup, element);\n          }\n          else if($target.next(selector.popup).length !== 0) {\n            module.verbose('Pre-existing popup found');\n            settings.inline = true;\n            settings.popups  = $target.next(selector.popup).data(metadata.activator, $module);\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else if(settings.popup) {\n            $(settings.popup).data(metadata.activator, $module);\n            module.verbose('Used popup specified in settings');\n            module.refresh();\n            if(settings.hoverable) {\n              module.bind.popup();\n            }\n          }\n          else {\n            module.debug('No content specified skipping display', element);\n          }\n        },\n\n        createID: function() {\n          id = (Math.random().toString(16) + '000000000').substr(2,8);\n          elementNamespace = '.' + id;\n          module.verbose('Creating unique id for element', id);\n        },\n\n        // determines popup state\n        toggle: function() {\n          module.debug('Toggling pop-up');\n          if( module.is.hidden() ) {\n            module.debug('Popup is hidden, showing pop-up');\n            module.unbind.close();\n            module.show();\n          }\n          else {\n            module.debug('Popup is visible, hiding pop-up');\n            module.hide();\n          }\n        },\n\n        show: function(callback) {\n          callback = callback || function(){};\n          module.debug('Showing pop-up', settings.transition);\n          if(module.is.hidden() && !( module.is.active() && module.is.dropdown()) ) {\n            if( !module.exists() ) {\n              module.create();\n            }\n            if(settings.onShow.call($popup, element) === false) {\n              module.debug('onShow callback returned false, cancelling popup animation');\n              return;\n            }\n            else if(!settings.preserve && !settings.popup) {\n              module.refresh();\n            }\n            if( $popup && module.set.position() ) {\n              module.save.conditions();\n              if(settings.exclusive) {\n                module.hideAll();\n              }\n              module.animate.show(callback);\n            }\n          }\n        },\n\n\n        hide: function(callback) {\n          callback = callback || function(){};\n          if( module.is.visible() || module.is.animating() ) {\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            module.remove.visible();\n            module.unbind.close();\n            module.restore.conditions();\n            module.animate.hide(callback);\n          }\n        },\n\n        hideAll: function() {\n          $(selector.popup)\n            .filter('.' + className.visible)\n            .each(function() {\n              $(this)\n                .data(metadata.activator)\n                .popup('hide')\n              ;\n            })\n          ;\n        },\n        exists: function() {\n          if(!$popup) {\n            return false;\n          }\n          if(settings.inline || settings.popup) {\n            return ( module.has.popup() );\n          }\n          else {\n            return ( $popup.closest($context).length >= 1 )\n              ? true\n              : false\n            ;\n          }\n        },\n\n        removePopup: function() {\n          if( module.has.popup() && !settings.popup) {\n            module.debug('Removing popup', $popup);\n            $popup.remove();\n            $popup = undefined;\n            settings.onRemove.call($popup, element);\n          }\n        },\n\n        save: {\n          conditions: function() {\n            module.cache = {\n              title: $module.attr('title')\n            };\n            if (module.cache.title) {\n              $module.removeAttr('title');\n            }\n            module.verbose('Saving original attributes', module.cache.title);\n          }\n        },\n        restore: {\n          conditions: function() {\n            if(module.cache && module.cache.title) {\n              $module.attr('title', module.cache.title);\n              module.verbose('Restoring original attributes', module.cache.title);\n            }\n            return true;\n          }\n        },\n        animate: {\n          show: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              module.set.visible();\n              $popup\n                .transition({\n                  animation  : settings.transition + ' in',\n                  queue      : false,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  onComplete : function() {\n                    module.bind.close();\n                    callback.call($popup, element);\n                    settings.onVisible.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          },\n          hide: function(callback) {\n            callback = $.isFunction(callback) ? callback : function(){};\n            module.debug('Hiding pop-up');\n            if(settings.onHide.call($popup, element) === false) {\n              module.debug('onHide callback returned false, cancelling popup animation');\n              return;\n            }\n            if(settings.transition && $.fn.transition !== undefined && $module.transition('is supported')) {\n              $popup\n                .transition({\n                  animation  : settings.transition + ' out',\n                  queue      : false,\n                  duration   : settings.duration,\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  onComplete : function() {\n                    module.reset();\n                    callback.call($popup, element);\n                    settings.onHidden.call($popup, element);\n                  }\n                })\n              ;\n            }\n            else {\n              module.error(error.noTransition);\n            }\n          }\n        },\n\n        change: {\n          content: function(html) {\n            $popup.html(html);\n          }\n        },\n\n        get: {\n          html: function() {\n            $module.removeData(metadata.html);\n            return $module.data(metadata.html) || settings.html;\n          },\n          title: function() {\n            $module.removeData(metadata.title);\n            return $module.data(metadata.title) || settings.title;\n          },\n          content: function() {\n            $module.removeData(metadata.content);\n            return $module.data(metadata.content) || $module.attr('title') || settings.content;\n          },\n          variation: function() {\n            $module.removeData(metadata.variation);\n            return $module.data(metadata.variation) || settings.variation;\n          },\n          popup: function() {\n            return $popup;\n          },\n          popupOffset: function() {\n            return $popup.offset();\n          },\n          calculations: function() {\n            var\n              targetElement  = $target[0],\n              targetPosition = (settings.inline || (settings.popup && settings.movePopup))\n                ? $target.position()\n                : $target.offset(),\n              calculations = {},\n              screen\n            ;\n            calculations = {\n              // element which is launching popup\n              target : {\n                element : $target[0],\n                width   : $target.outerWidth(),\n                height  : $target.outerHeight(),\n                top     : targetPosition.top,\n                left    : targetPosition.left,\n                margin  : {}\n              },\n              // popup itself\n              popup : {\n                width  : $popup.outerWidth(),\n                height : $popup.outerHeight()\n              },\n              // offset container (or 3d context)\n              parent : {\n                width  : $offsetParent.outerWidth(),\n                height : $offsetParent.outerHeight()\n              },\n              // screen boundaries\n              screen : {\n                scroll: {\n                  top  : $window.scrollTop(),\n                  left : $window.scrollLeft()\n                },\n                width  : $window.width(),\n                height : $window.height()\n              }\n            };\n\n            // add in container calcs if fluid\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              calculations.container = {\n                width: $popup.parent().outerWidth()\n              };\n              calculations.popup.width = calculations.container.width;\n            }\n\n            // add in margins if inline\n            calculations.target.margin.top = (settings.inline)\n              ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-top'), 10)\n              : 0\n            ;\n            calculations.target.margin.left = (settings.inline)\n              ? module.is.rtl()\n                ? parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-right'), 10)\n                : parseInt( window.getComputedStyle(targetElement).getPropertyValue('margin-left') , 10)\n              : 0\n            ;\n            // calculate screen boundaries\n            screen = calculations.screen;\n            calculations.boundary = {\n              top    : screen.scroll.top,\n              bottom : screen.scroll.top + screen.height,\n              left   : screen.scroll.left,\n              right  : screen.scroll.left + screen.width\n            };\n            return calculations;\n          },\n          id: function() {\n            return id;\n          },\n          startEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseenter';\n            }\n            else if(settings.on == 'focus') {\n              return 'focus';\n            }\n            return false;\n          },\n          scrollEvent: function() {\n            return 'scroll';\n          },\n          endEvent: function() {\n            if(settings.on == 'hover') {\n              return 'mouseleave';\n            }\n            else if(settings.on == 'focus') {\n              return 'blur';\n            }\n            return false;\n          },\n          distanceFromBoundary: function(offset, calculations) {\n            var\n              distanceFromBoundary = {},\n              popup,\n              boundary\n            ;\n            offset       = offset       || module.get.offset();\n            calculations = calculations || module.get.calculations();\n\n            // shorthand\n            popup        = calculations.popup;\n            boundary     = calculations.boundary;\n\n            if(offset) {\n              distanceFromBoundary = {\n                top    : (offset.top - boundary.top),\n                left   : (offset.left - boundary.left),\n                right  : (boundary.right - (offset.left + popup.width) ),\n                bottom : (boundary.bottom - (offset.top + popup.height) )\n              };\n              module.verbose('Distance from boundaries determined', offset, distanceFromBoundary);\n            }\n            return distanceFromBoundary;\n          },\n          offsetParent: function($target) {\n            var\n              element = ($target !== undefined)\n                ? $target[0]\n                : $module[0],\n              parentNode = element.parentNode,\n              $node    = $(parentNode)\n            ;\n            if(parentNode) {\n              var\n                is2D     = ($node.css('transform') === 'none'),\n                isStatic = ($node.css('position') === 'static'),\n                isHTML   = $node.is('html')\n              ;\n              while(parentNode && !isHTML && isStatic && is2D) {\n                parentNode = parentNode.parentNode;\n                $node    = $(parentNode);\n                is2D     = ($node.css('transform') === 'none');\n                isStatic = ($node.css('position') === 'static');\n                isHTML   = $node.is('html');\n              }\n            }\n            return ($node && $node.length > 0)\n              ? $node\n              : $()\n            ;\n          },\n          positions: function() {\n            return {\n              'top left'      : false,\n              'top center'    : false,\n              'top right'     : false,\n              'bottom left'   : false,\n              'bottom center' : false,\n              'bottom right'  : false,\n              'left center'   : false,\n              'right center'  : false\n            };\n          },\n          nextPosition: function(position) {\n            var\n              positions          = position.split(' '),\n              verticalPosition   = positions[0],\n              horizontalPosition = positions[1],\n              opposite = {\n                top    : 'bottom',\n                bottom : 'top',\n                left   : 'right',\n                right  : 'left'\n              },\n              adjacent = {\n                left   : 'center',\n                center : 'right',\n                right  : 'left'\n              },\n              backup = {\n                'top left'      : 'top center',\n                'top center'    : 'top right',\n                'top right'     : 'right center',\n                'right center'  : 'bottom right',\n                'bottom right'  : 'bottom center',\n                'bottom center' : 'bottom left',\n                'bottom left'   : 'left center',\n                'left center'   : 'top left'\n              },\n              adjacentsAvailable = (verticalPosition == 'top' || verticalPosition == 'bottom'),\n              oppositeTried = false,\n              adjacentTried = false,\n              nextPosition  = false\n            ;\n            if(!triedPositions) {\n              module.verbose('All available positions available');\n              triedPositions = module.get.positions();\n            }\n\n            module.debug('Recording last position tried', position);\n            triedPositions[position] = true;\n\n            if(settings.prefer === 'opposite') {\n              nextPosition  = [opposite[verticalPosition], horizontalPosition];\n              nextPosition  = nextPosition.join(' ');\n              oppositeTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying opposite strategy', nextPosition);\n            }\n            if((settings.prefer === 'adjacent') && adjacentsAvailable ) {\n              nextPosition  = [verticalPosition, adjacent[horizontalPosition]];\n              nextPosition  = nextPosition.join(' ');\n              adjacentTried = (triedPositions[nextPosition] === true);\n              module.debug('Trying adjacent strategy', nextPosition);\n            }\n            if(adjacentTried || oppositeTried) {\n              module.debug('Using backup position', nextPosition);\n              nextPosition = backup[position];\n            }\n            return nextPosition;\n          }\n        },\n\n        set: {\n          position: function(position, calculations) {\n\n            // exit conditions\n            if($target.length === 0 || $popup.length === 0) {\n              module.error(error.notFound);\n              return;\n            }\n            var\n              offset,\n              distanceAway,\n              target,\n              popup,\n              parent,\n              positioning,\n              popupOffset,\n              distanceFromBoundary\n            ;\n\n            calculations = calculations || module.get.calculations();\n            position     = position     || $module.data(metadata.position) || settings.position;\n\n            offset       = $module.data(metadata.offset) || settings.offset;\n            distanceAway = settings.distanceAway;\n\n            // shorthand\n            target = calculations.target;\n            popup  = calculations.popup;\n            parent = calculations.parent;\n\n            if(target.width === 0 && target.height === 0 && !(target.element instanceof SVGGraphicsElement)) {\n              module.debug('Popup target is hidden, no action taken');\n              return false;\n            }\n\n            if(settings.inline) {\n              module.debug('Adding margin to calculation', target.margin);\n              if(position == 'left center' || position == 'right center') {\n                offset       +=  target.margin.top;\n                distanceAway += -target.margin.left;\n              }\n              else if (position == 'top left' || position == 'top center' || position == 'top right') {\n                offset       += target.margin.left;\n                distanceAway -= target.margin.top;\n              }\n              else {\n                offset       += target.margin.left;\n                distanceAway += target.margin.top;\n              }\n            }\n\n            module.debug('Determining popup position from calculations', position, calculations);\n\n            if (module.is.rtl()) {\n              position = position.replace(/left|right/g, function (match) {\n                return (match == 'left')\n                  ? 'right'\n                  : 'left'\n                ;\n              });\n              module.debug('RTL: Popup position updated', position);\n            }\n\n            // if last attempt use specified last resort position\n            if(searchDepth == settings.maxSearchDepth && typeof settings.lastResort === 'string') {\n              position = settings.lastResort;\n            }\n\n            switch (position) {\n              case 'top left':\n                positioning = {\n                  top    : 'auto',\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + offset,\n                  right  : 'auto'\n                };\n              break;\n              case 'top center':\n                positioning = {\n                  bottom : parent.height - target.top + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  top    : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'top right':\n                positioning = {\n                  bottom :  parent.height - target.top + distanceAway,\n                  right  :  parent.width - target.left - target.width - offset,\n                  top    : 'auto',\n                  left   : 'auto'\n                };\n              break;\n              case 'left center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  right  : parent.width - target.left + distanceAway,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n              case 'right center':\n                positioning = {\n                  top    : target.top + (target.height / 2) - (popup.height / 2) + offset,\n                  left   : target.left + target.width + distanceAway,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom left':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom center':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  left   : target.left + (target.width / 2) - (popup.width / 2) + offset,\n                  bottom : 'auto',\n                  right  : 'auto'\n                };\n              break;\n              case 'bottom right':\n                positioning = {\n                  top    : target.top + target.height + distanceAway,\n                  right  : parent.width - target.left  - target.width - offset,\n                  left   : 'auto',\n                  bottom : 'auto'\n                };\n              break;\n            }\n            if(positioning === undefined) {\n              module.error(error.invalidPosition, position);\n            }\n\n            module.debug('Calculated popup positioning values', positioning);\n\n            // tentatively place on stage\n            $popup\n              .css(positioning)\n              .removeClass(className.position)\n              .addClass(position)\n              .addClass(className.loading)\n            ;\n\n            popupOffset = module.get.popupOffset();\n\n            // see if any boundaries are surpassed with this tentative position\n            distanceFromBoundary = module.get.distanceFromBoundary(popupOffset, calculations);\n\n            if( module.is.offstage(distanceFromBoundary, position) ) {\n              module.debug('Position is outside viewport', position);\n              if(searchDepth < settings.maxSearchDepth) {\n                searchDepth++;\n                position = module.get.nextPosition(position);\n                module.debug('Trying new position', position);\n                return ($popup)\n                  ? module.set.position(position, calculations)\n                  : false\n                ;\n              }\n              else {\n                if(settings.lastResort) {\n                  module.debug('No position found, showing with last position');\n                }\n                else {\n                  module.debug('Popup could not find a position to display', $popup);\n                  module.error(error.cannotPlace, element);\n                  module.remove.attempts();\n                  module.remove.loading();\n                  module.reset();\n                  return false;\n                }\n              }\n            }\n            module.debug('Position is on stage', position);\n            module.remove.attempts();\n            module.remove.loading();\n            if( settings.setFluidWidth && module.is.fluid() ) {\n              module.set.fluidWidth(calculations);\n            }\n            return true;\n          },\n\n          fluidWidth: function(calculations) {\n            calculations = calculations || module.get.calculations();\n            module.debug('Automatically setting element width to parent width', calculations.parent.width);\n            $popup.css('width', calculations.container.width);\n          },\n\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation && module.has.popup() ) {\n              module.verbose('Adding variation to popup', variation);\n              $popup.addClass(variation);\n            }\n          },\n\n          visible: function() {\n            $module.addClass(className.visible);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $popup.removeClass(className.loading);\n          },\n          variation: function(variation) {\n            variation = variation || module.get.variation();\n            if(variation) {\n              module.verbose('Removing variation', variation);\n              $popup.removeClass(variation);\n            }\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          attempts: function() {\n            module.verbose('Resetting all searched positions');\n            searchDepth    = 0;\n            triedPositions = false;\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.debug('Binding popup events to module');\n            if(settings.on == 'click') {\n              $module\n                .on('click' + eventNamespace, module.toggle)\n              ;\n            }\n            if(settings.on == 'hover' && hasTouch) {\n              $module\n                .on('touchstart' + eventNamespace, module.event.touchstart)\n              ;\n            }\n            if( module.get.startEvent() ) {\n              $module\n                .on(module.get.startEvent() + eventNamespace, module.event.start)\n                .on(module.get.endEvent() + eventNamespace, module.event.end)\n              ;\n            }\n            if(settings.target) {\n              module.debug('Target set to element', $target);\n            }\n            $window.on('resize' + elementNamespace, module.event.resize);\n          },\n          popup: function() {\n            module.verbose('Allowing hover events on popup to prevent closing');\n            if( $popup && module.has.popup() ) {\n              $popup\n                .on('mouseenter' + eventNamespace, module.event.start)\n                .on('mouseleave' + eventNamespace, module.event.end)\n              ;\n            }\n          },\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click'))   {\n              $document\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n              $context\n                .one(module.get.scrollEvent() + elementNamespace, module.event.hideGracefully)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('touchstart' + elementNamespace, function(event) {\n                  module.verbose('Touched away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Binding popup close event to document');\n              $document\n                .on('click' + elementNamespace, function(event) {\n                  module.verbose('Clicked away from popup');\n                  module.event.hideGracefully.call(element, event);\n                })\n              ;\n            }\n          }\n        },\n\n        unbind: {\n          close: function() {\n            if(settings.hideOnScroll === true || (settings.hideOnScroll == 'auto' && settings.on != 'click')) {\n              $document\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n              $context\n                .off('scroll' + elementNamespace, module.hide)\n              ;\n            }\n            if(settings.on == 'hover' && openedWithTouch) {\n              $document\n                .off('touchstart' + elementNamespace)\n              ;\n              openedWithTouch = false;\n            }\n            if(settings.on == 'click' && settings.closable) {\n              module.verbose('Removing close event from document');\n              $document\n                .off('click' + elementNamespace)\n              ;\n            }\n          }\n        },\n\n        has: {\n          popup: function() {\n            return ($popup && $popup.length > 0);\n          }\n        },\n\n        is: {\n          offstage: function(distanceFromBoundary, position) {\n            var\n              offstage = []\n            ;\n            // return boundaries that have been surpassed\n            $.each(distanceFromBoundary, function(direction, distance) {\n              if(distance < -settings.jitter) {\n                module.debug('Position exceeds allowable distance from edge', direction, distance, position);\n                offstage.push(direction);\n              }\n            });\n            if(offstage.length > 0) {\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          animating: function() {\n            return ( $popup && $popup.hasClass(className.animating) );\n          },\n          fluid: function() {\n            return ( $popup && $popup.hasClass(className.fluid));\n          },\n          visible: function() {\n            return $popup && $popup.hasClass(className.visible);\n          },\n          dropdown: function() {\n            return $module.hasClass(className.dropdown);\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          rtl: function () {\n            return $module.css('direction') == 'rtl';\n          }\n        },\n\n        reset: function() {\n          module.remove.visible();\n          if(settings.preserve) {\n            if($.fn.transition !== undefined) {\n              $popup\n                .transition('remove transition')\n              ;\n            }\n          }\n          else {\n            module.removePopup();\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.popup.settings = {\n\n  name         : 'Popup',\n\n  // module settings\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n  namespace    : 'popup',\n\n  // callback only when element added to dom\n  onCreate     : function(){},\n\n  // callback before element removed from dom\n  onRemove     : function(){},\n\n  // callback before show animation\n  onShow       : function(){},\n\n  // callback after show animation\n  onVisible    : function(){},\n\n  // callback before hide animation\n  onHide       : function(){},\n\n  // callback after hide animation\n  onHidden     : function(){},\n\n  // when to show popup\n  on           : 'hover',\n\n  // whether to add touchstart events when using hover\n  addTouchEvents : true,\n\n  // default position relative to element\n  position     : 'top left',\n\n  // name of variation to use\n  variation    : '',\n\n  // whether popup should be moved to context\n  movePopup      : true,\n\n  // element which popup should be relative to\n  target         : false,\n\n  // jq selector or element that should be used as popup\n  popup          : false,\n\n  // popup should remain inline next to activator\n  inline         : false,\n\n  // popup should be removed from page on hide\n  preserve       : false,\n\n  // popup should not close when being hovered on\n  hoverable      : false,\n\n  // explicitly set content\n  content      : false,\n\n  // explicitly set html\n  html         : false,\n\n  // explicitly set title\n  title        : false,\n\n  // whether automatically close on clickaway when on click\n  closable     : true,\n\n  // automatically hide on scroll\n  hideOnScroll : 'auto',\n\n  // hide other popups on show\n  exclusive    : false,\n\n  // context to attach popups\n  context      : 'body',\n\n  // position to prefer when calculating new position\n  prefer       : 'opposite',\n\n  // specify position to appear even if it doesn't fit\n  lastResort   : false,\n\n  // delay used to prevent accidental refiring of animations due to user error\n  delay        : {\n    show : 50,\n    hide : 70\n  },\n\n  // whether fluid variation should assign width explicitly\n  setFluidWidth  : true,\n\n  // transition settings\n  duration       : 200,\n  transition     : 'scale',\n\n  // distance away from activating element in px\n  distanceAway   : 0,\n\n  // number of pixels an element is allowed to be \"offstage\" for a position to be chosen (allows for rounding)\n  jitter         : 2,\n\n  // offset on aligning axis from calculated position\n  offset         : 0,\n\n  // maximum times to look for a position before failing (9 positions total)\n  maxSearchDepth : 15,\n\n  error: {\n    invalidPosition : 'The position you specified is not a valid position',\n    cannotPlace     : 'Popup does not fit within the boundaries of the viewport',\n    method          : 'The method you called is not defined.',\n    noTransition    : 'This module requires ui transitions <https://github.com/Semantic-Org/UI-Transition>',\n    notFound        : 'The target or popup you specified does not exist on the page'\n  },\n\n  metadata: {\n    activator : 'activator',\n    content   : 'content',\n    html      : 'html',\n    offset    : 'offset',\n    position  : 'position',\n    title     : 'title',\n    variation : 'variation'\n  },\n\n  className   : {\n    active    : 'active',\n    animating : 'animating',\n    dropdown  : 'dropdown',\n    fluid     : 'fluid',\n    loading   : 'loading',\n    popup     : 'ui popup',\n    position  : 'top left center bottom right',\n    visible   : 'visible'\n  },\n\n  selector    : {\n    popup    : '.ui.popup'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    popup: function(text) {\n      var\n        html   = '',\n        escape = $.fn.popup.settings.templates.escape\n      ;\n      if(typeof text !== undefined) {\n        if(typeof text.title !== undefined && text.title) {\n          text.title = escape(text.title);\n          html += '<div class=\"header\">' + text.title + '</div>';\n        }\n        if(typeof text.content !== undefined && text.content) {\n          text.content = escape(text.content);\n          html += '<div class=\"content\">' + text.content + '</div>';\n        }\n      }\n      return html;\n    }\n  }\n\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Progress\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.progress = function(parameters) {\n  var\n    $allModules    = $(this),\n\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.progress.settings, parameters)\n          : $.extend({}, $.fn.progress.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        namespace       = settings.namespace,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $bar            = $(this).find(selector.bar),\n        $progress       = $(this).find(selector.progress),\n        $label          = $(this).find(selector.label),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        animating = false,\n        transitionEnd,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing progress bar', settings);\n\n          module.set.duration();\n          module.set.transitionEvent();\n\n          module.read.metadata();\n          module.read.settings();\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of progress', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying previous progress for', $module);\n          clearInterval(instance.interval);\n          module.remove.state();\n          $module.removeData(moduleNamespace);\n          instance = undefined;\n        },\n\n        reset: function() {\n          module.set.percent(0);\n          module.set.value(0);\n        },\n\n        complete: function() {\n          if(module.percent === undefined || module.percent < 100) {\n            module.set.percent(100);\n          }\n        },\n\n        read: {\n          metadata: function() {\n            var\n              data = {\n                percent : $module.data(metadata.percent),\n                total   : $module.data(metadata.total),\n                value   : $module.data(metadata.value)\n              }\n            ;\n            if(data.percent) {\n              module.debug('Current percent value set from metadata', data.percent);\n              module.set.percent(data.percent);\n            }\n            if(data.total) {\n              module.debug('Total value set from metadata', data.total);\n              module.set.total(data.total);\n            }\n            if(data.value) {\n              module.debug('Current value set from metadata', data.value);\n              module.set.value(data.value);\n              module.set.progress(data.value);\n            }\n          },\n          settings: function() {\n            if(settings.total !== false) {\n              module.debug('Current total set in settings', settings.total);\n              module.set.total(settings.total);\n            }\n            if(settings.value !== false) {\n              module.debug('Current value set in settings', settings.value);\n              module.set.value(settings.value);\n              module.set.progress(module.value);\n            }\n            if(settings.percent !== false) {\n              module.debug('Current percent set in settings', settings.percent);\n              module.set.percent(settings.percent);\n            }\n          }\n        },\n\n        increment: function(incrementValue) {\n          var\n            maxValue,\n            startValue,\n            newValue\n          ;\n          if( module.has.total() ) {\n            startValue     = module.get.value();\n            incrementValue = incrementValue || 1;\n\n            newValue       = startValue + incrementValue;\n            maxValue       = module.get.total();\n\n            module.debug('Incrementing value', startValue, newValue, maxValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above total', maxValue);\n              newValue = maxValue;\n            }\n          }\n          else {\n            startValue     = module.get.percent();\n            incrementValue = incrementValue || module.get.randomValue();\n\n            newValue       = startValue + incrementValue;\n            maxValue       = 100;\n\n            module.debug('Incrementing percentage by', startValue, newValue);\n            if(newValue > maxValue ) {\n              module.debug('Value cannot increment above 100 percent');\n              newValue = maxValue;\n            }\n          }\n          module.set.progress(newValue);\n        },\n        decrement: function(decrementValue) {\n          var\n            total     = module.get.total(),\n            startValue,\n            newValue\n          ;\n          if(total) {\n            startValue     =  module.get.value();\n            decrementValue =  decrementValue || 1;\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing value by', decrementValue, startValue);\n          }\n          else {\n            startValue     =  module.get.percent();\n            decrementValue =  decrementValue || module.get.randomValue();\n            newValue       =  startValue - decrementValue;\n            module.debug('Decrementing percentage by', decrementValue, startValue);\n          }\n\n          if(newValue < 0) {\n            module.debug('Value cannot decrement below 0');\n            newValue = 0;\n          }\n          module.set.progress(newValue);\n        },\n\n        has: {\n          total: function() {\n            return (module.get.total() !== false);\n          }\n        },\n\n        get: {\n          text: function(templateText) {\n            var\n              value   = module.value                || 0,\n              total   = module.total                || 0,\n              percent = (animating)\n                ? module.get.displayPercent()\n                : module.percent || 0,\n              left = (module.total > 0)\n                ? (total - value)\n                : (100 - percent)\n            ;\n            templateText = templateText || '';\n            templateText = templateText\n              .replace('{value}', value)\n              .replace('{total}', total)\n              .replace('{left}', left)\n              .replace('{percent}', percent)\n            ;\n            module.debug('Adding variables to progress bar text', templateText);\n            return templateText;\n          },\n\n\n          randomValue: function() {\n            module.debug('Generating random increment percentage');\n            return Math.floor((Math.random() * settings.random.max) + settings.random.min);\n          },\n\n          numericValue: function(value) {\n            return (typeof value === 'string')\n              ? (value.replace(/[^\\d.]/g, '') !== '')\n                ? +(value.replace(/[^\\d.]/g, ''))\n                : false\n              : value\n            ;\n          },\n\n          transitionEnd: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          // gets current displayed percentage (if animating values this is the intermediary value)\n          displayPercent: function() {\n            var\n              barWidth       = $bar.width(),\n              totalWidth     = $module.width(),\n              minDisplay     = parseInt($bar.css('min-width'), 10),\n              displayPercent = (barWidth > minDisplay)\n                ? (barWidth / totalWidth * 100)\n                : module.percent\n            ;\n            return (settings.precision > 0)\n              ? Math.round(displayPercent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(displayPercent)\n            ;\n          },\n\n          percent: function() {\n            return module.percent || 0;\n          },\n          value: function() {\n            return module.value || 0;\n          },\n          total: function() {\n            return module.total || false;\n          }\n        },\n\n        is: {\n          success: function() {\n            return $module.hasClass(className.success);\n          },\n          warning: function() {\n            return $module.hasClass(className.warning);\n          },\n          error: function() {\n            return $module.hasClass(className.error);\n          },\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          visible: function() {\n            return $module.is(':visible');\n          }\n        },\n\n        remove: {\n          state: function() {\n            module.verbose('Removing stored state');\n            delete module.total;\n            delete module.percent;\n            delete module.value;\n          },\n          active: function() {\n            module.verbose('Removing active state');\n            $module.removeClass(className.active);\n          },\n          success: function() {\n            module.verbose('Removing success state');\n            $module.removeClass(className.success);\n          },\n          warning: function() {\n            module.verbose('Removing warning state');\n            $module.removeClass(className.warning);\n          },\n          error: function() {\n            module.verbose('Removing error state');\n            $module.removeClass(className.error);\n          }\n        },\n\n        set: {\n          barWidth: function(value) {\n            if(value > 100) {\n              module.error(error.tooHigh, value);\n            }\n            else if (value < 0) {\n              module.error(error.tooLow, value);\n            }\n            else {\n              $bar\n                .css('width', value + '%')\n              ;\n              $module\n                .attr('data-percent', parseInt(value, 10))\n              ;\n            }\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting progress bar transition duration', duration);\n            $bar\n              .css({\n                'transition-duration':  duration\n              })\n            ;\n          },\n          percent: function(percent) {\n            percent = (typeof percent == 'string')\n              ? +(percent.replace('%', ''))\n              : percent\n            ;\n            // round display percentage\n            percent = (settings.precision > 0)\n              ? Math.round(percent * (10 * settings.precision)) / (10 * settings.precision)\n              : Math.round(percent)\n            ;\n            module.percent = percent;\n            if( !module.has.total() ) {\n              module.value = (settings.precision > 0)\n                ? Math.round( (percent / 100) * module.total * (10 * settings.precision)) / (10 * settings.precision)\n                : Math.round( (percent / 100) * module.total * 10) / 10\n              ;\n              if(settings.limitValues) {\n                module.value = (module.value > 100)\n                  ? 100\n                  : (module.value < 0)\n                    ? 0\n                    : module.value\n                ;\n              }\n            }\n            module.set.barWidth(percent);\n            module.set.labelInterval();\n            module.set.labels();\n            settings.onChange.call(element, percent, module.value, module.total);\n          },\n          labelInterval: function() {\n            var\n              animationCallback = function() {\n                module.verbose('Bar finished animating, removing continuous label updates');\n                clearInterval(module.interval);\n                animating = false;\n                module.set.labels();\n              }\n            ;\n            clearInterval(module.interval);\n            $bar.one(transitionEnd + eventNamespace, animationCallback);\n            module.timer = setTimeout(animationCallback, settings.duration + 100);\n            animating = true;\n            module.interval = setInterval(module.set.labels, settings.framerate);\n          },\n          labels: function() {\n            module.verbose('Setting both bar progress and outer label text');\n            module.set.barLabel();\n            module.set.state();\n          },\n          label: function(text) {\n            text = text || '';\n            if(text) {\n              text = module.get.text(text);\n              module.debug('Setting label to text', text);\n              $label.text(text);\n            }\n          },\n          state: function(percent) {\n            percent = (percent !== undefined)\n              ? percent\n              : module.percent\n            ;\n            if(percent === 100) {\n              if(settings.autoSuccess && !(module.is.warning() || module.is.error())) {\n                module.set.success();\n                module.debug('Automatically triggering success at 100%');\n              }\n              else {\n                module.verbose('Reached 100% removing active state');\n                module.remove.active();\n              }\n            }\n            else if(percent > 0) {\n              module.verbose('Adjusting active progress bar label', percent);\n              module.set.active();\n            }\n            else {\n              module.remove.active();\n              module.set.label(settings.text.active);\n            }\n          },\n          barLabel: function(text) {\n            if(text !== undefined) {\n              $progress.text( module.get.text(text) );\n            }\n            else if(settings.label == 'ratio' && module.total) {\n              module.debug('Adding ratio to bar label');\n              $progress.text( module.get.text(settings.text.ratio) );\n            }\n            else if(settings.label == 'percent') {\n              module.debug('Adding percentage to bar label');\n              $progress.text( module.get.text(settings.text.percent) );\n            }\n          },\n          active: function(text) {\n            text = text || settings.text.active;\n            module.debug('Setting active state');\n            if(settings.showActivity && !module.is.active() ) {\n              $module.addClass(className.active);\n            }\n            module.remove.warning();\n            module.remove.error();\n            module.remove.success();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onActive.call(element, module.value, module.total);\n          },\n          success : function(text) {\n            text = text || settings.text.success;\n            module.debug('Setting success state');\n            $module.addClass(className.success);\n            module.remove.active();\n            module.remove.warning();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onSuccess.call(element, module.total);\n          },\n          warning : function(text) {\n            text = text || settings.text.warning;\n            module.debug('Setting warning state');\n            $module.addClass(className.warning);\n            module.remove.active();\n            module.remove.success();\n            module.remove.error();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onWarning.call(element, module.value, module.total);\n          },\n          error : function(text) {\n            text = text || settings.text.error;\n            module.debug('Setting error state');\n            $module.addClass(className.error);\n            module.remove.active();\n            module.remove.success();\n            module.remove.warning();\n            module.complete();\n            if(text) {\n              module.set.label(text);\n            }\n            settings.onError.call(element, module.value, module.total);\n          },\n          transitionEvent: function() {\n            transitionEnd = module.get.transitionEnd();\n          },\n          total: function(totalValue) {\n            module.total = totalValue;\n          },\n          value: function(value) {\n            module.value = value;\n          },\n          progress: function(value) {\n            var\n              numericValue = module.get.numericValue(value),\n              percentComplete\n            ;\n            if(numericValue === false) {\n              module.error(error.nonNumeric, value);\n            }\n            if( module.has.total() ) {\n              module.set.value(numericValue);\n              percentComplete = (numericValue / module.total) * 100;\n              module.debug('Calculating percent complete from total', percentComplete);\n              module.set.percent( percentComplete );\n            }\n            else {\n              percentComplete = numericValue;\n              module.debug('Setting value to exact percentage value', percentComplete);\n              module.set.percent( percentComplete );\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.progress.settings = {\n\n  name         : 'Progress',\n  namespace    : 'progress',\n\n  debug        : false,\n  verbose      : false,\n  performance  : true,\n\n  random       : {\n    min : 2,\n    max : 5\n  },\n\n  duration     : 300,\n\n  autoSuccess  : true,\n  showActivity : true,\n  limitValues  : true,\n\n  label        : 'percent',\n  precision    : 0,\n  framerate    : (1000 / 30), /// 30 fps\n\n  percent      : false,\n  total        : false,\n  value        : false,\n\n  onChange     : function(percent, value, total){},\n  onSuccess    : function(total){},\n  onActive     : function(value, total){},\n  onError      : function(value, total){},\n  onWarning    : function(value, total){},\n\n  error    : {\n    method     : 'The method you called is not defined.',\n    nonNumeric : 'Progress value is non numeric',\n    tooHigh    : 'Value specified is above 100%',\n    tooLow     : 'Value specified is below 0%'\n  },\n\n  regExp: {\n    variable: /\\{\\$*[A-z0-9]+\\}/g\n  },\n\n  metadata: {\n    percent : 'percent',\n    total   : 'total',\n    value   : 'value'\n  },\n\n  selector : {\n    bar      : '> .bar',\n    label    : '> .label',\n    progress : '.bar > .progress'\n  },\n\n  text : {\n    active  : false,\n    error   : false,\n    success : false,\n    warning : false,\n    percent : '{percent}%',\n    ratio   : '{value} of {total}'\n  },\n\n  className : {\n    active  : 'active',\n    error   : 'error',\n    success : 'success',\n    warning : 'warning'\n  }\n\n};\n\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Rating\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.rating = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.rating.settings, parameters)\n          : $.extend({}, $.fn.rating.settings),\n\n        namespace       = settings.namespace,\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        element         = this,\n        instance        = $(this).data(moduleNamespace),\n\n        $module         = $(this),\n        $icon           = $module.find(selector.icon),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing rating module', settings);\n\n          if($icon.length === 0) {\n            module.setup.layout();\n          }\n\n          if(settings.interactive) {\n            module.enable();\n          }\n          else {\n            module.disable();\n          }\n          module.set.rating( module.get.initialRating() );\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Instantiating module', settings);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance', instance);\n          module.remove.events();\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          $icon   = $module.find(selector.icon);\n        },\n\n        setup: {\n          layout: function() {\n            var\n              maxRating = module.get.maxRating(),\n              html      = $.fn.rating.settings.templates.icon(maxRating)\n            ;\n            module.debug('Generating icon html dynamically');\n            $module\n              .html(html)\n            ;\n            module.refresh();\n          }\n        },\n\n        event: {\n          mouseenter: function() {\n            var\n              $activeIcon = $(this)\n            ;\n            $activeIcon\n              .nextAll()\n                .removeClass(className.selected)\n            ;\n            $module\n              .addClass(className.selected)\n            ;\n            $activeIcon\n              .addClass(className.selected)\n                .prevAll()\n                .addClass(className.selected)\n            ;\n          },\n          mouseleave: function() {\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n            ;\n          },\n          click: function() {\n            var\n              $activeIcon   = $(this),\n              currentRating = module.get.rating(),\n              rating        = $icon.index($activeIcon) + 1,\n              canClear      = (settings.clearable == 'auto')\n               ? ($icon.length === 1)\n               : settings.clearable\n            ;\n            if(canClear && currentRating == rating) {\n              module.clearRating();\n            }\n            else {\n              module.set.rating( rating );\n            }\n          }\n        },\n\n        clearRating: function() {\n          module.debug('Clearing current rating');\n          module.set.rating(0);\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events');\n            $module\n              .on('mouseenter' + eventNamespace, selector.icon, module.event.mouseenter)\n              .on('mouseleave' + eventNamespace, selector.icon, module.event.mouseleave)\n              .on('click'      + eventNamespace, selector.icon, module.event.click)\n            ;\n          }\n        },\n\n        remove: {\n          events: function() {\n            module.verbose('Removing events');\n            $module\n              .off(eventNamespace)\n            ;\n          }\n        },\n\n        enable: function() {\n          module.debug('Setting rating to interactive mode');\n          module.bind.events();\n          $module\n            .removeClass(className.disabled)\n          ;\n        },\n\n        disable: function() {\n          module.debug('Setting rating to read-only mode');\n          module.remove.events();\n          $module\n            .addClass(className.disabled)\n          ;\n        },\n\n        get: {\n          initialRating: function() {\n            if($module.data(metadata.rating) !== undefined) {\n              $module.removeData(metadata.rating);\n              return $module.data(metadata.rating);\n            }\n            return settings.initialRating;\n          },\n          maxRating: function() {\n            if($module.data(metadata.maxRating) !== undefined) {\n              $module.removeData(metadata.maxRating);\n              return $module.data(metadata.maxRating);\n            }\n            return settings.maxRating;\n          },\n          rating: function() {\n            var\n              currentRating = $icon.filter('.' + className.active).length\n            ;\n            module.verbose('Current rating retrieved', currentRating);\n            return currentRating;\n          }\n        },\n\n        set: {\n          rating: function(rating) {\n            var\n              ratingIndex = (rating - 1 >= 0)\n                ? (rating - 1)\n                : 0,\n              $activeIcon = $icon.eq(ratingIndex)\n            ;\n            $module\n              .removeClass(className.selected)\n            ;\n            $icon\n              .removeClass(className.selected)\n              .removeClass(className.active)\n            ;\n            if(rating > 0) {\n              module.verbose('Setting current rating to', rating);\n              $activeIcon\n                .prevAll()\n                .andSelf()\n                  .addClass(className.active)\n              ;\n            }\n            settings.onRate.call(element, rating);\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.rating.settings = {\n\n  name          : 'Rating',\n  namespace     : 'rating',\n\n  debug         : false,\n  verbose       : false,\n  performance   : true,\n\n  initialRating : 0,\n  interactive   : true,\n  maxRating     : 4,\n  clearable     : 'auto',\n\n  onRate        : function(rating){},\n\n  error         : {\n    method    : 'The method you called is not defined',\n    noMaximum : 'No maximum rating specified. Cannot generate HTML automatically'\n  },\n\n\n  metadata: {\n    rating    : 'rating',\n    maxRating : 'maxRating'\n  },\n\n  className : {\n    active   : 'active',\n    disabled : 'disabled',\n    selected : 'selected',\n    loading  : 'loading'\n  },\n\n  selector  : {\n    icon : '.icon'\n  },\n\n  templates: {\n    icon: function(maxRating) {\n      var\n        icon = 1,\n        html = ''\n      ;\n      while(icon <= maxRating) {\n        html += '<i class=\"icon\"></i>';\n        icon++;\n      }\n      return html;\n    }\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Search\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.search = function(parameters) {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n  $(this)\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.search.settings, parameters)\n          : $.extend({}, $.fn.search.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        regExp          = settings.regExp,\n        fields          = settings.fields,\n        selector        = settings.selector,\n        error           = settings.error,\n        namespace       = settings.namespace,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n        $prompt         = $module.find(selector.prompt),\n        $searchButton   = $module.find(selector.searchButton),\n        $results        = $module.find(selector.results),\n        $result         = $module.find(selector.result),\n        $category       = $module.find(selector.category),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n          module.determine.searchFields();\n          module.bind.events();\n          module.set.type();\n          module.create.results();\n          module.instantiate();\n        },\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n        destroy: function() {\n          module.verbose('Destroying instance');\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding events to search');\n            if(settings.automatic) {\n              $module\n                .on(module.get.inputEvent() + eventNamespace, selector.prompt, module.event.input)\n              ;\n              $prompt\n                .attr('autocomplete', 'off')\n              ;\n            }\n            $module\n              // prompt\n              .on('focus'     + eventNamespace, selector.prompt, module.event.focus)\n              .on('blur'      + eventNamespace, selector.prompt, module.event.blur)\n              .on('keydown'   + eventNamespace, selector.prompt, module.handleKeyboard)\n              // search button\n              .on('click'     + eventNamespace, selector.searchButton, module.query)\n              // results\n              .on('mousedown' + eventNamespace, selector.results, module.event.result.mousedown)\n              .on('mouseup'   + eventNamespace, selector.results, module.event.result.mouseup)\n              .on('click'     + eventNamespace, selector.result,  module.event.result.click)\n            ;\n          }\n        },\n\n        determine: {\n          searchFields: function() {\n            // this makes sure $.extend does not add specified search fields to default fields\n            // this is the only setting which should not extend defaults\n            if(parameters && parameters.searchFields !== undefined) {\n              settings.searchFields = parameters.searchFields;\n            }\n          }\n        },\n\n        event: {\n          input: function() {\n            clearTimeout(module.timer);\n            module.timer = setTimeout(module.query, settings.searchDelay);\n          },\n          focus: function() {\n            module.set.focus();\n            if( module.has.minimumCharacters() ) {\n              module.query();\n              if( module.can.show() ) {\n                module.showResults();\n              }\n            }\n          },\n          blur: function(event) {\n            var\n              pageLostFocus = (document.activeElement === this)\n            ;\n            if(!pageLostFocus && !module.resultsClicked) {\n              module.cancel.query();\n              module.remove.focus();\n              module.timer = setTimeout(module.hideResults, settings.hideDelay);\n            }\n          },\n          result: {\n            mousedown: function() {\n              module.resultsClicked = true;\n            },\n            mouseup: function() {\n              module.resultsClicked = false;\n            },\n            click: function(event) {\n              module.debug('Search result selected');\n              var\n                $result = $(this),\n                $title  = $result.find(selector.title).eq(0),\n                $link   = $result.find('a[href]').eq(0),\n                href    = $link.attr('href')   || false,\n                target  = $link.attr('target') || false,\n                title   = $title.html(),\n                // title is used for result lookup\n                value   = ($title.length > 0)\n                  ? $title.text()\n                  : false,\n                results = module.get.results(),\n                result  = $result.data(metadata.result) || module.get.result(value, results),\n                returnedValue\n              ;\n              if( $.isFunction(settings.onSelect) ) {\n                if(settings.onSelect.call(element, result, results) === false) {\n                  module.debug('Custom onSelect callback cancelled default select action');\n                  return;\n                }\n              }\n              module.hideResults();\n              if(value) {\n                module.set.value(value);\n              }\n              if(href) {\n                module.verbose('Opening search link found in result', $link);\n                if(target == '_blank' || event.ctrlKey) {\n                  window.open(href);\n                }\n                else {\n                  window.location.href = (href);\n                }\n              }\n            }\n          }\n        },\n        handleKeyboard: function(event) {\n          var\n            // force selector refresh\n            $result      = $module.find(selector.result),\n            $category    = $module.find(selector.category),\n            currentIndex = $result.index( $result.filter('.' + className.active) ),\n            resultSize   = $result.length,\n\n            keyCode      = event.which,\n            keys         = {\n              backspace : 8,\n              enter     : 13,\n              escape    : 27,\n              upArrow   : 38,\n              downArrow : 40\n            },\n            newIndex\n          ;\n          // search shortcuts\n          if(keyCode == keys.escape) {\n            module.verbose('Escape key pressed, blurring search field');\n            module.trigger.blur();\n          }\n          if( module.is.visible() ) {\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, selecting active result');\n              if( $result.filter('.' + className.active).length > 0 ) {\n                module.event.result.click.call($result.filter('.' + className.active), event);\n                event.preventDefault();\n                return false;\n              }\n            }\n            else if(keyCode == keys.upArrow) {\n              module.verbose('Up key pressed, changing active result');\n              newIndex = (currentIndex - 1 < 0)\n                ? currentIndex\n                : currentIndex - 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n            else if(keyCode == keys.downArrow) {\n              module.verbose('Down key pressed, changing active result');\n              newIndex = (currentIndex + 1 >= resultSize)\n                ? currentIndex\n                : currentIndex + 1\n              ;\n              $category\n                .removeClass(className.active)\n              ;\n              $result\n                .removeClass(className.active)\n                .eq(newIndex)\n                  .addClass(className.active)\n                  .closest($category)\n                    .addClass(className.active)\n              ;\n              event.preventDefault();\n            }\n          }\n          else {\n            // query shortcuts\n            if(keyCode == keys.enter) {\n              module.verbose('Enter key pressed, executing query');\n              module.query();\n              module.set.buttonPressed();\n              $prompt.one('keyup', module.remove.buttonFocus);\n            }\n          }\n        },\n\n        setup: {\n          api: function() {\n            var\n              apiSettings = {\n                debug     : settings.debug,\n                on        : false,\n                cache     : 'local',\n                action    : 'search',\n                onError   : module.error\n              },\n              searchHTML\n            ;\n            module.verbose('First request, initializing API');\n            $module.api(apiSettings);\n          }\n        },\n\n        can: {\n          useAPI: function() {\n            return $.fn.api !== undefined;\n          },\n          show: function() {\n            return module.is.focused() && !module.is.visible() && !module.is.empty();\n          },\n          transition: function() {\n            return settings.transition && $.fn.transition !== undefined && $module.transition('is supported');\n          }\n        },\n\n        is: {\n          empty: function() {\n            return ($results.html() === '');\n          },\n          visible: function() {\n            return ($results.filter(':visible').length > 0);\n          },\n          focused: function() {\n            return ($prompt.filter(':focus').length > 0);\n          }\n        },\n\n        trigger: {\n          blur: function() {\n            var\n              events        = document.createEvent('HTMLEvents'),\n              promptElement = $prompt[0]\n            ;\n            if(promptElement) {\n              module.verbose('Triggering native blur event');\n              events.initEvent('blur', false, false);\n              promptElement.dispatchEvent(events);\n            }\n          }\n        },\n\n        get: {\n          inputEvent: function() {\n            var\n              prompt = $prompt[0],\n              inputEvent   = (prompt !== undefined && prompt.oninput !== undefined)\n                ? 'input'\n                : (prompt !== undefined && prompt.onpropertychange !== undefined)\n                  ? 'propertychange'\n                  : 'keyup'\n            ;\n            return inputEvent;\n          },\n          value: function() {\n            return $prompt.val();\n          },\n          results: function() {\n            var\n              results = $module.data(metadata.results)\n            ;\n            return results;\n          },\n          result: function(value, results) {\n            var\n              lookupFields = ['title', 'id'],\n              result       = false\n            ;\n            value = (value !== undefined)\n              ? value\n              : module.get.value()\n            ;\n            results = (results !== undefined)\n              ? results\n              : module.get.results()\n            ;\n            if(settings.type === 'category') {\n              module.debug('Finding result that matches', value);\n              $.each(results, function(index, category) {\n                if($.isArray(category.results)) {\n                  result = module.search.object(value, category.results, lookupFields)[0];\n                  // don't continue searching if a result is found\n                  if(result) {\n                    return false;\n                  }\n                }\n              });\n            }\n            else {\n              module.debug('Finding result in results object', value);\n              result = module.search.object(value, results, lookupFields)[0];\n            }\n            return result || false;\n          },\n        },\n\n        set: {\n          focus: function() {\n            $module.addClass(className.focus);\n          },\n          loading: function() {\n            $module.addClass(className.loading);\n          },\n          value: function(value) {\n            module.verbose('Setting search input value', value);\n            $prompt\n              .val(value)\n            ;\n          },\n          type: function(type) {\n            type = type || settings.type;\n            if(settings.type == 'category') {\n              $module.addClass(settings.type);\n            }\n          },\n          buttonPressed: function() {\n            $searchButton.addClass(className.pressed);\n          }\n        },\n\n        remove: {\n          loading: function() {\n            $module.removeClass(className.loading);\n          },\n          focus: function() {\n            $module.removeClass(className.focus);\n          },\n          buttonPressed: function() {\n            $searchButton.removeClass(className.pressed);\n          }\n        },\n\n        query: function() {\n          var\n            searchTerm = module.get.value(),\n            cache = module.read.cache(searchTerm)\n          ;\n          if( module.has.minimumCharacters() )  {\n            if(cache) {\n              module.debug('Reading result from cache', searchTerm);\n              module.save.results(cache.results);\n              module.addResults(cache.html);\n              module.inject.id(cache.results);\n            }\n            else {\n              module.debug('Querying for', searchTerm);\n              if($.isPlainObject(settings.source) || $.isArray(settings.source)) {\n                module.search.local(searchTerm);\n              }\n              else if( module.can.useAPI() ) {\n                module.search.remote(searchTerm);\n              }\n              else {\n                module.error(error.source);\n              }\n            }\n            settings.onSearchQuery.call(element, searchTerm);\n          }\n          else {\n            module.hideResults();\n          }\n        },\n\n        search: {\n          local: function(searchTerm) {\n            var\n              results = module.search.object(searchTerm, settings.content),\n              searchHTML\n            ;\n            module.set.loading();\n            module.save.results(results);\n            module.debug('Returned local search results', results);\n\n            searchHTML = module.generateResults({\n              results: results\n            });\n            module.remove.loading();\n            module.addResults(searchHTML);\n            module.inject.id(results);\n            module.write.cache(searchTerm, {\n              html    : searchHTML,\n              results : results\n            });\n          },\n          remote: function(searchTerm) {\n            var\n              apiSettings = {\n                onSuccess : function(response) {\n                  module.parse.response.call(element, response, searchTerm);\n                },\n                onFailure: function() {\n                  module.displayMessage(error.serverError);\n                },\n                urlData: {\n                  query: searchTerm\n                }\n              }\n            ;\n            if( !$module.api('get request') ) {\n              module.setup.api();\n            }\n            $.extend(true, apiSettings, settings.apiSettings);\n            module.debug('Executing search', apiSettings);\n            module.cancel.query();\n            $module\n              .api('setting', apiSettings)\n              .api('query')\n            ;\n          },\n          object: function(searchTerm, source, searchFields) {\n            var\n              results      = [],\n              fuzzyResults = [],\n              searchExp    = searchTerm.toString().replace(regExp.escape, '\\\\$&'),\n              matchRegExp  = new RegExp(regExp.beginsWith + searchExp, 'i'),\n\n              // avoid duplicates when pushing results\n              addResult = function(array, result) {\n                var\n                  notResult      = ($.inArray(result, results) == -1),\n                  notFuzzyResult = ($.inArray(result, fuzzyResults) == -1)\n                ;\n                if(notResult && notFuzzyResult) {\n                  array.push(result);\n                }\n              }\n            ;\n            source = source || settings.source;\n            searchFields = (searchFields !== undefined)\n              ? searchFields\n              : settings.searchFields\n            ;\n\n            // search fields should be array to loop correctly\n            if(!$.isArray(searchFields)) {\n              searchFields = [searchFields];\n            }\n\n            // exit conditions if no source\n            if(source === undefined || source === false) {\n              module.error(error.source);\n              return [];\n            }\n\n            // iterate through search fields looking for matches\n            $.each(searchFields, function(index, field) {\n              $.each(source, function(label, content) {\n                var\n                  fieldExists = (typeof content[field] == 'string')\n                ;\n                if(fieldExists) {\n                  if( content[field].search(matchRegExp) !== -1) {\n                    // content starts with value (first in results)\n                    addResult(results, content);\n                  }\n                  else if(settings.searchFullText && module.fuzzySearch(searchTerm, content[field]) ) {\n                    // content fuzzy matches (last in results)\n                    addResult(fuzzyResults, content);\n                  }\n                }\n              });\n            });\n            return $.merge(results, fuzzyResults);\n          }\n        },\n\n        fuzzySearch: function(query, term) {\n          var\n            termLength  = term.length,\n            queryLength = query.length\n          ;\n          if(typeof query !== 'string') {\n            return false;\n          }\n          query = query.toLowerCase();\n          term  = term.toLowerCase();\n          if(queryLength > termLength) {\n            return false;\n          }\n          if(queryLength === termLength) {\n            return (query === term);\n          }\n          search: for (var characterIndex = 0, nextCharacterIndex = 0; characterIndex < queryLength; characterIndex++) {\n            var\n              queryCharacter = query.charCodeAt(characterIndex)\n            ;\n            while(nextCharacterIndex < termLength) {\n              if(term.charCodeAt(nextCharacterIndex++) === queryCharacter) {\n                continue search;\n              }\n            }\n            return false;\n          }\n          return true;\n        },\n\n        parse: {\n          response: function(response, searchTerm) {\n            var\n              searchHTML = module.generateResults(response)\n            ;\n            module.verbose('Parsing server response', response);\n            if(response !== undefined) {\n              if(searchTerm !== undefined && response[fields.results] !== undefined) {\n                module.addResults(searchHTML);\n                module.inject.id(response[fields.results]);\n                module.write.cache(searchTerm, {\n                  html    : searchHTML,\n                  results : response[fields.results]\n                });\n                module.save.results(response[fields.results]);\n              }\n            }\n          }\n        },\n\n        cancel: {\n          query: function() {\n            if( module.can.useAPI() ) {\n              $module.api('abort');\n            }\n          }\n        },\n\n        has: {\n          minimumCharacters: function() {\n            var\n              searchTerm    = module.get.value(),\n              numCharacters = searchTerm.length\n            ;\n            return (numCharacters >= settings.minCharacters);\n          }\n        },\n\n        clear: {\n          cache: function(value) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(!value) {\n              module.debug('Clearing cache', value);\n              $module.removeData(metadata.cache);\n            }\n            else if(value && cache && cache[value]) {\n              module.debug('Removing value from cache', value);\n              delete cache[value];\n              $module.data(metadata.cache, cache);\n            }\n          }\n        },\n\n        read: {\n          cache: function(name) {\n            var\n              cache = $module.data(metadata.cache)\n            ;\n            if(settings.cache) {\n              module.verbose('Checking cache for generated html for query', name);\n              return (typeof cache == 'object') && (cache[name] !== undefined)\n                ? cache[name]\n                : false\n              ;\n            }\n            return false;\n          }\n        },\n\n        create: {\n          id: function(resultIndex, categoryIndex) {\n            var\n              resultID      = (resultIndex + 1), // not zero indexed\n              categoryID    = (categoryIndex + 1),\n              firstCharCode,\n              letterID,\n              id\n            ;\n            if(categoryIndex !== undefined) {\n              // start char code for \"A\"\n              letterID = String.fromCharCode(97 + categoryIndex);\n              id          = letterID + resultID;\n              module.verbose('Creating category result id', id);\n            }\n            else {\n              id = resultID;\n              module.verbose('Creating result id', id);\n            }\n            return id;\n          },\n          results: function() {\n            if($results.length === 0) {\n              $results = $('<div />')\n                .addClass(className.results)\n                .appendTo($module)\n              ;\n            }\n          }\n        },\n\n        inject: {\n          result: function(result, resultIndex, categoryIndex) {\n            module.verbose('Injecting result into results');\n            var\n              $selectedResult = (categoryIndex !== undefined)\n                ? $results\n                    .children().eq(categoryIndex)\n                      .children(selector.result).eq(resultIndex)\n                : $results\n                    .children(selector.result).eq(resultIndex)\n            ;\n            module.verbose('Injecting results metadata', $selectedResult);\n            $selectedResult\n              .data(metadata.result, result)\n            ;\n          },\n          id: function(results) {\n            module.debug('Injecting unique ids into results');\n            var\n              // since results may be object, we must use counters\n              categoryIndex = 0,\n              resultIndex   = 0\n            ;\n            if(settings.type === 'category') {\n              // iterate through each category result\n              $.each(results, function(index, category) {\n                resultIndex = 0;\n                $.each(category.results, function(index, value) {\n                  var\n                    result = category.results[index]\n                  ;\n                  if(result.id === undefined) {\n                    result.id = module.create.id(resultIndex, categoryIndex);\n                  }\n                  module.inject.result(result, resultIndex, categoryIndex);\n                  resultIndex++;\n                });\n                categoryIndex++;\n              });\n            }\n            else {\n              // top level\n              $.each(results, function(index, value) {\n                var\n                  result = results[index]\n                ;\n                if(result.id === undefined) {\n                  result.id = module.create.id(resultIndex);\n                }\n                module.inject.result(result, resultIndex);\n                resultIndex++;\n              });\n            }\n            return results;\n          }\n        },\n\n        save: {\n          results: function(results) {\n            module.verbose('Saving current search results to metadata', results);\n            $module.data(metadata.results, results);\n          }\n        },\n\n        write: {\n          cache: function(name, value) {\n            var\n              cache = ($module.data(metadata.cache) !== undefined)\n                ? $module.data(metadata.cache)\n                : {}\n            ;\n            if(settings.cache) {\n              module.verbose('Writing generated html to cache', name, value);\n              cache[name] = value;\n              $module\n                .data(metadata.cache, cache)\n              ;\n            }\n          }\n        },\n\n        addResults: function(html) {\n          if( $.isFunction(settings.onResultsAdd) ) {\n            if( settings.onResultsAdd.call($results, html) === false ) {\n              module.debug('onResultsAdd callback cancelled default action');\n              return false;\n            }\n          }\n          $results\n            .html(html)\n          ;\n          if( module.can.show() ) {\n            module.showResults();\n          }\n        },\n\n        showResults: function() {\n          if(!module.is.visible()) {\n            if( module.can.transition() ) {\n              module.debug('Showing results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' in',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Showing results with javascript');\n              $results\n                .stop()\n                .fadeIn(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsOpen.call($results);\n          }\n        },\n        hideResults: function() {\n          if( module.is.visible() ) {\n            if( module.can.transition() ) {\n              module.debug('Hiding results with css animations');\n              $results\n                .transition({\n                  animation  : settings.transition + ' out',\n                  debug      : settings.debug,\n                  verbose    : settings.verbose,\n                  duration   : settings.duration,\n                  queue      : true\n                })\n              ;\n            }\n            else {\n              module.debug('Hiding results with javascript');\n              $results\n                .stop()\n                .fadeOut(settings.duration, settings.easing)\n              ;\n            }\n            settings.onResultsClose.call($results);\n          }\n        },\n\n        generateResults: function(response) {\n          module.debug('Generating html from response', response);\n          var\n            template       = settings.templates[settings.type],\n            isProperObject = ($.isPlainObject(response[fields.results]) && !$.isEmptyObject(response[fields.results])),\n            isProperArray  = ($.isArray(response[fields.results]) && response[fields.results].length > 0),\n            html           = ''\n          ;\n          if(isProperObject || isProperArray ) {\n            if(settings.maxResults > 0) {\n              if(isProperObject) {\n                if(settings.type == 'standard') {\n                  module.error(error.maxResults);\n                }\n              }\n              else {\n                response[fields.results] = response[fields.results].slice(0, settings.maxResults);\n              }\n            }\n            if($.isFunction(template)) {\n              html = template(response, fields);\n            }\n            else {\n              module.error(error.noTemplate, false);\n            }\n          }\n          else {\n            html = module.displayMessage(error.noResults, 'empty');\n          }\n          settings.onResults.call(element, response);\n          return html;\n        },\n\n        displayMessage: function(text, type) {\n          type = type || 'standard';\n          module.debug('Displaying message', text, type);\n          module.addResults( settings.templates.message(text, type) );\n          return settings.templates.message(text, type);\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.search.settings = {\n\n  name           : 'Search',\n  namespace      : 'search',\n\n  debug          : false,\n  verbose        : false,\n  performance    : true,\n\n  type           : 'standard',\n  // template to use (specified in settings.templates)\n\n  minCharacters  : 1,\n  // minimum characters required to search\n\n  apiSettings    : false,\n  // API config\n\n  source         : false,\n  // object to search\n\n  searchFields   : [\n    'title',\n    'description'\n  ],\n  // fields to search\n\n  displayField   : '',\n  // field to display in standard results template\n\n  searchFullText : true,\n  // whether to include fuzzy results in local search\n\n  automatic      : true,\n  // whether to add events to prompt automatically\n\n  hideDelay      : 0,\n  // delay before hiding menu after blur\n\n  searchDelay    : 200,\n  // delay before searching\n\n  maxResults     : 7,\n  // maximum results returned from local\n\n  cache          : true,\n  // whether to store lookups in local cache\n\n  // transition settings\n  transition     : 'scale',\n  duration       : 200,\n  easing         : 'easeOutExpo',\n\n  // callbacks\n  onSelect       : false,\n  onResultsAdd   : false,\n\n  onSearchQuery  : function(query){},\n  onResults      : function(response){},\n\n  onResultsOpen  : function(){},\n  onResultsClose : function(){},\n\n  className: {\n    active  : 'active',\n    empty   : 'empty',\n    focus   : 'focus',\n    loading : 'loading',\n    results : 'results',\n    pressed : 'down'\n  },\n\n  error : {\n    source      : 'Cannot search. No source used, and Semantic API module was not included',\n    noResults   : 'Your search returned no results',\n    logging     : 'Error in debug logging, exiting.',\n    noEndpoint  : 'No search endpoint was specified',\n    noTemplate  : 'A valid template name was not specified.',\n    serverError : 'There was an issue querying the server.',\n    maxResults  : 'Results must be an array to use maxResults setting',\n    method      : 'The method you called is not defined.'\n  },\n\n  metadata: {\n    cache   : 'cache',\n    results : 'results',\n    result  : 'result'\n  },\n\n  regExp: {\n    escape     : /[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\n    beginsWith : '(?:\\s|^)'\n  },\n\n  // maps api response attributes to internal representation\n  fields: {\n    categories      : 'results',     // array of categories (category view)\n    categoryName    : 'name',        // name of category (category view)\n    categoryResults : 'results',     // array of results (category view)\n    description     : 'description', // result description\n    image           : 'image',       // result image\n    price           : 'price',       // result price\n    results         : 'results',     // array of results (standard)\n    title           : 'title',       // result title\n    url             : 'url',         // result url\n    action          : 'action',      // \"view more\" object name\n    actionText      : 'text',        // \"view more\" text\n    actionURL       : 'url'          // \"view more\" url\n  },\n\n  selector : {\n    prompt       : '.prompt',\n    searchButton : '.search.button',\n    results      : '.results',\n    category     : '.category',\n    result       : '.result',\n    title        : '.title, .name'\n  },\n\n  templates: {\n    escape: function(string) {\n      var\n        badChars     = /[&<>\"'`]/g,\n        shouldEscape = /[&<>\"'`]/,\n        escape       = {\n          \"&\": \"&amp;\",\n          \"<\": \"&lt;\",\n          \">\": \"&gt;\",\n          '\"': \"&quot;\",\n          \"'\": \"&#x27;\",\n          \"`\": \"&#x60;\"\n        },\n        escapedChar  = function(chr) {\n          return escape[chr];\n        }\n      ;\n      if(shouldEscape.test(string)) {\n        return string.replace(badChars, escapedChar);\n      }\n      return string;\n    },\n    message: function(message, type) {\n      var\n        html = ''\n      ;\n      if(message !== undefined && type !== undefined) {\n        html +=  ''\n          + '<div class=\"message ' + type + '\">'\n        ;\n        // message type\n        if(type == 'empty') {\n          html += ''\n            + '<div class=\"header\">No Results</div class=\"header\">'\n            + '<div class=\"description\">' + message + '</div class=\"description\">'\n          ;\n        }\n        else {\n          html += ' <div class=\"description\">' + message + '</div>';\n        }\n        html += '</div>';\n      }\n      return html;\n    },\n    category: function(response, fields) {\n      var\n        html = '',\n        escape = $.fn.search.settings.templates.escape\n      ;\n      if(response[fields.categoryResults] !== undefined) {\n\n        // each category\n        $.each(response[fields.categoryResults], function(index, category) {\n          if(category[fields.results] !== undefined && category.results.length > 0) {\n\n            html  += '<div class=\"category\">';\n\n            if(category[fields.categoryName] !== undefined) {\n              html += '<div class=\"name\">' + category[fields.categoryName] + '</div>';\n            }\n\n            // each item inside category\n            $.each(category.results, function(index, result) {\n              if(result[fields.url]) {\n                html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n              }\n              else {\n                html  += '<a class=\"result\">';\n              }\n              if(result[fields.image] !== undefined) {\n                html += ''\n                  + '<div class=\"image\">'\n                  + ' <img src=\"' + result[fields.image] + '\">'\n                  + '</div>'\n                ;\n              }\n              html += '<div class=\"content\">';\n              if(result[fields.price] !== undefined) {\n                html += '<div class=\"price\">' + result[fields.price] + '</div>';\n              }\n              if(result[fields.title] !== undefined) {\n                html += '<div class=\"title\">' + result[fields.title] + '</div>';\n              }\n              if(result[fields.description] !== undefined) {\n                html += '<div class=\"description\">' + result[fields.description] + '</div>';\n              }\n              html  += ''\n                + '</div>'\n              ;\n              html += '</a>';\n            });\n            html  += ''\n              + '</div>'\n            ;\n          }\n        });\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    },\n    standard: function(response, fields) {\n      var\n        html = ''\n      ;\n      if(response[fields.results] !== undefined) {\n\n        // each result\n        $.each(response[fields.results], function(index, result) {\n          if(result[fields.url]) {\n            html  += '<a class=\"result\" href=\"' + result[fields.url] + '\">';\n          }\n          else {\n            html  += '<a class=\"result\">';\n          }\n          if(result[fields.image] !== undefined) {\n            html += ''\n              + '<div class=\"image\">'\n              + ' <img src=\"' + result[fields.image] + '\">'\n              + '</div>'\n            ;\n          }\n          html += '<div class=\"content\">';\n          if(result[fields.price] !== undefined) {\n            html += '<div class=\"price\">' + result[fields.price] + '</div>';\n          }\n          if(result[fields.title] !== undefined) {\n            html += '<div class=\"title\">' + result[fields.title] + '</div>';\n          }\n          if(result[fields.description] !== undefined) {\n            html += '<div class=\"description\">' + result[fields.description] + '</div>';\n          }\n          html  += ''\n            + '</div>'\n          ;\n          html += '</a>';\n        });\n\n        if(response[fields.action]) {\n          html += ''\n          + '<a href=\"' + response[fields.action][fields.actionURL] + '\" class=\"action\">'\n          +   response[fields.action][fields.actionText]\n          + '</a>';\n        }\n        return html;\n      }\n      return false;\n    }\n  }\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Shape\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.shape = function(parameters) {\n  var\n    $allModules     = $(this),\n    $body           = $('body'),\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        moduleSelector = $allModules.selector || '',\n        settings       = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.shape.settings, parameters)\n          : $.extend({}, $.fn.shape.settings),\n\n        // internal aliases\n        namespace     = settings.namespace,\n        selector      = settings.selector,\n        error         = settings.error,\n        className     = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // selector cache\n        $module       = $(this),\n        $sides        = $module.find(selector.sides),\n        $side         = $module.find(selector.side),\n\n        // private variables\n        nextIndex = false,\n        $activeSide,\n        $nextSide,\n\n        // standard module\n        element       = this,\n        instance      = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module for', element);\n          module.set.defaultSide();\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache for', element);\n          $module = $(element);\n          $sides  = $(this).find(selector.shape);\n          $side   = $(this).find(selector.side);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          var\n            shape          = $sides[0] || document.createElement('div'),\n            fakeAssignment = shape.offsetWidth\n          ;\n        },\n\n        animate: function(propertyObject, callback) {\n          module.verbose('Animating box with properties', propertyObject);\n          callback = callback || function(event) {\n            module.verbose('Executing animation callback');\n            if(event !== undefined) {\n              event.stopPropagation();\n            }\n            module.reset();\n            module.set.active();\n          };\n          settings.beforeChange.call($nextSide[0]);\n          if(module.get.transitionEvent()) {\n            module.verbose('Starting CSS animation');\n            $module\n              .addClass(className.animating)\n            ;\n            $sides\n              .css(propertyObject)\n              .one(module.get.transitionEvent(), callback)\n            ;\n            module.set.duration(settings.duration);\n            requestAnimationFrame(function() {\n              $module\n                .addClass(className.animating)\n              ;\n              $activeSide\n                .addClass(className.hidden)\n              ;\n            });\n          }\n          else {\n            callback();\n          }\n        },\n\n        queue: function(method) {\n          module.debug('Queueing animation of', method);\n          $sides\n            .one(module.get.transitionEvent(), function() {\n              module.debug('Executing queued animation');\n              setTimeout(function(){\n                $module.shape(method);\n              }, 0);\n            })\n          ;\n        },\n\n        reset: function() {\n          module.verbose('Animating states reset');\n          $module\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          // removeAttr style does not consistently work in safari\n          $sides\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n          $side\n            .attr('style', '')\n            .removeAttr('style')\n            .removeClass(className.hidden)\n          ;\n          $nextSide\n            .removeClass(className.animating)\n            .attr('style', '')\n            .removeAttr('style')\n          ;\n        },\n\n        is: {\n          complete: function() {\n            return ($side.filter('.' + className.active)[0] == $nextSide[0]);\n          },\n          animating: function() {\n            return $module.hasClass(className.animating);\n          }\n        },\n\n        set: {\n\n          defaultSide: function() {\n            $activeSide = $module.find('.' + settings.className.active);\n            $nextSide   = ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n            nextIndex = false;\n            module.verbose('Active side set to', $activeSide);\n            module.verbose('Next side set to', $nextSide);\n          },\n\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            module.verbose('Setting animation duration', duration);\n            if(settings.duration || settings.duration === 0) {\n              $sides.add($side)\n                .css({\n                  '-webkit-transition-duration': duration,\n                  '-moz-transition-duration': duration,\n                  '-ms-transition-duration': duration,\n                  '-o-transition-duration': duration,\n                  'transition-duration': duration\n                })\n              ;\n            }\n          },\n\n          currentStageSize: function() {\n            var\n              $activeSide = $module.find('.' + settings.className.active),\n              width       = $activeSide.outerWidth(true),\n              height      = $activeSide.outerHeight(true)\n            ;\n            $module\n              .css({\n                width: width,\n                height: height\n              })\n            ;\n          },\n\n          stageSize: function() {\n            var\n              $clone      = $module.clone().addClass(className.loading),\n              $activeSide = $clone.find('.' + settings.className.active),\n              $nextSide   = (nextIndex)\n                ? $clone.find(selector.side).eq(nextIndex)\n                : ( $activeSide.next(selector.side).length > 0 )\n                  ? $activeSide.next(selector.side)\n                  : $clone.find(selector.side).first(),\n              newSize = {}\n            ;\n            module.set.currentStageSize();\n            $activeSide.removeClass(className.active);\n            $nextSide.addClass(className.active);\n            $clone.insertAfter($module);\n            newSize = {\n              width  : $nextSide.outerWidth(true),\n              height : $nextSide.outerHeight(true)\n            };\n            $clone.remove();\n            $module\n              .css(newSize)\n            ;\n            module.verbose('Resizing stage to fit new content', newSize);\n          },\n\n          nextSide: function(selector) {\n            nextIndex = selector;\n            $nextSide = $side.filter(selector);\n            nextIndex = $side.index($nextSide);\n            if($nextSide.length === 0) {\n              module.set.defaultSide();\n              module.error(error.side);\n            }\n            module.verbose('Next side manually set to', $nextSide);\n          },\n\n          active: function() {\n            module.verbose('Setting new side to active', $nextSide);\n            $side\n              .removeClass(className.active)\n            ;\n            $nextSide\n              .addClass(className.active)\n            ;\n            settings.onChange.call($nextSide[0]);\n            module.set.defaultSide();\n          }\n        },\n\n        flip: {\n\n          up: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping up', $nextSide);\n              module.set.stageSize();\n              module.stage.above();\n              module.animate( module.get.transform.up() );\n            }\n            else {\n              module.queue('flip up');\n            }\n          },\n\n          down: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping down', $nextSide);\n              module.set.stageSize();\n              module.stage.below();\n              module.animate( module.get.transform.down() );\n            }\n            else {\n              module.queue('flip down');\n            }\n          },\n\n          left: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping left', $nextSide);\n              module.set.stageSize();\n              module.stage.left();\n              module.animate(module.get.transform.left() );\n            }\n            else {\n              module.queue('flip left');\n            }\n          },\n\n          right: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping right', $nextSide);\n              module.set.stageSize();\n              module.stage.right();\n              module.animate(module.get.transform.right() );\n            }\n            else {\n              module.queue('flip right');\n            }\n          },\n\n          over: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping over', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.over() );\n            }\n            else {\n              module.queue('flip over');\n            }\n          },\n\n          back: function() {\n            if(module.is.complete() && !module.is.animating() && !settings.allowRepeats) {\n              module.debug('Side already visible', $nextSide);\n              return;\n            }\n            if( !module.is.animating()) {\n              module.debug('Flipping back', $nextSide);\n              module.set.stageSize();\n              module.stage.behind();\n              module.animate(module.get.transform.back() );\n            }\n            else {\n              module.queue('flip back');\n            }\n          }\n\n        },\n\n        get: {\n\n          transform: {\n            up: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(-90deg)'\n              };\n            },\n\n            down: function() {\n              var\n                translate = {\n                  y: -(($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                  z: -($activeSide.outerHeight(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateY(' + translate.y + 'px) translateZ('+ translate.z + 'px) rotateX(90deg)'\n              };\n            },\n\n            left: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(90deg)'\n              };\n            },\n\n            right: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2),\n                  z : -($activeSide.outerWidth(true) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) translateZ(' + translate.z + 'px) rotateY(-90deg)'\n              };\n            },\n\n            over: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(180deg)'\n              };\n            },\n\n            back: function() {\n              var\n                translate = {\n                  x : -(($activeSide.outerWidth(true) - $nextSide.outerWidth(true)) / 2)\n                }\n              ;\n              return {\n                transform: 'translateX(' + translate.x + 'px) rotateY(-180deg)'\n              };\n            }\n          },\n\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          },\n\n          nextSide: function() {\n            return ( $activeSide.next(selector.side).length > 0 )\n              ? $activeSide.next(selector.side)\n              : $module.find(selector.side).first()\n            ;\n          }\n\n        },\n\n        stage: {\n\n          above: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as above', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          below: function() {\n            var\n              box = {\n                origin : (($activeSide.outerHeight(true) - $nextSide.outerHeight(true)) / 2),\n                depth  : {\n                  active : ($nextSide.outerHeight(true) / 2),\n                  next   : ($activeSide.outerHeight(true) / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as below', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'top'       : box.origin + 'px',\n                'transform' : 'rotateX(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          left: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          right: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as left', $nextSide, box);\n            $sides\n              .css({\n                'transform' : 'translateZ(-' + box.depth.active + 'px)'\n              })\n            ;\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg) translateZ(' + box.depth.active + 'px)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(90deg) translateZ(' + box.depth.next + 'px)'\n              })\n            ;\n          },\n\n          behind: function() {\n            var\n              height = {\n                active : $activeSide.outerWidth(true),\n                next   : $nextSide.outerWidth(true)\n              },\n              box = {\n                origin : ( ( height.active - height.next ) / 2),\n                depth  : {\n                  active : (height.next / 2),\n                  next   : (height.active / 2)\n                }\n              }\n            ;\n            module.verbose('Setting the initial animation position as behind', $nextSide, box);\n            $activeSide\n              .css({\n                'transform' : 'rotateY(0deg)'\n              })\n            ;\n            $nextSide\n              .addClass(className.animating)\n              .css({\n                'left'      : box.origin + 'px',\n                'transform' : 'rotateY(-180deg)'\n              })\n            ;\n          }\n        },\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.shape.settings = {\n\n  // module info\n  name : 'Shape',\n\n  // debug content outputted to console\n  debug      : false,\n\n  // verbose debug output\n  verbose    : false,\n\n  // performance data output\n  performance: true,\n\n  // event namespace\n  namespace  : 'shape',\n\n  // callback occurs on side change\n  beforeChange : function() {},\n  onChange     : function() {},\n\n  // allow animation to same side\n  allowRepeats: false,\n\n  // animation duration\n  duration   : false,\n\n  // possible errors\n  error: {\n    side   : 'You tried to switch to a side that does not exist.',\n    method : 'The method you called is not defined'\n  },\n\n  // classnames used\n  className   : {\n    animating : 'animating',\n    hidden    : 'hidden',\n    loading   : 'loading',\n    active    : 'active'\n  },\n\n  // selectors used\n  selector    : {\n    sides : '.sides',\n    side  : '.side'\n  }\n\n};\n\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Sidebar\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sidebar = function(parameters) {\n  var\n    $allModules     = $(this),\n    $window         = $(window),\n    $document       = $(document),\n    $html           = $('html'),\n    $head           = $('head'),\n\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sidebar.settings, parameters)\n          : $.extend({}, $.fn.sidebar.settings),\n\n        selector        = settings.selector,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        regExp          = settings.regExp,\n        error           = settings.error,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $sidebars       = $module.children(selector.sidebar),\n        $fixed          = $context.children(selector.fixed),\n        $pusher         = $context.children(selector.pusher),\n        $style,\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        elementNamespace,\n        id,\n        currentScroll,\n        transitionEvent,\n\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n          module.debug('Initializing sidebar', parameters);\n\n          module.create.id();\n\n          transitionEvent = module.get.transitionEvent();\n\n          if(module.is.ios()) {\n            module.set.ios();\n          }\n\n          // avoids locking rendering if initialized in onReady\n          if(settings.delaySetup) {\n            requestAnimationFrame(module.setup.layout);\n          }\n          else {\n            module.setup.layout();\n          }\n\n          requestAnimationFrame(function() {\n            module.setup.cache();\n          });\n\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        create: {\n          id: function() {\n            id = (Math.random().toString(16) + '000000000').substr(2,8);\n            elementNamespace = '.' + id;\n            module.verbose('Creating unique id for element', id);\n          }\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', $module);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n          if(module.is.ios()) {\n            module.remove.ios();\n          }\n          // bound by uuid\n          $context.off(elementNamespace);\n          $window.off(elementNamespace);\n          $document.off(elementNamespace);\n        },\n\n        event: {\n          clickaway: function(event) {\n            var\n              clickedInPusher = ($pusher.find(event.target).length > 0 || $pusher.is(event.target)),\n              clickedContext  = ($context.is(event.target))\n            ;\n            if(clickedInPusher) {\n              module.verbose('User clicked on dimmed page');\n              module.hide();\n            }\n            if(clickedContext) {\n              module.verbose('User clicked on dimmable context (scaled out page)');\n              module.hide();\n            }\n          },\n          touch: function(event) {\n            //event.stopPropagation();\n          },\n          containScroll: function(event) {\n            if(element.scrollTop <= 0)  {\n              element.scrollTop = 1;\n            }\n            if((element.scrollTop + element.offsetHeight) >= element.scrollHeight) {\n              element.scrollTop = element.scrollHeight - element.offsetHeight - 1;\n            }\n          },\n          scroll: function(event) {\n            if( $(event.target).closest(selector.sidebar).length === 0 ) {\n              event.preventDefault();\n            }\n          }\n        },\n\n        bind: {\n          clickaway: function() {\n            module.verbose('Adding clickaway events to context', $context);\n            if(settings.closable) {\n              $context\n                .on('click'    + elementNamespace, module.event.clickaway)\n                .on('touchend' + elementNamespace, module.event.clickaway)\n              ;\n            }\n          },\n          scrollLock: function() {\n            if(settings.scrollLock) {\n              module.debug('Disabling page scroll');\n              $window\n                .on('DOMMouseScroll' + elementNamespace, module.event.scroll)\n              ;\n            }\n            module.verbose('Adding events to contain sidebar scroll');\n            $document\n              .on('touchmove' + elementNamespace, module.event.touch)\n            ;\n            $module\n              .on('scroll' + eventNamespace, module.event.containScroll)\n            ;\n          }\n        },\n        unbind: {\n          clickaway: function() {\n            module.verbose('Removing clickaway events from context', $context);\n            $context.off(elementNamespace);\n          },\n          scrollLock: function() {\n            module.verbose('Removing scroll lock from page');\n            $document.off(elementNamespace);\n            $window.off(elementNamespace);\n            $module.off('scroll' + eventNamespace);\n          }\n        },\n\n        add: {\n          inlineCSS: function() {\n            var\n              width     = module.cache.width  || $module.outerWidth(),\n              height    = module.cache.height || $module.outerHeight(),\n              isRTL     = module.is.rtl(),\n              direction = module.get.direction(),\n              distance  = {\n                left   : width,\n                right  : -width,\n                top    : height,\n                bottom : -height\n              },\n              style\n            ;\n\n            if(isRTL){\n              module.verbose('RTL detected, flipping widths');\n              distance.left = -width;\n              distance.right = width;\n            }\n\n            style  = '<style>';\n\n            if(direction === 'left' || direction === 'right') {\n              module.debug('Adding CSS rules for animation distance', width);\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                + ' }'\n              ;\n            }\n            else if(direction === 'top' || direction == 'bottom') {\n              style  += ''\n                + ' .ui.visible.' + direction + '.sidebar ~ .fixed,'\n                + ' .ui.visible.' + direction + '.sidebar ~ .pusher {'\n                + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                + ' }'\n              ;\n            }\n\n            /* IE is only browser not to create context with transforms */\n            /* https://www.w3.org/Bugs/Public/show_bug.cgi?id=16328 */\n            if( module.is.ie() ) {\n              if(direction === 'left' || direction === 'right') {\n                module.debug('Adding CSS rules for animation distance', width);\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + '           transform: translate3d('+ distance[direction] + 'px, 0, 0);'\n                  + ' }'\n                ;\n              }\n              else if(direction === 'top' || direction == 'bottom') {\n                style  += ''\n                  + ' body.pushable > .ui.visible.' + direction + '.sidebar ~ .pusher:after {'\n                  + '   -webkit-transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + '           transform: translate3d(0, ' + distance[direction] + 'px, 0);'\n                  + ' }'\n                ;\n              }\n              /* opposite sides visible forces content overlay */\n              style += ''\n                + ' body.pushable > .ui.visible.left.sidebar ~ .ui.visible.right.sidebar ~ .pusher:after,'\n                + ' body.pushable > .ui.visible.right.sidebar ~ .ui.visible.left.sidebar ~ .pusher:after {'\n                + '   -webkit-transform: translate3d(0px, 0, 0);'\n                + '           transform: translate3d(0px, 0, 0);'\n                + ' }'\n              ;\n            }\n            style += '</style>';\n            $style = $(style)\n              .appendTo($head)\n            ;\n            module.debug('Adding sizing css to head', $style);\n          }\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $context  = $(settings.context);\n          $sidebars = $context.children(selector.sidebar);\n          $pusher   = $context.children(selector.pusher);\n          $fixed    = $context.children(selector.fixed);\n          module.clear.cache();\n        },\n\n        refreshSidebars: function() {\n          module.verbose('Refreshing other sidebars');\n          $sidebars = $context.children(selector.sidebar);\n        },\n\n        repaint: function() {\n          module.verbose('Forcing repaint event');\n          element.style.display = 'none';\n          var ignored = element.offsetHeight;\n          element.scrollTop = element.scrollTop;\n          element.style.display = '';\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              width  : $module.outerWidth(),\n              height : $module.outerHeight(),\n              rtl    : ($module.css('direction') == 'rtl')\n            };\n          },\n          layout: function() {\n            if( $context.children(selector.pusher).length === 0 ) {\n              module.debug('Adding wrapper element for sidebar');\n              module.error(error.pusher);\n              $pusher = $('<div class=\"pusher\" />');\n              $context\n                .children()\n                  .not(selector.omitted)\n                  .not($sidebars)\n                  .wrapAll($pusher)\n              ;\n              module.refresh();\n            }\n            if($module.nextAll(selector.pusher).length === 0 || $module.nextAll(selector.pusher)[0] !== $pusher[0]) {\n              module.debug('Moved sidebar to correct parent element');\n              module.error(error.movedSidebar, element);\n              $module.detach().prependTo($context);\n              module.refresh();\n            }\n            module.clear.cache();\n            module.set.pushable();\n            module.set.direction();\n          }\n        },\n\n        attachEvents: function(selector, event) {\n          var\n            $toggle = $(selector)\n          ;\n          event = $.isFunction(module[event])\n            ? module[event]\n            : module.toggle\n          ;\n          if($toggle.length > 0) {\n            module.debug('Attaching sidebar events to element', selector, event);\n            $toggle\n              .on('click' + eventNamespace, event)\n            ;\n          }\n          else {\n            module.error(error.notFound, selector);\n          }\n        },\n\n        show: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.hidden()) {\n            module.refreshSidebars();\n            if(settings.overlay)  {\n              module.error(error.overlay);\n              settings.transition = 'overlay';\n            }\n            module.refresh();\n            if(module.othersActive()) {\n              module.debug('Other sidebars currently visible');\n              if(settings.exclusive) {\n                // if not overlay queue animation after hide\n                if(settings.transition != 'overlay') {\n                  module.hideOthers(module.show);\n                  return;\n                }\n                else {\n                  module.hideOthers();\n                }\n              }\n              else {\n                settings.transition = 'overlay';\n              }\n            }\n            module.pushPage(function() {\n              callback.call(element);\n              settings.onShow.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onVisible.call(element);\n          }\n          else {\n            module.debug('Sidebar is already visible');\n          }\n        },\n\n        hide: function(callback) {\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(module.is.visible() || module.is.animating()) {\n            module.debug('Hiding sidebar', callback);\n            module.refreshSidebars();\n            module.pullPage(function() {\n              callback.call(element);\n              settings.onHidden.call(element);\n            });\n            settings.onChange.call(element);\n            settings.onHide.call(element);\n          }\n        },\n\n        othersAnimating: function() {\n          return ($sidebars.not($module).filter('.' + className.animating).length > 0);\n        },\n        othersVisible: function() {\n          return ($sidebars.not($module).filter('.' + className.visible).length > 0);\n        },\n        othersActive: function() {\n          return(module.othersVisible() || module.othersAnimating());\n        },\n\n        hideOthers: function(callback) {\n          var\n            $otherSidebars = $sidebars.not($module).filter('.' + className.visible),\n            sidebarCount   = $otherSidebars.length,\n            callbackCount  = 0\n          ;\n          callback = callback || function(){};\n          $otherSidebars\n            .sidebar('hide', function() {\n              callbackCount++;\n              if(callbackCount == sidebarCount) {\n                callback();\n              }\n            })\n          ;\n        },\n\n        toggle: function() {\n          module.verbose('Determining toggled direction');\n          if(module.is.hidden()) {\n            module.show();\n          }\n          else {\n            module.hide();\n          }\n        },\n\n        pushPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition === 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            dim,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          if(settings.transition == 'scale down') {\n            module.scrollToTop();\n          }\n          module.set.transition(transition);\n          module.repaint();\n          animate = function() {\n            module.bind.clickaway();\n            module.add.inlineCSS();\n            module.set.animating();\n            module.set.visible();\n          };\n          dim = function() {\n            module.set.dimmed();\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.bind.scrollLock();\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n          if(settings.dimPage && !module.othersVisible()) {\n            requestAnimationFrame(dim);\n          }\n        },\n\n        pullPage: function(callback) {\n          var\n            transition = module.get.transition(),\n            $transition = (transition == 'overlay' || module.othersActive())\n              ? $module\n              : $pusher,\n            animate,\n            transitionEnd\n          ;\n          callback = $.isFunction(callback)\n            ? callback\n            : function(){}\n          ;\n          module.verbose('Removing context push state', module.get.direction());\n\n          module.unbind.clickaway();\n          module.unbind.scrollLock();\n\n          animate = function() {\n            module.set.transition(transition);\n            module.set.animating();\n            module.remove.visible();\n            if(settings.dimPage && !module.othersVisible()) {\n              $pusher.removeClass(className.dimmed);\n            }\n          };\n          transitionEnd = function(event) {\n            if( event.target == $transition[0] ) {\n              $transition.off(transitionEvent + elementNamespace, transitionEnd);\n              module.remove.animating();\n              module.remove.transition();\n              module.remove.inlineCSS();\n              if(transition == 'scale down' || (settings.returnScroll && module.is.mobile()) ) {\n                module.scrollBack();\n              }\n              callback.call(element);\n            }\n          };\n          $transition.off(transitionEvent + elementNamespace);\n          $transition.on(transitionEvent + elementNamespace, transitionEnd);\n          requestAnimationFrame(animate);\n        },\n\n        scrollToTop: function() {\n          module.verbose('Scrolling to top of page to avoid animation issues');\n          currentScroll = $(window).scrollTop();\n          $module.scrollTop(0);\n          window.scrollTo(0, 0);\n        },\n\n        scrollBack: function() {\n          module.verbose('Scrolling back to original page position');\n          window.scrollTo(0, currentScroll);\n        },\n\n        clear: {\n          cache: function() {\n            module.verbose('Clearing cached dimensions');\n            module.cache = {};\n          }\n        },\n\n        set: {\n\n          // ios only (scroll on html not document). This prevent auto-resize canvas/scroll in ios\n          ios: function() {\n            $html.addClass(className.ios);\n          },\n\n          // container\n          pushed: function() {\n            $context.addClass(className.pushed);\n          },\n          pushable: function() {\n            $context.addClass(className.pushable);\n          },\n\n          // pusher\n          dimmed: function() {\n            $pusher.addClass(className.dimmed);\n          },\n\n          // sidebar\n          active: function() {\n            $module.addClass(className.active);\n          },\n          animating: function() {\n            $module.addClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.addClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.addClass(className[direction]);\n          },\n          visible: function() {\n            $module.addClass(className.visible);\n          },\n          overlay: function() {\n            $module.addClass(className.overlay);\n          }\n        },\n        remove: {\n\n          inlineCSS: function() {\n            module.debug('Removing inline css styles', $style);\n            if($style && $style.length > 0) {\n              $style.remove();\n            }\n          },\n\n          // ios scroll on html not document\n          ios: function() {\n            $html.removeClass(className.ios);\n          },\n\n          // context\n          pushed: function() {\n            $context.removeClass(className.pushed);\n          },\n          pushable: function() {\n            $context.removeClass(className.pushable);\n          },\n\n          // sidebar\n          active: function() {\n            $module.removeClass(className.active);\n          },\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          transition: function(transition) {\n            transition = transition || module.get.transition();\n            $module.removeClass(transition);\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            $module.removeClass(className[direction]);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          overlay: function() {\n            $module.removeClass(className.overlay);\n          }\n        },\n\n        get: {\n          direction: function() {\n            if($module.hasClass(className.top)) {\n              return className.top;\n            }\n            else if($module.hasClass(className.right)) {\n              return className.right;\n            }\n            else if($module.hasClass(className.bottom)) {\n              return className.bottom;\n            }\n            return className.left;\n          },\n          transition: function() {\n            var\n              direction = module.get.direction(),\n              transition\n            ;\n            transition = ( module.is.mobile() )\n              ? (settings.mobileTransition == 'auto')\n                ? settings.defaultTransition.mobile[direction]\n                : settings.mobileTransition\n              : (settings.transition == 'auto')\n                ? settings.defaultTransition.computer[direction]\n                : settings.transition\n            ;\n            module.verbose('Determined transition', transition);\n            return transition;\n          },\n          transitionEvent: function() {\n            var\n              element     = document.createElement('element'),\n              transitions = {\n                'transition'       :'transitionend',\n                'OTransition'      :'oTransitionEnd',\n                'MozTransition'    :'transitionend',\n                'WebkitTransition' :'webkitTransitionEnd'\n              },\n              transition\n            ;\n            for(transition in transitions){\n              if( element.style[transition] !== undefined ){\n                return transitions[transition];\n              }\n            }\n          }\n        },\n\n        is: {\n\n          ie: function() {\n            var\n              isIE11 = (!(window.ActiveXObject) && 'ActiveXObject' in window),\n              isIE   = ('ActiveXObject' in window)\n            ;\n            return (isIE11 || isIE);\n          },\n\n          ios: function() {\n            var\n              userAgent      = navigator.userAgent,\n              isIOS          = userAgent.match(regExp.ios),\n              isMobileChrome = userAgent.match(regExp.mobileChrome)\n            ;\n            if(isIOS && !isMobileChrome) {\n              module.verbose('Browser was found to be iOS', userAgent);\n              return true;\n            }\n            else {\n              return false;\n            }\n          },\n          mobile: function() {\n            var\n              userAgent    = navigator.userAgent,\n              isMobile     = userAgent.match(regExp.mobile)\n            ;\n            if(isMobile) {\n              module.verbose('Browser was found to be mobile', userAgent);\n              return true;\n            }\n            else {\n              module.verbose('Browser is not mobile, using regular transition', userAgent);\n              return false;\n            }\n          },\n          hidden: function() {\n            return !module.is.visible();\n          },\n          visible: function() {\n            return $module.hasClass(className.visible);\n          },\n          // alias\n          open: function() {\n            return module.is.visible();\n          },\n          closed: function() {\n            return module.is.hidden();\n          },\n          vertical: function() {\n            return $module.hasClass(className.top);\n          },\n          animating: function() {\n            return $context.hasClass(className.animating);\n          },\n          rtl: function () {\n            if(module.cache.rtl === undefined) {\n              module.cache.rtl = ($module.css('direction') == 'rtl');\n            }\n            return module.cache.rtl;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      }\n    ;\n\n    if(methodInvoked) {\n      if(instance === undefined) {\n        module.initialize();\n      }\n      module.invoke(query);\n    }\n    else {\n      if(instance !== undefined) {\n        module.invoke('destroy');\n      }\n      module.initialize();\n    }\n  });\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sidebar.settings = {\n\n  name              : 'Sidebar',\n  namespace         : 'sidebar',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  transition        : 'auto',\n  mobileTransition  : 'auto',\n\n  defaultTransition : {\n    computer: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    },\n    mobile: {\n      left   : 'uncover',\n      right  : 'uncover',\n      top    : 'overlay',\n      bottom : 'overlay'\n    }\n  },\n\n  context           : 'body',\n  exclusive         : false,\n  closable          : true,\n  dimPage           : true,\n  scrollLock        : false,\n  returnScroll      : false,\n  delaySetup        : false,\n\n  duration          : 500,\n\n  onChange          : function(){},\n  onShow            : function(){},\n  onHide            : function(){},\n\n  onHidden          : function(){},\n  onVisible         : function(){},\n\n  className         : {\n    active    : 'active',\n    animating : 'animating',\n    dimmed    : 'dimmed',\n    ios       : 'ios',\n    pushable  : 'pushable',\n    pushed    : 'pushed',\n    right     : 'right',\n    top       : 'top',\n    left      : 'left',\n    bottom    : 'bottom',\n    visible   : 'visible'\n  },\n\n  selector: {\n    fixed   : '.fixed',\n    omitted : 'script, link, style, .ui.modal, .ui.dimmer, .ui.nag, .ui.fixed',\n    pusher  : '.pusher',\n    sidebar : '.ui.sidebar'\n  },\n\n  regExp: {\n    ios          : /(iPad|iPhone|iPod)/g,\n    mobileChrome : /(CriOS)/g,\n    mobile       : /Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune/g\n  },\n\n  error   : {\n    method       : 'The method you called is not defined.',\n    pusher       : 'Had to add pusher element. For optimal performance make sure body content is inside a pusher element',\n    movedSidebar : 'Had to move sidebar. For optimal performance make sure sidebar and pusher are direct children of your body tag',\n    overlay      : 'The overlay setting is no longer supported, use animation: overlay',\n    notFound     : 'There were no elements that matched the specified selector'\n  }\n\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Sticky\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.sticky = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings              = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.sticky.settings, parameters)\n          : $.extend({}, $.fn.sticky.settings),\n\n        className             = settings.className,\n        namespace             = settings.namespace,\n        error                 = settings.error,\n\n        eventNamespace        = '.' + namespace,\n        moduleNamespace       = 'module-' + namespace,\n\n        $module               = $(this),\n        $window               = $(window),\n        $scroll               = $(settings.scrollContext),\n        $container,\n        $context,\n\n        selector              = $module.selector || '',\n        instance              = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        observer,\n        module\n      ;\n\n      module      = {\n\n        initialize: function() {\n\n          module.determineContainer();\n          module.determineContext();\n          module.verbose('Initializing sticky', settings, $container);\n\n          module.save.positions();\n          module.checkErrors();\n          module.bind.events();\n\n          if(settings.observeChanges) {\n            module.observeChanges();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous instance');\n          module.reset();\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load' + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $scroll\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module.removeData(moduleNamespace);\n        },\n\n        observeChanges: function() {\n          var\n            context = $context[0]\n          ;\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu', mutations);\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            observer.observe(context, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        determineContainer: function() {\n          $container = $module.offsetParent();\n        },\n\n        determineContext: function() {\n          if(settings.context) {\n            $context = $(settings.context);\n          }\n          else {\n            $context = $container;\n          }\n          if($context.length === 0) {\n            module.error(error.invalidContext, settings.context, $module);\n            return;\n          }\n        },\n\n        checkErrors: function() {\n          if( module.is.hidden() ) {\n            module.error(error.visible, $module);\n          }\n          if(module.cache.element.height > module.cache.context.height) {\n            module.reset();\n            module.error(error.elementSize, $module);\n            return;\n          }\n        },\n\n        bind: {\n          events: function() {\n            $window\n              .on('load' + eventNamespace, module.event.load)\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $scroll\n              .off('scroll' + eventNamespace)\n              .on('scroll' + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          load: function() {\n            module.verbose('Page contents finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          resize: function() {\n            module.verbose('Window resized');\n            requestAnimationFrame(module.refresh);\n          },\n          scroll: function() {\n            requestAnimationFrame(function() {\n              $scroll.triggerHandler('scrollchange' + eventNamespace, $scroll.scrollTop() );\n            });\n          },\n          scrollchange: function(event, scrollPosition) {\n            module.stick(scrollPosition);\n            settings.onScroll.call(element);\n          }\n        },\n\n        refresh: function(hardRefresh) {\n          module.reset();\n          if(!settings.context) {\n            module.determineContext();\n          }\n          if(hardRefresh) {\n            module.determineContainer();\n          }\n          module.save.positions();\n          module.stick();\n          settings.onReposition.call(element);\n        },\n\n        supports: {\n          sticky: function() {\n            var\n              $element = $('<div/>'),\n              element = $element[0]\n            ;\n            $element.addClass(className.supported);\n            return($element.css('position').match('sticky'));\n          }\n        },\n\n        save: {\n          lastScroll: function(scroll) {\n            module.lastScroll = scroll;\n          },\n          elementScroll: function(scroll) {\n            module.elementScroll = scroll;\n          },\n          positions: function() {\n            var\n              scrollContext = {\n                height : $scroll.height()\n              },\n              element = {\n                margin: {\n                  top    : parseInt($module.css('margin-top'), 10),\n                  bottom : parseInt($module.css('margin-bottom'), 10),\n                },\n                offset : $module.offset(),\n                width  : $module.outerWidth(),\n                height : $module.outerHeight()\n              },\n              context = {\n                offset : $context.offset(),\n                height : $context.outerHeight()\n              },\n              container = {\n                height: $container.outerHeight()\n              }\n            ;\n            if( !module.is.standardScroll() ) {\n              module.debug('Non-standard scroll. Removing scroll offset from element offset');\n\n              scrollContext.top  = $scroll.scrollTop();\n              scrollContext.left = $scroll.scrollLeft();\n\n              element.offset.top  += scrollContext.top;\n              context.offset.top  += scrollContext.top;\n              element.offset.left += scrollContext.left;\n              context.offset.left += scrollContext.left;\n            }\n            module.cache = {\n              fits : ( element.height < scrollContext.height ),\n              scrollContext : {\n                height : scrollContext.height\n              },\n              element: {\n                margin : element.margin,\n                top    : element.offset.top - element.margin.top,\n                left   : element.offset.left,\n                width  : element.width,\n                height : element.height,\n                bottom : element.offset.top + element.height\n              },\n              context: {\n                top           : context.offset.top,\n                height        : context.height,\n                bottom        : context.offset.top + context.height\n              }\n            };\n            module.set.containerSize();\n            module.set.size();\n            module.stick();\n            module.debug('Caching element positions', module.cache);\n          }\n        },\n\n        get: {\n          direction: function(scroll) {\n            var\n              direction = 'down'\n            ;\n            scroll = scroll || $scroll.scrollTop();\n            if(module.lastScroll !== undefined) {\n              if(module.lastScroll < scroll) {\n                direction = 'down';\n              }\n              else if(module.lastScroll > scroll) {\n                direction = 'up';\n              }\n            }\n            return direction;\n          },\n          scrollChange: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            return (module.lastScroll)\n              ? (scroll - module.lastScroll)\n              : 0\n            ;\n          },\n          currentElementScroll: function() {\n            if(module.elementScroll) {\n              return module.elementScroll;\n            }\n            return ( module.is.top() )\n              ? Math.abs(parseInt($module.css('top'), 10))    || 0\n              : Math.abs(parseInt($module.css('bottom'), 10)) || 0\n            ;\n          },\n\n          elementScroll: function(scroll) {\n            scroll = scroll || $scroll.scrollTop();\n            var\n              element        = module.cache.element,\n              scrollContext  = module.cache.scrollContext,\n              delta          = module.get.scrollChange(scroll),\n              maxScroll      = (element.height - scrollContext.height + settings.offset),\n              elementScroll  = module.get.currentElementScroll(),\n              possibleScroll = (elementScroll + delta)\n            ;\n            if(module.cache.fits || possibleScroll < 0) {\n              elementScroll = 0;\n            }\n            else if(possibleScroll > maxScroll ) {\n              elementScroll = maxScroll;\n            }\n            else {\n              elementScroll = possibleScroll;\n            }\n            return elementScroll;\n          }\n        },\n\n        remove: {\n          lastScroll: function() {\n            delete module.lastScroll;\n          },\n          elementScroll: function(scroll) {\n            delete module.elementScroll;\n          },\n          offset: function() {\n            $module.css('margin-top', '');\n          }\n        },\n\n        set: {\n          offset: function() {\n            module.verbose('Setting offset on element', settings.offset);\n            $module\n              .css('margin-top', settings.offset)\n            ;\n          },\n          containerSize: function() {\n            var\n              tagName = $container.get(0).tagName\n            ;\n            if(tagName === 'HTML' || tagName == 'body') {\n              // this can trigger for too many reasons\n              //module.error(error.container, tagName, $module);\n              module.determineContainer();\n            }\n            else {\n              if( Math.abs($container.outerHeight() - module.cache.context.height) > settings.jitter) {\n                module.debug('Context has padding, specifying exact height for container', module.cache.context.height);\n                $container.css({\n                  height: module.cache.context.height\n                });\n              }\n            }\n          },\n          minimumSize: function() {\n            var\n              element   = module.cache.element\n            ;\n            $container\n              .css('min-height', element.height)\n            ;\n          },\n          scroll: function(scroll) {\n            module.debug('Setting scroll on element', scroll);\n            if(module.elementScroll == scroll) {\n              return;\n            }\n            if( module.is.top() ) {\n              $module\n                .css('bottom', '')\n                .css('top', -scroll)\n              ;\n            }\n            if( module.is.bottom() ) {\n              $module\n                .css('top', '')\n                .css('bottom', scroll)\n              ;\n            }\n          },\n          size: function() {\n            if(module.cache.element.height !== 0 && module.cache.element.width !== 0) {\n              element.style.setProperty('width',  module.cache.element.width  + 'px', 'important');\n              element.style.setProperty('height', module.cache.element.height + 'px', 'important');\n            }\n          }\n        },\n\n        is: {\n          standardScroll: function() {\n            return ($scroll[0] == window);\n          },\n          top: function() {\n            return $module.hasClass(className.top);\n          },\n          bottom: function() {\n            return $module.hasClass(className.bottom);\n          },\n          initialPosition: function() {\n            return (!module.is.fixed() && !module.is.bound());\n          },\n          hidden: function() {\n            return (!$module.is(':visible'));\n          },\n          bound: function() {\n            return $module.hasClass(className.bound);\n          },\n          fixed: function() {\n            return $module.hasClass(className.fixed);\n          }\n        },\n\n        stick: function(scroll) {\n          var\n            cachedPosition = scroll || $scroll.scrollTop(),\n            cache          = module.cache,\n            fits           = cache.fits,\n            element        = cache.element,\n            scrollContext  = cache.scrollContext,\n            context        = cache.context,\n            offset         = (module.is.bottom() && settings.pushing)\n              ? settings.bottomOffset\n              : settings.offset,\n            scroll         = {\n              top    : cachedPosition + offset,\n              bottom : cachedPosition + offset + scrollContext.height\n            },\n            direction      = module.get.direction(scroll.top),\n            elementScroll  = (fits)\n              ? 0\n              : module.get.elementScroll(scroll.top),\n\n            // shorthand\n            doesntFit      = !fits,\n            elementVisible = (element.height !== 0)\n          ;\n\n          if(elementVisible) {\n\n            if( module.is.initialPosition() ) {\n              if(scroll.top >= context.bottom) {\n                module.debug('Initial element position is bottom of container');\n                module.bindBottom();\n              }\n              else if(scroll.top > element.top) {\n                if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Initial element position is bottom of container');\n                  module.bindBottom();\n                }\n                else {\n                  module.debug('Initial element position is fixed');\n                  module.fixTop();\n                }\n              }\n\n            }\n            else if( module.is.fixed() ) {\n\n              // currently fixed top\n              if( module.is.top() ) {\n                if( scroll.top <= element.top ) {\n                  module.debug('Fixed element reached top of container');\n                  module.setInitialPosition();\n                }\n                else if( (element.height + scroll.top - elementScroll) >= context.bottom ) {\n                  module.debug('Fixed element reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n              }\n\n              // currently fixed bottom\n              else if(module.is.bottom() ) {\n\n                // top edge\n                if( (scroll.bottom - element.height) <= element.top) {\n                  module.debug('Bottom fixed rail has reached top of container');\n                  module.setInitialPosition();\n                }\n                // bottom edge\n                else if(scroll.bottom >= context.bottom) {\n                  module.debug('Bottom fixed rail has reached bottom of container');\n                  module.bindBottom();\n                }\n                // scroll element if larger than screen\n                else if(doesntFit) {\n                  module.set.scroll(elementScroll);\n                  module.save.lastScroll(scroll.top);\n                  module.save.elementScroll(elementScroll);\n                }\n\n              }\n            }\n            else if( module.is.bottom() ) {\n              if( scroll.top <= element.top ) {\n                module.debug('Jumped from bottom fixed to top fixed, most likely used home/end button');\n                module.setInitialPosition();\n              }\n              else {\n                if(settings.pushing) {\n                  if(module.is.bound() && scroll.bottom <= context.bottom ) {\n                    module.debug('Fixing bottom attached element to bottom of browser.');\n                    module.fixBottom();\n                  }\n                }\n                else {\n                  if(module.is.bound() && (scroll.top <= context.bottom - element.height) ) {\n                    module.debug('Fixing bottom attached element to top of browser.');\n                    module.fixTop();\n                  }\n                }\n              }\n            }\n          }\n        },\n\n        bindTop: function() {\n          module.debug('Binding element to top of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : '',\n              marginBottom : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.bottom)\n            .addClass(className.bound)\n            .addClass(className.top)\n          ;\n          settings.onTop.call(element);\n          settings.onUnstick.call(element);\n        },\n        bindBottom: function() {\n          module.debug('Binding element to bottom of parent container');\n          module.remove.offset();\n          $module\n            .css({\n              left         : '',\n              top          : ''\n            })\n            .removeClass(className.fixed)\n            .removeClass(className.top)\n            .addClass(className.bound)\n            .addClass(className.bottom)\n          ;\n          settings.onBottom.call(element);\n          settings.onUnstick.call(element);\n        },\n\n        setInitialPosition: function() {\n          module.debug('Returning to initial position');\n          module.unfix();\n          module.unbind();\n        },\n\n\n        fixTop: function() {\n          module.debug('Fixing element to top of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.bottom)\n            .addClass(className.fixed)\n            .addClass(className.top)\n          ;\n          settings.onStick.call(element);\n        },\n\n        fixBottom: function() {\n          module.debug('Sticking element to bottom of page');\n          module.set.minimumSize();\n          module.set.offset();\n          $module\n            .css({\n              left         : module.cache.element.left,\n              bottom       : '',\n              marginBottom : ''\n            })\n            .removeClass(className.bound)\n            .removeClass(className.top)\n            .addClass(className.fixed)\n            .addClass(className.bottom)\n          ;\n          settings.onStick.call(element);\n        },\n\n        unbind: function() {\n          if( module.is.bound() ) {\n            module.debug('Removing container bound position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.bound)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n          }\n        },\n\n        unfix: function() {\n          if( module.is.fixed() ) {\n            module.debug('Removing fixed position on element');\n            module.remove.offset();\n            $module\n              .removeClass(className.fixed)\n              .removeClass(className.top)\n              .removeClass(className.bottom)\n            ;\n            settings.onUnstick.call(element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Reseting elements position');\n          module.unbind();\n          module.unfix();\n          module.resetCSS();\n          module.remove.offset();\n          module.remove.lastScroll();\n        },\n\n        resetCSS: function() {\n          $module\n            .css({\n              width  : '',\n              height : ''\n            })\n          ;\n          $container\n            .css({\n              height: ''\n            })\n          ;\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 0);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.sticky.settings = {\n\n  name           : 'Sticky',\n  namespace      : 'sticky',\n\n  debug          : false,\n  verbose        : true,\n  performance    : true,\n\n  // whether to stick in the opposite direction on scroll up\n  pushing        : false,\n\n  context        : false,\n\n  // Context to watch scroll events\n  scrollContext  : window,\n\n  // Offset to adjust scroll\n  offset         : 0,\n\n  // Offset to adjust scroll when attached to bottom of screen\n  bottomOffset   : 0,\n\n  jitter         : 5, // will only set container height if difference between context and container is larger than this number\n\n  // Whether to automatically observe changes with Mutation Observers\n  observeChanges : false,\n\n  // Called when position is recalculated\n  onReposition   : function(){},\n\n  // Called on each scroll\n  onScroll       : function(){},\n\n  // Called when element is stuck to viewport\n  onStick        : function(){},\n\n  // Called when element is unstuck from viewport\n  onUnstick      : function(){},\n\n  // Called when element reaches top of context\n  onTop          : function(){},\n\n  // Called when element reaches bottom of context\n  onBottom       : function(){},\n\n  error         : {\n    container      : 'Sticky element must be inside a relative container',\n    visible        : 'Element is hidden, you must call refresh after element becomes visible',\n    method         : 'The method you called is not defined.',\n    invalidContext : 'Context specified does not exist',\n    elementSize    : 'Sticky element is larger than its container, cannot create sticky.'\n  },\n\n  className : {\n    bound     : 'bound',\n    fixed     : 'fixed',\n    supported : 'native',\n    top       : 'top',\n    bottom    : 'bottom'\n  }\n\n};\n\n})( jQuery, window, document );\n/*!\n * # Semantic UI 2.1.6 - Tab\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ($, window, document, undefined) {\n\n\"use strict\";\n\n$.fn.tab = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n\n    moduleSelector  = $allModules.selector || '',\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    initializedHistory = false,\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.tab.settings, parameters)\n          : $.extend({}, $.fn.tab.settings),\n\n        className       = settings.className,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n\n        eventNamespace  = '.' + settings.namespace,\n        moduleNamespace = 'module-' + settings.namespace,\n\n        $module         = $(this),\n        $context,\n        $tabs,\n\n        cache           = {},\n        firstLoad       = true,\n        recursionDepth  = 0,\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        activeTabPath,\n        parameterArray,\n        module,\n\n        historyEvent\n\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing tab menu item', $module);\n          module.fix.callbacks();\n          module.determineTabs();\n\n          module.debug('Determining tabs', settings.context, $tabs);\n          // set up automatic routing\n          if(settings.auto) {\n            module.set.auto();\n          }\n          module.bind.events();\n\n          if(settings.history && !initializedHistory) {\n            module.initializeHistory();\n            initializedHistory = true;\n          }\n\n          module.instantiate();\n        },\n\n        instantiate: function () {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.debug('Destroying tabs', $module);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            // if using $.tab don't add events\n            if( !$.isWindow( element ) ) {\n              module.debug('Attaching tab activation events to element', $module);\n              $module\n                .on('click' + eventNamespace, module.event.click)\n              ;\n            }\n          }\n        },\n\n        determineTabs: function() {\n          var\n            $reference\n          ;\n\n          // determine tab context\n          if(settings.context === 'parent') {\n            if($module.closest(selector.ui).length > 0) {\n              $reference = $module.closest(selector.ui);\n              module.verbose('Using closest UI element as parent', $reference);\n            }\n            else {\n              $reference = $module;\n            }\n            $context = $reference.parent();\n            module.verbose('Determined parent element for creating context', $context);\n          }\n          else if(settings.context) {\n            $context = $(settings.context);\n            module.verbose('Using selector for tab context', settings.context, $context);\n          }\n          else {\n            $context = $('body');\n          }\n          // find tabs\n          if(settings.childrenOnly) {\n            $tabs = $context.children(selector.tabs);\n            module.debug('Searching tab context children for tabs', $context, $tabs);\n          }\n          else {\n            $tabs = $context.find(selector.tabs);\n            module.debug('Searching tab context for tabs', $context, $tabs);\n          }\n        },\n\n        fix: {\n          callbacks: function() {\n            if( $.isPlainObject(parameters) && (parameters.onTabLoad || parameters.onTabInit) ) {\n              if(parameters.onTabLoad) {\n                parameters.onLoad = parameters.onTabLoad;\n                delete parameters.onTabLoad;\n                module.error(error.legacyLoad, parameters.onLoad);\n              }\n              if(parameters.onTabInit) {\n                parameters.onFirstLoad = parameters.onTabInit;\n                delete parameters.onTabInit;\n                module.error(error.legacyInit, parameters.onFirstLoad);\n              }\n              settings = $.extend(true, {}, $.fn.tab.settings, parameters);\n            }\n          }\n        },\n\n        initializeHistory: function() {\n          module.debug('Initializing page state');\n          if( $.address === undefined ) {\n            module.error(error.state);\n            return false;\n          }\n          else {\n            if(settings.historyType == 'state') {\n              module.debug('Using HTML5 to manage state');\n              if(settings.path !== false) {\n                $.address\n                  .history(true)\n                  .state(settings.path)\n                ;\n              }\n              else {\n                module.error(error.path);\n                return false;\n              }\n            }\n            $.address\n              .bind('change', module.event.history.change)\n            ;\n          }\n        },\n\n        event: {\n          click: function(event) {\n            var\n              tabPath = $(this).data(metadata.tab)\n            ;\n            if(tabPath !== undefined) {\n              if(settings.history) {\n                module.verbose('Updating page state', event);\n                $.address.value(tabPath);\n              }\n              else {\n                module.verbose('Changing tab', event);\n                module.changeTab(tabPath);\n              }\n              event.preventDefault();\n            }\n            else {\n              module.debug('No tab specified');\n            }\n          },\n          history: {\n            change: function(event) {\n              var\n                tabPath   = event.pathNames.join('/') || module.get.initialPath(),\n                pageTitle = settings.templates.determineTitle(tabPath) || false\n              ;\n              module.performance.display();\n              module.debug('History change event', tabPath, event);\n              historyEvent = event;\n              if(tabPath !== undefined) {\n                module.changeTab(tabPath);\n              }\n              if(pageTitle) {\n                $.address.title(pageTitle);\n              }\n            }\n          }\n        },\n\n        refresh: function() {\n          if(activeTabPath) {\n            module.debug('Refreshing tab', activeTabPath);\n            module.changeTab(activeTabPath);\n          }\n        },\n\n        cache: {\n\n          read: function(cacheKey) {\n            return (cacheKey !== undefined)\n              ? cache[cacheKey]\n              : false\n            ;\n          },\n          add: function(cacheKey, content) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Adding cached content for', cacheKey);\n            cache[cacheKey] = content;\n          },\n          remove: function(cacheKey) {\n            cacheKey = cacheKey || activeTabPath;\n            module.debug('Removing cached content for', cacheKey);\n            delete cache[cacheKey];\n          }\n        },\n\n        set: {\n          auto: function() {\n            var\n              url = (typeof settings.path == 'string')\n                ? settings.path.replace(/\\/$/, '') + '/{$tab}'\n                : '/{$tab}'\n            ;\n            module.verbose('Setting up automatic tab retrieval from server', url);\n            if($.isPlainObject(settings.apiSettings)) {\n              settings.apiSettings.url = url;\n            }\n            else {\n              settings.apiSettings = {\n                url: url\n              };\n            }\n          },\n          loading: function(tabPath) {\n            var\n              $tab      = module.get.tabElement(tabPath),\n              isLoading = $tab.hasClass(className.loading)\n            ;\n            if(!isLoading) {\n              module.verbose('Setting loading state for', $tab);\n              $tab\n                .addClass(className.loading)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onRequest.call($tab[0], tabPath);\n              }\n            }\n          },\n          state: function(state) {\n            $.address.value(state);\n          }\n        },\n\n        changeTab: function(tabPath) {\n          var\n            pushStateAvailable = (window.history && window.history.pushState),\n            shouldIgnoreLoad   = (pushStateAvailable && settings.ignoreFirstLoad && firstLoad),\n            remoteContent      = (settings.auto || $.isPlainObject(settings.apiSettings) ),\n            // only add default path if not remote content\n            pathArray = (remoteContent && !shouldIgnoreLoad)\n              ? module.utilities.pathToArray(tabPath)\n              : module.get.defaultPathArray(tabPath)\n          ;\n          tabPath = module.utilities.arrayToPath(pathArray);\n          $.each(pathArray, function(index, tab) {\n            var\n              currentPathArray   = pathArray.slice(0, index + 1),\n              currentPath        = module.utilities.arrayToPath(currentPathArray),\n\n              isTab              = module.is.tab(currentPath),\n              isLastIndex        = (index + 1 == pathArray.length),\n\n              $tab               = module.get.tabElement(currentPath),\n              $anchor,\n              nextPathArray,\n              nextPath,\n              isLastTab\n            ;\n            module.verbose('Looking for tab', tab);\n            if(isTab) {\n              module.verbose('Tab was found', tab);\n              // scope up\n              activeTabPath  = currentPath;\n              parameterArray = module.utilities.filterArray(pathArray, currentPathArray);\n\n              if(isLastIndex) {\n                isLastTab = true;\n              }\n              else {\n                nextPathArray = pathArray.slice(0, index + 2);\n                nextPath      = module.utilities.arrayToPath(nextPathArray);\n                isLastTab     = ( !module.is.tab(nextPath) );\n                if(isLastTab) {\n                  module.verbose('Tab parameters found', nextPathArray);\n                }\n              }\n              if(isLastTab && remoteContent) {\n                if(!shouldIgnoreLoad) {\n                  module.activate.navigation(currentPath);\n                  module.fetch.content(currentPath, tabPath);\n                }\n                else {\n                  module.debug('Ignoring remote content on first tab load', currentPath);\n                  firstLoad = false;\n                  module.cache.add(tabPath, $tab.html());\n                  module.activate.all(currentPath);\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                return false;\n              }\n              else {\n                module.debug('Opened local tab', currentPath);\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n              }\n\n            }\n            else if(tabPath.search('/') == -1 && tabPath !== '') {\n              // look for in page anchor\n              $anchor     = $('#' + tabPath + ', a[name=\"' + tabPath + '\"]');\n              currentPath = $anchor.closest('[data-tab]').data(metadata.tab);\n              $tab        = module.get.tabElement(currentPath);\n              // if anchor exists use parent tab\n              if($anchor && $anchor.length > 0 && currentPath) {\n                module.debug('Anchor link used, opening parent tab', $tab, $anchor);\n                if( !$tab.hasClass(className.active) ) {\n                  setTimeout(function() {\n                    module.scrollTo($anchor);\n                  }, 0);\n                }\n                module.activate.all(currentPath);\n                if( !module.cache.read(currentPath) ) {\n                  module.cache.add(currentPath, true);\n                  module.debug('First time tab loaded calling tab init');\n                  settings.onFirstLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                }\n                settings.onLoad.call($tab[0], currentPath, parameterArray, historyEvent);\n                return false;\n              }\n            }\n            else {\n              module.error(error.missingTab, $module, $context, currentPath);\n              return false;\n            }\n          });\n        },\n\n        scrollTo: function($element) {\n          var\n            scrollOffset = ($element && $element.length > 0)\n              ? $element.offset().top\n              : false\n          ;\n          if(scrollOffset !== false) {\n            module.debug('Forcing scroll to an in-page link in a hidden tab', scrollOffset, $element);\n            $(document).scrollTop(scrollOffset);\n          }\n        },\n\n        update: {\n          content: function(tabPath, html, evaluateScripts) {\n            var\n              $tab = module.get.tabElement(tabPath),\n              tab  = $tab[0]\n            ;\n            evaluateScripts = (evaluateScripts !== undefined)\n              ? evaluateScripts\n              : settings.evaluateScripts\n            ;\n            if(evaluateScripts) {\n              module.debug('Updating HTML and evaluating inline scripts', tabPath, html);\n              $tab.html(html);\n            }\n            else {\n              module.debug('Updating HTML', tabPath, html);\n              tab.innerHTML = html;\n            }\n          }\n        },\n\n        fetch: {\n\n          content: function(tabPath, fullTabPath) {\n            var\n              $tab        = module.get.tabElement(tabPath),\n              apiSettings = {\n                dataType         : 'html',\n                encodeParameters : false,\n                on               : 'now',\n                cache            : settings.alwaysRefresh,\n                headers          : {\n                  'X-Remote': true\n                },\n                onSuccess : function(response) {\n                  module.cache.add(fullTabPath, response);\n                  module.update.content(tabPath, response);\n                  if(tabPath == activeTabPath) {\n                    module.debug('Content loaded', tabPath);\n                    module.activate.tab(tabPath);\n                  }\n                  else {\n                    module.debug('Content loaded in background', tabPath);\n                  }\n                  settings.onFirstLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                  settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n                },\n                urlData: {\n                  tab: fullTabPath\n                }\n              },\n              request         = $tab.api('get request') || false,\n              existingRequest = ( request && request.state() === 'pending' ),\n              requestSettings,\n              cachedContent\n            ;\n\n            fullTabPath   = fullTabPath || tabPath;\n            cachedContent = module.cache.read(fullTabPath);\n\n\n            if(settings.cache && cachedContent) {\n              module.activate.tab(tabPath);\n              module.debug('Adding cached content', fullTabPath);\n              if(settings.evaluateScripts == 'once') {\n                module.update.content(tabPath, cachedContent, false);\n              }\n              else {\n                module.update.content(tabPath, cachedContent);\n              }\n              settings.onLoad.call($tab[0], tabPath, parameterArray, historyEvent);\n            }\n            else if(existingRequest) {\n              module.set.loading(tabPath);\n              module.debug('Content is already loading', fullTabPath);\n            }\n            else if($.api !== undefined) {\n              requestSettings = $.extend(true, {}, settings.apiSettings, apiSettings);\n              module.debug('Retrieving remote content', fullTabPath, requestSettings);\n              module.set.loading(tabPath);\n              $tab.api(requestSettings);\n            }\n            else {\n              module.error(error.api);\n            }\n          }\n        },\n\n        activate: {\n          all: function(tabPath) {\n            module.activate.tab(tabPath);\n            module.activate.navigation(tabPath);\n          },\n          tab: function(tabPath) {\n            var\n              $tab     = module.get.tabElement(tabPath),\n              isActive = $tab.hasClass(className.active)\n            ;\n            module.verbose('Showing tab content for', $tab);\n            if(!isActive) {\n              $tab\n                .addClass(className.active)\n                .siblings($tabs)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n              if($tab.length > 0) {\n                settings.onVisible.call($tab[0], tabPath);\n              }\n            }\n          },\n          navigation: function(tabPath) {\n            var\n              $navigation = module.get.navElement(tabPath),\n              isActive    = $navigation.hasClass(className.active)\n            ;\n            module.verbose('Activating tab navigation for', $navigation, tabPath);\n            if(!isActive) {\n              $navigation\n                .addClass(className.active)\n                .siblings($allModules)\n                  .removeClass(className.active + ' ' + className.loading)\n              ;\n            }\n          }\n        },\n\n        deactivate: {\n          all: function() {\n            module.deactivate.navigation();\n            module.deactivate.tabs();\n          },\n          navigation: function() {\n            $allModules\n              .removeClass(className.active)\n            ;\n          },\n          tabs: function() {\n            $tabs\n              .removeClass(className.active + ' ' + className.loading)\n            ;\n          }\n        },\n\n        is: {\n          tab: function(tabName) {\n            return (tabName !== undefined)\n              ? ( module.get.tabElement(tabName).length > 0 )\n              : false\n            ;\n          }\n        },\n\n        get: {\n          initialPath: function() {\n            return $allModules.eq(0).data(metadata.tab) || $tabs.eq(0).data(metadata.tab);\n          },\n          path: function() {\n            return $.address.value();\n          },\n          // adds default tabs to tab path\n          defaultPathArray: function(tabPath) {\n            return module.utilities.pathToArray( module.get.defaultPath(tabPath) );\n          },\n          defaultPath: function(tabPath) {\n            var\n              $defaultNav = $allModules.filter('[data-' + metadata.tab + '^=\"' + tabPath + '/\"]').eq(0),\n              defaultTab  = $defaultNav.data(metadata.tab) || false\n            ;\n            if( defaultTab ) {\n              module.debug('Found default tab', defaultTab);\n              if(recursionDepth < settings.maxDepth) {\n                recursionDepth++;\n                return module.get.defaultPath(defaultTab);\n              }\n              module.error(error.recursion);\n            }\n            else {\n              module.debug('No default tabs found for', tabPath, $tabs);\n            }\n            recursionDepth = 0;\n            return tabPath;\n          },\n          navElement: function(tabPath) {\n            tabPath = tabPath || activeTabPath;\n            return $allModules.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n          },\n          tabElement: function(tabPath) {\n            var\n              $fullPathTab,\n              $simplePathTab,\n              tabPathArray,\n              lastTab\n            ;\n            tabPath        = tabPath || activeTabPath;\n            tabPathArray   = module.utilities.pathToArray(tabPath);\n            lastTab        = module.utilities.last(tabPathArray);\n            $fullPathTab   = $tabs.filter('[data-' + metadata.tab + '=\"' + tabPath + '\"]');\n            $simplePathTab = $tabs.filter('[data-' + metadata.tab + '=\"' + lastTab + '\"]');\n            return ($fullPathTab.length > 0)\n              ? $fullPathTab\n              : $simplePathTab\n            ;\n          },\n          tab: function() {\n            return activeTabPath;\n          }\n        },\n\n        utilities: {\n          filterArray: function(keepArray, removeArray) {\n            return $.grep(keepArray, function(keepValue) {\n              return ( $.inArray(keepValue, removeArray) == -1);\n            });\n          },\n          last: function(array) {\n            return $.isArray(array)\n              ? array[ array.length - 1]\n              : false\n            ;\n          },\n          pathToArray: function(pathName) {\n            if(pathName === undefined) {\n              pathName = activeTabPath;\n            }\n            return typeof pathName == 'string'\n              ? pathName.split('/')\n              : [pathName]\n            ;\n          },\n          arrayToPath: function(pathArray) {\n            return $.isArray(pathArray)\n              ? pathArray.join('/')\n              : false\n            ;\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n\n};\n\n// shortcut for tabbed content with no defined navigation\n$.tab = function() {\n  $(window).tab.apply(this, arguments);\n};\n\n$.fn.tab.settings = {\n\n  name            : 'Tab',\n  namespace       : 'tab',\n\n  debug           : false,\n  verbose         : false,\n  performance     : true,\n\n  auto            : false,  // uses pjax style endpoints fetching content from same url with remote-content headers\n  history         : false,  // use browser history\n  historyType     : 'hash', // #/ or html5 state\n  path            : false,  // base path of url\n\n  context         : false,  // specify a context that tabs must appear inside\n  childrenOnly    : false,  // use only tabs that are children of context\n  maxDepth        : 25,     // max depth a tab can be nested\n\n  alwaysRefresh   : false,  // load tab content new every tab click\n  cache           : true,   // cache the content requests to pull locally\n  ignoreFirstLoad : false,  // don't load remote content on first load\n\n  apiSettings     : false,  // settings for api call\n  evaluateScripts : 'once', // whether inline scripts should be parsed (true/false/once). Once will not re-evaluate on cached content\n\n  onFirstLoad : function(tabPath, parameterArray, historyEvent) {}, // called first time loaded\n  onLoad      : function(tabPath, parameterArray, historyEvent) {}, // called on every load\n  onVisible   : function(tabPath, parameterArray, historyEvent) {}, // called every time tab visible\n  onRequest   : function(tabPath, parameterArray, historyEvent) {}, // called ever time a tab beings loading remote content\n\n  templates    : {\n    determineTitle: function(tabArray) {} // returns page title for path\n  },\n\n  error: {\n    api        : 'You attempted to load content without API module',\n    method     : 'The method you called is not defined',\n    missingTab : 'Activated tab cannot be found. Tabs are case-sensitive.',\n    noContent  : 'The tab you specified is missing a content url.',\n    path       : 'History enabled, but no path was specified',\n    recursion  : 'Max recursive depth reached',\n    legacyInit : 'onTabInit has been renamed to onFirstLoad in 2.0, please adjust your code.',\n    legacyLoad : 'onTabLoad has been renamed to onLoad in 2.0. Please adjust your code',\n    state      : 'History requires Asual\\'s Address library <https://github.com/asual/jquery-address>'\n  },\n\n  metadata : {\n    tab    : 'tab',\n    loaded : 'loaded',\n    promise: 'promise'\n  },\n\n  className   : {\n    loading : 'loading',\n    active  : 'active'\n  },\n\n  selector    : {\n    tabs : '.ui.tab',\n    ui   : '.ui'\n  }\n\n};\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Transition\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.transition = function() {\n  var\n    $allModules     = $(this),\n    moduleSelector  = $allModules.selector || '',\n\n    time            = new Date().getTime(),\n    performance     = [],\n\n    moduleArguments = arguments,\n    query           = moduleArguments[0],\n    queryArguments  = [].slice.call(arguments, 1),\n    methodInvoked   = (typeof query === 'string'),\n\n    requestAnimationFrame = window.requestAnimationFrame\n      || window.mozRequestAnimationFrame\n      || window.webkitRequestAnimationFrame\n      || window.msRequestAnimationFrame\n      || function(callback) { setTimeout(callback, 0); },\n\n    returnedValue\n  ;\n  $allModules\n    .each(function(index) {\n      var\n        $module  = $(this),\n        element  = this,\n\n        // set at run time\n        settings,\n        instance,\n\n        error,\n        className,\n        metadata,\n        animationEnd,\n        animationName,\n\n        namespace,\n        moduleNamespace,\n        eventNamespace,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n\n          // get full settings\n          settings        = module.get.settings.apply(element, moduleArguments);\n\n          // shorthand\n          className       = settings.className;\n          error           = settings.error;\n          metadata        = settings.metadata;\n\n          // define namespace\n          eventNamespace  = '.' + settings.namespace;\n          moduleNamespace = 'module-' + settings.namespace;\n          instance        = $module.data(moduleNamespace) || module;\n\n          // get vendor specific events\n          animationEnd    = module.get.animationEndEvent();\n\n          if(methodInvoked) {\n            methodInvoked = module.invoke(query);\n          }\n\n          // method not invoked, lets run an animation\n          if(methodInvoked === false) {\n            module.verbose('Converted arguments into settings object', settings);\n            if(settings.interval) {\n              module.delay(settings.animate);\n            }\n            else  {\n              module.animate();\n            }\n            module.instantiate();\n          }\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing display type on next animation');\n          delete module.displayType;\n        },\n\n        forceRepaint: function() {\n          module.verbose('Forcing element repaint');\n          var\n            $parentElement = $module.parent(),\n            $nextElement = $module.next()\n          ;\n          if($nextElement.length === 0) {\n            $module.detach().appendTo($parentElement);\n          }\n          else {\n            $module.detach().insertBefore($nextElement);\n          }\n        },\n\n        repaint: function() {\n          module.verbose('Repainting element');\n          var\n            fakeAssignment = element.offsetWidth\n          ;\n        },\n\n        delay: function(interval) {\n          var\n            direction = module.get.animationDirection(),\n            shouldReverse,\n            delay\n          ;\n          if(!direction) {\n            direction = module.can.transition()\n              ? module.get.direction()\n              : 'static'\n            ;\n          }\n          interval = (interval !== undefined)\n            ? interval\n            : settings.interval\n          ;\n          shouldReverse = (settings.reverse == 'auto' && direction == className.outward);\n          delay = (shouldReverse || settings.reverse == true)\n            ? ($allModules.length - index) * settings.interval\n            : index * settings.interval\n          ;\n          module.debug('Delaying animation by', delay);\n          setTimeout(module.animate, delay);\n        },\n\n        animate: function(overrideSettings) {\n          settings = overrideSettings || settings;\n          if(!module.is.supported()) {\n            module.error(error.support);\n            return false;\n          }\n          module.debug('Preparing animation', settings.animation);\n          if(module.is.animating()) {\n            if(settings.queue) {\n              if(!settings.allowRepeats && module.has.direction() && module.is.occurring() && module.queuing !== true) {\n                module.debug('Animation is currently occurring, preventing queueing same animation', settings.animation);\n              }\n              else {\n                module.queue(settings.animation);\n              }\n              return false;\n            }\n            else if(!settings.allowRepeats && module.is.occurring()) {\n              module.debug('Animation is already occurring, will not execute repeated animation', settings.animation);\n              return false;\n            }\n            else {\n              module.debug('New animation started, completing previous early', settings.animation);\n              instance.complete();\n            }\n          }\n          if( module.can.animate() ) {\n            module.set.animating(settings.animation);\n          }\n          else {\n            module.error(error.noAnimation, settings.animation, element);\n          }\n        },\n\n        reset: function() {\n          module.debug('Resetting animation to beginning conditions');\n          module.remove.animationCallbacks();\n          module.restore.conditions();\n          module.remove.animating();\n        },\n\n        queue: function(animation) {\n          module.debug('Queueing animation of', animation);\n          module.queuing = true;\n          $module\n            .one(animationEnd + '.queue' + eventNamespace, function() {\n              module.queuing = false;\n              module.repaint();\n              module.animate.apply(this, settings);\n            })\n          ;\n        },\n\n        complete: function (event) {\n          module.debug('Animation complete', settings.animation);\n          module.remove.completeCallback();\n          module.remove.failSafe();\n          if(!module.is.looping()) {\n            if( module.is.outward() ) {\n              module.verbose('Animation is outward, hiding element');\n              module.restore.conditions();\n              module.hide();\n            }\n            else if( module.is.inward() ) {\n              module.verbose('Animation is outward, showing element');\n              module.restore.conditions();\n              module.show();\n            }\n            else {\n              module.verbose('Static animation completed');\n              module.restore.conditions();\n              settings.onComplete.call(element);\n            }\n          }\n        },\n\n        force: {\n          visible: function() {\n            var\n              style          = $module.attr('style'),\n              userStyle      = module.get.userStyle(),\n              displayType    = module.get.displayType(),\n              overrideStyle  = userStyle + 'display: ' + displayType + ' !important;',\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== displayType) {\n              module.verbose('Overriding default display to show element', displayType);\n              $module\n                .attr('style', overrideStyle)\n              ;\n            }\n            else if(emptyStyle) {\n              $module.removeAttr('style');\n            }\n          },\n          hidden: function() {\n            var\n              style          = $module.attr('style'),\n              currentDisplay = $module.css('display'),\n              emptyStyle     = (style === undefined || style === '')\n            ;\n            if(currentDisplay !== 'none' && !module.is.hidden()) {\n              module.verbose('Overriding default display to hide element');\n              $module\n                .css('display', 'none')\n              ;\n            }\n            else if(emptyStyle) {\n              $module\n                .removeAttr('style')\n              ;\n            }\n          }\n        },\n\n        has: {\n          direction: function(animation) {\n            var\n              hasDirection = false\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              $.each(animation, function(index, word){\n                if(word === className.inward || word === className.outward) {\n                  hasDirection = true;\n                }\n              });\n            }\n            return hasDirection;\n          },\n          inlineDisplay: function() {\n            var\n              style = $module.attr('style') || ''\n            ;\n            return $.isArray(style.match(/display.*?;/, ''));\n          }\n        },\n\n        set: {\n          animating: function(animation) {\n            var\n              animationClass,\n              direction\n            ;\n            // remove previous callbacks\n            module.remove.completeCallback();\n\n            // determine exact animation\n            animation      = animation || settings.animation;\n            animationClass = module.get.animationClass(animation);\n\n            // save animation class in cache to restore class names\n            module.save.animation(animationClass);\n\n            // override display if necessary so animation appears visibly\n            module.force.visible();\n\n            module.remove.hidden();\n            module.remove.direction();\n\n            module.start.animation(animationClass);\n\n          },\n          duration: function(animationName, duration) {\n            duration = duration || settings.duration;\n            duration = (typeof duration == 'number')\n              ? duration + 'ms'\n              : duration\n            ;\n            if(duration || duration === 0) {\n              module.verbose('Setting animation duration', duration);\n              $module\n                .css({\n                  'animation-duration':  duration\n                })\n              ;\n            }\n          },\n          direction: function(direction) {\n            direction = direction || module.get.direction();\n            if(direction == className.inward) {\n              module.set.inward();\n            }\n            else {\n              module.set.outward();\n            }\n          },\n          looping: function() {\n            module.debug('Transition set to loop');\n            $module\n              .addClass(className.looping)\n            ;\n          },\n          hidden: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.hidden)\n            ;\n          },\n          inward: function() {\n            module.debug('Setting direction to inward');\n            $module\n              .removeClass(className.outward)\n              .addClass(className.inward)\n            ;\n          },\n          outward: function() {\n            module.debug('Setting direction to outward');\n            $module\n              .removeClass(className.inward)\n              .addClass(className.outward)\n            ;\n          },\n          visible: function() {\n            $module\n              .addClass(className.transition)\n              .addClass(className.visible)\n            ;\n          }\n        },\n\n        start: {\n          animation: function(animationClass) {\n            animationClass = animationClass || module.get.animationClass();\n            module.debug('Starting tween', animationClass);\n            $module\n              .addClass(animationClass)\n              .one(animationEnd + '.complete' + eventNamespace, module.complete)\n            ;\n            if(settings.useFailSafe) {\n              module.add.failSafe();\n            }\n            module.set.duration(settings.duration);\n            settings.onStart.call(element);\n          }\n        },\n\n        save: {\n          animation: function(animation) {\n            if(!module.cache) {\n              module.cache = {};\n            }\n            module.cache.animation = animation;\n          },\n          displayType: function(displayType) {\n            if(displayType !== 'none') {\n              $module.data(metadata.displayType, displayType);\n            }\n          },\n          transitionExists: function(animation, exists) {\n            $.fn.transition.exists[animation] = exists;\n            module.verbose('Saving existence of transition', animation, exists);\n          }\n        },\n\n        restore: {\n          conditions: function() {\n            var\n              animation = module.get.currentAnimation()\n            ;\n            if(animation) {\n              $module\n                .removeClass(animation)\n              ;\n              module.verbose('Removing animation class', module.cache);\n            }\n            module.remove.duration();\n          }\n        },\n\n        add: {\n          failSafe: function() {\n            var\n              duration = module.get.duration()\n            ;\n            module.timer = setTimeout(function() {\n              $module.triggerHandler(animationEnd);\n            }, duration + settings.failSafeDelay);\n            module.verbose('Adding fail safe timer', module.timer);\n          }\n        },\n\n        remove: {\n          animating: function() {\n            $module.removeClass(className.animating);\n          },\n          animationCallbacks: function() {\n            module.remove.queueCallback();\n            module.remove.completeCallback();\n          },\n          queueCallback: function() {\n            $module.off('.queue' + eventNamespace);\n          },\n          completeCallback: function() {\n            $module.off('.complete' + eventNamespace);\n          },\n          display: function() {\n            $module.css('display', '');\n          },\n          direction: function() {\n            $module\n              .removeClass(className.inward)\n              .removeClass(className.outward)\n            ;\n          },\n          duration: function() {\n            $module\n              .css('animation-duration', '')\n            ;\n          },\n          failSafe: function() {\n            module.verbose('Removing fail safe timer', module.timer);\n            if(module.timer) {\n              clearTimeout(module.timer);\n            }\n          },\n          hidden: function() {\n            $module.removeClass(className.hidden);\n          },\n          visible: function() {\n            $module.removeClass(className.visible);\n          },\n          looping: function() {\n            module.debug('Transitions are no longer looping');\n            if( module.is.looping() ) {\n              module.reset();\n              $module\n                .removeClass(className.looping)\n              ;\n            }\n          },\n          transition: function() {\n            $module\n              .removeClass(className.visible)\n              .removeClass(className.hidden)\n            ;\n          }\n        },\n        get: {\n          settings: function(animation, duration, onComplete) {\n            // single settings object\n            if(typeof animation == 'object') {\n              return $.extend(true, {}, $.fn.transition.settings, animation);\n            }\n            // all arguments provided\n            else if(typeof onComplete == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : onComplete,\n                duration   : duration\n              });\n            }\n            // only duration provided\n            else if(typeof duration == 'string' || typeof duration == 'number') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation,\n                duration  : duration\n              });\n            }\n            // duration is actually settings object\n            else if(typeof duration == 'object') {\n              return $.extend({}, $.fn.transition.settings, duration, {\n                animation : animation\n              });\n            }\n            // duration is actually callback\n            else if(typeof duration == 'function') {\n              return $.extend({}, $.fn.transition.settings, {\n                animation  : animation,\n                onComplete : duration\n              });\n            }\n            // only animation provided\n            else {\n              return $.extend({}, $.fn.transition.settings, {\n                animation : animation\n              });\n            }\n            return $.fn.transition.settings;\n          },\n          animationClass: function(animation) {\n            var\n              animationClass = animation || settings.animation,\n              directionClass = (module.can.transition() && !module.has.direction())\n                ? module.get.direction() + ' '\n                : ''\n            ;\n            return className.animating + ' '\n              + className.transition + ' '\n              + directionClass\n              + animationClass\n            ;\n          },\n          currentAnimation: function() {\n            return (module.cache && module.cache.animation !== undefined)\n              ? module.cache.animation\n              : false\n            ;\n          },\n          currentDirection: function() {\n            return module.is.inward()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          direction: function() {\n            return module.is.hidden() || !module.is.visible()\n              ? className.inward\n              : className.outward\n            ;\n          },\n          animationDirection: function(animation) {\n            var\n              direction\n            ;\n            animation = animation || settings.animation;\n            if(typeof animation === 'string') {\n              animation = animation.split(' ');\n              // search animation name for out/in class\n              $.each(animation, function(index, word){\n                if(word === className.inward) {\n                  direction = className.inward;\n                }\n                else if(word === className.outward) {\n                  direction = className.outward;\n                }\n              });\n            }\n            // return found direction\n            if(direction) {\n              return direction;\n            }\n            return false;\n          },\n          duration: function(duration) {\n            duration = duration || settings.duration;\n            if(duration === false) {\n              duration = $module.css('animation-duration') || 0;\n            }\n            return (typeof duration === 'string')\n              ? (duration.indexOf('ms') > -1)\n                ? parseFloat(duration)\n                : parseFloat(duration) * 1000\n              : duration\n            ;\n          },\n          displayType: function() {\n            if(settings.displayType) {\n              return settings.displayType;\n            }\n            if($module.data(metadata.displayType) === undefined) {\n              // create fake element to determine display state\n              module.can.transition(true);\n            }\n            return $module.data(metadata.displayType);\n          },\n          userStyle: function(style) {\n            style = style || $module.attr('style') || '';\n            return style.replace(/display.*?;/, '');\n          },\n          transitionExists: function(animation) {\n            return $.fn.transition.exists[animation];\n          },\n          animationStartEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationstart',\n                'OAnimation'      :'oAnimationStart',\n                'MozAnimation'    :'mozAnimationStart',\n                'WebkitAnimation' :'webkitAnimationStart'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          },\n          animationEndEvent: function() {\n            var\n              element     = document.createElement('div'),\n              animations  = {\n                'animation'       :'animationend',\n                'OAnimation'      :'oAnimationEnd',\n                'MozAnimation'    :'mozAnimationEnd',\n                'WebkitAnimation' :'webkitAnimationEnd'\n              },\n              animation\n            ;\n            for(animation in animations){\n              if( element.style[animation] !== undefined ){\n                return animations[animation];\n              }\n            }\n            return false;\n          }\n\n        },\n\n        can: {\n          transition: function(forced) {\n            var\n              animation         = settings.animation,\n              transitionExists  = module.get.transitionExists(animation),\n              elementClass,\n              tagName,\n              $clone,\n              currentAnimation,\n              inAnimation,\n              directionExists,\n              displayType\n            ;\n            if( transitionExists === undefined || forced) {\n              module.verbose('Determining whether animation exists');\n              elementClass = $module.attr('class');\n              tagName      = $module.prop('tagName');\n\n              $clone = $('<' + tagName + ' />').addClass( elementClass ).insertAfter($module);\n              currentAnimation = $clone\n                .addClass(animation)\n                .removeClass(className.inward)\n                .removeClass(className.outward)\n                .addClass(className.animating)\n                .addClass(className.transition)\n                .css('animationName')\n              ;\n              inAnimation = $clone\n                .addClass(className.inward)\n                .css('animationName')\n              ;\n              displayType = $clone\n                .attr('class', elementClass)\n                .removeAttr('style')\n                .removeClass(className.hidden)\n                .removeClass(className.visible)\n                .show()\n                .css('display')\n              ;\n              module.verbose('Determining final display state', displayType);\n              module.save.displayType(displayType);\n\n              $clone.remove();\n              if(currentAnimation != inAnimation) {\n                module.debug('Direction exists for animation', animation);\n                directionExists = true;\n              }\n              else if(currentAnimation == 'none' || !currentAnimation) {\n                module.debug('No animation defined in css', animation);\n                return;\n              }\n              else {\n                module.debug('Static animation found', animation, displayType);\n                directionExists = false;\n              }\n              module.save.transitionExists(animation, directionExists);\n            }\n            return (transitionExists !== undefined)\n              ? transitionExists\n              : directionExists\n            ;\n          },\n          animate: function() {\n            // can transition does not return a value if animation does not exist\n            return (module.can.transition() !== undefined);\n          }\n        },\n\n        is: {\n          animating: function() {\n            return $module.hasClass(className.animating);\n          },\n          inward: function() {\n            return $module.hasClass(className.inward);\n          },\n          outward: function() {\n            return $module.hasClass(className.outward);\n          },\n          looping: function() {\n            return $module.hasClass(className.looping);\n          },\n          occurring: function(animation) {\n            animation = animation || settings.animation;\n            animation = '.' + animation.replace(' ', '.');\n            return ( $module.filter(animation).length > 0 );\n          },\n          visible: function() {\n            return $module.is(':visible');\n          },\n          hidden: function() {\n            return $module.css('visibility') === 'hidden';\n          },\n          supported: function() {\n            return(animationEnd !== false);\n          }\n        },\n\n        hide: function() {\n          module.verbose('Hiding element');\n          if( module.is.animating() ) {\n            module.reset();\n          }\n          element.blur(); // IE will trigger focus change if element is not blurred before hiding\n          module.remove.display();\n          module.remove.visible();\n          module.set.hidden();\n          module.force.hidden();\n          settings.onHide.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        show: function(display) {\n          module.verbose('Showing element', display);\n          module.remove.hidden();\n          module.set.visible();\n          module.force.visible();\n          settings.onShow.call(element);\n          settings.onComplete.call(element);\n          // module.repaint();\n        },\n\n        toggle: function() {\n          if( module.is.visible() ) {\n            module.hide();\n          }\n          else {\n            module.show();\n          }\n        },\n\n        stop: function() {\n          module.debug('Stopping current animation');\n          $module.triggerHandler(animationEnd);\n        },\n\n        stopAll: function() {\n          module.debug('Stopping all animation');\n          module.remove.queueCallback();\n          $module.triggerHandler(animationEnd);\n        },\n\n        clear: {\n          queue: function() {\n            module.debug('Clearing animation queue');\n            module.remove.queueCallback();\n          }\n        },\n\n        enable: function() {\n          module.verbose('Starting animation');\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          module.debug('Stopping animation');\n          $module.addClass(className.disabled);\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if($allModules.length > 1) {\n              title += ' ' + '(' + $allModules.length + ')';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        // modified for transition to return invoke success\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return (found !== undefined)\n            ? found\n            : false\n          ;\n        }\n      };\n      module.initialize();\n    })\n  ;\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n// Records if CSS transition is available\n$.fn.transition.exists = {};\n\n$.fn.transition.settings = {\n\n  // module info\n  name          : 'Transition',\n\n  // debug content outputted to console\n  debug         : false,\n\n  // verbose debug output\n  verbose       : false,\n\n  // performance data output\n  performance   : true,\n\n  // event namespace\n  namespace     : 'transition',\n\n  // delay between animations in group\n  interval      : 0,\n\n  // whether group animations should be reversed\n  reverse       : 'auto',\n\n  // animation callback event\n  onStart       : function() {},\n  onComplete    : function() {},\n  onShow        : function() {},\n  onHide        : function() {},\n\n  // whether timeout should be used to ensure callback fires in cases animationend does not\n  useFailSafe   : true,\n\n  // delay in ms for fail safe\n  failSafeDelay : 100,\n\n  // whether EXACT animation can occur twice in a row\n  allowRepeats  : false,\n\n  // Override final display type on visible\n  displayType   : false,\n\n  // animation duration\n  animation     : 'fade',\n  duration      : false,\n\n  // new animations will occur after previous ones\n  queue         : true,\n\n  metadata : {\n    displayType: 'display'\n  },\n\n  className   : {\n    animating  : 'animating',\n    disabled   : 'disabled',\n    hidden     : 'hidden',\n    inward     : 'in',\n    loading    : 'loading',\n    looping    : 'looping',\n    outward    : 'out',\n    transition : 'transition',\n    visible    : 'visible'\n  },\n\n  // possible errors\n  error: {\n    noAnimation : 'There is no css animation matching the one you specified. Please make sure your css is vendor prefixed, and you have included transition css.',\n    repeated    : 'That animation is already occurring, cancelling repeated animation',\n    method      : 'The method you called is not defined',\n    support     : 'This browser does not support CSS animations'\n  }\n\n};\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - API\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.api = $.fn.api = function(parameters) {\n\n  var\n    // use window context if none specified\n    $allModules     = $.isFunction(this)\n        ? $(window)\n        : $(this),\n    moduleSelector = $allModules.selector || '',\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.api.settings, parameters)\n          : $.extend({}, $.fn.api.settings),\n\n        // internal aliases\n        namespace       = settings.namespace,\n        metadata        = settings.metadata,\n        selector        = settings.selector,\n        error           = settings.error,\n        className       = settings.className,\n\n        // define namespaces for modules\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        // element that creates request\n        $module         = $(this),\n        $form           = $module.closest(selector.form),\n\n        // context used for state\n        $context        = (settings.stateContext)\n          ? $(settings.stateContext)\n          : $module,\n\n        // request details\n        ajaxSettings,\n        requestSettings,\n        url,\n        data,\n        requestStartTime,\n\n        // standard module\n        element         = this,\n        context         = $context[0],\n        instance        = $module.data(moduleNamespace),\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          if(!methodInvoked) {\n            module.bind.events();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, instance)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module for', element);\n          $module\n            .removeData(moduleNamespace)\n            .off(eventNamespace)\n          ;\n        },\n\n        bind: {\n          events: function() {\n            var\n              triggerEvent = module.get.event()\n            ;\n            if( triggerEvent ) {\n              module.verbose('Attaching API events to element', triggerEvent);\n              $module\n                .on(triggerEvent + eventNamespace, module.event.trigger)\n              ;\n            }\n            else if(settings.on == 'now') {\n              module.debug('Querying API endpoint immediately');\n              module.query();\n            }\n          }\n        },\n\n        decode: {\n          json: function(response) {\n            if(response !== undefined && typeof response == 'string') {\n              try {\n               response = JSON.parse(response);\n              }\n              catch(e) {\n                // isnt json string\n              }\n            }\n            return response;\n          }\n        },\n\n        read: {\n          cachedResponse: function(url) {\n            var\n              response\n            ;\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            response = sessionStorage.getItem(url);\n            module.debug('Using cached response', url, response);\n            response = module.decode.json(response);\n            return false;\n          }\n        },\n        write: {\n          cachedResponse: function(url, response) {\n            if(response && response === '') {\n              module.debug('Response empty, not caching', response);\n              return;\n            }\n            if(window.Storage === undefined) {\n              module.error(error.noStorage);\n              return;\n            }\n            if( $.isPlainObject(response) ) {\n              response = JSON.stringify(response);\n            }\n            sessionStorage.setItem(url, response);\n            module.verbose('Storing cached response for url', url, response);\n          }\n        },\n\n        query: function() {\n\n          if(module.is.disabled()) {\n            module.debug('Element is disabled API request aborted');\n            return;\n          }\n\n          if(module.is.loading()) {\n            if(settings.interruptRequests) {\n              module.debug('Interrupting previous request');\n              module.abort();\n            }\n            else {\n              module.debug('Cancelling request, previous request is still pending');\n              return;\n            }\n          }\n\n          // pass element metadata to url (value, text)\n          if(settings.defaultData) {\n            $.extend(true, settings.urlData, module.get.defaultData());\n          }\n\n          // Add form content\n          if(settings.serializeForm) {\n            settings.data = module.add.formData(settings.data);\n          }\n\n          // call beforesend and get any settings changes\n          requestSettings = module.get.settings();\n\n          // check if before send cancelled request\n          if(requestSettings === false) {\n            module.cancelled = true;\n            module.error(error.beforeSend);\n            return;\n          }\n          else {\n            module.cancelled = false;\n          }\n\n          // get url\n          url = module.get.templatedURL();\n\n          if(!url && !module.is.mocked()) {\n            module.error(error.missingURL);\n            return;\n          }\n\n          // replace variables\n          url = module.add.urlData( url );\n\n          // missing url parameters\n          if( !url && !module.is.mocked()) {\n            return;\n          }\n\n\n          // look for jQuery ajax parameters in settings\n          ajaxSettings = $.extend(true, {}, settings, {\n            type       : settings.method || settings.type,\n            data       : data,\n            url        : settings.base + url,\n            beforeSend : settings.beforeXHR,\n            success    : function() {},\n            failure    : function() {},\n            complete   : function() {}\n          });\n\n          module.debug('Querying URL', ajaxSettings.url);\n          module.verbose('Using AJAX settings', ajaxSettings);\n\n          if(settings.cache === 'local' && module.read.cachedResponse(url)) {\n            module.debug('Response returned from local cache');\n            module.request = module.create.request();\n            module.request.resolveWith(context, [ module.read.cachedResponse(url) ]);\n            return;\n          }\n\n          if( !settings.throttle ) {\n            module.debug('Sending request', data, ajaxSettings.method);\n            module.send.request();\n          }\n          else {\n            if(!settings.throttleFirstRequest && !module.timer) {\n              module.debug('Sending request', data, ajaxSettings.method);\n              module.send.request();\n              module.timer = setTimeout(function(){}, settings.throttle);\n            }\n            else {\n              module.debug('Throttling request', settings.throttle);\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                if(module.timer) {\n                  delete module.timer;\n                }\n                module.debug('Sending throttled request', data, ajaxSettings.method);\n                module.send.request();\n              }, settings.throttle);\n            }\n          }\n\n        },\n\n        should: {\n          removeError: function() {\n            return ( settings.hideError === true || (settings.hideError === 'auto' && !module.is.form()) );\n          }\n        },\n\n        is: {\n          disabled: function() {\n            return ($module.filter(selector.disabled).length > 0);\n          },\n          form: function() {\n            return $module.is('form') || $context.is('form');\n          },\n          mocked: function() {\n            return (settings.mockResponse || settings.mockResponseAsync);\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          loading: function() {\n            return (module.request && module.request.state() == 'pending');\n          },\n          abortedRequest: function(xhr) {\n            if(xhr && xhr.readyState !== undefined && xhr.readyState === 0) {\n              module.verbose('XHR request determined to be aborted');\n              return true;\n            }\n            else {\n              module.verbose('XHR request was not aborted');\n              return false;\n            }\n          },\n          validResponse: function(response) {\n            if( (settings.dataType !== 'json' && settings.dataType !== 'jsonp') || !$.isFunction(settings.successTest) ) {\n              module.verbose('Response is not JSON, skipping validation', settings.successTest, response);\n              return true;\n            }\n            module.debug('Checking JSON returned success', settings.successTest, response);\n            if( settings.successTest(response) ) {\n              module.debug('Response passed success test', response);\n              return true;\n            }\n            else {\n              module.debug('Response failed success test', response);\n              return false;\n            }\n          }\n        },\n\n        was: {\n          cancelled: function() {\n            return (module.cancelled || false);\n          },\n          succesful: function() {\n            return (module.request && module.request.state() == 'resolved');\n          },\n          failure: function() {\n            return (module.request && module.request.state() == 'rejected');\n          },\n          complete: function() {\n            return (module.request && (module.request.state() == 'resolved' || module.request.state() == 'rejected') );\n          }\n        },\n\n        add: {\n          urlData: function(url, urlData) {\n            var\n              requiredVariables,\n              optionalVariables\n            ;\n            if(url) {\n              requiredVariables = url.match(settings.regExp.required);\n              optionalVariables = url.match(settings.regExp.optional);\n              urlData           = urlData || settings.urlData;\n              if(requiredVariables) {\n                module.debug('Looking for required URL variables', requiredVariables);\n                $.each(requiredVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(2, templatedString.length - 3)\n                      : templatedString.substr(1, templatedString.length - 2),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // remove value\n                  if(value === undefined) {\n                    module.error(error.requiredParameter, variable, url);\n                    url = false;\n                    return false;\n                  }\n                  else {\n                    module.verbose('Found required variable', variable, value);\n                    value = (settings.encodeParameters)\n                      ? module.get.urlEncodedValue(value)\n                      : value\n                    ;\n                    url = url.replace(templatedString, value);\n                  }\n                });\n              }\n              if(optionalVariables) {\n                module.debug('Looking for optional URL variables', requiredVariables);\n                $.each(optionalVariables, function(index, templatedString) {\n                  var\n                    // allow legacy {/$var} style\n                    variable = (templatedString.indexOf('$') !== -1)\n                      ? templatedString.substr(3, templatedString.length - 4)\n                      : templatedString.substr(2, templatedString.length - 3),\n                    value   = ($.isPlainObject(urlData) && urlData[variable] !== undefined)\n                      ? urlData[variable]\n                      : ($module.data(variable) !== undefined)\n                        ? $module.data(variable)\n                        : ($context.data(variable) !== undefined)\n                          ? $context.data(variable)\n                          : urlData[variable]\n                  ;\n                  // optional replacement\n                  if(value !== undefined) {\n                    module.verbose('Optional variable Found', variable, value);\n                    url = url.replace(templatedString, value);\n                  }\n                  else {\n                    module.verbose('Optional variable not found', variable);\n                    // remove preceding slash if set\n                    if(url.indexOf('/' + templatedString) !== -1) {\n                      url = url.replace('/' + templatedString, '');\n                    }\n                    else {\n                      url = url.replace(templatedString, '');\n                    }\n                  }\n                });\n              }\n            }\n            return url;\n          },\n          formData: function(data) {\n            var\n              canSerialize = ($.fn.serializeObject !== undefined),\n              formData     = (canSerialize)\n                ? $form.serializeObject()\n                : $form.serialize(),\n              hasOtherData\n            ;\n            data         = data || settings.data;\n            hasOtherData = $.isPlainObject(data);\n\n            if(hasOtherData) {\n              if(canSerialize) {\n                module.debug('Extending existing data with form data', data, formData);\n                data = $.extend(true, {}, data, formData);\n              }\n              else {\n                module.error(error.missingSerialize);\n                module.debug('Cant extend data. Replacing data with form data', data, formData);\n                data = formData;\n              }\n            }\n            else {\n              module.debug('Adding form data', formData);\n              data = formData;\n            }\n            return data;\n          }\n        },\n\n        send: {\n          request: function() {\n            module.set.loading();\n            module.request = module.create.request();\n            if( module.is.mocked() ) {\n              module.mockedXHR = module.create.mockedXHR();\n            }\n            else {\n              module.xhr = module.create.xhr();\n            }\n            settings.onRequest.call(context, module.request, module.xhr);\n          }\n        },\n\n        event: {\n          trigger: function(event) {\n            module.query();\n            if(event.type == 'submit' || event.type == 'click') {\n              event.preventDefault();\n            }\n          },\n          xhr: {\n            always: function() {\n              // nothing special\n            },\n            done: function(response, textStatus, xhr) {\n              var\n                context            = this,\n                elapsedTime        = (new Date().getTime() - requestStartTime),\n                timeLeft           = (settings.loadingDuration - elapsedTime),\n                translatedResponse = ( $.isFunction(settings.onResponse) )\n                  ? settings.onResponse.call(context, $.extend(true, {}, response))\n                  : false\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(translatedResponse) {\n                module.debug('Modified API response in onResponse callback', settings.onResponse, translatedResponse, response);\n                response = translatedResponse;\n              }\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.validResponse(response) ) {\n                  module.request.resolveWith(context, [response, xhr]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'invalid']);\n                }\n              }, timeLeft);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                context     = this,\n                elapsedTime = (new Date().getTime() - requestStartTime),\n                timeLeft    = (settings.loadingDuration - elapsedTime)\n              ;\n              timeLeft = (timeLeft > 0)\n                ? timeLeft\n                : 0\n              ;\n              if(timeLeft > 0) {\n                module.debug('Response completed early delaying state change by', timeLeft);\n              }\n              setTimeout(function() {\n                if( module.is.abortedRequest(xhr) ) {\n                  module.request.rejectWith(context, [xhr, 'aborted', httpMessage]);\n                }\n                else {\n                  module.request.rejectWith(context, [xhr, 'error', status, httpMessage]);\n                }\n              }, timeLeft);\n            }\n          },\n          request: {\n            done: function(response, xhr) {\n              module.debug('Successful API Response', response);\n              if(settings.cache === 'local' && url) {\n                module.write.cachedResponse(url, response);\n                module.debug('Saving server response locally', module.cache);\n              }\n              settings.onSuccess.call(context, response, $module, xhr);\n            },\n            complete: function(firstParameter, secondParameter) {\n              var\n                xhr,\n                response\n              ;\n              // have to guess callback parameters based on request success\n              if( module.was.succesful() ) {\n                response = firstParameter;\n                xhr      = secondParameter;\n              }\n              else {\n                xhr      = firstParameter;\n                response = module.get.responseFromXHR(xhr);\n              }\n              module.remove.loading();\n              settings.onComplete.call(context, response, $module, xhr);\n            },\n            fail: function(xhr, status, httpMessage) {\n              var\n                // pull response from xhr if available\n                response     = module.get.responseFromXHR(xhr),\n                errorMessage = module.get.errorFromRequest(response, status, httpMessage)\n              ;\n              if(status == 'aborted') {\n                module.debug('XHR Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);\n                settings.onAbort.call(context, status, $module, xhr);\n              }\n              else if(status == 'invalid') {\n                module.debug('JSON did not pass success test. A server-side error has most likely occurred', response);\n              }\n              else if(status == 'error')  {\n                if(xhr !== undefined) {\n                  module.debug('XHR produced a server error', status, httpMessage);\n                  // make sure we have an error to display to console\n                  if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {\n                    module.error(error.statusMessage + httpMessage, ajaxSettings.url);\n                  }\n                  settings.onError.call(context, errorMessage, $module, xhr);\n                }\n              }\n\n              if(settings.errorDuration && status !== 'aborted') {\n                module.debug('Adding error state');\n                module.set.error();\n                if( module.should.removeError() ) {\n                  setTimeout(module.remove.error, settings.errorDuration);\n                }\n              }\n              module.debug('API Request failed', errorMessage, xhr);\n              settings.onFailure.call(context, response, $module, xhr);\n            }\n          }\n        },\n\n        create: {\n\n          request: function() {\n            // api request promise\n            return $.Deferred()\n              .always(module.event.request.complete)\n              .done(module.event.request.done)\n              .fail(module.event.request.fail)\n            ;\n          },\n\n          mockedXHR: function () {\n            var\n              // xhr does not simulate these properties of xhr but must return them\n              textStatus  = false,\n              status      = false,\n              httpMessage = false,\n              asyncCallback,\n              response,\n              mockedXHR\n            ;\n\n            mockedXHR = $.Deferred()\n              .always(module.event.xhr.complete)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n\n            if(settings.mockResponse) {\n              if( $.isFunction(settings.mockResponse) ) {\n                module.debug('Using mocked callback returning response', settings.mockResponse);\n                response = settings.mockResponse.call(context, settings);\n              }\n              else {\n                module.debug('Using specified response', settings.mockResponse);\n                response = settings.mockResponse;\n              }\n              // simulating response\n              mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n            }\n            else if( $.isFunction(settings.mockResponseAsync) ) {\n              asyncCallback = function(response) {\n                module.debug('Async callback returned response', response);\n\n                if(response) {\n                  mockedXHR.resolveWith(context, [ response, textStatus, { responseText: response }]);\n                }\n                else {\n                  mockedXHR.rejectWith(context, [{ responseText: response }, status, httpMessage]);\n                }\n              };\n              module.debug('Using async mocked response', settings.mockResponseAsync);\n              settings.mockResponseAsync.call(context, settings, asyncCallback);\n            }\n            return mockedXHR;\n          },\n\n          xhr: function() {\n            var\n              xhr\n            ;\n            // ajax request promise\n            xhr = $.ajax(ajaxSettings)\n              .always(module.event.xhr.always)\n              .done(module.event.xhr.done)\n              .fail(module.event.xhr.fail)\n            ;\n            module.verbose('Created server request', xhr);\n            return xhr;\n          }\n        },\n\n        set: {\n          error: function() {\n            module.verbose('Adding error state to element', $context);\n            $context.addClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Adding loading state to element', $context);\n            $context.addClass(className.loading);\n            requestStartTime = new Date().getTime();\n          }\n        },\n\n        remove: {\n          error: function() {\n            module.verbose('Removing error state from element', $context);\n            $context.removeClass(className.error);\n          },\n          loading: function() {\n            module.verbose('Removing loading state from element', $context);\n            $context.removeClass(className.loading);\n          }\n        },\n\n        get: {\n          responseFromXHR: function(xhr) {\n            return $.isPlainObject(xhr)\n              ? (settings.dataType == 'json' || settings.dataType == 'jsonp')\n                ? module.decode.json(xhr.responseText)\n                : xhr.responseText\n              : false\n            ;\n          },\n          errorFromRequest: function(response, status, httpMessage) {\n            return ($.isPlainObject(response) && response.error !== undefined)\n              ? response.error // use json error message\n              : (settings.error[status] !== undefined) // use server error message\n                ? settings.error[status]\n                : httpMessage\n            ;\n          },\n          request: function() {\n            return module.request || false;\n          },\n          xhr: function() {\n            return module.xhr || false;\n          },\n          settings: function() {\n            var\n              runSettings\n            ;\n            runSettings = settings.beforeSend.call(context, settings);\n            if(runSettings) {\n              if(runSettings.success !== undefined) {\n                module.debug('Legacy success callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.success);\n                runSettings.onSuccess = runSettings.success;\n              }\n              if(runSettings.failure !== undefined) {\n                module.debug('Legacy failure callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.failure);\n                runSettings.onFailure = runSettings.failure;\n              }\n              if(runSettings.complete !== undefined) {\n                module.debug('Legacy complete callback detected', runSettings);\n                module.error(error.legacyParameters, runSettings.complete);\n                runSettings.onComplete = runSettings.complete;\n              }\n            }\n            if(runSettings === undefined) {\n              module.error(error.noReturnedValue);\n            }\n            return (runSettings !== undefined)\n              ? runSettings\n              : settings\n            ;\n          },\n          urlEncodedValue: function(value) {\n            var\n              decodedValue   = window.decodeURIComponent(value),\n              encodedValue   = window.encodeURIComponent(value),\n              alreadyEncoded = (decodedValue !== value)\n            ;\n            if(alreadyEncoded) {\n              module.debug('URL value is already encoded, avoiding double encoding', value);\n              return value;\n            }\n            module.verbose('Encoding value using encodeURIComponent', value, encodedValue);\n            return encodedValue;\n          },\n          defaultData: function() {\n            var\n              data = {}\n            ;\n            if( !$.isWindow(element) ) {\n              if( module.is.input() ) {\n                data.value = $module.val();\n              }\n              else if( !module.is.form() ) {\n\n              }\n              else {\n                data.text = $module.text();\n              }\n            }\n            return data;\n          },\n          event: function() {\n            if( $.isWindow(element) || settings.on == 'now' ) {\n              module.debug('API called without element, no events attached');\n              return false;\n            }\n            else if(settings.on == 'auto') {\n              if( $module.is('input') ) {\n                return (element.oninput !== undefined)\n                  ? 'input'\n                  : (element.onpropertychange !== undefined)\n                    ? 'propertychange'\n                    : 'keyup'\n                ;\n              }\n              else if( $module.is('form') ) {\n                return 'submit';\n              }\n              else {\n                return 'click';\n              }\n            }\n            else {\n              return settings.on;\n            }\n          },\n          templatedURL: function(action) {\n            action = action || $module.data(metadata.action) || settings.action || false;\n            url    = $module.data(metadata.url) || settings.url || false;\n            if(url) {\n              module.debug('Using specified url', url);\n              return url;\n            }\n            if(action) {\n              module.debug('Looking up url for action', action, settings.api);\n              if(settings.api[action] === undefined && !module.is.mocked()) {\n                module.error(error.missingAction, settings.action, settings.api);\n                return;\n              }\n              url = settings.api[action];\n            }\n            else if( module.is.form() ) {\n              url = $module.attr('action') || $context.attr('action') || false;\n              module.debug('No url or action specified, defaulting to form action', url);\n            }\n            return url;\n          }\n        },\n\n        abort: function() {\n          var\n            xhr = module.get.xhr()\n          ;\n          if( xhr && xhr.state() !== 'resolved') {\n            module.debug('Cancelling API request');\n            xhr.abort();\n          }\n        },\n\n        // reset state\n        reset: function() {\n          module.remove.error();\n          module.remove.loading();\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                //'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.api.settings = {\n\n  name              : 'API',\n  namespace         : 'api',\n\n  debug             : false,\n  verbose           : false,\n  performance       : true,\n\n  // object containing all templates endpoints\n  api               : {},\n\n  // whether to cache responses\n  cache             : true,\n\n  // whether new requests should abort previous requests\n  interruptRequests : true,\n\n  // event binding\n  on                : 'auto',\n\n  // context for applying state classes\n  stateContext      : false,\n\n  // duration for loading state\n  loadingDuration   : 0,\n\n  // whether to hide errors after a period of time\n  hideError         : 'auto',\n\n  // duration for error state\n  errorDuration     : 2000,\n\n  // whether parameters should be encoded with encodeURIComponent\n  encodeParameters  : true,\n\n  // API action to use\n  action            : false,\n\n  // templated URL to use\n  url               : false,\n\n  // base URL to apply to all endpoints\n  base              : '',\n\n  // data that will\n  urlData           : {},\n\n  // whether to add default data to url data\n  defaultData          : true,\n\n  // whether to serialize closest form\n  serializeForm        : false,\n\n  // how long to wait before request should occur\n  throttle             : 0,\n\n  // whether to throttle first request or only repeated\n  throttleFirstRequest : true,\n\n  // standard ajax settings\n  method            : 'get',\n  data              : {},\n  dataType          : 'json',\n\n  // mock response\n  mockResponse      : false,\n  mockResponseAsync : false,\n\n  // callbacks before request\n  beforeSend  : function(settings) { return settings; },\n  beforeXHR   : function(xhr) {},\n  onRequest   : function(promise, xhr) {},\n\n  // after request\n  onResponse  : false, // function(response) { },\n\n  // response was successful, if JSON passed validation\n  onSuccess   : function(response, $module) {},\n\n  // request finished without aborting\n  onComplete  : function(response, $module) {},\n\n  // failed JSON success test\n  onFailure   : function(response, $module) {},\n\n  // server error\n  onError     : function(errorMessage, $module) {},\n\n  // request aborted\n  onAbort     : function(errorMessage, $module) {},\n\n  successTest : false,\n\n  // errors\n  error : {\n    beforeSend        : 'The before send function has aborted the request',\n    error             : 'There was an error with your request',\n    exitConditions    : 'API Request Aborted. Exit conditions met',\n    JSONParse         : 'JSON could not be parsed during error handling',\n    legacyParameters  : 'You are using legacy API success callback names',\n    method            : 'The method you called is not defined',\n    missingAction     : 'API action used but no url was defined',\n    missingSerialize  : 'jquery-serialize-object is required to add form data to an existing data object',\n    missingURL        : 'No URL specified for api event',\n    noReturnedValue   : 'The beforeSend callback must return a settings object, beforeSend ignored.',\n    noStorage         : 'Caching responses locally requires session storage',\n    parseError        : 'There was an error parsing your request',\n    requiredParameter : 'Missing a required URL parameter: ',\n    statusMessage     : 'Server gave an error: ',\n    timeout           : 'Your request timed out'\n  },\n\n  regExp  : {\n    required : /\\{\\$*[A-z0-9]+\\}/g,\n    optional : /\\{\\/\\$*[A-z0-9]+\\}/g,\n  },\n\n  className: {\n    loading : 'loading',\n    error   : 'error'\n  },\n\n  selector: {\n    disabled : '.disabled',\n    form      : 'form'\n  },\n\n  metadata: {\n    action  : 'action',\n    url     : 'url'\n  }\n};\n\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - State\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.state = function(parameters) {\n  var\n    $allModules     = $(this),\n\n    moduleSelector  = $allModules.selector || '',\n\n    hasTouch        = ('ontouchstart' in document.documentElement),\n    time            = new Date().getTime(),\n    performance     = [],\n\n    query           = arguments[0],\n    methodInvoked   = (typeof query == 'string'),\n    queryArguments  = [].slice.call(arguments, 1),\n\n    returnedValue\n  ;\n  $allModules\n    .each(function() {\n      var\n        settings          = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.state.settings, parameters)\n          : $.extend({}, $.fn.state.settings),\n\n        error           = settings.error,\n        metadata        = settings.metadata,\n        className       = settings.className,\n        namespace       = settings.namespace,\n        states          = settings.states,\n        text            = settings.text,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = namespace + '-module',\n\n        $module         = $(this),\n\n        element         = this,\n        instance        = $module.data(moduleNamespace),\n\n        module\n      ;\n      module = {\n\n        initialize: function() {\n          module.verbose('Initializing module');\n\n          // allow module to guess desired state based on element\n          if(settings.automatic) {\n            module.add.defaults();\n          }\n\n          // bind events with delegated events\n          if(settings.context && moduleSelector !== '') {\n            $(settings.context)\n              .on(moduleSelector, 'mouseenter' + eventNamespace, module.change.text)\n              .on(moduleSelector, 'mouseleave' + eventNamespace, module.reset.text)\n              .on(moduleSelector, 'click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          else {\n            $module\n              .on('mouseenter' + eventNamespace, module.change.text)\n              .on('mouseleave' + eventNamespace, module.reset.text)\n              .on('click'      + eventNamespace, module.toggle.state)\n            ;\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.verbose('Storing instance of module', module);\n          instance = module;\n          $module\n            .data(moduleNamespace, module)\n          ;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module', instance);\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        refresh: function() {\n          module.verbose('Refreshing selector cache');\n          $module = $(element);\n        },\n\n        add: {\n          defaults: function() {\n            var\n              userStates = parameters && $.isPlainObject(parameters.states)\n                ? parameters.states\n                : {}\n            ;\n            $.each(settings.defaults, function(type, typeStates) {\n              if( module.is[type] !== undefined && module.is[type]() ) {\n                module.verbose('Adding default states', type, element);\n                $.extend(settings.states, typeStates, userStates);\n              }\n            });\n          }\n        },\n\n        is: {\n\n          active: function() {\n            return $module.hasClass(className.active);\n          },\n          loading: function() {\n            return $module.hasClass(className.loading);\n          },\n          inactive: function() {\n            return !( $module.hasClass(className.active) );\n          },\n          state: function(state) {\n            if(className[state] === undefined) {\n              return false;\n            }\n            return $module.hasClass( className[state] );\n          },\n\n          enabled: function() {\n            return !( $module.is(settings.filter.active) );\n          },\n          disabled: function() {\n            return ( $module.is(settings.filter.active) );\n          },\n          textEnabled: function() {\n            return !( $module.is(settings.filter.text) );\n          },\n\n          // definitions for automatic type detection\n          button: function() {\n            return $module.is('.button:not(a, .submit)');\n          },\n          input: function() {\n            return $module.is('input');\n          },\n          progress: function() {\n            return $module.is('.ui.progress');\n          }\n        },\n\n        allow: function(state) {\n          module.debug('Now allowing state', state);\n          states[state] = true;\n        },\n        disallow: function(state) {\n          module.debug('No longer allowing', state);\n          states[state] = false;\n        },\n\n        allows: function(state) {\n          return states[state] || false;\n        },\n\n        enable: function() {\n          $module.removeClass(className.disabled);\n        },\n\n        disable: function() {\n          $module.addClass(className.disabled);\n        },\n\n        setState: function(state) {\n          if(module.allows(state)) {\n            $module.addClass( className[state] );\n          }\n        },\n\n        removeState: function(state) {\n          if(module.allows(state)) {\n            $module.removeClass( className[state] );\n          }\n        },\n\n        toggle: {\n          state: function() {\n            var\n              apiRequest,\n              requestCancelled\n            ;\n            if( module.allows('active') && module.is.enabled() ) {\n              module.refresh();\n              if($.fn.api !== undefined) {\n                apiRequest       = $module.api('get request');\n                requestCancelled = $module.api('was cancelled');\n                if( requestCancelled ) {\n                  module.debug('API Request cancelled by beforesend');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                else if(apiRequest) {\n                  module.listenTo(apiRequest);\n                  return;\n                }\n              }\n              module.change.state();\n            }\n          }\n        },\n\n        listenTo: function(apiRequest) {\n          module.debug('API request detected, waiting for state signal', apiRequest);\n          if(apiRequest) {\n            if(text.loading) {\n              module.update.text(text.loading);\n            }\n            $.when(apiRequest)\n              .then(function() {\n                if(apiRequest.state() == 'resolved') {\n                  module.debug('API request succeeded');\n                  settings.activateTest   = function(){ return true; };\n                  settings.deactivateTest = function(){ return true; };\n                }\n                else {\n                  module.debug('API request failed');\n                  settings.activateTest   = function(){ return false; };\n                  settings.deactivateTest = function(){ return false; };\n                }\n                module.change.state();\n              })\n            ;\n          }\n        },\n\n        // checks whether active/inactive state can be given\n        change: {\n\n          state: function() {\n            module.debug('Determining state change direction');\n            // inactive to active change\n            if( module.is.inactive() ) {\n              module.activate();\n            }\n            else {\n              module.deactivate();\n            }\n            if(settings.sync) {\n              module.sync();\n            }\n            settings.onChange.call(element);\n          },\n\n          text: function() {\n            if( module.is.textEnabled() ) {\n              if(module.is.disabled() ) {\n                module.verbose('Changing text to disabled text', text.hover);\n                module.update.text(text.disabled);\n              }\n              else if( module.is.active() ) {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.deactivate) {\n                  module.verbose('Changing text to deactivating text', text.deactivate);\n                  module.update.text(text.deactivate);\n                }\n              }\n              else {\n                if(text.hover) {\n                  module.verbose('Changing text to hover text', text.hover);\n                  module.update.text(text.hover);\n                }\n                else if(text.activate){\n                  module.verbose('Changing text to activating text', text.activate);\n                  module.update.text(text.activate);\n                }\n              }\n            }\n          }\n\n        },\n\n        activate: function() {\n          if( settings.activateTest.call(element) ) {\n            module.debug('Setting state to active');\n            $module\n              .addClass(className.active)\n            ;\n            module.update.text(text.active);\n            settings.onActivate.call(element);\n          }\n        },\n\n        deactivate: function() {\n          if( settings.deactivateTest.call(element) ) {\n            module.debug('Setting state to inactive');\n            $module\n              .removeClass(className.active)\n            ;\n            module.update.text(text.inactive);\n            settings.onDeactivate.call(element);\n          }\n        },\n\n        sync: function() {\n          module.verbose('Syncing other buttons to current state');\n          if( module.is.active() ) {\n            $allModules\n              .not($module)\n                .state('activate');\n          }\n          else {\n            $allModules\n              .not($module)\n                .state('deactivate')\n            ;\n          }\n        },\n\n        get: {\n          text: function() {\n            return (settings.selector.text)\n              ? $module.find(settings.selector.text).text()\n              : $module.html()\n            ;\n          },\n          textFor: function(state) {\n            return text[state] || false;\n          }\n        },\n\n        flash: {\n          text: function(text, duration, callback) {\n            var\n              previousText = module.get.text()\n            ;\n            module.debug('Flashing text message', text, duration);\n            text     = text     || settings.text.flash;\n            duration = duration || settings.flashDuration;\n            callback = callback || function() {};\n            module.update.text(text);\n            setTimeout(function(){\n              module.update.text(previousText);\n              callback.call(element);\n            }, duration);\n          }\n        },\n\n        reset: {\n          // on mouseout sets text to previous value\n          text: function() {\n            var\n              activeText   = text.active   || $module.data(metadata.storedText),\n              inactiveText = text.inactive || $module.data(metadata.storedText)\n            ;\n            if( module.is.textEnabled() ) {\n              if( module.is.active() && activeText) {\n                module.verbose('Resetting active text', activeText);\n                module.update.text(activeText);\n              }\n              else if(inactiveText) {\n                module.verbose('Resetting inactive text', activeText);\n                module.update.text(inactiveText);\n              }\n            }\n          }\n        },\n\n        update: {\n          text: function(text) {\n            var\n              currentText = module.get.text()\n            ;\n            if(text && text !== currentText) {\n              module.debug('Updating text', text);\n              if(settings.selector.text) {\n                $module\n                  .data(metadata.storedText, text)\n                  .find(settings.selector.text)\n                    .text(text)\n                ;\n              }\n              else {\n                $module\n                  .data(metadata.storedText, text)\n                  .html(text)\n                ;\n              }\n            }\n            else {\n              module.debug('Text is already set, ignoring update', text);\n            }\n          }\n        },\n\n        setting: function(name, value) {\n          module.debug('Changing setting', name, value);\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.state.settings = {\n\n  // module info\n  name           : 'State',\n\n  // debug output\n  debug          : false,\n\n  // verbose debug output\n  verbose        : false,\n\n  // namespace for events\n  namespace      : 'state',\n\n  // debug data includes performance\n  performance    : true,\n\n  // callback occurs on state change\n  onActivate     : function() {},\n  onDeactivate   : function() {},\n  onChange       : function() {},\n\n  // state test functions\n  activateTest   : function() { return true; },\n  deactivateTest : function() { return true; },\n\n  // whether to automatically map default states\n  automatic      : true,\n\n  // activate / deactivate changes all elements instantiated at same time\n  sync           : false,\n\n  // default flash text duration, used for temporarily changing text of an element\n  flashDuration  : 1000,\n\n  // selector filter\n  filter     : {\n    text   : '.loading, .disabled',\n    active : '.disabled'\n  },\n\n  context    : false,\n\n  // error\n  error: {\n    beforeSend : 'The before send function has cancelled state change',\n    method     : 'The method you called is not defined.'\n  },\n\n  // metadata\n  metadata: {\n    promise    : 'promise',\n    storedText : 'stored-text'\n  },\n\n  // change class on state\n  className: {\n    active   : 'active',\n    disabled : 'disabled',\n    error    : 'error',\n    loading  : 'loading',\n    success  : 'success',\n    warning  : 'warning'\n  },\n\n  selector: {\n    // selector for text node\n    text: false\n  },\n\n  defaults : {\n    input: {\n      disabled : true,\n      loading  : true,\n      active   : true\n    },\n    button: {\n      disabled : true,\n      loading  : true,\n      active   : true,\n    },\n    progress: {\n      active   : true,\n      success  : true,\n      warning  : true,\n      error    : true\n    }\n  },\n\n  states     : {\n    active   : true,\n    disabled : true,\n    error    : true,\n    loading  : true,\n    success  : true,\n    warning  : true\n  },\n\n  text     : {\n    disabled   : false,\n    flash      : false,\n    hover      : false,\n    active     : false,\n    inactive   : false,\n    activate   : false,\n    deactivate : false\n  }\n\n};\n\n\n\n})( jQuery, window, document );\n\n/*!\n * # Semantic UI 2.1.6 - Visibility\n * http://github.com/semantic-org/semantic-ui/\n *\n *\n * Copyright 2015 Contributors\n * Released under the MIT license\n * http://opensource.org/licenses/MIT\n *\n */\n\n;(function ( $, window, document, undefined ) {\n\n\"use strict\";\n\n$.fn.visibility = function(parameters) {\n  var\n    $allModules    = $(this),\n    moduleSelector = $allModules.selector || '',\n\n    time           = new Date().getTime(),\n    performance    = [],\n\n    query          = arguments[0],\n    methodInvoked  = (typeof query == 'string'),\n    queryArguments = [].slice.call(arguments, 1),\n    returnedValue\n  ;\n\n  $allModules\n    .each(function() {\n      var\n        settings        = ( $.isPlainObject(parameters) )\n          ? $.extend(true, {}, $.fn.visibility.settings, parameters)\n          : $.extend({}, $.fn.visibility.settings),\n\n        className       = settings.className,\n        namespace       = settings.namespace,\n        error           = settings.error,\n        metadata        = settings.metadata,\n\n        eventNamespace  = '.' + namespace,\n        moduleNamespace = 'module-' + namespace,\n\n        $window         = $(window),\n\n        $module         = $(this),\n        $context        = $(settings.context),\n\n        $placeholder,\n\n        selector        = $module.selector || '',\n        instance        = $module.data(moduleNamespace),\n\n        requestAnimationFrame = window.requestAnimationFrame\n          || window.mozRequestAnimationFrame\n          || window.webkitRequestAnimationFrame\n          || window.msRequestAnimationFrame\n          || function(callback) { setTimeout(callback, 0); },\n\n        element         = this,\n        disabled        = false,\n\n        observer,\n        module\n      ;\n\n      module = {\n\n        initialize: function() {\n          module.debug('Initializing', settings);\n\n          module.setup.cache();\n\n          if( module.should.trackChanges() ) {\n\n            if(settings.type == 'image') {\n              module.setup.image();\n            }\n            if(settings.type == 'fixed') {\n              module.setup.fixed();\n            }\n\n            if(settings.observeChanges) {\n              module.observeChanges();\n            }\n            module.bind.events();\n          }\n\n          module.save.position();\n          if( !module.is.visible() ) {\n            module.error(error.visible, $module);\n          }\n\n          if(settings.initialCheck) {\n            module.checkVisibility();\n          }\n          module.instantiate();\n        },\n\n        instantiate: function() {\n          module.debug('Storing instance', module);\n          $module\n            .data(moduleNamespace, module)\n          ;\n          instance = module;\n        },\n\n        destroy: function() {\n          module.verbose('Destroying previous module');\n          if(observer) {\n            observer.disconnect();\n          }\n          $window\n            .off('load'   + eventNamespace, module.event.load)\n            .off('resize' + eventNamespace, module.event.resize)\n          ;\n          $context\n            .off('scrollchange' + eventNamespace, module.event.scrollchange)\n          ;\n          $module\n            .off(eventNamespace)\n            .removeData(moduleNamespace)\n          ;\n        },\n\n        observeChanges: function() {\n          if('MutationObserver' in window) {\n            observer = new MutationObserver(function(mutations) {\n              module.verbose('DOM tree modified, updating visibility calculations');\n              module.timer = setTimeout(function() {\n                module.verbose('DOM tree modified, updating sticky menu');\n                module.refresh();\n              }, 100);\n            });\n            observer.observe(element, {\n              childList : true,\n              subtree   : true\n            });\n            module.debug('Setting up mutation observer', observer);\n          }\n        },\n\n        bind: {\n          events: function() {\n            module.verbose('Binding visibility events to scroll and resize');\n            if(settings.refreshOnLoad) {\n              $window\n                .on('load'   + eventNamespace, module.event.load)\n              ;\n            }\n            $window\n              .on('resize' + eventNamespace, module.event.resize)\n            ;\n            // pub/sub pattern\n            $context\n              .off('scroll'      + eventNamespace)\n              .on('scroll'       + eventNamespace, module.event.scroll)\n              .on('scrollchange' + eventNamespace, module.event.scrollchange)\n            ;\n          }\n        },\n\n        event: {\n          resize: function() {\n            module.debug('Window resized');\n            if(settings.refreshOnResize) {\n              requestAnimationFrame(module.refresh);\n            }\n          },\n          load: function() {\n            module.debug('Page finished loading');\n            requestAnimationFrame(module.refresh);\n          },\n          // publishes scrollchange event on one scroll\n          scroll: function() {\n            if(settings.throttle) {\n              clearTimeout(module.timer);\n              module.timer = setTimeout(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              }, settings.throttle);\n            }\n            else {\n              requestAnimationFrame(function() {\n                $context.triggerHandler('scrollchange' + eventNamespace, [ $context.scrollTop() ]);\n              });\n            }\n          },\n          // subscribes to scrollchange\n          scrollchange: function(event, scrollPosition) {\n            module.checkVisibility(scrollPosition);\n          },\n        },\n\n        precache: function(images, callback) {\n          if (!(images instanceof Array)) {\n            images = [images];\n          }\n          var\n            imagesLength  = images.length,\n            loadedCounter = 0,\n            cache         = [],\n            cacheImage    = document.createElement('img'),\n            handleLoad    = function() {\n              loadedCounter++;\n              if (loadedCounter >= images.length) {\n                if ($.isFunction(callback)) {\n                  callback();\n                }\n              }\n            }\n          ;\n          while (imagesLength--) {\n            cacheImage         = document.createElement('img');\n            cacheImage.onload  = handleLoad;\n            cacheImage.onerror = handleLoad;\n            cacheImage.src     = images[imagesLength];\n            cache.push(cacheImage);\n          }\n        },\n\n        enableCallbacks: function() {\n          module.debug('Allowing callbacks to occur');\n          disabled = false;\n        },\n\n        disableCallbacks: function() {\n          module.debug('Disabling all callbacks temporarily');\n          disabled = true;\n        },\n\n        should: {\n          trackChanges: function() {\n            if(methodInvoked) {\n              module.debug('One time query, no need to bind events');\n              return false;\n            }\n            module.debug('Callbacks being attached');\n            return true;\n          }\n        },\n\n        setup: {\n          cache: function() {\n            module.cache = {\n              occurred : {},\n              screen   : {},\n              element  : {},\n            };\n          },\n          image: function() {\n            var\n              src = $module.data(metadata.src)\n            ;\n            if(src) {\n              module.verbose('Lazy loading image', src);\n              settings.once           = true;\n              settings.observeChanges = false;\n\n              // show when top visible\n              settings.onOnScreen = function() {\n                module.debug('Image on screen', element);\n                module.precache(src, function() {\n                  module.set.image(src);\n                });\n              };\n            }\n          },\n          fixed: function() {\n            module.debug('Setting up fixed');\n            settings.once           = false;\n            settings.observeChanges = false;\n            settings.initialCheck   = true;\n            settings.refreshOnLoad  = true;\n            if(!parameters.transition) {\n              settings.transition = false;\n            }\n            module.create.placeholder();\n            module.debug('Added placeholder', $placeholder);\n            settings.onTopPassed = function() {\n              module.debug('Element passed, adding fixed position', $module);\n              module.show.placeholder();\n              module.set.fixed();\n              if(settings.transition) {\n                if($.fn.transition !== undefined) {\n                  $module.transition(settings.transition, settings.duration);\n                }\n              }\n            };\n            settings.onTopPassedReverse = function() {\n              module.debug('Element returned to position, removing fixed', $module);\n              module.hide.placeholder();\n              module.remove.fixed();\n            };\n          }\n        },\n\n        create: {\n          placeholder: function() {\n            module.verbose('Creating fixed position placeholder');\n            $placeholder = $module\n              .clone(false)\n              .css('display', 'none')\n              .addClass(className.placeholder)\n              .insertAfter($module)\n            ;\n          }\n        },\n\n        show: {\n          placeholder: function() {\n            module.verbose('Showing placeholder');\n            $placeholder\n              .css('display', 'block')\n              .css('visibility', 'hidden')\n            ;\n          }\n        },\n        hide: {\n          placeholder: function() {\n            module.verbose('Hiding placeholder');\n            $placeholder\n              .css('display', 'none')\n              .css('visibility', '')\n            ;\n          }\n        },\n\n        set: {\n          fixed: function() {\n            module.verbose('Setting element to fixed position');\n            $module\n              .addClass(className.fixed)\n              .css({\n                position : 'fixed',\n                top      : settings.offset + 'px',\n                left     : 'auto',\n                zIndex   : '1'\n              })\n            ;\n          },\n          image: function(src) {\n            $module\n              .attr('src', src)\n            ;\n            if(settings.transition) {\n              if( $.fn.transition !== undefined ) {\n                $module.transition(settings.transition, settings.duration);\n              }\n              else {\n                $module.fadeIn(settings.duration);\n              }\n            }\n            else {\n              $module.show();\n            }\n          }\n        },\n\n        is: {\n          onScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.onScreen;\n          },\n          offScreen: function() {\n            var\n              calculations   = module.get.elementCalculations()\n            ;\n            return calculations.offScreen;\n          },\n          visible: function() {\n            if(module.cache && module.cache.element) {\n              return !(module.cache.element.width === 0 && module.cache.element.offset.top === 0);\n            }\n            return false;\n          }\n        },\n\n        refresh: function() {\n          module.debug('Refreshing constants (width/height)');\n          if(settings.type == 'fixed') {\n            module.remove.fixed();\n            module.remove.occurred();\n          }\n          module.reset();\n          module.save.position();\n          if(settings.checkOnRefresh) {\n            module.checkVisibility();\n          }\n          settings.onRefresh.call(element);\n        },\n\n        reset: function() {\n          module.verbose('Reseting all cached values');\n          if( $.isPlainObject(module.cache) ) {\n            module.cache.screen = {};\n            module.cache.element = {};\n          }\n        },\n\n        checkVisibility: function(scroll) {\n          module.verbose('Checking visibility of element', module.cache.element);\n\n          if( !disabled && module.is.visible() ) {\n\n            // save scroll position\n            module.save.scroll(scroll);\n\n            // update calculations derived from scroll\n            module.save.calculations();\n\n            // percentage\n            module.passed();\n\n            // reverse (must be first)\n            module.passingReverse();\n            module.topVisibleReverse();\n            module.bottomVisibleReverse();\n            module.topPassedReverse();\n            module.bottomPassedReverse();\n\n            // one time\n            module.onScreen();\n            module.offScreen();\n            module.passing();\n            module.topVisible();\n            module.bottomVisible();\n            module.topPassed();\n            module.bottomPassed();\n\n            // on update callback\n            if(settings.onUpdate) {\n              settings.onUpdate.call(element, module.get.elementCalculations());\n            }\n          }\n        },\n\n        passed: function(amount, newCallback) {\n          var\n            calculations   = module.get.elementCalculations(),\n            amountInPixels\n          ;\n          // assign callback\n          if(amount && newCallback) {\n            settings.onPassed[amount] = newCallback;\n          }\n          else if(amount !== undefined) {\n            return (module.get.pixelsPassed(amount) > calculations.pixelsPassed);\n          }\n          else if(calculations.passing) {\n            $.each(settings.onPassed, function(amount, callback) {\n              if(calculations.bottomVisible || calculations.pixelsPassed > module.get.pixelsPassed(amount)) {\n                module.execute(callback, amount);\n              }\n              else if(!settings.once) {\n                module.remove.occurred(callback);\n              }\n            });\n          }\n        },\n\n        onScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOnScreen,\n            callbackName = 'onScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for onScreen', newCallback);\n            settings.onOnScreen = newCallback;\n          }\n          if(calculations.onScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOnScreen;\n          }\n        },\n\n        offScreen: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onOffScreen,\n            callbackName = 'offScreen'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for offScreen', newCallback);\n            settings.onOffScreen = newCallback;\n          }\n          if(calculations.offScreen) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.onOffScreen;\n          }\n        },\n\n        passing: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassing,\n            callbackName = 'passing'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing', newCallback);\n            settings.onPassing = newCallback;\n          }\n          if(calculations.passing) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return calculations.passing;\n          }\n        },\n\n\n        topVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisible,\n            callbackName = 'topVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible', newCallback);\n            settings.onTopVisible = newCallback;\n          }\n          if(calculations.topVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topVisible;\n          }\n        },\n\n        bottomVisible: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisible,\n            callbackName = 'bottomVisible'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible', newCallback);\n            settings.onBottomVisible = newCallback;\n          }\n          if(calculations.bottomVisible) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomVisible;\n          }\n        },\n\n        topPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassed,\n            callbackName = 'topPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed', newCallback);\n            settings.onTopPassed = newCallback;\n          }\n          if(calculations.topPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.topPassed;\n          }\n        },\n\n        bottomPassed: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassed,\n            callbackName = 'bottomPassed'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed', newCallback);\n            settings.onBottomPassed = newCallback;\n          }\n          if(calculations.bottomPassed) {\n            module.execute(callback, callbackName);\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return calculations.bottomPassed;\n          }\n        },\n\n        passingReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onPassingReverse,\n            callbackName = 'passingReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for passing reverse', newCallback);\n            settings.onPassingReverse = newCallback;\n          }\n          if(!calculations.passing) {\n            if(module.get.occurred('passing')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback !== undefined) {\n            return !calculations.passing;\n          }\n        },\n\n\n        topVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopVisibleReverse,\n            callbackName = 'topVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top visible reverse', newCallback);\n            settings.onTopVisibleReverse = newCallback;\n          }\n          if(!calculations.topVisible) {\n            if(module.get.occurred('topVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.topVisible;\n          }\n        },\n\n        bottomVisibleReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomVisibleReverse,\n            callbackName = 'bottomVisibleReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom visible reverse', newCallback);\n            settings.onBottomVisibleReverse = newCallback;\n          }\n          if(!calculations.bottomVisible) {\n            if(module.get.occurred('bottomVisible')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomVisible;\n          }\n        },\n\n        topPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onTopPassedReverse,\n            callbackName = 'topPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for top passed reverse', newCallback);\n            settings.onTopPassedReverse = newCallback;\n          }\n          if(!calculations.topPassed) {\n            if(module.get.occurred('topPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.onTopPassed;\n          }\n        },\n\n        bottomPassedReverse: function(newCallback) {\n          var\n            calculations = module.get.elementCalculations(),\n            callback     = newCallback || settings.onBottomPassedReverse,\n            callbackName = 'bottomPassedReverse'\n          ;\n          if(newCallback) {\n            module.debug('Adding callback for bottom passed reverse', newCallback);\n            settings.onBottomPassedReverse = newCallback;\n          }\n          if(!calculations.bottomPassed) {\n            if(module.get.occurred('bottomPassed')) {\n              module.execute(callback, callbackName);\n            }\n          }\n          else if(!settings.once) {\n            module.remove.occurred(callbackName);\n          }\n          if(newCallback === undefined) {\n            return !calculations.bottomPassed;\n          }\n        },\n\n        execute: function(callback, callbackName) {\n          var\n            calculations = module.get.elementCalculations(),\n            screen       = module.get.screenCalculations()\n          ;\n          callback = callback || false;\n          if(callback) {\n            if(settings.continuous) {\n              module.debug('Callback being called continuously', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n            else if(!module.get.occurred(callbackName)) {\n              module.debug('Conditions met', callbackName, calculations);\n              callback.call(element, calculations, screen);\n            }\n          }\n          module.save.occurred(callbackName);\n        },\n\n        remove: {\n          fixed: function() {\n            module.debug('Removing fixed position');\n            $module\n              .removeClass(className.fixed)\n              .css({\n                position : '',\n                top      : '',\n                left     : '',\n                zIndex   : ''\n              })\n            ;\n          },\n          occurred: function(callback) {\n            if(callback) {\n              var\n                occurred = module.cache.occurred\n              ;\n              if(occurred[callback] !== undefined && occurred[callback] === true) {\n                module.debug('Callback can now be called again', callback);\n                module.cache.occurred[callback] = false;\n              }\n            }\n            else {\n              module.cache.occurred = {};\n            }\n          }\n        },\n\n        save: {\n          calculations: function() {\n            module.verbose('Saving all calculations necessary to determine positioning');\n            module.save.direction();\n            module.save.screenCalculations();\n            module.save.elementCalculations();\n          },\n          occurred: function(callback) {\n            if(callback) {\n              if(module.cache.occurred[callback] === undefined || (module.cache.occurred[callback] !== true)) {\n                module.verbose('Saving callback occurred', callback);\n                module.cache.occurred[callback] = true;\n              }\n            }\n          },\n          scroll: function(scrollPosition) {\n            scrollPosition      = scrollPosition + settings.offset || $context.scrollTop() + settings.offset;\n            module.cache.scroll = scrollPosition;\n          },\n          direction: function() {\n            var\n              scroll     = module.get.scroll(),\n              lastScroll = module.get.lastScroll(),\n              direction\n            ;\n            if(scroll > lastScroll && lastScroll) {\n              direction = 'down';\n            }\n            else if(scroll < lastScroll && lastScroll) {\n              direction = 'up';\n            }\n            else {\n              direction = 'static';\n            }\n            module.cache.direction = direction;\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            var\n              element = module.cache.element,\n              screen  = module.get.screenSize()\n            ;\n            module.verbose('Saving element position');\n            // (quicker than $.extend)\n            element.fits          = (element.height < screen.height);\n            element.offset        = $module.offset();\n            element.width         = $module.outerWidth();\n            element.height        = $module.outerHeight();\n            // store\n            module.cache.element = element;\n            return element;\n          },\n          elementCalculations: function() {\n            var\n              screen     = module.get.screenCalculations(),\n              element    = module.get.elementPosition()\n            ;\n            // offset\n            if(settings.includeMargin) {\n              element.margin        = {};\n              element.margin.top    = parseInt($module.css('margin-top'), 10);\n              element.margin.bottom = parseInt($module.css('margin-bottom'), 10);\n              element.top    = element.offset.top - element.margin.top;\n              element.bottom = element.offset.top + element.height + element.margin.bottom;\n            }\n            else {\n              element.top    = element.offset.top;\n              element.bottom = element.offset.top + element.height;\n            }\n\n            // visibility\n            element.topVisible       = (screen.bottom >= element.top);\n            element.topPassed        = (screen.top >= element.top);\n            element.bottomVisible    = (screen.bottom >= element.bottom);\n            element.bottomPassed     = (screen.top >= element.bottom);\n            element.pixelsPassed     = 0;\n            element.percentagePassed = 0;\n\n            // meta calculations\n            element.onScreen  = (element.topVisible && !element.bottomPassed);\n            element.passing   = (element.topPassed && !element.bottomPassed);\n            element.offScreen = (!element.onScreen);\n\n            // passing calculations\n            if(element.passing) {\n              element.pixelsPassed     = (screen.top - element.top);\n              element.percentagePassed = (screen.top - element.top) / element.height;\n            }\n            module.cache.element = element;\n            module.verbose('Updated element calculations', element);\n            return element;\n          },\n          screenCalculations: function() {\n            var\n              scroll = module.get.scroll()\n            ;\n            module.save.direction();\n            module.cache.screen.top    = scroll;\n            module.cache.screen.bottom = scroll + module.cache.screen.height;\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            module.verbose('Saving window position');\n            module.cache.screen = {\n              height: $context.height()\n            };\n          },\n          position: function() {\n            module.save.screenSize();\n            module.save.elementPosition();\n          }\n        },\n\n        get: {\n          pixelsPassed: function(amount) {\n            var\n              element = module.get.elementCalculations()\n            ;\n            if(amount.search('%') > -1) {\n              return ( element.height * (parseInt(amount, 10) / 100) );\n            }\n            return parseInt(amount, 10);\n          },\n          occurred: function(callback) {\n            return (module.cache.occurred !== undefined)\n              ? module.cache.occurred[callback] || false\n              : false\n            ;\n          },\n          direction: function() {\n            if(module.cache.direction === undefined) {\n              module.save.direction();\n            }\n            return module.cache.direction;\n          },\n          elementPosition: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementPosition();\n            }\n            return module.cache.element;\n          },\n          elementCalculations: function() {\n            if(module.cache.element === undefined) {\n              module.save.elementCalculations();\n            }\n            return module.cache.element;\n          },\n          screenCalculations: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenCalculations();\n            }\n            return module.cache.screen;\n          },\n          screenSize: function() {\n            if(module.cache.screen === undefined) {\n              module.save.screenSize();\n            }\n            return module.cache.screen;\n          },\n          scroll: function() {\n            if(module.cache.scroll === undefined) {\n              module.save.scroll();\n            }\n            return module.cache.scroll;\n          },\n          lastScroll: function() {\n            if(module.cache.screen === undefined) {\n              module.debug('First scroll event, no last scroll could be found');\n              return false;\n            }\n            return module.cache.screen.top;\n          }\n        },\n\n        setting: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, settings, name);\n          }\n          else if(value !== undefined) {\n            settings[name] = value;\n          }\n          else {\n            return settings[name];\n          }\n        },\n        internal: function(name, value) {\n          if( $.isPlainObject(name) ) {\n            $.extend(true, module, name);\n          }\n          else if(value !== undefined) {\n            module[name] = value;\n          }\n          else {\n            return module[name];\n          }\n        },\n        debug: function() {\n          if(settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.debug = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.debug.apply(console, arguments);\n            }\n          }\n        },\n        verbose: function() {\n          if(settings.verbose && settings.debug) {\n            if(settings.performance) {\n              module.performance.log(arguments);\n            }\n            else {\n              module.verbose = Function.prototype.bind.call(console.info, console, settings.name + ':');\n              module.verbose.apply(console, arguments);\n            }\n          }\n        },\n        error: function() {\n          module.error = Function.prototype.bind.call(console.error, console, settings.name + ':');\n          module.error.apply(console, arguments);\n        },\n        performance: {\n          log: function(message) {\n            var\n              currentTime,\n              executionTime,\n              previousTime\n            ;\n            if(settings.performance) {\n              currentTime   = new Date().getTime();\n              previousTime  = time || currentTime;\n              executionTime = currentTime - previousTime;\n              time          = currentTime;\n              performance.push({\n                'Name'           : message[0],\n                'Arguments'      : [].slice.call(message, 1) || '',\n                'Element'        : element,\n                'Execution Time' : executionTime\n              });\n            }\n            clearTimeout(module.performance.timer);\n            module.performance.timer = setTimeout(module.performance.display, 500);\n          },\n          display: function() {\n            var\n              title = settings.name + ':',\n              totalTime = 0\n            ;\n            time = false;\n            clearTimeout(module.performance.timer);\n            $.each(performance, function(index, data) {\n              totalTime += data['Execution Time'];\n            });\n            title += ' ' + totalTime + 'ms';\n            if(moduleSelector) {\n              title += ' \\'' + moduleSelector + '\\'';\n            }\n            if( (console.group !== undefined || console.table !== undefined) && performance.length > 0) {\n              console.groupCollapsed(title);\n              if(console.table) {\n                console.table(performance);\n              }\n              else {\n                $.each(performance, function(index, data) {\n                  console.log(data['Name'] + ': ' + data['Execution Time']+'ms');\n                });\n              }\n              console.groupEnd();\n            }\n            performance = [];\n          }\n        },\n        invoke: function(query, passedArguments, context) {\n          var\n            object = instance,\n            maxDepth,\n            found,\n            response\n          ;\n          passedArguments = passedArguments || queryArguments;\n          context         = element         || context;\n          if(typeof query == 'string' && object !== undefined) {\n            query    = query.split(/[\\. ]/);\n            maxDepth = query.length - 1;\n            $.each(query, function(depth, value) {\n              var camelCaseValue = (depth != maxDepth)\n                ? value + query[depth + 1].charAt(0).toUpperCase() + query[depth + 1].slice(1)\n                : query\n              ;\n              if( $.isPlainObject( object[camelCaseValue] ) && (depth != maxDepth) ) {\n                object = object[camelCaseValue];\n              }\n              else if( object[camelCaseValue] !== undefined ) {\n                found = object[camelCaseValue];\n                return false;\n              }\n              else if( $.isPlainObject( object[value] ) && (depth != maxDepth) ) {\n                object = object[value];\n              }\n              else if( object[value] !== undefined ) {\n                found = object[value];\n                return false;\n              }\n              else {\n                module.error(error.method, query);\n                return false;\n              }\n            });\n          }\n          if ( $.isFunction( found ) ) {\n            response = found.apply(context, passedArguments);\n          }\n          else if(found !== undefined) {\n            response = found;\n          }\n          if($.isArray(returnedValue)) {\n            returnedValue.push(response);\n          }\n          else if(returnedValue !== undefined) {\n            returnedValue = [returnedValue, response];\n          }\n          else if(response !== undefined) {\n            returnedValue = response;\n          }\n          return found;\n        }\n      };\n\n      if(methodInvoked) {\n        if(instance === undefined) {\n          module.initialize();\n        }\n        instance.save.scroll();\n        instance.save.calculations();\n        module.invoke(query);\n      }\n      else {\n        if(instance !== undefined) {\n          instance.invoke('destroy');\n        }\n        module.initialize();\n      }\n    })\n  ;\n\n  return (returnedValue !== undefined)\n    ? returnedValue\n    : this\n  ;\n};\n\n$.fn.visibility.settings = {\n\n  name                   : 'Visibility',\n  namespace              : 'visibility',\n\n  debug                  : false,\n  verbose                : false,\n  performance            : true,\n\n  // whether to use mutation observers to follow changes\n  observeChanges         : true,\n\n  // check position immediately on init\n  initialCheck           : true,\n\n  // whether to refresh calculations after all page images load\n  refreshOnLoad          : true,\n\n  // whether to refresh calculations after page resize event\n  refreshOnResize        : true,\n\n  // should call callbacks on refresh event (resize, etc)\n  checkOnRefresh         : true,\n\n  // callback should only occur one time\n  once                   : true,\n\n  // callback should fire continuously whe evaluates to true\n  continuous             : false,\n\n  // offset to use with scroll top\n  offset                 : 0,\n\n  // whether to include margin in elements position\n  includeMargin          : false,\n\n  // scroll context for visibility checks\n  context                : window,\n\n  // visibility check delay in ms (defaults to animationFrame)\n  throttle               : false,\n\n  // special visibility type (image, fixed)\n  type                   : false,\n\n  // image only animation settings\n  transition             : 'fade in',\n  duration               : 1000,\n\n  // array of callbacks for percentage\n  onPassed               : {},\n\n  // standard callbacks\n  onOnScreen             : false,\n  onOffScreen            : false,\n  onPassing              : false,\n  onTopVisible           : false,\n  onBottomVisible        : false,\n  onTopPassed            : false,\n  onBottomPassed         : false,\n\n  // reverse callbacks\n  onPassingReverse       : false,\n  onTopVisibleReverse    : false,\n  onBottomVisibleReverse : false,\n  onTopPassedReverse     : false,\n  onBottomPassedReverse  : false,\n\n  // utility callbacks\n  onUpdate               : false, // disabled by default for performance\n  onRefresh              : function(){},\n\n  metadata : {\n    src: 'src'\n  },\n\n  className: {\n    fixed       : 'fixed',\n    placeholder : 'placeholder'\n  },\n\n  error : {\n    method  : 'The method you called is not defined.',\n    visible : 'Element is hidden, you must call refresh after element becomes visible'\n  }\n\n};\n\n})( jQuery, window, document );"
  },
  {
    "path": "src/asset/style/dashboard.css",
    "content": "/*\nThese styles are only used in the WordPress dashboard.\n*/\n\nbody.wp-admin * {\n\tbox-sizing: content-box;\n}\n\nbody.wp-admin {\n\tbackground: none;\n}\n\nbody.wp-admin * .ui, body.wp-admin * .ui * {\n\tbox-sizing: border-box;\n}\n\nbody.login {\n\tbackground: #f1f1f1;\n}\n\nblockquote {\n\tbackground-color: rgba(230, 230, 250, 0.25);\n\tborder-left: 4px solid rgba(0, 0, 0, 0.15);\n\tpadding: 0.5em 10px 0.5em 2.2em;\n\tquotes: \"\\201C\"\"\\201D\"\"\\201C\"\"\\201D\";\n\tz-index: 10;\n}\n\nblockquote:before {\n\tfont-family: 'Roboto', 'Open Sans', sans-serif;\n\tcolor: rgba(0, 0, 0, 0.15);\n\tcontent: open-quote;\n\tvertical-align: middle;\n\tposition: absolute;\n\tmargin: 0.45em 0 0 -0.45em;\n\tfont-size: 64px;\n\tline-height: 0px;\n\tz-index: 5;\n}\n\nblockquote cite {\n\tdisplay: block;\n\tmargin-top: 0.8em;\n\ttext-align: right;\n}\n\nblockquote p {\n\tdisplay: inline;\n}\n\n\n.ui .button {\n\theight: auto;\n}\n\ninput {\n\tline-height: normal;\n}\n\n#wpbody-content *.menu {\n\tpadding-top: 0;\n}\n\n#wpbody-content {\n\tpadding-bottom: 182px;\n}\n\n/*** Fix blank space in wp dashboard sidebar ***/\n#wpwrap #adminmenuback{\n\tz-index:initial;\n}\n"
  },
  {
    "path": "src/asset/style/main.css",
    "content": "/*\n | Table of Contents\n |==================\n |  - Normalize (minified)\n |  - Typography\n |  - Tags\n |  - Classes\n |  - Utility Classes\n |  - IDs\n |  - Media Queries\n*/\n\n/*** normalize.css v3.0.1 | MIT License | git.io/normalize ***/\nhtml{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}\n\n\n/* General Rule */\n*:not(#wpadminbar *) {\n\tbox-sizing: border-box;\n\tmax-width: 100%;\n\tword-wrap: break-word;\n}\n\n\n\n/*** Typography ***/\n\nbody {\n\tfont-family: 'Open Sans', sans-serif;\n\tfont-size: 16px;\n\tline-height: 1.7em;\n}\n\ncode, pre, kbd, samp, tt {\n\tfont-family: \"Droid Sans Mono\", \"Courier New\", monospace;\n\ttab-size: 4;\n\t-moz-tab-size: 4;\n\t-o-tab-size: 4;\n\t-webkit-tab-size: 4;\n}\n\ncode, kbd, samp, tt {\n\tvertical-align: baseline;\n\tbackground-color:#eee;\n\twhite-space: pre-line;\n\tborder-radius:2px;\n\tborder:1px solid #ddd;\n\tborder-bottom-color:#bbb;\n\tborder-right-color:#ccc;\n\tpadding:1px 4px;\n\tline-height:1.35em;\n\tdisplay: inline-block;\n}\n\ncode *, kbd *, samp *, tt * {\n\twhite-space: pre-line;\n}\n\nh1, h1:not(.ui) *,\nh2, h2:not(.ui) *,\nh3, h3:not(.ui) *,\nh4, h4:not(.ui) *,\nh5, h5:not(.ui) *,\nh6, h6:not(.ui) * {\n\tfont-family: 'Roboto', 'Open Sans', sans-serif;\n\tfont-weight: 300;\n\tmargin-top: 0.4rem;\n\tmargin-bottom: 0.9rem;\n\tcolor: #333;\n\tpadding: 2px 0;\n\tline-height: normal;\n\tclear: both;\n}\n\nh1 {\n\tfont-size: 2.5rem;\n}\n\nh2 {\n\tfont-size: 2.1rem;\n}\n\nh3 {\n\tfont-size: 1.6rem;\n}\n\nh4 {\n\tfont-size: 1.4rem;\n}\n\nh5 {\n\tfont-size: 1rem;\n\tfont-weight: 400;\n}\n\nh6 {\n\tfont-size: 0.92rem;\n\tfont-weight: 700;\n}\n\nkbd {\n\tbackground-image:-moz-linear-gradient(#f1f1f1, #ddd);\n\tbackground-image:-webkit-linear-gradient(#f1f1f1, #ddd);\n\tbackground-image:linear-gradient(#f1f1f1, #ddd);\n\tbackground-repeat:repeat-x;\n}\n\nmark, ins {\n\tbackground-color: rgba(250, 250, 0, 0.45);\n\ttext-decoration: none;\n\tpadding-left: 0.2em;\n\tpadding-right: 0.2em;\n}\n\npre {\n\tbackground-color:#eee;\n\tpadding: 0.4em 1em;\n\tborder-radius:4px;\n\tborder:1px solid #ddd;\n\tborder-bottom-color:#bbb;\n\tborder-right-color:#ccc;\n\tfont-size: 14px;\n\tdisplay: block;\n\tmargin: 0 0 0 auto;\n\twhite-space: pre-wrap;\n\tline-height: 1.6em;\n}\n\npre code {\n\twhite-space: pre-wrap;\n\tbackground: none;\n\tline-height: inherit;\n\tpadding: 0;\n\tborder: none;\n\tdisplay: inline;\n}\n\na { /* Override */\n\tcolor: #006758;\n\tfont-weight: 600;\n\ttext-decoration: none;\n}\n\na:hover, a:focus, a:active { /* Override */\n\tcolor: #333333;\n}\n\na.inverted { /* Override */\n\tcolor: #FFFFFF;\n\tfont-weight: 600;\n\ttext-decoration: none;\n}\n\na.inverted:hover, a.inverted:focus, a.inverted:active { /* Override */\n\tcolor: #878787;\n}\n\n\n/*** Tags ***/\n\nhtml, body.mce-content-body {\n\t/* Fixes Post Editor */\n\theight: inherit !important;\n}\n\nblockquote {\n\tbackground-color: rgba(230, 230, 250, 0.25);\n\tborder-left: 4px solid rgba(0, 0, 0, 0.15);\n\tpadding: 0.5em 10px 0.5em 2.2em;\n\tquotes: \"\\201C\"\"\\201D\"\"\\201C\"\"\\201D\";\n\tz-index: 10;\n}\n\nblockquote:before {\n\tfont-family: 'Roboto', 'Open Sans', sans-serif;\n\tcolor: rgba(0, 0, 0, 0.15);\n\tcontent: open-quote;\n\tvertical-align: middle;\n\tposition: absolute;\n\tmargin: 0.45em 0 0 -0.45em;\n\tfont-size: 64px;\n\tline-height: 0px;\n\tz-index: 5;\n}\n\nblockquote cite {\n\tdisplay: block;\n\tmargin-top: 0.8em;\n\ttext-align: right;\n}\n\nblockquote p {\n\tdisplay: inline;\n}\n\nfigure.gallery-item {\n\tdisplay: inline-block;\n}\n\nimg {\n\theight: auto;\n\tmax-width: 100%;\n\tpadding: 0.3rem;\n}\n\n/*** Classes ***/\n\n.aligncenter {\n\tdisplay: block;\n\tmargin: 0 auto;\n}\n\n.alignleft {\n\tfloat:left;\n}\n\n.alignright {\n\tfloat:right;\n}\n\n.bypostauthor {\n\t/* I think this has to do with a comment's author??? */\n}\n\n.entry, .wp-widget {\n\toverflow: hidden;\n}\n\n.entry-media {\n\tposition: relative !important;\n\tdisplay: block;\n\twidth:100%;\n\tpadding: 0.5em 1em !important;\n\tmargin: 0 0 0 -1em !important;\n\tborder: none;\n\tbox-sizing: content-box !important;\n\tz-index: 1;\n}\n\n.entry-media::before {\n\tcontent: \"\";\n\tbackground-image: url(../image/subtle-patterns/diagonal-noise.png);\n\tbackground-position: top center;\n\topacity: 0.45;\n\ttop: 0;\n\tleft: 0;\n\tbottom: 0;\n\tright: 0;\n\tposition: absolute;\n\tz-index: 5;\n}\n\n.entry-media > img {\n\tz-index: 10;\n\tdisplay: block;\n\tmargin: 0 auto;\n\theight: auto;\n\twidth: auto;\n\tposition: relative;\n\tmax-height: 400px;\n\tmax-width: 100%;\n}\n\n.entry-title {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n}\n\n.entry-summery,\n.entry-content,\n.entry-summery p,\n.entry-content p,\n.widget * {\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\tword-wrap: break-word;\n}\n\n.gallery-caption {\n\t/* [todo] style gallery captions */\n}\n\n.pad, td#prev, td#next {\n\tborder-left: none;\n\tborder-right: none;\n}\n\n.screen-reader-text {\n\tclip: rect(1px, 1px, 1px, 1px);\n\tposition: absolute !important;\n\theight: 1px;\n\twidth: 1px;\n\toverflow: hidden;\n}\n\n.screen-reader-text:focus {\n\tbackground-color: #f1f1f1;\n\tborder-radius: 3px;\n\tbox-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);\n\tclip: auto !important;\n\tcolor: #21759b;\n\tdisplay: block;\n\tfont-size: 14px;\n\tfont-size: 0.875rem;\n\tfont-weight: bold;\n\theight: auto;\n\tleft: 5px;\n\tline-height: normal;\n\tpadding: 15px 23px 14px;\n\ttext-decoration: none;\n\ttop: 5px;\n\twidth: auto;\n\tz-index: 100000; /* Above WP toolbar. */\n}\n\n.sticky {\n\t/* [todo] make sticky posts stick-out */\n}\n\n.tagcloud {\n\ttext-align: center;\n}\n\n.ui * {\n\tfont-family: 'Open Sans', sans-serif;\n}\n\n.wp-caption{\n\tmax-width: 100%;\n\twidth: auto !important;\n\ttext-align: center;\n}\n\n.wp-caption-text{\n\tmargin: 0 auto;\n\tpadding: 0.25em 1em 0.25em 1.8em;\n\tmax-width: 90%;\n\tfont-size: 0.9em;\n\tborder-radius: 0.3em;\n\tborder: 1px solid #ccc;\n\tbackground: #fff;\n}\n\n\n\n/*** Utility Classes ***/\n\n.centered:not(ui):not(ui *) {\n\ttext-align: center;\n}\n\n.empty:not(ui):not(ui *) {\n\tdisplay: block;\n\twidth: 100%;\n}\n\n.empty.size-5:not(ui):not(ui *) { height: 5px; }\n.empty.size-10:not(ui):not(ui *) { height: 10px; }\n.empty.size-15:not(ui):not(ui *) { height: 15px; }\n.empty.size-20:not(ui):not(ui *) { height: 20px; }\n.empty.size-25:not(ui):not(ui *) { height: 25px; }\n.empty.size-30:not(ui):not(ui *) { height: 30px; }\n.empty.size-35:not(ui):not(ui *) { height: 35px; }\n.empty.size-40:not(ui):not(ui *) { height: 40px; }\n.empty.size-45:not(ui):not(ui *) { height: 45px; }\n.empty.size-50:not(ui):not(ui *) { height: 50px; }\n.empty.size-60:not(ui):not(ui *) { height: 60px; }\n.empty.size-70:not(ui):not(ui *) { height: 70px; }\n.empty.size-80:not(ui):not(ui *) { height: 80px; }\n.empty.size-90:not(ui):not(ui *) { height: 90px; }\n.empty.size-100:not(ui):not(ui *) { height: 100px; }\n\n.hidden:not(ui):not(ui *) {\n\tdisplay: none;\n}\n\n\n\n/*** ID's ***/\n\n#calendar_wrap {\n\ttext-align: center;\n\tmargin: 0;\n\tpadding: 0;\n}\n\n#main-content-grid {\n\tbackground-color: #ffffff;\n}\n\n#main-header-grid {\n\tpadding-top: 1.5rem;\n}\n\n#main-footer-grid {\n\tbackground-position: bottom center;\n}\n\n#suiwp-usage-tracker {\n\tdisplay: block;\n\tz-index: -100;\n\tposition: relative;\n\tmargin: -1px 0 0 0;\n\tpadding: 0;\n\theight: 1px;\n\twidth: 1px;\n}\n\n#wp-calendar {\n\tdisplay: inline-block;\n\tfont-size: 1.05em;\n}\n\n#wp-calendar, .tagcloud {\n\tmargin-top: 1em;\n}\n\n\n\n/*** Media Queries ***/\n\n@media only screen and (max-width: 249px) {\n\t/* Really small screens */\n}\n\n@media only screen and (min-width: 250px) {\n\t/* Older smartphones */\n}\n\n@media only screen and (min-width: 500px) {\n\t/* HD smartphones & small tablets */\n}\n\n@media only screen and (min-width: 750px) {\n\t/* Old computer screens & most tablets */\n}\n\n@media only screen and (min-width: 1000px) {\n\t/* Standard Desktop */\n}\n\n@media only screen and (min-width: 1250px) {\n\t/* HD desktop & possibly TV's */\n}\n"
  },
  {
    "path": "src/asset/style/normalize.css",
    "content": "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n/**\n * 1. Set default font family to sans-serif.\n * 2. Prevent iOS and IE text size adjust after device orientation change,\n *    without disabling user zoom.\n */\n\nhtml {\n  font-family: sans-serif; /* 1 */\n  -ms-text-size-adjust: 100%; /* 2 */\n  -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/**\n * Remove default margin.\n */\n\nbody {\n  margin: 0;\n}\n\n/* HTML5 display definitions\n   ========================================================================== */\n\n/**\n * Correct `block` display not defined for any HTML5 element in IE 8/9.\n * Correct `block` display not defined for `details` or `summary` in IE 10/11\n * and Firefox.\n * Correct `block` display not defined for `main` in IE 11.\n */\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n  display: block;\n}\n\n/**\n * 1. Correct `inline-block` display not defined in IE 8/9.\n * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n */\n\naudio,\ncanvas,\nprogress,\nvideo {\n  display: inline-block; /* 1 */\n  vertical-align: baseline; /* 2 */\n}\n\n/**\n * Prevent modern browsers from displaying `audio` without controls.\n * Remove excess height in iOS 5 devices.\n */\n\naudio:not([controls]) {\n  display: none;\n  height: 0;\n}\n\n/**\n * Address `[hidden]` styling not present in IE 8/9/10.\n * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n */\n\n[hidden],\ntemplate {\n  display: none;\n}\n\n/* Links\n   ========================================================================== */\n\n/**\n * Remove the gray background color from active links in IE 10.\n */\n\na {\n  background-color: transparent;\n}\n\n/**\n * Improve readability of focused elements when they are also in an\n * active/hover state.\n */\n\na:active,\na:hover {\n  outline: 0;\n}\n\n/* Text-level semantics\n   ========================================================================== */\n\n/**\n * Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n */\n\nabbr[title] {\n  border-bottom: 1px dotted;\n}\n\n/**\n * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n */\n\nb,\nstrong {\n  font-weight: bold;\n}\n\n/**\n * Address styling not present in Safari and Chrome.\n */\n\ndfn {\n  font-style: italic;\n}\n\n/**\n * Address variable `h1` font-size and margin within `section` and `article`\n * contexts in Firefox 4+, Safari, and Chrome.\n */\n\nh1 {\n  font-size: 2em;\n  margin: 0.67em 0;\n}\n\n/**\n * Address styling not present in IE 8/9.\n */\n\nmark {\n  background: #ff0;\n  color: #000;\n}\n\n/**\n * Address inconsistent and variable font size in all browsers.\n */\n\nsmall {\n  font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` affecting `line-height` in all browsers.\n */\n\nsub,\nsup {\n  font-size: 75%;\n  line-height: 0;\n  position: relative;\n  vertical-align: baseline;\n}\n\nsup {\n  top: -0.5em;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\n/* Embedded content\n   ========================================================================== */\n\n/**\n * Remove border when inside `a` element in IE 8/9/10.\n */\n\nimg {\n  border: 0;\n}\n\n/**\n * Correct overflow not hidden in IE 9/10/11.\n */\n\nsvg:not(:root) {\n  overflow: hidden;\n}\n\n/* Grouping content\n   ========================================================================== */\n\n/**\n * Address margin not present in IE 8/9 and Safari.\n */\n\nfigure {\n  margin: 1em 40px;\n}\n\n/**\n * Address differences between Firefox and other browsers.\n */\n\nhr {\n  box-sizing: content-box;\n  height: 0;\n}\n\n/**\n * Contain overflow in all browsers.\n */\n\npre {\n  overflow: auto;\n}\n\n/**\n * Address odd `em`-unit font size rendering in all browsers.\n */\n\ncode,\nkbd,\npre,\nsamp {\n  font-family: monospace, monospace;\n  font-size: 1em;\n}\n\n/* Forms\n   ========================================================================== */\n\n/**\n * Known limitation: by default, Chrome and Safari on OS X allow very limited\n * styling of `select`, unless a `border` property is set.\n */\n\n/**\n * 1. Correct color not being inherited.\n *    Known issue: affects color of disabled elements.\n * 2. Correct font properties not being inherited.\n * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n  color: inherit; /* 1 */\n  font: inherit; /* 2 */\n  margin: 0; /* 3 */\n}\n\n/**\n * Address `overflow` set to `hidden` in IE 8/9/10/11.\n */\n\nbutton {\n  overflow: visible;\n}\n\n/**\n * Address inconsistent `text-transform` inheritance for `button` and `select`.\n * All other form control elements do not inherit `text-transform` values.\n * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n * Correct `select` style inheritance in Firefox.\n */\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n/**\n * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n *    and `video` controls.\n * 2. Correct inability to style clickable `input` types in iOS.\n * 3. Improve usability and consistency of cursor style between image-type\n *    `input` and others.\n */\n\nbutton,\nhtml input[type=\"button\"], /* 1 */\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n  -webkit-appearance: button; /* 2 */\n  cursor: pointer; /* 3 */\n}\n\n/**\n * Re-set default cursor for disabled elements.\n */\n\nbutton[disabled],\nhtml input[disabled] {\n  cursor: default;\n}\n\n/**\n * Remove inner padding and border in Firefox 4+.\n */\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n  border: 0;\n  padding: 0;\n}\n\n/**\n * Address Firefox 4+ setting `line-height` on `input` using `!important` in\n * the UA stylesheet.\n */\n\ninput {\n  line-height: normal;\n}\n\n/**\n * It's recommended that you don't attempt to style these elements.\n * Firefox's implementation doesn't respect box-sizing, padding, or width.\n *\n * 1. Address box sizing set to `content-box` in IE 8/9/10.\n * 2. Remove excess padding in IE 8/9/10.\n */\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n  box-sizing: border-box; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Fix the cursor style for Chrome's increment/decrement buttons. For certain\n * `font-size` values of the `input`, it causes the cursor style of the\n * decrement button to change from `default` to `text`.\n */\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n  height: auto;\n}\n\n/**\n * 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n */\n\ninput[type=\"search\"] {\n  -webkit-appearance: textfield; /* 1 */\n  box-sizing: content-box; /* 2 */\n}\n\n/**\n * Remove inner padding and search cancel button in Safari and Chrome on OS X.\n * Safari (but not Chrome) clips the cancel button when the search input has\n * padding (and `textfield` appearance).\n */\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n/**\n * Define consistent border, margin, and padding.\n */\n\nfieldset {\n  border: 1px solid #c0c0c0;\n  margin: 0 2px;\n  padding: 0.35em 0.625em 0.75em;\n}\n\n/**\n * 1. Correct `color` not being inherited in IE 8/9/10/11.\n * 2. Remove padding so people aren't caught out if they zero out fieldsets.\n */\n\nlegend {\n  border: 0; /* 1 */\n  padding: 0; /* 2 */\n}\n\n/**\n * Remove default vertical scrollbar in IE 8/9/10/11.\n */\n\ntextarea {\n  overflow: auto;\n}\n\n/**\n * Don't inherit the `font-weight` (applied by a rule above).\n * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n */\n\noptgroup {\n  font-weight: bold;\n}\n\n/* Tables\n   ========================================================================== */\n\n/**\n * Remove most spacing between table cells.\n */\n\ntable {\n  border-collapse: collapse;\n  border-spacing: 0;\n}\n\ntd,\nth {\n  padding: 0;\n}\n"
  },
  {
    "path": "src/asset/style/webicons.scss",
    "content": "/*!\nWebicons by Adam Fairhead at Fairhead Creative http://fairheadcreative.com\nWebicons by http://fairheadcreative.com is licensed under the Creative Commons\nAttribution 4.0 International License. To view a copy of this license, visit\nhttp://creativecommons.org/licenses/by/4.0/.\n*/\n\n.webicon {\n\tdisplay: inline-block;\n\tbackground-size: 100%;\n\twidth: 30px;\n\theight: 30px;\n\ttext-indent: -999em;\n\ttext-align: left;\n\t-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n\t-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n\tbox-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);\n\t-moz-border-radius: 5px;\n\t-webkit-border-radius: 5px;\n\tborder-radius: 5px; margin-bottom: 5px;\n}\n\n.webicon:hover {\n\tmargin: -1px 0 1px;\n\t-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n\t-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n\tbox-shadow: 0 1px 0 rgba(0, 0, 0, 0.18);\n}\n\n.webicon.mini {\n\twidth: 15px;\n\theight: 15px;\n\t-moz-border-radius: 2px;\n\t-webkit-border-radius: 2px;\n\tborder-radius: 2px;\n}\n\n.webicon.tiny {\n\twidth: 20px;\n\theight: 20px;\n\t-moz-border-radius: 3px;\n\t-webkit-border-radius: 3px;\n\tborder-radius: 3px;\n}\n\n.webicon.small {\n\twidth: 25px;\n\theight: 25px;\n\t-moz-border-radius: 4px;\n\t-webkit-border-radius: 4px;\n\tborder-radius: 4px;\n}\n\n.webicon.large {\n\twidth: 35px;\n\theight: 35px;\n\t-moz-border-radius: 6px;\n\t-webkit-border-radius: 6px;\n\tborder-radius: 6px;\n}\n\n.webicon.big {\n\twidth: 40px;\n\theight: 40px;\n\t-moz-border-radius: 7px;\n\t-webkit-border-radius: 7px;\n\tborder-radius: 7px;\n}\n\n.webicon.huge {\n\twidth: 45px;\n\theight: 45px;\n\t-moz-border-radius: 8px;\n\t-webkit-border-radius: 8px;\n\tborder-radius: 8px;\n}\n\n.webicon.massive {\n\twidth: 48px;\n\theight: 48px;\n\t-moz-border-radius: 9px;\n\t-webkit-border-radius: 9px;\n\tborder-radius: 9px;\n}\n\n/* restore webicons accessibility for print */\n@media print {\n\t* {\n\t\tbackground: transparent !important;\n\t\tcolor: #000 !important;\n\t\t-moz-box-shadow: none !important;\n\t\t-webkit-box-shadow: none !important;\n\t\tbox-shadow: none !important;\n\t\ttext-shadow: none !important;\n\t}\n\t\n\t.webicon {\n\t\ttext-indent: 0;\n\t\twidth: auto !important;\n\t\theight: auto !important;\n\t\t-moz-border-radius: 0 !important;\n\t\t-webkit-border-radius: 0 !important;\n\t\tborder-radius: 0 !important;\n\t}\n}\n\n// Include or remove the icons you want to use on your site from this list.\n$webicons-icons: f500px aboutme adn android apple behance bitbucket blogger branch coderwall creativecloud deviantart dribbble dropbox evernote fairheadcreative facebook flickr foursquare git github goodreads google googleplay googleplus hangouts html5 icloud indiegogo instagram instapaper kickstarter klout lastfm linkedin mail medium mixi msn openid picasa pinterest pocketapp potluck quora orkut mercurial rdio reddit renren rss skitch skype soundcloud spotify stackoverflow stumbleupon svtle svn tent tripadvisor tumblr twitter viadeo vine vimeo weibo windows wordpress xing yahoo yelp youtube youversion zerply;\n\n// Specify the path to the webicons directory here. Include trailing slash.\n$webicons-url: \"../image/webicons/\" !default;\n\n@each $webicons-icon in $webicons-icons {\n\t.no-svg .webicon.#{$webicons-icon} {\n\t\tbackground: url(\"#{$webicons-url}webicon-#{$webicons-icon}.png\");\n\t}\n\t\n\t.svg .webicon.#{$webicons-icon} {\n\t\tbackground: url(\"#{$webicons-url}webicon-#{$webicons-icon}.svg\");\n\t}\n}\n"
  },
  {
    "path": "src/content/404.php",
    "content": "<?php\n/**\n * In most cases it is best to give your users at least 2 options on a 404 page:\n *   - Allow them to search for what they were looking for\n *   - Give them a link to the home page\n */\n?><div class=\"ui basic segment entry\">\n\t<h2 class=\"ui large dividing header entry-title\">\n\t\tError 404\n\t\t<div class=\"sub header\">The page you requested could not be found</div>\n\t</h2>\n\t<section class=\"ui basic segment entry-content\">\n\t\t<div class=\"ui middle aligned stackable grid\">\n\t\t\t<div class=\"row\">\n\t\t\t\t<div class=\"one wide column\">\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<div class=\"six wide center aligned column\">\n\t\t\t\t\tTry to find page you were looking for: <br><br>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t/*\n\t\t\t\t\t\tThe wrapper is removed from the widget because not only is it not needed, but the bottom\n\t\t\t\t\t\tborder of the input tag is invisible on webkit browsers when a parent tag has the class\n\t\t\t\t\t\t\"widget\"\n\t\t\t\t\t\t*/\n\t\t\t\t\t\tthe_widget('WP_Widget_Search', array(), array('before_widget' => '', 'after_widget' => ''));\n\t\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"one wide column\">\n\t\t\t\t\t\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui vertical divider\">\n\t\t\t\t\tOR\n\t\t\t\t</div>\n\t\t\t\t<div class=\"eight wide center aligned column\">\n\t\t\t\t\t<a class=\"ui large button\" href=\"<?php echo home_url('/'); ?>\">Go To Homepage</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</section>\n</div>\n"
  },
  {
    "path": "src/content/comments.php",
    "content": "<?php\n/**\n * This file is copied from the WordPress 4.4 theme-compat folder\n * \n * Semantic UI style comments will be added in the near future, but for now this\n * can give you a good idea of what to expect.\n */\n\n\nif ( post_password_required() ) { ?>\n\t<p class=\"nocomments\"><?php _e('This post is password protected. Enter the password to view comments.'); ?></p>\n<?php\n\treturn;\n}\n?>\n\n<?php if ( have_comments() ) : ?>\n\t<h3 id=\"comments\">\n\t\t<?php\n\t\t\tif ( 1 == get_comments_number() ) {\n\t\t\t\t/* translators: %s: post title */\n\t\t\t\tprintf( __( 'One response to %s' ),  '&#8220;' . get_the_title() . '&#8221;' );\n\t\t\t} else {\n\t\t\t\t/* translators: 1: number of comments, 2: post title */\n\t\t\t\tprintf( _n( '%1$s response to %2$s', '%1$s responses to %2$s', get_comments_number() ),\n\t\t\t\t\tnumber_format_i18n( get_comments_number() ),  '&#8220;' . get_the_title() . '&#8221;' );\n\t\t\t}\n\t\t?>\n\t</h3>\n\n\t<div class=\"navigation\">\n\t\t<div class=\"alignleft\"><?php previous_comments_link() ?></div>\n\t\t<div class=\"alignright\"><?php next_comments_link() ?></div>\n\t</div>\n\n\t<ol class=\"commentlist\">\n\t<?php wp_list_comments();?>\n\t</ol>\n\n\t<div class=\"navigation\">\n\t\t<div class=\"alignleft\"><?php previous_comments_link() ?></div>\n\t\t<div class=\"alignright\"><?php next_comments_link() ?></div>\n\t</div>\n <?php else : // this is displayed if there are no comments so far ?>\n\n\t<?php if ( comments_open() ) : ?>\n\t\t<!-- If comments are open, but there are no comments. -->\n\n\t <?php else : // comments are closed ?>\n\t\t<!-- If comments are closed. -->\n\t\t<p class=\"nocomments\"><?php _e('Comments are closed.'); ?></p>\n\n\t<?php endif; ?>\n<?php endif; ?>\n\n<?php if ( comments_open() ) : ?>\n\n<div id=\"respond\">\n\n<h3><?php comment_form_title( __('Leave a Reply'), __('Leave a Reply to %s' ) ); ?></h3>\n\n<div id=\"cancel-comment-reply\">\n\t<small><?php cancel_comment_reply_link() ?></small>\n</div>\n\n<?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?>\n<p><?php printf(__('You must be <a href=\"%s\">logged in</a> to post a comment.'), wp_login_url( get_permalink() )); ?></p>\n<?php else : ?>\n\n<form action=\"<?php echo site_url(); ?>/wp-comments-post.php\" method=\"post\" id=\"commentform\">\n\n<?php if ( is_user_logged_in() ) : ?>\n\n<p><?php /* translators: %s: user profile link  */\nprintf( __( 'Logged in as %s.' ), sprintf( '<a href=\"%1$s\">%2$s</a>', get_edit_user_link(), $user_identity ) ); ?>\n<a href=\"<?php echo wp_logout_url( get_permalink() ); ?>\" title=\"<?php esc_attr_e( 'Log out of this account' ); ?>\"><?php _e( 'Log out &raquo;' ); ?></a></p>\n\n<?php else : ?>\n\n<p><input type=\"text\" name=\"author\" id=\"author\" value=\"<?php echo esc_attr($comment_author); ?>\" size=\"22\" tabindex=\"1\" <?php if ($req) echo \"aria-required='true'\"; ?> />\n<label for=\"author\"><small><?php _e('Name'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>\n\n<p><input type=\"text\" name=\"email\" id=\"email\" value=\"<?php echo esc_attr($comment_author_email); ?>\" size=\"22\" tabindex=\"2\" <?php if ($req) echo \"aria-required='true'\"; ?> />\n<label for=\"email\"><small><?php _e('Mail (will not be published)'); ?> <?php if ($req) _e('(required)'); ?></small></label></p>\n\n<p><input type=\"text\" name=\"url\" id=\"url\" value=\"<?php echo  esc_attr($comment_author_url); ?>\" size=\"22\" tabindex=\"3\" />\n<label for=\"url\"><small><?php _e('Website'); ?></small></label></p>\n\n<?php endif; ?>\n\n<p><textarea name=\"comment\" id=\"comment\" cols=\"58\" rows=\"10\" tabindex=\"4\"></textarea></p>\n\n<p><input name=\"submit\" type=\"submit\" id=\"submit\" tabindex=\"5\" value=\"<?php esc_attr_e('Submit Comment'); ?>\" />\n<?php comment_id_fields(); ?>\n</p>\n<?php comment_form(); ?>\n\n</form>\n\n<?php endif; // If registration required and not logged in ?>\n</div>\n\n<?php endif; // if you delete this the sky will fall on your head ?>\n"
  },
  {
    "path": "src/content/empty.php",
    "content": "<?php\n/**\n * This \"empty\" file is very important because it allows you to dynamically\n * exclude any part of the theme that is included via the template_part() or\n * theme::part() functions (given the part has not already been sent to PHP's\n * buffer). The idea is to reuse or change parts instead of just deleting them.\n */\n"
  },
  {
    "path": "src/content/first-run.php",
    "content": "<?php\n/**\n * Sometimes a page just needs to display static content that will never change.\n * There's nothing wrong with coding in pure HTML; but if you do, just make sure\n * you still use the \".php\" file extension. Both WordPress and this theme are\n * only expecting PHP files. Which could lead to undesired behavior if you don't\n * use the correct extension.\n */\n?><h3>Does this theme look plain to you? Good!</h3>\n<i>Semantic UI for WordPress</i> is a developer theme that is meant to be\nmolded into <strong>your idea</strong>. Think of this theme as a blank canvas\nthat is ready to painted into your idea of a good theme. So go nuts, and\nchange everything to make it how <strong>you</strong> think it should be.\n\n<div class=\"empty size-60\">&nbsp;</div>\n\n<div class=\"ui stacked segment\">\n\n\t<h2 class=\"centered\">&#126; Features &#126;</h2>\n\n\t<div class=\"empty size-10\">&nbsp;</div>\n\n\t<div class=\"ui three column doubling grid\">\n\t\t<div class=\"column\">\n\t\t\t<h3 class=\"ui center aligned dividing header\">What's Included</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li>Semantic UI <small>(<a target=\"_blank\" href=\"http://semantic-ui.com/\">link</a>)</small></li>\n\t\t\t\t<li>Google Web Fonts <small>(<a target=\"_blank\" href=\"https://www.google.com/fonts\">link</a>)</small></li>\n\t\t\t\t<li>Font Awesome <small>(<a target=\"_blank\" href=\"http://fortawesome.github.io/Font-Awesome/\">link</a>)</small></li>\n\t\t\t\t<li>Subtle Patterns <small>(<a target=\"_blank\" href=\"http://subtlepatterns.com/\">link</a>)</small></li>\n\t\t\t\t<li>Webicons <small>(<a target=\"_blank\" href=\"https://github.com/adamfairhead/webicons\">link</a>)</small></li>\n\t\t\t\t<li>Highlight.js <small>(<a target=\"_blank\" href=\"https://highlightjs.org/\">link</a>)</small></li>\n\t\t\t\t<li>Mousetrap.js <small>(<a target=\"_blank\" href=\"http://craig.is/killing/mice\">link</a>)</small></li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div class=\"column\">\n\t\t\t<h3 class=\"ui center aligned dividing header\">WordPress Integrations</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li>Theme Options Page</li>\n\t\t\t\t<li>Basic Woocommerce Support</li>\n\t\t\t\t<li>Post Thumbnails &amp; Formats</li>\n\t\t\t\t<li>Dynamic Sidebars/Widget Areas</li>\n\t\t\t\t<li>Scripts &amp; Styles Enqueue</li>\n\t\t\t\t<li>WP Admin Bar Links</li>\n\t\t\t\t<li>Custom Dashboard Footer</li>\n\t\t\t\t<li>Semantic UI Search Form</li>\n\t\t\t</ul>\n\t\t</div>\n\t\t<div class=\"column\">\n\t\t\t<h3 class=\"ui center aligned dividing header\">Practices In Use</h3>\n\t\t\t\n\t\t\t<ul>\n\t\t\t\t<li>Responsive Web Design <small>(HTML5/CSS3)</small></li>\n\t\t\t\t<li>Object Oriented Programming</li>\n\t\t\t\t<li>Lots Of Code Comments</li>\n\t\t\t\t<li>Pleanty Of Code Examples</li>\n\t\t\t\t<li>Structured Data Markup <small>(<a target=\"_blank\" href=\"https://support.google.com/webmasters/answer/3069489\">link</a>)</small></li>\n\t\t\t\t<li>Non-Repetitious Code</li>\n\t\t\t\t<li>Semantic File-System Structure</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n\t\n</div>\n\n<div class=\"empty size-40\">&nbsp;</div>\n\n<div class=\"ui three column stackable grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui basic secondary segment\">\n\t\t\t<div class=\"empty size-10\">&nbsp;</div>\n\t\t\t<h3 class=\"centered\">Getting started</h3>\n\t\t\t\n\t\t\tFirst, turn off this first-run page (so you can see your work), then head\n\t\t\tover to the <a target=\"_blank\" href=\"<?php echo admin_url().'themes.php?page=dev_notes'; ?>\">Developers Notes</a> page.\n\t\t\t<br><br>\n\t\t\tThe dev notes are there to help you understand how the theme works, and\n\t\t\tget you started on removing, replacing, and extending features\n\t\t\t<div class=\"empty size-20\">&nbsp;</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui basic secondary segment\">\n\t\t\t<div class=\"empty size-10\">&nbsp;</div>\n\t\t\t<h3 class=\"centered\">Want To Contribute?</h3>\n\t\t\t\n\t\t\t<b>For Semantic UI:</b><br>\n\t\t\tVisit <a target=\"_blank\" href=\"http://semantic-ui.com/project/contributing.html#/contributing\">this page</a>\n\t\t\tto learn how to contribute to Semantic UI\n\t\t\t<br><br>\n\t\t\t<b>For This Theme:</b><br>\n\t\t\tTo make suggestions or submit code, see <a target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress#contributing-to-this-wordpress-theme\">this page</a>.\n\t\t\t<div class=\"empty size-20\">&nbsp;</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui basic secondary segment\">\n\t\t\t<div class=\"empty size-10\">&nbsp;</div>\n\t\t\t<h3 class=\"centered\">Need Help?</h3>\n\t\t\t\n\t\t\tIf your having trouble, found a bug, or are otherwise in need of some\n\t\t\thelp, please let me know by creating an <a target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues\">issue on Github</a>.\n\t\t\t<br><br>\n\t\t\tPlease try to be as detailed as you can, and if possible, please post examples\n\t\t\tof your problem.\n\t\t\t<div class=\"empty size-20\">&nbsp;</div>\n\t\t</div>\n\t</div>\n</div>\n\n<div class=\"empty size-40\">&nbsp;</div>\n"
  },
  {
    "path": "src/content/footer-none.php",
    "content": "<?php\n/**\n * The footer without any visible content.\n */\n?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t\n\t<!-- Modals -->\n\t<?php template_part($theme->content_sub_path.'/modals'); ?>\n\t<!-- /Modals -->\n\t\n\t<?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "src/content/footer.php",
    "content": "<?php\n/**\n * The default footer.\n */\n?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<footer class=\"ui page stackable grid\" id=\"main-footer-grid\">\n\t\t\t\t<?php\n\t\t\t\t$footer_sidebar = 'footer-widget-area-footer';\n\t\t\t\tif (is_active_sidebar($footer_sidebar)) {\n\t\t\t\t\t?>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"sixteen wide column\">\n\t\t\t\t\t\t\t<div class=\"ui three column doubling grid\">\n\t\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t\tdynamic_sidebar($footer_sidebar);\n\t\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<?php\n\t\t\t\t}\n\t\t\t\tif (has_nav_menu($menu_loc = 'footer-menu')) {\n\t\t\t\t\t?>\n\t\t\t\t\t<div class=\"row\">\n\t\t\t\t\t\t<div class=\"sixteen wide column\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\twp_nav_menu(array(\n\t\t\t\t\t\t\t\t'theme_location'  => $menu_loc,\n\t\t\t\t\t\t\t\t'menu_class'      => 'ui menu',\n\t\t\t\t\t\t\t\t'items_wrap'      => '<nav id=\"%1$s\" class=\"%2$s\">%3$s</nav>',\n\t\t\t\t\t\t\t\t'depth'           => 2, // currently there is a bug that prevents a depth > 2 from displaying correctly\n\t\t\t\t\t\t\t\t'walker'          => new \\semantic\\walker\\nav_menu\n\t\t\t\t\t\t\t));\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<?php\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t\t<div class=\"row\">\n\t\t\t\t\t<div class=\"eight wide column\">\n\t\t\t\t\t\t<div class=\"ui center aligned basic segment\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tif ($theme->get_option('powered_by')) {\n\t\t\t\t\t\t\t\t?>Proudly Powered By <a class=\"inverted\" href=\"http://wordpress.org/\">WordPress</a> &amp; <a class=\"inverted\" href=\"http://semantic-ui.com/\">Semantic UI</a>.<?php\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"eight wide column\">\n\t\t\t\t\t\t<div class=\"ui center aligned basic segment\">\n\t\t\t\t\t\t\t&copy; Copyright\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t$copyright_holder     = $theme->get_option('copyright_holder');\n\t\t\t\t\t\t\t$copyright_holder_url = $theme->get_option('copyright_holder_url');\n\t\t\t\t\t\t\t$copyright_year       = $theme->get_option('copyright_year');\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tif ($copyright_holder) {\n\t\t\t\t\t\t\t\tif ($copyright_holder_url) {\n\t\t\t\t\t\t\t\t\tprintf('<a class=\"inverted\" href=\"%1$s\">%2$s</a> ', $copyright_holder_url, $copyright_holder);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\techo $copyright_holder.' ';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ((int) $copyright_year) {\n\t\t\t\t\t\t\t\t\tsettype($copyright_year, 'integer');\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t$copyright_year = (int) date('Y');\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t\t<a href=\"https://github.com/ProjectCleverWeb\" >Nicholas Jordon</a>\n\t\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t\t$copyright_year = 2014;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ($copyright_year == (int) date('Y')) {\n\t\t\t\t\t\t\t\techo $copyright_year;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\techo $copyright_year.' - '.date('Y');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ($theme->get_option('copyright_extra')) {\n\t\t\t\t\t\t\t\techo ' - All Rights Reserved';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</footer>\n\t\t</div>\n\t</div>\n\t\n\t<!-- Modals -->\n\t<?php template_part($theme->content_sub_path.'/modals'); ?>\n\t<!-- /Modals -->\n\t\n\t\n\t<?php wp_footer(); ?>\n</body>\n</html>\n"
  },
  {
    "path": "src/content/head.php",
    "content": "<?php\n/**\n * The default content of <head> in the document\n */\n\n?><meta charset=\"<?php bloginfo( 'charset' ); ?>\">\n\n<title><?php wp_title('|'); ?></title>\n\n<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge,chrome=1\">\n<?php\nif ($theme->get_option('meta_keywords_enabled') && !empty($theme->get_option('meta_keywords'))) {\n\t?>\n\t<meta name=\"keywords\" content=\"<?php esc_attr_e($theme->get_option('meta_keywords')); ?>\">\n\t<?php\n}\nif ($theme->get_option('meta_favicon_enabled') && !empty($theme->get_option('meta_favicon'))) {\n\t?>\n\t<link rel=\"shortcut icon\" href=\"<?php esc_attr_e($theme->get_option('meta_favicon')); ?>\">\n\t<?php\n}\nif ($theme->get_option('meta_x_ua_compatible_enabled') && !empty($theme->get_option('meta_x_ua_compatible'))) {\n\t?>\n\t<meta http-equiv=\"X-UA-Compatible\" content=\"<?php esc_attr_e($theme->get_option('meta_x_ua_compatible')); ?>\">\n\t<?php\n}\nif ($theme->get_option('mobile_meta') && !empty($theme->get_option('mobile_size'))) {\n\t?>\n\t<!-- Mobile Meta -->\n\t<meta name=\"HandheldFriendly\" content=\"true\">\n\t<meta name=\"MobileOptimized\" content=\"<?php esc_attr_e($theme->get_option('mobile_size')); ?>\">\n\t<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"/>\n\t<!-- /Mobile Meta -->\n\t<?php\n}\n?>\n<link rel=\"pingback\" href=\"<?php bloginfo('pingback_url'); ?>\">\n<?php\nwp_head();\n\n$background_position = get_theme_mod('background_position_x', get_theme_support('custom-background', 'default-position-x'));\nif (!in_array($background_position, array('center', 'right', 'left'))) {\n\t$background_position = 'left';\n}\n\n$background_repeat = get_theme_mod( 'background_repeat', get_theme_support( 'custom-background', 'default-repeat' ) );\nif (!in_array($background_repeat, array('no-repeat', 'repeat-x', 'repeat-y', 'repeat'))) {\n\t$background_repeat = 'repeat';\n}\n\n$background_attachment = get_theme_mod( 'background_attachment', get_theme_support( 'custom-background', 'default-attachment' ) );\nif (!in_array($background_attachment, array( 'fixed', 'scroll'))) {\n\t$background_attachment = 'scroll';\n}\n\nprintf(\n\t'<style type=\"text/css\">#main-header-grid, #main-footer-grid { background-image:%1$s; background-position:%2$s; background-color:%3$s; background-repeat:%4$s; background-attachment:%5$s }</style>',\n\t'url(\"'.get_background_image().'\")',\n\t\"top $background_position\",\n\t'#'.get_background_color(),\n\t$background_repeat,\n\t$background_attachment\n);\n"
  },
  {
    "path": "src/content/header-none.php",
    "content": "<?php\n/**\n * The theme header without the visible header.\n */\n\n?><!DOCTYPE html>\n<html <?php language_attributes(); ?>>\n<head>\n<?php template_part($theme->content_sub_path.'/head'); ?>\n</head>\n<body <?php body_class('public-page'); ?>>\n\t<div id=\"page-wrapper\">\n\t\t<div id=\"page-container\">\n\t\t\t<div class=\"ui middle aligned page stackable grid\" id=\"main-content-grid\">\n\t\t\t\t<div class=\"sixteen wide column\"><?php\n"
  },
  {
    "path": "src/content/header.php",
    "content": "<?php\n/**\n * The default theme header.\n */\n\n$num_to_eng = array(\n\t0  => 'zero',\n\t1  => 'one',\n\t2  => 'two',\n\t3  => 'three',\n\t4  => 'four',\n\t5  => 'five',\n\t6  => 'six',\n\t7  => 'seven',\n\t8  => 'eight',\n\t9  => 'nine',\n\t10 => 'ten',\n\t11 => 'eleven',\n\t12 => 'twelve',\n\t13 => 'thirteen',\n\t14 => 'fourteen',\n\t15 => 'fifteen',\n\t16 => 'sixteen',\n);\n\n$logo_width = $num_to_eng[(int) $theme->get_option('logo_size')];\n$menu_width = $num_to_eng[(16 - (int) $theme->get_option('logo_size'))];\n\n\n?><!DOCTYPE html>\n<html <?php language_attributes(); ?>>\n<head>\n<?php template_part($theme->content_sub_path.'/head'); ?>\n</head>\n<body <?php body_class('public-page'); ?>>\n\t<div id=\"page-wrapper\">\n\t\t<div id=\"page-container\">\n\t\t\t<header class=\"ui middle aligned stackable page grid\" id=\"main-header-grid\">\n\t\t\t\t<?php\n\t\t\t\tif ($logo_width != 'zero') {\n\t\t\t\t\t?>\n\t\t\t\t<div class=\"<?php echo $logo_width; ?> wide center aligned column\">\n\t\t\t\t\t<?php\n\t\t\t\t\tif ($theme->get_option('logo_url')) {\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<a href=\"<?php echo esc_url(home_url('/')); ?>\" rel=\"home\">\n\t\t\t\t\t\t\t<img src=\"<?php echo $theme->get_option('logo_url'); ?>\" alt=\"company logo\">\n\t\t\t\t\t\t</a>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t}\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<?php\n\t\t\t\t} // logo width\n\t\t\t\t\n\t\t\t\tif ($menu_width != 'zero') {\n\t\t\t\t\t?>\n\t\t\t\t<div class=\"<?php echo $menu_width; ?> wide column\">\n\t\t\t\t\t<?php\n\t\t\t\t\tif ($theme->get_option('header_text') || $theme->get_option('header_subtext')) {\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<h1 class=\"ui huge inverted center aligned header\">\n\t\t\t\t\t\t\t<?php echo $theme->get_option('header_text'); ?>\n\t\t\t\t\t\t\t<div class=\"sub header\">\n\t\t\t\t\t\t\t\t<?php echo $theme->get_option('header_subtext'); ?>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</h1>\n\t\t\t\t\t\t<?php\n\t\t\t\t\t}\n\t\t\t\t\tif (has_nav_menu($menu_loc = 'main-menu')) {\n\t\t\t\t\t\twp_nav_menu(array(\n\t\t\t\t\t\t\t'theme_location'  => $menu_loc,\n\t\t\t\t\t\t\t'menu_class'      => 'ui menu',\n\t\t\t\t\t\t\t'items_wrap'      => '<nav id=\"%1$s\" class=\"%2$s\">%3$s</nav>',\n\t\t\t\t\t\t\t'depth'           => 2, // currently there is a bug that prevents a depth > 2 from displaying correctly\n\t\t\t\t\t\t\t'walker'          => new \\semantic\\walker\\nav_menu\n\t\t\t\t\t\t));\n\t\t\t\t\t}\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t<?php\n\t\t\t} // menu width\n\t\t\t?>\n\t\t\t</header>\n\t\t\t<div class=\"ui page stackable grid\" id=\"main-content-grid\">\n\t\t\t\t<div class=\"sixteen wide column\"><?php\n"
  },
  {
    "path": "src/content/login-form.php",
    "content": "<?php\n/**\n * This is a simplified example of how to create a login page for WordPress.\n */\n?><div class=\"ui center aligned container\">\n\t<img src=\"<?php echo site_url('/wp-admin/images/wordpress-logo.svg'); ?>\" class=\"image\">\n</div>\n<form class=\"ui form\" action=\"<?php echo esc_url(wp_login_url()); ?>\" method=\"post\">\n\t<?php\n\tif (!empty($_REQUEST['redirect'])) {\n\t\tprintf('<input type=\"hidden\" name=\"redirect_to\" value=\"%s\" />', esc_url($_REQUEST['redirect']));\n\t}\n\t?>\n\t<div class=\"ui raised top attached segment\">\n\t\t<div class=\"field\">\n\t\t\t<div class=\"ui left icon input\">\n\t\t\t\t<i class=\"user icon\"></i>\n\t\t\t\t<input type=\"text\" name=\"log\" placeholder=\"Username\">\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"field\">\n\t\t\t<div class=\"ui left icon input\">\n\t\t\t\t<i class=\"lock icon\"></i>\n\t\t\t\t<input type=\"password\" name=\"pwd\" placeholder=\"Password\">\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"field\">\n\t\t\t<div class=\"ui checkbox\">\n\t\t\t\t<input name=\"rememberme\" type=\"checkbox\" tabindex=\"0\" class=\"hidden\" value=\"forever\">\n\t\t\t\t<label>Remember Me</label>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"ui two bottom attached buttons\">\n\t\t<a href=\"<?php echo esc_url(home_url('/')); ?>\" class=\"ui black button\">Cancel</a>\n\t\t<button type=\"submit\" name=\"wp-submit\" class=\"ui blue submit button\">Login</button>\n\t</div>\n</form>\n<div class=\"ui horizontal bulleted link list basic center aligned segment\">\n\t<?php\n\t\tif (get_option('users_can_register')) {\n\t\t\tprintf('<a class=\"item\" href=\"%s\">%s</a>', esc_url(wp_registration_url()), 'Register');\n\t\t}\n\t?>\n\t<a class=\"item\" href=\"<?php echo esc_url(wp_lostpassword_url()); ?>\">\n\t\tLost your password?\n\t</a>\n</div>\n"
  },
  {
    "path": "src/content/loop.php",
    "content": "<?php\n/**\n * This is the standard WordPress loop and its relative content.\n * \n * This page handles the following parts of articles and pages:\n *   - Title\n *   - Tags\n *   - Post Thumbnails\n *   - Content (both the summary and full)\n *   - Author data\n *   - Pagination\n *   - Including the comments section\n */\n\nif (have_posts()) {\n\twhile (have_posts()) {\n\t\tthe_post();\n\t\t?>\n\t\t<article itemscope itemtype=\"http://schema.org/Article\" id=\"post-<?php the_ID(); ?>\" <?php post_class('ui basic segment entry'); ?>>\n\t\t\t<h2 itemprop=\"name\" class=\"ui large dividing header entry-title\">\n\t\t\t\t<?php\n\t\t\t\tif (is_singular()) {\n\t\t\t\t\tthe_title();\n\t\t\t\t} else {\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<a rel=\"bookmark\" href=\"%1$s\">%2$s</a>',\n\t\t\t\t\t\tget_the_permalink(),\n\t\t\t\t\t\tget_the_title()\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t$categories = get_the_category();\n\t\t\t\tif(!empty($categories)){\n\t\t\t\t\t$cat_i     = 0;\n\t\t\t\t\t$cat_array = array();\n\t\t\t\t\tforeach($categories as $category) {\n\t\t\t\t\t\tif ($cat_i < 3) {\n\t\t\t\t\t\t\t$cat_array[] = sprintf(\n\t\t\t\t\t\t\t\t'<a href=\"%1$s\" title=\"%2$s\">%3$s</a>',\n\t\t\t\t\t\t\t\tget_category_link($category->term_id),\n\t\t\t\t\t\t\t\tesc_attr(sprintf(__('View all posts in %s', $theme::TEXT_DOMAIN), $category->name)),\n\t\t\t\t\t\t\t\t$category->cat_name\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t$cat_i++;\n\t\t\t\t\t}\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<div class=\"sub header\">Filed Under: %1$s</div>',\n\t\t\t\t\t\timplode(', ', $cat_array)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t</h2>\n\t\t\t<?php\n\t\t\tif (is_singular()) {\n\t\t\t\tif (has_post_thumbnail($post->ID)) {\n\t\t\t\t\t?>\n\t\t\t\t\t<div class=\"ui basic center aligned segment entry-media\">\n\t\t\t\t\t\t<?php the_post_thumbnail(); ?>\n\t\t\t\t\t</div>\n\t\t\t\t\t<?php\n\t\t\t\t}\n\t\t\t\t?><section itemprop=\"articleBody\" class=\"ui basic segment entry-content\"><?php\n\t\t\t\tthe_content();\n\t\t\t\t\n\t\t\t\twp_link_pages( array(\n\t\t\t\t\t'before' => '<div class=\"page-links\">' . __( 'Pages:', $theme::TEXT_DOMAIN),\n\t\t\t\t\t'after'  => '</div>',\n\t\t\t\t));\n\t\t\t\t\n\t\t\t\t?></section><?php\n\t\t\t} else {\n\t\t\t\tif (has_post_thumbnail($post->ID)) {\n\t\t\t\t\t$image = wp_get_attachment_image_src(get_post_thumbnail_id((integer) $post->ID), 'single-post-thumbnail');\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<div class=\"entry-media\"><img itemprop=\"image\" src=\"%1$s\" alt=\"%2$s\"></div>',\n\t\t\t\t\t\t$image[0],\n\t\t\t\t\t\tthe_title_attribute(array('echo' => FALSE))\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t?><section itemprop=\"articleSection\" class=\"ui basic segment entry-summery\"><?php\n\t\t\t\tthe_excerpt();\n\t\t\t\t?></section><?php\n\t\t\t}\n\t\t\t?>\n\t\t\t<div class=\"ui basic segment\">\n\t\t\t\t<?php\n\t\t\t\tif (is_singular()) {\n\t\t\t\t\tedit_post_link( '<span class=\"ui tiny black right floated button\">'.__( 'Edit This', $theme::TEXT_DOMAIN).'</span>');\n\t\t\t\t} else {\n\t\t\t\t\t?><a itemprop=\"url\" href=\"<?php the_permalink(); ?>\" class=\"ui tiny black right floated button\" rel=\"bookmark\">View Post</a><?php\n\t\t\t\t}\n\t\t\t\t?>\n\t\t\t\t<span class=\"ui circular labels tags-links\">\n\t\t\t\t\t<?php\n\t\t\t\t\t$post_tags = get_the_tags();\n\t\t\t\t\tif ($post_tags) {\n\t\t\t\t\t\t$tag_i   = 0;\n\t\t\t\t\t\t$tag_str = '';\n\t\t\t\t\t\tforeach ((array) $post_tags as $tag) {\n\t\t\t\t\t\t\tif ($tag_i < 5) {\n\t\t\t\t\t\t\t\t$tag_str .= sprintf(\n\t\t\t\t\t\t\t\t\t'<a class=\"ui label\" id=\"tag-%2$s\" href=\"%3$s\">%1$s</a> ',\n\t\t\t\t\t\t\t\t\t$tag->name,\n\t\t\t\t\t\t\t\t\t$tag->term_id,\n\t\t\t\t\t\t\t\t\tget_tag_link($tag->term_id)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t$tag_i++;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\techo substr($tag_str, 0, -2);\n\t\t\t\t\t}\n\t\t\t\t\t?>\n\t\t\t\t</span>\n\t\t\t\t<div>\n\t\t\t\t\tArticle created by\n\t\t\t\t\t<span class=\"author vcard\" itemprop=\"author\" itemscope itemtype=\"http://schema.org/Person\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t$author     = get_the_author();\n\t\t\t\t\t\t$author_url = get_the_author_meta('gplus');\n\t\t\t\t\t\tif (!$author_url) {\n\t\t\t\t\t\t\t$author_url = get_the_author_meta('user_url');\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ($author_url) {\n\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t'<a href=\"%2$s\" class=\"fn author-with-link\" itemprop=\"name\" title=\"%3$s\" rel=\"nofollow author external\">%1$s</a>',\n\t\t\t\t\t\t\t\t$author,\n\t\t\t\t\t\t\t\tesc_url($author_url),\n\t\t\t\t\t\t\t\tesc_attr(sprintf(__('Visit %s&#8217;s website', $theme::TEXT_DOMAIN), $author))\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t'<span class=\"fn author-no-link\" itemprop=\"name\">%1$s</span>',\n\t\t\t\t\t\t\t\t$author\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t?>\n\t\t\t\t\t</span>\n\t\t\t\t\ton\n\t\t\t\t\t<time class=\"updated\" datetime=\"<?php the_time('m-d-Y H:i'); ?>\" itemprop=\"datePublished\" content=\"<?php the_time('c'); ?>\">\n\t\t\t\t\t\t<?php the_date(); ?>\n\t\t\t\t\t</time>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</article>\n\t\t<?php\n\t\t\n\t\tif (is_singular()) {\n\t\t\tif ( comments_open() || 0 != get_comments_number()) :\n\t\t\t\tcomments_template('/'.$theme->content_sub_path.'/comments.php');\n\t\t\tendif;\n\t\t}\n\t\t\n\t}\n\t?>\n\t\n\t<?php\n\tglobal $wp_query;\n\t$pagination = paginate_links(array(\n\t\t'base'      => str_replace(9999999, '%#%', esc_url(get_pagenum_link(9999999))),\n\t\t'format'    => '?paged=%#%',\n\t\t'prev_text' => '<i class=\"left arrow icon\"></i> Previous',\n\t\t'next_text' => 'Next <i class=\"right arrow icon\"></i>',\n\t\t'end_size'  => 2,\n\t\t'current'   => max(1, get_query_var('paged')),\n\t\t'total'     => $wp_query->max_num_pages,\n\t\t'type'      => 'array'\n\t));\n\t\n\tif (!empty($pagination) && is_array($pagination)) {\n\t\tforeach ($pagination as &$link) {\n\t\t\t$link = str_ireplace('page-numbers current', 'item active', $link);\n\t\t\t$link = str_ireplace('page-numbers dots', 'item active', $link);\n\t\t\t$link = str_ireplace('page-numbers', 'item', $link);\n\t\t}\n\t\t\n\t\tprintf(\n\t\t\t'<div class=\"ui basic center aligned segment\"><div class=\"ui borderless pagination menu\">%1$s</div></div>',\n\t\t\timplode(' ', $pagination)\n\t\t);\n\t}\n}\n"
  },
  {
    "path": "src/content/modals.php",
    "content": "<?php\n/**\n * Put any modals that should be available across the entire site here\n */\n"
  },
  {
    "path": "src/content/theme-options/about.php",
    "content": "<div class=\"ui three column doubling grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Theme Options Page</h3>\n\t\t\t<p>Theme options in Semantic UI for WordPress are stored similarly to the traditional way to store options, with one exception; All of the options are actually stored in a JSON<sup>&Dagger;</sup> string as 1 database value (rather than each as a seperate database row). Storing information like this is ideal because it means you can store multi-layer arrays as-is in the database.</p>\n\t\t\t<p><sup>&Dagger;</sup> Since there are few cases where the extra features of <code>serialize()</code> are needed, and the JSON encode/decode functions <a target=\"_blank\" href=\"http://stackoverflow.com/questions/804045/preferred-method-to-store-php-arrays-json-encode-vs-serialize\">are about twice as fast</a>; a JSON string is the default storage method.</p>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Theme Developer</h3>\n\t\t\t<p>I'm someone who believes the best things in life are free, and that code (no matter how well done) is no exception.</p>\n\t\t\t<p>Everything I develop is meant to be shared and used by other people; when I code, I try and be mindful of what others would think. This means I always do my best to keep my code easy to read and understand.</p>\n\t\t\t<div class=\"ui basic center aligned segment\">\n\t\t\t\t<a target=\"_blank\" class=\"webicon large github\" href=\"https://github.com/ProjectCleverWeb\">Github</a>\n\t\t\t\t<a target=\"_blank\" class=\"webicon large coderwall\" href=\"https://coderwall.com/projectcleverweb\">Coderwall</a>\n\t\t\t\t<a target=\"_blank\" class=\"webicon large stackoverflow\" href=\"http://stackoverflow.com/users/3511423/nick-j\">Stack Overflow</a>\n\t\t\t\t<a target=\"_blank\" class=\"webicon large wordpress\" href=\"http://profiles.wordpress.org/njordon\">Wordpress</a>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Semantic UI</h3>\n\t\t\t<blockquote>\n\t\t\t\tSemantic empowers designers and developers by creating a shared vocabulary for UI. <cite>&ndash; Semantic UI Team</cite>\n\t\t\t</blockquote>\n\t\t\t<p>Semantic UI is a HTML/CSS framework developed by <a target=\"_blank\" href=\"https://github.com/jlukic\">Jack Lukic</a>. You can find out more about Semantic UI at the <a target=\"_blank\" href=\"http://semantic-ui.com/\">project's website</a>, or by visiting the <a target=\"_blank\" href=\"https://github.com/Semantic-Org/Semantic-UI\">Github repo</a>.</p>\n\t\t</div>\n\t</div>\n</div>\n"
  },
  {
    "path": "src/content/theme-options/general.php",
    "content": "<?php\n/**\n * Here we are using Semantic UI forms\n * \n * @see http://semantic-ui.com/collections/form.html\n */\n?><div class=\"ui three column doubling grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Header</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Header Text</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"My Site Name\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('header_text'),\n\t\t\t\t\t\t$theme->get_option('header_text')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Header Sub-Text</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"My Slogan\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('header_subtext'),\n\t\t\t\t\t\t$theme->get_option('header_subtext')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Logo URL</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"http://example.com/logo.png\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('logo_url'),\n\t\t\t\t\t\t$theme->get_option('logo_url')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<label>Logo Size</label>\n\t\t\t\t<div class=\"ui stackable grid\">\n\t\t\t\t\t<div class=\"doubling two column row\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\t$logo_sizes = range(0,16);\n\t\t\t\t\t\t\n\t\t\t\t\t\tforeach ($logo_sizes as $value) {\n\t\t\t\t\t\t\t$checked = '';\n\t\t\t\t\t\t\tif ($theme->get_option('logo_size') == (string) $value) {\n\t\t\t\t\t\t\t\t$checked = 'checked';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t<div class=\"column\">\n\t\t\t\t\t\t\t\t<div class=\"ui radio checkbox\">\n\t\t\t\t\t\t\t\t\t<input id=\"size-<?php echo $value; ?>\" value=\"<?php echo $value; ?>\" type=\"radio\" name=\"<?php echo $theme->option_form_name('logo_size'); ?>\" <?php echo $checked; ?>>\n\t\t\t\t\t\t\t\t\t<label for=\"size-<?php echo $value; ?>\">\n\t\t\t\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t\t\t\tif ($value == 0) {\n\t\t\t\t\t\t\t\t\t\t\techo 'No Logo';\n\t\t\t\t\t\t\t\t\t\t} elseif ($value == 16) {\n\t\t\t\t\t\t\t\t\t\t\techo 'Full Width';\n\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\techo $value.'/16';\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t\t\t</label>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t}\n\t\t\t\t\t\t?>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Footer</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Copyright Holder</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"Person or Company Name\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('copyright_holder'),\n\t\t\t\t\t\t$theme->get_option('copyright_holder')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Copyright Holder URL</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"http://example.com/\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('copyright_holder_url'),\n\t\t\t\t\t\t$theme->get_option('copyright_holder_url')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('copyright_extra'),\n\t\t\t\t\t\t\t($theme->get_option('copyright_extra') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Show \"All Rights Reserved\" <small>(see <a target=\"_blank\" href=\"http://en.wikipedia.org/wiki/All_rights_reserved\">this</a>)</small></label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<h4 class=\"ui center aligned header\">\n\t\t\t\t\tCopyright Start Year\n\t\t\t\t\t<div class=\"sub header\">The year that your copyright started. If set to \"This Year\" then the year will update as the years go by. If a standard year is selected, then a range of years will be used in the copyright.</div>\n\t\t\t\t</h4>\n\t\t\t\t<div class=\"ui center aligned basic segment\">\n\t\t\t\t\t<div class=\"ui selection dropdown\">\n\t\t\t\t\t\t<input type=\"hidden\" name=\"<?php echo $theme->option_form_name('copyright_year'); ?>\" value=\"<?php echo $theme->get_option('copyright_year'); ?>\">\n\t\t\t\t\t\t<div class=\"default text\">This Year</div>\n\t\t\t\t\t\t<i class=\"dropdown icon\"></i>\n\t\t\t\t\t\t<div class=\"menu\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\t$selected = '';\n\t\t\t\t\t\t\tif ((int) $theme->get_option('copyright_year') == 0) {\n\t\t\t\t\t\t\t\t$selected=' active';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprintf('<div class=\"item%2$s\" data-value=\"%1$s\">This Year</div>'.PHP_EOL, 0, $selected);\n\t\t\t\t\t\t\tforeach (range((int) date(\"Y\"), 1900) as $year) {\n\t\t\t\t\t\t\t\t$selected = '';\n\t\t\t\t\t\t\t\tif ((int) $theme->get_option('copyright_year') == $year) {\n\t\t\t\t\t\t\t\t\t$selected=' active';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tprintf('<div class=\"item%2$s\" data-value=\"%1$s\">%1$s</div>'.PHP_EOL, $year, $selected);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Misc.</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('first_run'),\n\t\t\t\t\t\t\t($theme->get_option('first_run') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Show First-Run</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('powered_by'),\n\t\t\t\t\t\t\t($theme->get_option('powered_by') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Show \"Powered By\" Message</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui top attached secondary inverted segment\">\n\t\t\t\t\t\n\t\t\t\t\t<h4 class=\"ui center aligned header\">WordPress Theme Editor</h4>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui bottom attached stacked segment\">\n\t\t\t\t\t<strong>WARNING:</strong> Editing a theme via WordPress's file editor is <strong>very dangerious!</strong>\n\t\t\t\t\t<br><br>\n\t\t\t\t\tModifying a theme's files without knowing the proper programming languages can often lead to your site going down.\n\t\t\t\t\tIf you <i>must</i> edit this theme's files, it is highly recommended that you use an IDE.\n\t\t\t\t\t<br><br>\n\t\t\t\t\t<div class=\"field\">\n\t\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t\t$theme->option_form_name('theme_editor'),\n\t\t\t\t\t\t\t\t($theme->get_option('theme_editor') ? 'checked' : '')\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t\t<label>Allow Theme Editor</label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"
  },
  {
    "path": "src/content/theme-options/meta-tags.php",
    "content": "<div class=\"ui three column doubling grid\">\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Mobile Meta</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('mobile_meta'),\n\t\t\t\t\t\t\t($theme->get_option('mobile_meta') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable Mobile Meta</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Recommended Mobile Screen Width (without the \"px\")</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"450\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('mobile_size'),\n\t\t\t\t\t\t$theme->get_option('mobile_size')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Favicon</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('meta_favicon_enabled'),\n\t\t\t\t\t\t\t($theme->get_option('meta_favicon_enabled') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable Favicon</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>URL to favicon (png, jpg, or ico)</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"/favicon.png\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('meta_favicon'),\n\t\t\t\t\t\t$theme->get_option('meta_favicon')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">X-UA-Compatible</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('meta_x_ua_compatible_enabled'),\n\t\t\t\t\t\t\t($theme->get_option('meta_x_ua_compatible_enabled') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable X-UA-Compatible</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Configure:</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"IE=edge,chrome=1\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('meta_x_ua_compatible'),\n\t\t\t\t\t\t$theme->get_option('meta_x_ua_compatible')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n\t<div class=\"column\">\n\t\t<div class=\"ui secondary stacked segment\">\n\t\t<h3 class=\"ui center aligned dividing header\">Keywords</h3>\n\t\t\t<div class=\"ui form\">\n\t\t\t\t<div class=\"inline field\">\n\t\t\t\t\t<div class=\"ui toggle checkbox\">\n\t\t\t\t\t\t<?php\n\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t'<input type=\"checkbox\" value=\"1\" name=\"%1$s\" %2$s>',\n\t\t\t\t\t\t\t$theme->option_form_name('meta_keywords_enabled'),\n\t\t\t\t\t\t\t($theme->get_option('meta_keywords_enabled') ? 'checked' : '')\n\t\t\t\t\t\t);\n\t\t\t\t\t\t?>\n\t\t\t\t\t\t<label>Enable Keywords</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"field\">\n\t\t\t\t\t<label>Comma-delimited list of keywords</label>\n\t\t\t\t\t<?php\n\t\t\t\t\tprintf(\n\t\t\t\t\t\t'<input type=\"text\" placeholder=\"html5, ui, library, framework, javascript\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t\t\t$theme->option_form_name('meta_keywords'),\n\t\t\t\t\t\t$theme->get_option('meta_keywords')\n\t\t\t\t\t);\n\t\t\t\t\t?>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"
  },
  {
    "path": "src/content/theme-options/page.php",
    "content": "<?php\n/**\n * Theme Options Page Tabbing\n * ==========================\n * Creating tabs here is pretty straight forward:\n *   1. Create a tab menu link with an appropriate data-tab attribute\n *   2. Create a tab section with the matching data-tab attribute\n * \n * That's it.\n */\n?><div id=\"theme-options-tabs\">\n\t\n\t<!-- Tab Menu -->\n\t<div class=\"ui top attached tabular menu\">\n\t\t<a class=\"item active\" data-tab=\"first\"><i class=\"wrench icon\"></i> General</a>\n\t\t<a class=\"item\" data-tab=\"second\"><i class=\"setting icon\"></i> Meta Tags</a>\n\t\t<a class=\"item\" data-tab=\"third\"><i class=\"book icon\"></i> About</a>\n\t</div>\n\t<!-- /Tab Menu -->\n\t\n\t<form class=\"ui bottom attached segment\" method=\"POST\" action=\"<?php echo $theme->options_uri(); ?>\">\n\t\t<?php\n\t\t// This makes sure that the changes will be accepted\n\t\t$theme->options_update_data();\n\t\t?>\n\t\t\n\t\t<!-- Tab Sections -->\n\t\t<section class=\"ui tab active\" data-tab=\"first\">\n\t\t\t<?php template_part($theme->content_sub_path.'/theme-options/general'); ?>\n\t\t</section>\n\t\t<section class=\"ui tab\" data-tab=\"second\">\n\t\t\t<?php template_part($theme->content_sub_path.'/theme-options/meta-tags'); ?>\n\t\t</section>\n\t\t<section class=\"ui tab\" data-tab=\"third\">\n\t\t\t<?php template_part($theme->content_sub_path.'/theme-options/about'); ?>\n\t\t</section>\n\t\t<!-- /Tab Sections -->\n\t\t\n\t\t<br>\n\t\t\n\t\t<button type=\"submit\" class=\"ui positive submit button\">Save All Options</button>\n\t\t<a class=\"ui button\" href=\"<?php echo $theme->options_uri(); ?>\">Cancel</a>\n\t</form>\n</div>\n"
  },
  {
    "path": "src/content/woocommerce.php",
    "content": "<?php\n/**\n * This is meant to replace the loop on a page. Because of how Woocommerce\n * generates content, you should avoid showing this content on pages with more\n * than one sidebar, or pages with limited space.\n */\n\nif (function_exists('woocommerce_content')) {\n\twoocommerce_content();\n} else {\n\techo 'Woocommerce content could not be found! Do you have the plugin installed?';\n}\n"
  },
  {
    "path": "src/functions.php",
    "content": "<?php\n/**\n * Functions File\n * ==============\n * This is basically WordPress' version of a theme bootstrap file. Keep in mind\n * that this file will be called whenever WordPress is called, and this is the\n * active theme.\n */\n\n/**\n * PSR-0 autoloader with child theme support\n * \n * Loads files from `includes/class`\n * \n * @codeCoverageIgnore\n */\nspl_autoload_register(function ($class) {\n\t$include_path = '/include/class';\n\t$search_path  = str_replace('\\\\', DIRECTORY_SEPARATOR, '\\\\'.$class).'.php';\n\t$file_alt     = realpath(get_template_directory().$include_path.$search_path);\n\t$file         = realpath(get_stylesheet_directory().$include_path.$search_path);\n\tif($file_alt && is_file($file_alt)) {\n\t\trequire_once $file_alt;\n\t} elseif($file && $file != $file_alt && is_file($file)) {\n\t\trequire_once $file;\n\t}\n});\n\n/*** Run Inits ***/\nnew \\semantic\\theme();\n\n// Let the debugger know that we finished the functions.php file\nglobal $debug;\n$debug->runtime_checkpoint('[Theme] Finished Functions File');\n"
  },
  {
    "path": "src/include/class/semantic/abstract_base.php",
    "content": "<?php\n/**\n * Base Class\n * ==========\n * This class allows you to add any common functionality to all the other\n * classes. In this case we are just adding some debugging info.\n */\n\nnamespace semantic;\n\n/**\n * Base Class\n * \n * This class allows you to add any common functionality to all the other\n * classes. In this case we are just adding some debugging info.\n */\nabstract class abstract_base {\n\t\n\t/**\n\t * Just logs that the current class was initialized\n\t */\n\tpublic function __construct() {\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint(sprintf('[Theme] Class \"%1$s\" Initialized', get_class($this)));\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/debug.php",
    "content": "<?php\n/**\n * Debug Class\n */\n\nnamespace semantic;\n\n/**\n * This class carries out all the debug functionality\n */\nclass debug extends abstract_base {\n\t\n\t/**\n\t * Current logged checkpoints\n\t * @var array\n\t */\n\tpublic $runtime_checkpoints;\n\t\n\t/**\n\t * Sets debugging as either enabled or disabled\n\t * @var boolean\n\t */\n\tpublic $active;\n\t\n\t/**\n\t * Instance of the shutdown class\n\t * @var shutdown\n\t */\n\tpublic $shutdown;\n\t\n\t/**\n\t * Configures this class as well as the shutdown class and the $debug global\n\t */\n\tpublic function __construct() {\n\t\t// Setup globals and query vars\n\t\tglobal $debug;\n\t\t$debug = $this;\n\t\tset_query_var('debug',  $this);\n\t\t\n\t\t// Setup the shutdown class\n\t\t$this->shutdown = new shutdown;\n\t\t\n\t\t$this->runtime_checkpoints = array();\n\t\t$this->active = FALSE;\n\t\tif (is_user_logged_in() && current_user_can('manage_options')) {\n\t\t\t$this->active = TRUE;\n\t\t}\n\t\tif (!empty($_SERVER['REQUEST_TIME_FLOAT'])) {\n\t\t\t$this->runtime_checkpoints[] = array(\n\t\t\t\t'name' => '[PHP] Sent Request To Server',\n\t\t\t\t'time' => $_SERVER['REQUEST_TIME_FLOAT']\n\t\t\t);\n\t\t}\n\t\tif (defined('PHP_START_TIME')) {\n\t\t\t$this->runtime_checkpoints[] = array(\n\t\t\t\t'name' => '[PHP] Started Server-Side Execution',\n\t\t\t\t'time' => PHP_START_TIME\n\t\t\t);\n\t\t}\n\t\t\n\t\t// Shutdown Actions\n\t\t$this->shutdown->register('debug_output', array($this, '_runtime_on_shutdown'));\n\t\t$this->shutdown->register('usage_tracker', array($this, 'usage_tracker'));\n\t\t\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * This is a simple way for me to track how many people are using my\n\t * development theme. This has no positive or negative effect on SEO.\n\t * \n\t * Please only remove this if it causes your application problems.\n\t * \n\t * @return void\n\t */\n\tpublic function usage_tracker() {\n\t\tif (php_sapi_name() != 'cli' && (is_front_page() || is_home())) {\n\t\t\techo '<img id=\"suiwp-usage-tracker\" src=\"http://i.imgur.com/OZlAOER.png\" alt=\"SUIWP s9kjorYIe54NaD6VIK3TF6C792gIKjY0\">';\n\t\t}\n\t}\n\t\n\t/**\n\t * Checkpoint logger\n\t * \n\t * @param  string $message The message to report back to the logger\n\t * @return void\n\t */\n\tpublic function runtime_checkpoint($message = '') {\n\t\t$this->runtime_checkpoints[] = array(\n\t\t\t'name' => (string) $message,\n\t\t\t'time' => microtime(TRUE)\n\t\t);\n\t}\n\t\n\t/**\n\t * Prints the current log as html (Semantic UI modal)\n\t * \n\t * @return void\n\t */\n\tpublic function runtime_print_html_log() {\n\t\t$checkpoints   = $this->runtime_checkpoints;\n\t\t$first         = array_shift($checkpoints);\n\t\t$previous_time = $first['time'];\n\t\t?>\n\t\t<div class=\"ui basic modal\" id=\"semantic-debug-log\">\n\t\t\t<i class=\"close icon\"></i>\n\t\t\t<h1 class=\"ui huge icon header\">\n\t\t\t\t<i class=\"bug icon\"></i>\n\t\t\t\t<div class=\"content\">\n\t\t\t\t\tDebug Log\n\t\t\t\t\t<div class=\"sub header\">Please Use This Log When Reporting Issues</div>\n\t\t\t\t</div>\n\t\t\t</h1>\n\t\t\t<div class=\"content\">\n\t\t\t\t<div class=\"description\">\n\t\t\t\t\t<table class=\"ui very compact selectable celled table\">\n\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<th>Message</th>\n\t\t\t\t\t\t\t\t<th>Time</th>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t<?php\n\t\t\t\t\t\t\tprintf('<tr><td>%1$s</td><td>%2$s</td></tr>'.PHP_EOL , htmlentities($first['name']), $first['time']);\n\t\t\t\t\t\t\tforeach ($checkpoints as $checkpoint) {\n\t\t\t\t\t\t\t\tprintf(\n\t\t\t\t\t\t\t\t\t'<tr><td>%1$s</td><td>%2$s/+%3$s</td></tr>'.PHP_EOL,\n\t\t\t\t\t\t\t\t\thtmlentities($checkpoint['name']),\n\t\t\t\t\t\t\t\t\tround(($checkpoint['time'] - $first['time']) * 1000, 2).'ms',\n\t\t\t\t\t\t\t\t\tround(($checkpoint['time'] - $previous_time) * 1000, 2).'ms'\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t$previous_time = $checkpoint['time'];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprintf('<tr><td>[PHP] Memory Peak</td><td>%1$s MiB</td></tr>', round(memory_get_peak_usage()/1024/1024, 3));\n\t\t\t\t\t\t\t?>\n\t\t\t\t\t\t</tbody>\n\t\t\t\t\t</table>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"actions\">\n\t\t\t\t<div class=\"ui red basic inverted cancel button\">\n\t\t\t\t\t<i class=\"remove icon\"></i>\n\t\t\t\t\tClose\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<?php\n\t}\n\t\n\t/**\n\t * Runs all the shutdown functionality for this class\n\t * \n\t * @return void\n\t */\n\tpublic function _runtime_on_shutdown() {\n\t\tglobal $wp_styles, $wp_scripts;\n\t\tif (!empty($wp_styles->queue)) {\n\t\t\tforeach ($wp_styles->queue as $style) {\n\t\t\t\tif (wp_style_is($style, 'done')) {\n\t\t\t\t\t$this->runtime_checkpoint('[Theme] Style \"'.$style.'\" Was Printed');\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\tif (!empty($wp_scripts->queue)) {\n\t\t\tforeach ($wp_scripts->queue as $script) {\n\t\t\t\tif (wp_style_is($script, 'done')) {\n\t\t\t\t\t$this->runtime_checkpoint('[Theme] Script \"'.$script.'\" Was Printed');\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\t$this->runtime_checkpoint('[PHP] Stopped Server-Side Execution');\n\t\tif ($this->active) {\n\t\t\tif (php_sapi_name() != 'cli') {\n\t\t\t\t$this->runtime_print_html_log();\n\t\t\t}\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/integrations.php",
    "content": "<?php\n/**\n * WordPress integrations class\n */\n\nnamespace semantic;\n\n/**\n * WordPress integrations class\n * \n * This class class holds all the functions that integrate directly with WordPress\n */\nclass integrations extends abstract_base {\n\t\n\t/**\n\t * Instance of the theme class\n\t * @var theme\n\t */\n\tpublic $theme;\n\t\n\t/**\n\t * For whatever reason, we need to make sure it grabs the \"right\" theme global\n\t */\n\tpublic function __construct() {\n\t\t$this->theme = $GLOBALS['theme'];\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * Registers various WordPress features\n\t * \n\t * @return void\n\t */\n\tpublic function init() {\n\t\t// Set the max content width (used by wordpress)\n\t\tglobal $content_width;\n\t\t$theme         = $this->theme;\n\t\t$content_width = 1200;\n\t\t\n\t\t// Tell WordPress what this theme supports\n\t\tadd_theme_support('automatic-feed-links');\n\t\tadd_theme_support('post-thumbnails');\n\t\tadd_theme_support('woocommerce');\n\t\tadd_theme_support('html5', array(\n\t\t\t'caption',\n\t\t\t'comment-form',\n\t\t\t'comment-list',\n\t\t\t'gallery',\n\t\t\t'search-form'\n\t\t));\n\t\tadd_theme_support('post-formats', array(\n\t\t\t'aside',\n\t\t\t'image',\n\t\t\t'link',\n\t\t\t'quote',\n\t\t\t'video'\n\t\t));\n\t\tadd_theme_support('custom-background', array(\n\t\t\t'default-color'          => '35bdb2',\n\t\t\t'default-repeat'         => 'repeat',\n\t\t\t'default-position-x'     => 'center',\n\t\t\t'default-attachment'     => 'scroll',\n\t\t));\n\t\t\n\t\t// TIP: Use wp_nav_menu(array('theme_location' => 'menu-name')) to fetch these\n\t\tregister_nav_menus(array(\n\t\t\t'main-menu'   => __('Main Menu', $theme::TEXT_DOMAIN),\n\t\t\t'footer-menu' => __('Footer Menu', $theme::TEXT_DOMAIN)\n\t\t));\n\t\t\n\t\t// The WP file editor is an abomination. May God help you if you or anyone\n\t\t// in your company actually uses this.\n\t\tif (in_array($GLOBALS['pagenow'], array('theme-editor.php'))) {\n\t\t\tif ($theme->get_option('theme_editor') == FALSE) {\n\t\t\t\twp_die('<p>'.__(sprintf(\n\t\t\t\t\t'In order to edit this theme, you must first re-enable the theme editor via the <a href=\"%s\">Theme Options</a> page',\n\t\t\t\t\t$theme->options_uri()\n\t\t\t\t), $theme::TEXT_DOMAIN).'</p>');\n\t\t\t}\n\t\t}\n\t\t\n\t\t// Remove WP's emoji\n\t\tremove_action( 'wp_head', 'print_emoji_detection_script', 7 );\n\t\tremove_action( 'admin_print_scripts', 'print_emoji_detection_script' );\n\t\tremove_action( 'wp_print_styles', 'print_emoji_styles' );\n\t\tremove_action( 'admin_print_styles', 'print_emoji_styles' );\n\t}\n\t\n\t/**\n\t * Registers the theme widget areas.\n\t * \n\t * @return void\n\t */\n\tpublic function widgets_init() {\n\t\t$theme = $this->theme;\n\t\tregister_sidebar(array(\n\t\t\t'name'          => __('Right Sidebar Widget Area', $theme::TEXT_DOMAIN),\n\t\t\t'id'            => 'sidebar-widget-area-right',\n\t\t\t'description'   => 'These widgets are only visible when the siderbar is on the right side of the page',\n\t\t\t'before_widget' => '<aside id=\"%1$s\" class=\"wp-widget sidebar-right-widget %2$s ui basic segment\">',\n\t\t\t'after_widget'  => '</aside>',\n\t\t\t'before_title'  => '<h4 class=\"ui dividing header widget-title\">',\n\t\t\t'after_title'   => '</h4>'\n\t\t));\n\t\tregister_sidebar(array(\n\t\t\t'name'          => __('Left Sidebar Widget Area', $theme::TEXT_DOMAIN),\n\t\t\t'id'            => 'sidebar-widget-area-left',\n\t\t\t'description'   => 'These widgets are only visible when the siderbar is on the left side of the page',\n\t\t\t'before_widget' => '<aside id=\"%1$s\" class=\"wp-widget sidebar-left-widget %2$s ui basic segment\">',\n\t\t\t'after_widget'  => '</aside>',\n\t\t\t'before_title'  => '<h4 class=\"ui dividing header widget-title\">',\n\t\t\t'after_title'   => '</h4>'\n\t\t));\n\t\tregister_sidebar(array(\n\t\t\t'name'          => __('Footer Widget Area', $theme::TEXT_DOMAIN),\n\t\t\t'id'            => 'footer-widget-area-footer',\n\t\t\t'description'   => 'These widgets are visible in the footer',\n\t\t\t'before_widget' => '<div class=\"column\"><aside id=\"%1$s\" class=\"wp-widget sidebar-right-widget %2$s ui basic segment\">',\n\t\t\t'after_widget'  => '</aside></div>',\n\t\t\t'before_title'  => '<h4 class=\"ui dividing header widget-title\">',\n\t\t\t'after_title'   => '</h4>'\n\t\t));\n\t}\n\t\n\t/**\n\t * Registers all the theme styles/scripts\n\t * \n\t * @return void\n\t */\n\tpublic function register_enqueue() {\n\t\t// Styles\n\t\twp_register_style('normalize', $this->theme->style_uri.'/normalize.min.css', array(), '3.0.3');\n\t\twp_register_style('semantic', $this->theme->asset_uri.'/semantic-ui/semantic.min.css', array(), '2.1.3');\n\t\twp_register_style('font-awesome', $this->theme->style_uri.'/font-awesome.min.css', array(), '4.1.0');\n\t\twp_register_style('webicons', $this->theme->style_uri.'/webicons.min.css', array(), NULL);\n\t\twp_register_style('highlightjs', $this->theme->style_uri.'/highlight.js/github.min.css', array(), '8.0');\n\t\twp_register_style('main', $this->theme->style_uri.'/main.css', array(), NULL);\n\t\twp_register_style('dashboard', $this->theme->style_uri.'/dashboard.css', array(), NULL);\n\t\twp_register_style('base-concat', $this->theme->style_uri.'/base.concat.min.css', array(), NULL);\n\t\t// Scripts\n\t\twp_register_script('webfonts', '//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js', array(), '2.1.3');\n\t\tif (!(is_admin() || in_array($GLOBALS['pagenow'], array('wp-login.php', 'wp-register.php')))) {\n\t\t\t// Use a custom version of jQuery\n\t\t\twp_deregister_script('jquery');\n\t\t\twp_register_script('jquery', $this->theme->script_uri.'/jquery-2.1.1.min.js', array(), '2.1.1');\n\t\t}\n\t\twp_register_script('semantic', $this->theme->asset_uri.'/semantic-ui/semantic.min.js', array(), '2.1.3');\n\t\twp_register_script('highlight', $this->theme->script_uri.'/highlight.pack.min.js', array('jquery'), '8.0');\n\t\twp_register_script('mousetrap', $this->theme->script_uri.'/mousetrap.min.js', array('jquery'), '1.4.6');\n\t\twp_register_script('main', $this->theme->script_uri.'/main.js', array(), NULL);\n\t\twp_register_script('theme-options', $this->theme->script_uri.'/theme-options.js', array(), NULL);\n\t\twp_register_script('base-concat', $this->theme->script_uri.'/base.concat.min.js', array(), NULL);\n\t}\n\t\n\t/**\n\t * Enqueues the theme styles/scripts\n\t * \n\t * @return void\n\t */\n\tpublic function enqueue() {\n\t\t// Styles\n\t\t// wp_enqueue_style('normalize');\n\t\t// wp_enqueue_style('font-awesome');\n\t\t// wp_enqueue_style('webicons');\n\t\t// wp_enqueue_style('highlightjs');\n\t\twp_enqueue_style('base-concat'); // has: normalize, font-awesome, webicons, highlightjs, semantic\n\t\twp_enqueue_style('semantic');\n\t\twp_enqueue_style('main');\n\t\t// Scripts\n\t\twp_enqueue_script('webfonts');\n\t\t// wp_enqueue_script('jquery');\n\t\t// wp_enqueue_script('highlight');\n\t\t// wp_enqueue_script('mousetrap');\n\t\twp_enqueue_script('base-concat'); // has: jquery, semantic, highlight, mousetrap\n\t\twp_enqueue_script('semantic');\n\t\twp_enqueue_script('main');\n\t\tif (is_singular()) {\n\t\t\twp_enqueue_script('comment-reply');\n\t\t}\n\t}\n\t\n\t/**\n\t * Registers the options page with WordPress, and enqueues style/scripts for\n\t * the options page in the dashboard. Only visible to users who can edit theme\n\t * options.\n\t * \n\t * @return void\n\t */\n\tpublic function options() {\n\t\t$theme = $this->theme;\n\t\twp_enqueue_style('normalize');\n\t\twp_enqueue_style('semantic');\n\t\twp_enqueue_style('font-awesome');\n\t\twp_enqueue_style('dashboard');\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\tif (isset($_GET['page']) && $_GET['page'] == $theme::identifier.'_options') {\n\t\t\t\t// Styles\n\t\t\t\twp_enqueue_style('webicons');\n\t\t\t\twp_enqueue_style('highlight');\n\t\t\t\t// Scripts\n\t\t\t\twp_enqueue_script('webfonts');\n\t\t\t\twp_enqueue_script('semantic');\n\t\t\t\twp_enqueue_script('highlight');\n\t\t\t\twp_enqueue_script('mousetrap');\n\t\t\t\t// There are a few good reasons that you should replace your main.js with\n\t\t\t\t// the theme-options.js; such as, jQuery is already included in the\n\t\t\t\t// dashboard and it runs in safe mode.\n\t\t\t\twp_enqueue_script('theme-options');\n\t\t\t}\n\t\t}\n\t\tif (function_exists('add_theme_page')) {\n\t\t\tadd_theme_page(\n\t\t\t\t'Theme Options',\n\t\t\t\t'Theme Options',\n\t\t\t\t'edit_theme_options',\n\t\t\t\t$theme::identifier.'_options',\n\t\t\t\tarray($this, 'options_page')\n\t\t\t);\n\t\t}\n\t}\n\t\n\t/**\n\t * Displays the options page content when called\n\t * \n\t * @return void\n\t */\n\tpublic function options_page() {\n\t\ttemplate_part($this->theme->template_sub_path.'/theme-options');\n\t}\n\t\n\t/**\n\t * This adds a \"Theme Options\" link to the WordPress admin bar under the menu\n\t * with the site name. Is only visible to users who can edit theme options.\n\t * \n\t * @param  object $wp_admin_bar The wp_admin_bar object as supplied by WordPress\n\t * @return void\n\t */\n\tpublic function admin_bar_links($wp_admin_bar) {\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\t$wp_admin_bar->add_node(array(\n\t\t\t\t'id'     => 'theme-options',\n\t\t\t\t'parent' => 'site-name',\n\t\t\t\t'title'  => 'Theme Options',\n\t\t\t\t'href'   => $this->theme->options_uri()\n\t\t\t));\n\t\t}\n\t}\n\t\n\t/**\n\t * Improve the existing wp_title()\n\t *\n\t * @param  string $title Default HTML page title for current view.\n\t * @param  string $sep   [optional] The separator to use.\n\t * @return string        The resulting title.\n\t */\n\tpublic function wp_title($title, $sep = '') {\n\t\tglobal $page, $paged;\n\t\tsettype($title, 'string');\n\t\tsettype($sep, 'string');\n\t\t$title    = trim(trim(trim($title), $sep));\n\t\t$real_sep = trim($sep);\n\t\t$sep      = ' '.$real_sep.' ';\n\t\t$t_arr    = array();\n\t\t\n\t\tif (!empty($title)) {\n\t\t\t$t_arr[] = $title;\n\t\t}\n\t\t\n\t\tif (empty($real_sep)) {\n\t\t\t$sep = ' ';\n\t\t}\n\t\t\n\t\tif (is_feed()) {\n\t\t\treturn $title;\n\t\t}\n\t\t\n\t\t// Add the blog name\n\t\t$t_arr[] = get_bloginfo('name', 'display');\n\t\t\n\t\t// Add a page number if necessary:\n\t\tif (($paged >= 2 || $page >= 2) && !is_404()) {\n\t\t\t$t_arr[] = sprintf('Page %1$s', max($paged, $page));\n\t\t}\n\t\t\n\t\treturn implode($sep, $t_arr);\n\t}\n\t\n\t/**\n\t * Adds a field to the user profile page so they can add their Google Plus URL\n\t * and be correctly marked as an author in posts they create\n\t * \n\t * @param  array    $profile_fields The contact fields array as provided by wordpress\n\t * @return string[]                 The resulting array after the field has been added.\n\t */\n\tpublic function google_author($profile_fields) {\n\t\t$profile_fields['gplus'] = 'Google+ URL (for authorship)';\n\t\treturn $profile_fields;\n\t}\n\t\n\t/**\n\t * Adds the theme's stylesheets to the post/page editor. This allows the visual\n\t * editor to more accurately represent what will be shown on the page.\n\t * \n\t * @return void\n\t */\n\tpublic function editor_styles() {\n\t\tadd_editor_style($this->theme->style_sub_path.'/semantic.min.css');\n\t\tadd_editor_style($this->theme->style_sub_path.'/font-awesome.min.css');\n\t\tadd_editor_style($this->theme->style_sub_path.'/webicons.min.css');\n\t\tadd_editor_style($this->theme->style_sub_path.'/main.css');\n\t}\n\t\n\t/**\n\t * Adds the class \"active\" to the current menu item\n\t * \n\t * @param  array $classes The array of classes as given by WordPress\n\t * @return array          The modified array of classes\n\t */\n\tpublic function current_nav($classes) {\n\t\tif(in_array('current-menu-item', $classes)) {\n\t\t\t$classes[] = 'active';\n\t\t}\n\t\treturn $classes;\n\t}\n\t\n\t/**\n\t * Replaces the default WordPress search form with one that uses Semantic UI.\n\t * \n\t * @return string The resulting form\n\t */\n\tpublic function search_form() {\n\t\t// Avoid extra whitespace when a return goes to WordPress\n\t\t$query = get_search_query();\n\t\treturn sprintf(\n\t\t\t'<form role=\"search\" method=\"GET\" action=\"%1$s\">'.\n\t\t\t\t'<div class=\"ui small fluid action input\">'.\n\t\t\t\t\t'<input type=\"text\" name=\"s\" placeholder=\"%3$s\">'.\n\t\t\t\t\t'<div type=\"submit\" class=\"ui small button\">%2$s</div>'.\n\t\t\t\t'</div>'.\n\t\t\t'</form>',\n\t\t\thome_url('/'),\n\t\t\t'Search',\n\t\t\t(empty($query) ? 'Search...' : $query)\n\t\t);\n\t}\n\t\n\t/**\n\t * Replaces the default WordPress footer with one that has a paypal donation\n\t * link.\n\t * \n\t * @return void\n\t */\n\tpublic function dashboard_footer() {\n\t\t?>\n\t\t<div class=\"ui center aligned two column grid inverted segment\">\n\t\t\t<div class=\"column\">\n\t\t\t\t<h2 class=\"ui inverted header\">\n\t\t\t\t\tThank You!\n\t\t\t\t\t<div class=\"sub header\">If you found this WordPress theme useful, please consider donating:</div>\n\t\t\t\t</h2>\n\t\t\t\t\n\t\t\t\t<p>\n\t\t\t\t\t<?php\n\t\t\t\t\t$fmt = '<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&amp;hosted_button_id=%2$s\">%1$s</a>'.PHP_EOL;\n\t\t\t\t\t\n\t\t\t\t\tprintf($fmt, 'Donate $5', '2WLFNB3UMSELN');\n\t\t\t\t\tprintf($fmt, 'Donate $10', 'J42MM3FSZTPPQ');\n\t\t\t\t\tprintf($fmt, 'Custom Donation', 'DPSN8V5VVMHTA');\n\t\t\t\t\t?>\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t\t<div class=\"column\">\n\t\t\t\t<h2 class=\"ui inverted header\">\n\t\t\t\t\tHaving Issues?\n\t\t\t\t\t<div class=\"sub header\">If you have any problems or discover any bugs let us know!</div>\n\t\t\t\t</h2>\n\t\t\t\t<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress/issues\">Issue Tracker</a>\n\t\t\t\t<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"http://semantic-ui.com/\">Semantic UI Docs</a>\n\t\t\t\t<a class=\"ui tiny basic inverted blue button\" target=\"_blank\" href=\"http://jsfiddle.net/efp8z6Ln/\">Test Code</a>\n\t\t\t</div>\n\t\t</div>\n\t\t<?php\n\t}\n\t\n\t/**\n\t * Replaces the output of the_post_thumbnail()\n\t * \n\t * @param  string  $html          The orginal HTML (ignored)\n\t * @param  string  $post_id       The Post ID as provided by WordPress\n\t * @param  integer $post_image_id The Attachment ID as provided by WordPress\n\t * @return string                 The replacement HTML\n\t */\n\tpublic function post_thumbnail($html, $post_id, $post_image_id) {\n\t\t$image = wp_get_attachment_image_src((integer) get_post_thumbnail_id((string) $post_id), 'single-post-thumbnail');\n\t\t$alt   = get_post_meta($post_image_id, '_wp_attachment_image_alt');\n\t\t\n\t\tif (!isset($alt[0])) {\n\t\t\t$alt = array('');\n\t\t}\n\t\t\n\t\treturn sprintf(\n\t\t\t'<img itemprop=\"image\" src=\"%1$s\" alt=\"%2$s\">',\n\t\t\t$image[0],\n\t\t\ttrim(strip_tags($alt[0]))\n\t\t);\n\t}\n\t\n\t/**\n\t * Sets theme::$post_type\n\t * \n\t * @param  string $template The input string (ignored)\n\t * @return string           The input string (ignored)\n\t */\n\tpublic function set_post_type($template) {\n\t\tglobal $debug, $theme;\n\t\t$theme->post_type = get_post_format();\n\t\tif (empty($theme->post_type)) {\n\t\t\t$theme->post_type = get_post_type();\n\t\t}\n\t\t$debug->runtime_checkpoint('[Theme] theme::$post_type set to \"'.$theme->post_type.'\"');\n\t\treturn $template;\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/shutdown.php",
    "content": "<?php\n/**\n * Shutdown Class\n */\n\nnamespace semantic;\n\n/**\n * Shutdown Class\n * \n * This class helps handle what happens when PHP exits. This is very useful for\n * doing last second tasks.\n */\nclass shutdown extends abstract_base {\n\t\n\t/**\n\t * The current list of jobs to run on shutdown\n\t * @var array\n\t */\n\tprivate $jobs;\n\t\n\t/**\n\t * Configure this class and the function to run on PHP shutdown\n\t * \n\t * @return void\n\t */\n\tpublic function __construct() {\n\t\t$this->jobs = array();\n\t\tregister_shutdown_function(array($this, '_run_shutdown'));\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * Register a shutdown action with a callback function and optional arguments.\n\t * \n\t * NOTE: The callback must already be callable by the time it is registered!\n\t * \n\t * @param  string $id         The id to register under\n\t * @param  callable $callback The callback to run when PHP exits\n\t * @param  array  $args       Associative array of arguments to send on shutdown\n\t * @return boolean            TRUE when registration is successful, FALSE otherwise\n\t */\n\tpublic function register($id, $callback, $args = array()) {\n\t\tglobal $debug;\n\t\t$status = FALSE;\n\t\tif (!isset($this->jobs[$id])) {\n\t\t\tif (is_callable($callback)) {\n\t\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Registered \"%s\"', $id));\n\t\t\t\t$this->jobs[$id] = array(\n\t\t\t\t\t'callback' => $callback,\n\t\t\t\t\t'args'     => $args\n\t\t\t\t);\n\t\t\t\t$status = TRUE;\n\t\t\t}\n\t\t} else {\n\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Registration failed for \"%s\"', $id));\n\t\t}\n\t\treturn $status;\n\t}\n\t\n\t/**\n\t * Remove a job from the job queue\n\t * \n\t * @param  string $id The id to remove\n\t * @return void\n\t */\n\tpublic function unregister($id) {\n\t\tglobal $debug;\n\t\tif (isset($this->jobs[$id])) {\n\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Unregistered \"%s\"', $id));\n\t\t\tunset($this->jobs[$id]);\n\t\t}\n\t}\n\t\n\t/**\n\t * Check if a job is registered\n\t * \n\t * @param  string $id The id to check\n\t * @return boolean    TRUE if job exists, FALSE otherwise\n\t */\n\tpublic function exists($id) {\n\t\treturn isset($this->jobs[$id]);\n\t}\n\t\n\t/**\n\t * Loops through and runs each job. Resets job queue after it finishes.\n\t */\n\tpublic function _run_shutdown() {\n\t\tglobal $debug;\n\t\tforeach ($this->jobs as $id => $job) {\n\t\t\t$debug->runtime_checkpoint(sprintf('[Theme] Shutdown - Running \"%s\"...', $id));\n\t\t\tcall_user_func_array($job['callback'], $job['args']);\n\t\t}\n\t\t$this->jobs = array();\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/theme.php",
    "content": "<?php\n/**\n * This file both declares and initiates the theme class. The init is called at\n * the bottom of this file.\n */\n\nnamespace semantic;\n\n/**\n * Theme Class\n * \n * This class handles various parts of the theme, including common variables,\n * fetching/updating options, and how some parts of the page are generated.\n */\nclass theme extends abstract_base {\n\tconst IDENTIFIER  = 'semantic';\n\tconst TEXT_DOMAIN = 'semantic';\n\t\n\t/**\n\t * @deprecated\n\t */\n\tconst identifier  = 'semantic';\n\t\n\t/**\n\t * @deprecated\n\t */\n\tconst text_domain = 'semantic';\n\t\n\t/**\n\t * The current theme settings\n\t * @var array\n\t */\n\tpublic $options;\n\t\n\t/**\n\t * The current templates configured by $this->use_part()\n\t * @var array\n\t */\n\tpublic $template_queue;\n\t\n\t/**\n\t * The templates used by $this->part()\n\t * @var array\n\t */\n\tpublic $used_templates;\n\t\n\t/**\n\t * The list of variables to be extracted when a part is included\n\t * @var array\n\t */\n\tpublic $inc_var_list;\n\t\n\t/**\n\t * Alias to get_template_directory()\n\t * @var string\n\t */\n\tpublic $path;\n\t\n\t/**\n\t * Alias to get_template_directory_uri()\n\t * @var string\n\t */\n\tpublic $uri;\n\t\n\t/**\n\t * Path to the asset directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $asset_sub_path;\n\t\n\t/**\n\t * Path to the font directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $font_sub_path;\n\t\n\t/**\n\t * Path to the image directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $image_sub_path;\n\t\n\t/**\n\t * Path to the script directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $script_sub_path;\n\t\n\t/**\n\t * Path to the style directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $style_sub_path;\n\t\n\t/**\n\t * Path to the content directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $content_sub_path;\n\t\n\t/**\n\t * Path to the include directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $include_sub_path;\n\t\n\t/**\n\t * Path to the template directory, relative to $this->path\n\t * @var string\n\t */\n\tpublic $template_sub_path;\n\t\n\t/**\n\t * Absolute path to the asset directory\n\t * @var string\n\t */\n\tpublic $asset_path;\n\t\n\t/**\n\t * Absolute path to the font directory\n\t * @var string\n\t */\n\tpublic $font_path;\n\t\n\t/**\n\t * Absolute path to the image directory\n\t * @var string\n\t */\n\tpublic $image_path;\n\t\n\t/**\n\t * Absolute path to the script directory\n\t * @var string\n\t */\n\tpublic $script_path;\n\t\n\t/**\n\t * Absolute path to the style directory\n\t * @var string\n\t */\n\tpublic $style_path;\n\t\n\t/**\n\t * Absolute path to the content directory\n\t * @var string\n\t */\n\tpublic $content_path;\n\t\n\t/**\n\t * Absolute path to the include directory\n\t * @var string\n\t */\n\tpublic $include_path;\n\t\n\t/**\n\t * Absolute path to the template directory\n\t * @var string\n\t */\n\tpublic $template_path;\n\t\n\t/**\n\t * Full URL/URI to the asset directory\n\t * @var [type]\n\t */\n\tpublic $asset_uri;\n\t\n\t/**\n\t * Full URL/URI to the font directory\n\t * @var [type]\n\t */\n\tpublic $font_uri;\n\t\n\t/**\n\t * Full URL/URI to the image directory\n\t * @var [type]\n\t */\n\tpublic $image_uri;\n\t\n\t/**\n\t * Full URL/URI to the script directory\n\t * @var [type]\n\t */\n\tpublic $script_uri;\n\t\n\t/**\n\t * Full URL/URI to the style directory\n\t * @var [type]\n\t */\n\tpublic $style_uri;\n\t\n\t/**\n\t * Full URL/URI to the content directory\n\t * @var [type]\n\t */\n\tpublic $content_uri;\n\t\n\t/**\n\t * Full URL/URI to the include directory\n\t * @var [type]\n\t */\n\tpublic $include_uri;\n\t\n\t/**\n\t * Full URL/URI to the template directory\n\t * @var [type]\n\t */\n\tpublic $template_uri;\n\t\n\t/**\n\t * Sets class vars and calls various setup functions\n\t */\n\tpublic function __construct() {\n\t\t// Setup debug before everything else\n\t\tnew debug();\n\t\t\n\t\t// Setup globals and query vars\n\t\tglobal $theme;\n\t\t$theme = $this;\n\t\tset_query_var('theme', $this);\n\t\t\n\t\t// Base path/uri\n\t\t$this->path = realpath(get_template_directory());\n\t\t$this->uri  = get_template_directory_uri();\n\t\t\n\t\t// Build Path Variables\n\t\t$this->generate_paths(array(\n\t\t\t// var_name => path\n\t\t\t'asset'     => 'asset',\n\t\t\t'font'      => 'asset/font',\n\t\t\t'image'     => 'asset/image',\n\t\t\t'script'    => 'asset/script',\n\t\t\t'style'     => 'asset/style',\n\t\t\t'content'   => 'content',\n\t\t\t'include'   => 'include',\n\t\t\t'template'  => 'template'\n\t\t));\n\t\t\n\t\t// Theme Options\n\t\t$this->options        = $this->fetch_options();\n\t\t$this->template_queue = array();\n\t\t$this->used_templates = array(); // This is only populated if debug is active\n\t\t$this->inc_var_list   = array();\n\t\t\n\t\t// Check POST for options update (nonce & user are verified)\n\t\t$this->update_options_via_post();\n\t\t\n\t\t/*** Functions (1 per file) ***/\n\t\t$this->get_functions();\n\t\t\n\t\t/*** Initialize all the WordPress integrations ***/\n\t\t$this->do_integrations();\n\t\t\n\t\t/*** Handle First Run ***/\n\t\tif ($this->get_option('first_run')) {\n\t\t\t// This is the first run, greet them\n\t\t\ttemplate_use_part($theme->template_sub_path.'/default', $theme->template_sub_path.'/first-run');\n\t\t}\n\t\t\n\t\tparent::__construct();\n\t}\n\t\n\t/**\n\t * Set all the path variables based on (array) $sub_paths\n\t * \n\t * @param  array $sub_paths [description]\n\t * @return void\n\t */\n\tprivate function generate_paths($sub_paths) {\n\t\t// Sub-Paths\n\t\tforeach ($sub_paths as $var_name => $path) {\n\t\t\t$path       = str_replace('\\\\', '/', $path);\n\t\t\t$var        = $var_name.'_sub_path';\n\t\t\t$this->$var = $path;\n\t\t}\n\t\t// Absolute Paths\n\t\tforeach ($sub_paths as $var_name => $path) {\n\t\t\t$path       = str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path);\n\t\t\t$var        = $var_name.'_path';\n\t\t\t$this->$var = realpath($this->path.DIRECTORY_SEPARATOR.$path);\n\t\t}\n\t\t// URI Paths\n\t\tforeach ($sub_paths as $var_name => $path) {\n\t\t\t$path       = str_replace('\\\\', '/', $path);\n\t\t\t$var        = $var_name.'_uri';\n\t\t\t$this->$var = $this->uri.'/'.$path;\n\t\t}\n\t}\n\t\n\t/**\n\t * Do WordPress theme integrations\n\t * \n\t * @return void\n\t */\n\tpublic function do_integrations() {\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Begin WordPress Integrations');\n\t\t$integrations = new integrations;\n\t\t// Alphebetical based on the callback (doesn't effect the order they are called)\n\t\tadd_action('admin_bar_menu',        array($integrations, 'admin_bar_links'), 999);\n\t\tadd_action('nav_menu_css_class',    array($integrations, 'current_nav'), 10, 1);\n\t\tadd_action('admin_footer_text',     array($integrations, 'dashboard_footer'));\n\t\tadd_action('init',                  array($integrations, 'editor_styles'), 11);\n\t\tadd_action('wp_enqueue_scripts',    array($integrations, 'enqueue'));\n\t\tadd_action('user_contactmethods',   array($integrations, 'google_author'));\n\t\tadd_action('after_setup_theme',     array($integrations, 'init'));\n\t\tadd_action('admin_menu',            array($integrations, 'options'));\n\t\tadd_action('login_enqueue_scripts', array($integrations, 'options'));\n\t\tadd_action('post_thumbnail_html',   array($integrations, 'post_thumbnail'), 10, 3);\n\t\tadd_action('init',                  array($integrations, 'register_enqueue'), 10);\n\t\tadd_action('get_search_form',       array($integrations, 'search_form'));\n\t\tadd_action('widgets_init',          array($integrations, 'widgets_init'));\n\t\tadd_action('wp_title',              array($integrations, 'wp_title'), 10, 2);\n\t\tadd_action('template_include',      array($integrations, 'set_post_type'));\n\t\tif ($debug->active) {\n\t\t\t$debug->runtime_checkpoint('[Theme] Adding Debug WordPress Integrations');\n\t\t\ttemplate_part($this->include_sub_path.'/debug_hooks');\n\t\t}\n\t\t$debug->runtime_checkpoint('[Theme] Finished WordPress Integrations');\n\t}\n\t\n\t/**\n\t * Get all theme functions\n\t * \n\t * @return void\n\t */\n\tpublic function get_functions() {\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Begin Including Function Files');\n\t\t$func_dir     = realpath($this->include_path.'/function');\n\t\t$func_alt_dir = realpath(get_stylesheet_directory().'/'.$this->include_sub_path.'/function');\n\t\tif ($func_alt_dir && is_dir($func_alt_dir)) {\n\t\t\tforeach (scandir($func_alt_dir) as $function_file) {\n\t\t\t\t// ignore non-php files, check if the file exists, and that there isn't a function with the same name\n\t\t\t\tif (\n\t\t\t\t\tsubstr($function_file, -4) == '.php'\n\t\t\t\t\t&& is_file($func_alt_dir.DIRECTORY_SEPARATOR.$function_file)\n\t\t\t\t\t&& !function_exists(substr($function_file, 0, -4))\n\t\t\t\t) {\n\t\t\t\t\t$this->req_once($func_alt_dir.DIRECTORY_SEPARATOR.$function_file, TRUE);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tif ($func_dir != $func_alt_dir) {\n\t\t\tforeach (scandir($func_dir) as $function_file) {\n\t\t\t\t// ignore non-php files, check if the file exists, and that there isn't a function with the same name\n\t\t\t\tif (substr($function_file, -4) == '.php'\n\t\t\t\t\t&& is_file($func_dir.DIRECTORY_SEPARATOR.$function_file)\n\t\t\t\t\t&& !function_exists(substr($function_file, -4))\n\t\t\t\t) {\n\t\t\t\t\t$this->req_once($func_dir.DIRECTORY_SEPARATOR.$function_file, TRUE);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t$debug->runtime_checkpoint('[Theme] Finished Including Function Files');\n\t}\n\t\n\t/**\n\t * Imports the options from WordPress\n\t * \n\t * @return mixed\n\t */\n\tprivate function fetch_options() {\n\t\t$existing = get_option($this::identifier.'_options');\n\t\tif ($existing) {\n\t\t\t$options = json_decode($existing);\n\t\t} else {\n\t\t\t// Reset and add them to the database\n\t\t\t$options = $this->default_options();\n\t\t\t$this->update_options($options);\n\t\t}\n\t\treturn (array) $options;\n\t}\n\t\n\t/**\n\t * Simply returns an array of \"default\" options for the theme\n\t * \n\t * @return array The default theme options\n\t */\n\tprivate function default_options() {\n\t\treturn array(\n\t\t\t'meta_x_ua_compatible_enabled' => TRUE,\n\t\t\t'meta_x_ua_compatible'         => 'IE=edge,chrome=1',\n\t\t\t'first_run'                    => TRUE,\n\t\t\t'header_text'                  => 'Semantic UI for WordPress: Developer Edition',\n\t\t\t'header_subtext'               => 'The Semantic UI starter/developer theme for WordPress.',\n\t\t\t'mobile_meta'                  => TRUE,\n\t\t\t'meta_favicon_enabled'         => TRUE,\n\t\t\t'meta_favicon'                 => $this->uri.'/logo.png',\n\t\t\t'mobile_size'                  => '450',\n\t\t\t'logo_size'                    => 3,\n\t\t\t'logo_url'                     => $this->uri.'/logo.png'\n\t\t);\n\t}\n\t\n\t/**\n\t * Fetches the given option for the theme, returns FALSE when the option\n\t * doesn't exist.\n\t * \n\t * @param  string $name The option name\n\t * @return mixed        The value of the options or FALSE on failure.\n\t */\n\tpublic function get_option($name) {\n\t\t$options = &$this->options;\n\t\tif (isset($options[$name])) {\n\t\t\treturn $options[$name];\n\t\t}\n\t\treturn FALSE;\n\t}\n\t\n\t/**\n\t * Checks if the current user can edit the theme and updates the options\n\t * stored in the database if they can.\n\t * \n\t * @param  array $options The options to store in the database as a JSON array\n\t * @return void\n\t */\n\tpublic function update_options($options) {\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\t$json = json_encode((array) $options);\n\t\t\tupdate_option($this::identifier.'_options', $json);\n\t\t}\n\t}\n\t\n\t/**\n\t * This function is called when there is POST data in the designated offset.\n\t * The new options replace the old if the nonce can be verified.\n\t * \n\t * @return void\n\t */\n\tprivate function update_options_via_post() {\n\t\t$post_id = $this::identifier.'_options';\n\t\t$user_id = get_current_user_id();\n\t\tif (\n\t\t\tisset($_POST[$post_id.'_verify'])\n\t\t\t&&\n\t\t\twp_verify_nonce($_POST[$post_id.'_verify'], $this::identifier.'_options_'.$user_id)\n\t\t\t&&\n\t\t\tcurrent_user_can('edit_theme_options')\n\t\t\t&&\n\t\t\tisset($_POST[$post_id])\n\t\t\t&&\n\t\t\tis_array($_POST[$post_id])\n\t\t) {\n\t\t\t$this->update_options($_POST[$post_id]);\n\t\t\t\n\t\t\t// Now redirect to clear POST and show changes\n\t\t\theader('Location: '.$this->options_uri());\n\t\t}\n\t}\n\t\n\t/**\n\t * Prints the input name for a value on the options page (form)\n\t * \n\t * @param  string $name The name to use\n\t * @return string\n\t */\n\tpublic function option_form_name($name) {\n\t\treturn sprintf(\n\t\t\t'%1$s[%2$s]',\n\t\t\t$this::identifier.'_options',\n\t\t\t$name\n\t\t);\n\t}\n\t\n\t/**\n\t * Returns the URI of the theme options page in the WordPress Dashboard\n\t * @return string The URI of the theme options page\n\t */\n\tpublic function options_uri() {\n\t\treturn admin_url().'themes.php?page='.$this::identifier.'_options';\n\t}\n\t\n\t/**\n\t * This ensures that the data sent via POST is actually valid by printing a\n\t * special hidden form data entry.\n\t * \n\t * @return void\n\t */\n\tpublic function options_update_data() {\n\t\t$user_id = get_current_user_id();\n\t\tif ($user_id) {\n\t\t\tprintf(\n\t\t\t\t'<input type=\"hidden\" name=\"%1$s\" value=\"%2$s\">',\n\t\t\t\t$this::identifier.'_options_verify',\n\t\t\t\twp_create_nonce($this::identifier.'_options_'.$user_id)\n\t\t\t);\n\t\t}\n\t}\n\t\n\t/**\n\t * Works like `include $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function inc($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Include: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn include $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Works like `include_once $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function inc_once($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Include Once: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn include_once $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Works like `require $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function req($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Require: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn require $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Works like `require_once $theme_dir.'/'.$path`\n\t * \n\t * @param  String  $path     The path to the file you want to include\n\t * @param  boolean $is_abs   Is this an absolute path? Defaults to FALSE\n\t * @param  array   $var_list List of variables to extract()\n\t * @return mixed             Value of the file included\n\t */\n\tpublic function req_once($path, $is_abs = FALSE, $var_list = array()) {\n\t\tif (!$is_abs) {\n\t\t\t$path = $this->path.DIRECTORY_SEPARATOR.$path;\n\t\t}\n\t\t\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint('[Theme] Require Once: '.str_replace(array('\\\\', '/'), DIRECTORY_SEPARATOR, $path));\n\t\t\n\t\t// Configure Vars\n\t\t$var_list['theme'] = $this;\n\t\t$var_list['debug'] = $debug;\n\t\t$var_list          = $var_list + $this->inc_var_list;\n\t\t$this->_inc_path($path);\n\t\t\n\t\t// Undo the variables set by this function\n\t\tunset($path, $is_abs);\n\t\tif (!isset($var_list['var_list'])) {\n\t\t\t$var_list['var_list'] = NULL;\n\t\t}\n\t\t\n\t\textract($var_list);\n\t\treturn require_once $this->_inc_path();\n\t}\n\t\n\t/**\n\t * Simple function to temporarily hold a path string. Empties the storage when\n\t * called without a path to store\n\t * \n\t * @param  string $path Path to store\n\t * @return string       The stored path or an empty string\n\t */\n\tprivate function _inc_path($path = '') {\n\t\tstatic $spath;\n\t\tif (!empty($path)) {\n\t\t\t$spath = $path;\n\t\t\t$tpath = $path;\n\t\t} else {\n\t\t\t$tpath = $spath;\n\t\t\t$spath = '';\n\t\t}\n\t\treturn $tpath;\n\t}\n\t\n\t/**\n\t * Includes a theme part into the current page. Uses an id to identify which\n\t * part of the theme is currently trying to be included. This allows the\n\t * template file to determine what parts of the page are replaced when the page\n\t * is generated. (via $this->use_part())\n\t * \n\t * @param  string  $id       The identifier to check for replacements\n\t * @param  string  $path     The path to use if their is no replacement\n\t * @param  boolean $is_abs   (optional) If the $path is an absolute path, set this to TRUE\n\t * @param  boolean $once     (optional) Set to TRUE to use include_once instead of include\n\t * @param  array   $var_list (optional) The array of variables you want extracted\n\t * @return mixed             (optional) The return value of the file - usually NULL\n\t */\n\tpublic function part($id, $path, $is_abs = FALSE, $once = FALSE, $var_list = array()) {\n\t\tif (isset($this->template_queue[$id])) {\n\t\t\textract($this->template_queue[$id]);\n\t\t\tunset($this->template_queue[$id]);\n\t\t}\n\t\tglobal $debug;\n\t\tif ($debug->active) {\n\t\t\t$this->used_templates[] = array(\n\t\t\t\t'id'       => $id,\n\t\t\t\t'path'     => $path,\n\t\t\t\t'is_abs'   => $is_abs,\n\t\t\t\t'var_list' => array_keys($var_list)\n\t\t\t);\n\t\t}\n\t\tif ($once) {\n\t\t\treturn $this->inc_once($path, $is_abs, $var_list);\n\t\t}\n\t\treturn $this->inc($path, $is_abs, $var_list);\n\t}\n\t\n\t/**\n\t * Allows the template file to override what parts are used throughout the\n\t * page. This method also checks if the theme part has already been replaced.\n\t * If it has already been replaced, then the input is ignored and this method\n\t * returns FALSE. To override this functionallity set the variable manually\n\t * via $this->template_queue[$id].\n\t * \n\t * @param  string  $id       The identifier to check for replacments\n\t * @param  string  $path     The path to use if their is no replacment\n\t * @param  boolean $is_abs   (optional) If the $path is an absolute path, set this to TRUE\n\t * @param  boolean $once     (optional) Set to TRUE to use include_once instead of include\n\t * @param  array   $var_list (optional) The array of variables you want extraced\n\t * @return boolean           Returns TRUE if the part was successfully added to the queue, FALSE otherwise\n\t */\n\tpublic function use_part($id, $path, $is_abs = FALSE, $once = FALSE, $var_list = array()) {\n\t\tglobal $debug;\n\t\tif (isset($this->template_queue[$id])) {\n\t\t\t$debug->runtime_checkpoint('[Theme] Action: theme::use_part() failed to set \"'.$id.'\" to \"'.$path.'\"');\n\t\t\treturn FALSE;\n\t\t} else {\n\t\t\t$debug->runtime_checkpoint('[Theme] Action: theme::use_part() set \"'.$id.'\" to \"'.$path.'\"');\n\t\t\t$this->template_queue[$id] = array(\n\t\t\t\t'path'     => $path,\n\t\t\t\t'once'     => $once,\n\t\t\t\t'is_abs'   => $is_abs,\n\t\t\t\t'var_list' => $var_list\n\t\t\t);\n\t\t\treturn TRUE;\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/walker/abstract_base.php",
    "content": "<?php\n/**\n * The customer walker base class\n */\n\nnamespace semantic\\walker;\n\n/**\n * The customer walker base class\n */\nabstract class abstract_base extends \\Walker {\n\t\n\t/**\n\t * Array of option to pass to the walker\n\t * @var array\n\t */\n\tpublic $semantic_options;\n\t\n\t/**\n\t * Simple setup for walker classes.\n\t * \n\t * @param array $options Custom options to pass to the walker as $this->semantic_options\n\t */\n\tpublic function __construct($options = array()) {\n\t\t$this->semantic_options = $options;\n\t\tglobal $debug;\n\t\t$debug->runtime_checkpoint(sprintf('[Theme] Class \"%1$s\" Initialized', get_class($this)));\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/walker/abstract_nav_menu.php",
    "content": "<?php\n/**\n * This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\n * extends `semantic\\walker\\abstract_base` instead of `Walker`\n */\n\nnamespace semantic\\walker;\n\n/**\n * This class is a 1 for 1 duplicate of `Walker_Nav_Menu` from 4.3.1 except it\n * extends `semantic\\walker\\abstract_base` instead of `Walker`\n */\nabstract class abstract_nav_menu extends abstract_base {\n\t/**\n\t * What the class handles.\n\t *\n\t * @see Walker::$tree_type\n\t * @since 3.0.0\n\t * @var string\n\t */\n\tpublic $tree_type = array( 'post_type', 'taxonomy', 'custom' );\n\n\t/**\n\t * Database fields to use.\n\t *\n\t * @see Walker::$db_fields\n\t * @since 3.0.0\n\t * @var array\n\t */\n\tpublic $db_fields = array( 'parent' => 'menu_item_parent', 'id' => 'db_id' );\n\n\t/**\n\t * Starts the list before the elements are added.\n\t *\n\t * @see Walker::start_lvl()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function start_lvl( &$output, $depth = 0, $args = array() ) {\n\t\t$indent = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"\\n$indent<ul class=\\\"sub-menu\\\">\\n\";\n\t}\n\n\t/**\n\t * Ends the list of after the elements are added.\n\t *\n\t * @see Walker::end_lvl()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_lvl( &$output, $depth = 0, $args = array() ) {\n\t\t$indent = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"$indent</ul>\\n\";\n\t}\n\n\t/**\n\t * Start the element output.\n\t *\n\t * @see Walker::start_el()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Menu item data object.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t * @param int    $id     Current item ID.\n\t */\n\tpublic function start_el( &$output, $item, $depth = 0, $args = array(), $id = 0 ) {\n\t\t$indent = ( $depth ) ? str_repeat( \"\\t\", $depth ) : '';\n\n\t\t$classes = empty( $item->classes ) ? array() : (array) $item->classes;\n\t\t$classes[] = 'menu-item-' . $item->ID;\n\n\t\t/**\n\t\t * Filter the CSS class(es) applied to a menu item's list item element.\n\t\t *\n\t\t * @since 3.0.0\n\t\t * @since 4.1.0 The `$depth` parameter was added.\n\t\t *\n\t\t * @param array  $classes The CSS classes that are applied to the menu item's `<li>` element.\n\t\t * @param object $item    The current menu item.\n\t\t * @param array  $args    An array of {@see wp_nav_menu()} arguments.\n\t\t * @param int    $depth   Depth of menu item. Used for padding.\n\t\t */\n\t\t$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );\n\t\t$class_names = $class_names ? ' class=\"' . esc_attr( $class_names ) . '\"' : '';\n\n\t\t/**\n\t\t * Filter the ID applied to a menu item's list item element.\n\t\t *\n\t\t * @since 3.0.1\n\t\t * @since 4.1.0 The `$depth` parameter was added.\n\t\t *\n\t\t * @param string $menu_id The ID that is applied to the menu item's `<li>` element.\n\t\t * @param object $item    The current menu item.\n\t\t * @param array  $args    An array of {@see wp_nav_menu()} arguments.\n\t\t * @param int    $depth   Depth of menu item. Used for padding.\n\t\t */\n\t\t$id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth );\n\t\t$id = $id ? ' id=\"' . esc_attr( $id ) . '\"' : '';\n\n\t\t$output .= $indent . '<li' . $id . $class_names .'>';\n\n\t\t$atts = array();\n\t\t$atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';\n\t\t$atts['target'] = ! empty( $item->target )     ? $item->target     : '';\n\t\t$atts['rel']    = ! empty( $item->xfn )        ? $item->xfn        : '';\n\t\t$atts['href']   = ! empty( $item->url )        ? $item->url        : '';\n\n\t\t/**\n\t\t * Filter the HTML attributes applied to a menu item's anchor element.\n\t\t *\n\t\t * @since 3.6.0\n\t\t * @since 4.1.0 The `$depth` parameter was added.\n\t\t *\n\t\t * @param array $atts {\n\t\t *     The HTML attributes applied to the menu item's `<a>` element, empty strings are ignored.\n\t\t *\n\t\t *     @type string $title  Title attribute.\n\t\t *     @type string $target Target attribute.\n\t\t *     @type string $rel    The rel attribute.\n\t\t *     @type string $href   The href attribute.\n\t\t * }\n\t\t * @param object $item  The current menu item.\n\t\t * @param array  $args  An array of {@see wp_nav_menu()} arguments.\n\t\t * @param int    $depth Depth of menu item. Used for padding.\n\t\t */\n\t\t$atts = apply_filters( 'nav_menu_link_attributes', $atts, $item, $args, $depth );\n\n\t\t$attributes = '';\n\t\tforeach ( $atts as $attr => $value ) {\n\t\t\tif ( ! empty( $value ) ) {\n\t\t\t\t$value = ( 'href' === $attr ) ? esc_url( $value ) : esc_attr( $value );\n\t\t\t\t$attributes .= ' ' . $attr . '=\"' . $value . '\"';\n\t\t\t}\n\t\t}\n\n\t\t$item_output = $args->before;\n\t\t$item_output .= '<a'. $attributes .'>';\n\t\t/** This filter is documented in wp-includes/post-template.php */\n\t\t$item_output .= $args->link_before . apply_filters( 'the_title', $item->title, $item->ID ) . $args->link_after;\n\t\t$item_output .= '</a>';\n\t\t$item_output .= $args->after;\n\n\t\t/**\n\t\t * Filter a menu item's starting output.\n\t\t *\n\t\t * The menu item's starting output only includes `$args->before`, the opening `<a>`,\n\t\t * the menu item's title, the closing `</a>`, and `$args->after`. Currently, there is\n\t\t * no filter for modifying the opening and closing `<li>` for a menu item.\n\t\t *\n\t\t * @since 3.0.0\n\t\t *\n\t\t * @param string $item_output The menu item's starting HTML output.\n\t\t * @param object $item        Menu item data object.\n\t\t * @param int    $depth       Depth of menu item. Used for padding.\n\t\t * @param array  $args        An array of {@see wp_nav_menu()} arguments.\n\t\t */\n\t\t$output .= apply_filters( 'walker_nav_menu_start_el', $item_output, $item, $depth, $args );\n\t}\n\n\t/**\n\t * Ends the element output, if needed.\n\t *\n\t * @see Walker::end_el()\n\t *\n\t * @since 3.0.0\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Page data object. Not used.\n\t * @param int    $depth  Depth of page. Not Used.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_el( &$output, $item, $depth = 0, $args = array() ) {\n\t\t$output .= \"</li>\\n\";\n\t}\n}\n"
  },
  {
    "path": "src/include/class/semantic/walker/nav_menu.php",
    "content": "<?php\n/**\n * Custom nav menu walker class\n */\n\nnamespace semantic\\walker;\n\n/**\n * Custom nav menu walker class\n */\nclass nav_menu extends abstract_nav_menu {\n\t\n\t/**\n\t * Starts the list before the elements are added.\n\t *\n\t * @see \\Walker::start_lvl()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function start_lvl(&$output, $depth = 0, $args = array()) {\n\t\t$indent  = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"\\n$indent<i class=\\\"dropdown icon\\\"></i><span class=\\\"menu\\\">\\n\";\n\t}\n\t\n\t/**\n\t * Ends the list of after the elements are added.\n\t *\n\t * @see \\Walker::end_lvl()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_lvl(&$output, $depth = 0, $args = array()) {\n\t\t$indent  = str_repeat(\"\\t\", $depth);\n\t\t$output .= \"$indent</span>\\n\";\n\t}\n\t\n\t/**\n\t * Start the element output.\n\t *\n\t * @see \\Walker::start_el()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Menu item data object.\n\t * @param int    $depth  Depth of menu item. Used for padding.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t * @param int    $id     Current item ID.\n\t */\n\tpublic function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {\n\t\t$indent = ($depth) ? str_repeat(\"\\t\", $depth) : '';\n\t\t\n\t\t$classes   = empty($item->classes) ? array() : (array) $item->classes;\n\t\tif (in_array('menu-item-has-children', $classes)) {\n\t\t\t$classes[] = 'ui dropdown';\n\t\t}\n\t\t$classes[] = 'item';\n\t\t$classes[] = 'menu-item-' . $item->ID;\n\t\t\n\t\t$class_names = join(' ', apply_filters('nav_menu_css_class', array_filter($classes), $item, $args, $depth));\n\t\t$class_names = $class_names ? ' class=\"' . esc_attr($class_names) . '\"' : '';\n\t\t\n\t\t$id = apply_filters('nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth);\n\t\t$id = $id ? ' id=\"' . esc_attr($id) . '\"' : '';\n\t\t\n\t\t$output .= $indent . '<span' . $id . $class_names .'>';\n\t\t\n\t\t$atts           = array();\n\t\t$atts['title']  = !empty($item->attr_title) ? $item->attr_title : '';\n\t\t$atts['target'] = !empty($item->target)     ? $item->target     : '';\n\t\t$atts['rel']    = !empty($item->xfn)        ? $item->xfn        : '';\n\t\t$atts['href']   = !empty($item->url)        ? $item->url        : '';\n\t\t\n\t\t$atts = apply_filters('nav_menu_link_attributes', $atts, $item, $args, $depth);\n\t\t\n\t\t$attributes = '';\n\t\tforeach ($atts as $attr => $value) {\n\t\t\tif (! empty($value)) {\n\t\t\t\t$value = ('href' === $attr) ? esc_url($value) : esc_attr($value);\n\t\t\t\t$attributes .= ' ' . $attr . '=\"' . $value . '\"';\n\t\t\t}\n\t\t}\n\t\t\n\t\t$item_output = $args->before;\n\t\t$item_output .= '<a'. $attributes .'>';\n\t\t/** This filter is documented in wp-includes/post-template.php */\n\t\t$item_output .= $args->link_before . apply_filters('the_title', $item->title, $item->ID) . $args->link_after;\n\t\t$item_output .= '</a>';\n\t\t$item_output .= $args->after;\n\t\t\n\t\t$output .= apply_filters('walker_nav_menu_start_el', $item_output, $item, $depth, $args);\n\t}\n\t\n\t/**\n\t * Ends the element output, if needed.\n\t *\n\t * @see \\Walker::end_el()\n\t *\n\t * @param string $output Passed by reference. Used to append additional content.\n\t * @param object $item   Page data object. Not used.\n\t * @param int    $depth  Depth of page. Not Used.\n\t * @param array  $args   An array of arguments. @see wp_nav_menu()\n\t */\n\tpublic function end_el(&$output, $item, $depth = 0, $args = array()) {\n\t\t// $output .= '</a>';\n\t\t// $output .= $args->after;\n\t\t$output .= \"</span>\\n\";\n\t}\n}\n"
  },
  {
    "path": "src/include/debug_hooks.php",
    "content": "<?php\n/**\n * Add debug information to WordPress includes\n */\nadd_filter('template_include', function($template) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Using Template \"'.$template.'\"');\n\treturn $template;\n}, 99);\nadd_action('wp_head', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called wp_head()');\n}, 0, 0);\nadd_action('wp_footer', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called wp_footer()');\n}, 0, 0);\nadd_action('get_header', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called get_header()');\n}, 0, 0);\nadd_action('get_footer', function() {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Action: Called get_footer()');\n}, 0, 0);\nadd_filter('index_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: index_template');\n\treturn $content;\n});\nadd_filter('404_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: 404_template');\n\treturn $content;\n});\nadd_filter('archive_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: archive_template');\n\treturn $content;\n});\nadd_filter('author_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: author_template');\n\treturn $content;\n});\nadd_filter('category_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: category_template');\n\treturn $content;\n});\nadd_filter('tag_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: tag_template');\n\treturn $content;\n});\nadd_filter('taxonomy_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: taxonomy_template');\n\treturn $content;\n});\nadd_filter('date_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: date_template');\n\treturn $content;\n});\nadd_filter('home_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: home_template');\n\treturn $content;\n});\nadd_filter('front_page_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: front_page_template');\n\treturn $content;\n});\nadd_filter('page_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: page_template');\n\treturn $content;\n});\nadd_filter('paged_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: paged_template');\n\treturn $content;\n});\nadd_filter('search_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: search_template');\n\treturn $content;\n});\nadd_filter('single_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: single_template');\n\treturn $content;\n});\nadd_filter('attachment_template', function($content) {\n\tglobal $debug;\n\t$debug->runtime_checkpoint('[WordPress] Hook: attachment_template');\n\treturn $content;\n});\n"
  },
  {
    "path": "src/include/function/README.txt",
    "content": "If you add a PHP file to this directory, it is magically included via the\ntheme's bootstrap file.\n\nPLEASE ONLY ADD PHP FILES WITH 1 FUNCTION CONTAINED WITHIN THEM, AND NAME THEM\nAFTER THEIR CONTAINED FUNCTION.\n\nDo not add any additional logic to the file, and ensure that each file has only\n1 function within it. If you would like to group functions, please prefix BOTH\nthe file name and the function name.\n\n================================================================================\n\nUsing the file-system to organize functions is a lot simpler than trying to\nsearch a single \"functions\" file, which can easily reach 5000+ lines. This way,\nwe would only have to search through function names, and if we are using a file\nexplorer we can even sort them by different criteria.\n"
  },
  {
    "path": "src/include/function/template_part.php",
    "content": "<?php\n/**\n * template_part() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_template_part()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n * \n * @see https://codex.wordpress.org/Function_Reference/get_template_part\n * @param string      $slug The slug name for the generic template.\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction template_part($slug, $name = NULL) {\n\tglobal $debug;\n\t$action = str_replace('\\\\', '/', 'get_template_part_'.$slug);\n\t$debug->runtime_checkpoint('[Theme] Action: '.$action);\n\t\n\tdo_action($action, $slug, $name);\n\t\n\t$templates = array();\n\t$name      = (string) $name;\n\tif ('' !== $name) {\n\t\t$templates[] = $slug.'-'.$name.'.php';\n\t}\n\t$templates[] = $slug.'.php';\n\t\n\t$located = template_part__locate($templates);\n\tif ($located) {\n\t\treturn template_part__load($located, FALSE, $action);\n\t}\n\t$debug->runtime_checkpoint('[Theme] Failed Action: '.$action);\n\treturn NULL;\n}\n"
  },
  {
    "path": "src/include/function/template_part__load.php",
    "content": "<?php\n/**\n * template_part__load() function\n */\n\n/**\n * A drop-in replacement for WordPress' load_template()\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n * \n * @see https://codex.wordpress.org/Function_Reference/load_template\n * @param string  $template_file Path to template file.\n * @param bool    $require_once  Whether to require_once or require. Default true.\n * @param  string $identifier    The slug/action identifier to load\n * @return mixed                 The returned value of the loaded file\n */\nfunction template_part__load($template_file, $require_once = TRUE, $identifier = '') {\n\tglobal $theme, $posts, $post, $wp_did_header, $wp_query, $wp_rewrite, $wpdb, $wp_version, $wp, $id, $comment, $user_ID;\n\t\n\t$query_vars = array();\n\tif (is_array($wp_query->query_vars)) {\n\t\t$query_vars = $wp_query->query_vars;\n\t}\n\t$vars = array(\n\t\t'posts'         => $posts,\n\t\t'post'          => $post,\n\t\t'wp_did_header' => $wp_did_header,\n\t\t'wp_query'      => $wp_query,\n\t\t'wp_rewrite'    => $wp_rewrite,\n\t\t'wpdb'          => $wpdb,\n\t\t'wp_version'    => $wp_version,\n\t\t'wp'            => $wp,\n\t\t'id'            => $id,\n\t\t'comment'       => $comment,\n\t\t'user_ID'       => $user_ID\n\t) + $query_vars;\n\t\n\tif (!empty($identifier)) {\n\t\treturn $theme->part($identifier, $template_file, TRUE, $require_once, $vars);\n\t} elseif ($require_once) {\n\t\treturn $theme->req_once($template_file, TRUE, $vars);\n\t} else {\n\t\treturn $theme->req($template_file, TRUE, $vars);\n\t}\n}\n"
  },
  {
    "path": "src/include/function/template_part__locate.php",
    "content": "<?php\n/**\n * template_part__locate() function\n */\n\n/**\n * A drop-in replacement for WordPress' locate_template()\n * \n * NOTE: This is almost entirely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Uses is_file() instead of file_exists()\n *   - Better Debugging\n * \n * @see https://codex.wordpress.org/Function_Reference/locate_template\n * @param  string|array $template_names Template file(s) to search for, in order.\n * @param  bool         $load If true the template file will be loaded if it is found.\n * @param  bool         $require_once Whether to require_once or require. Default true. Has no effect if $load is false.\n * @return string The   template filename if one is located.\n */\nfunction template_part__locate($template_names, $load = FALSE, $require_once = TRUE) {\n\t$located = '';\n\tforeach ((array) $template_names as $template_name) {\n\t\tif (!$template_name) {\n\t\t\tcontinue;\n\t\t}\n\t\tif (is_file(get_stylesheet_directory().'/'.$template_name)) {\n\t\t\t$located = get_stylesheet_directory().'/'.$template_name;\n\t\t\tbreak;\n\t\t} elseif (is_file(get_template_directory().'/'.$template_name)) {\n\t\t\t$located = get_template_directory().'/'.$template_name;\n\t\t\tbreak;\n\t\t}\n\t}\n\t\n\tif ($load && '' != $located) {\n\t\ttemplate_part__load($located, $require_once);\n\t}\n\t\n\treturn $located;\n}\n"
  },
  {
    "path": "src/include/function/template_use_part.php",
    "content": "<?php\n/**\n * template_use_part() function\n */\n\n/**\n * This allows you to replace anything that hasn't been fetched by template_part()\n * yet, and you know the $slug to.\n * \n * @see https://codex.wordpress.org/Function_Reference/get_template_part\n * @param string|null $slug        The slug name to replace for the generic template.\n * @param string      $replacement The slug name of the replacement for the generic template.\n * @param string      $name        The name of the specialized template.\n * @return mixed                   TRUE if the part was successfully added, FALSE otherwise\n */\nfunction template_use_part($slug, $replacement, $name = NULL) {\n\tglobal $theme;\n\t$action = str_replace('\\\\','/','get_template_part_'.$slug);\n\t\n\t$templates = array();\n\t$name      = (string) $name;\n\tif (!empty($name)) {\n\t\t$templates[] = $replacement.'-'.$name.'.php';\n\t}\n\t$templates[] = $replacement.'.php';\n\t\n\t$located = template_part__locate($templates);\n\tif (!empty($located)) {\n\t\treturn $theme->use_part($action, $located, TRUE);\n\t}\n\treturn FALSE;\n}\n"
  },
  {
    "path": "src/include/function/theme__section.php",
    "content": "<?php\n/**\n * theme__section() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_header(), get_footer(), & get_sidebar()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_footer\n * @param string      $section The name of the section to load\n * @param string|null $name    The name of the specialized template.\n * @return mixed               The returned value of the file on success, NULL otherwise\n */\nfunction theme__section($section, $name = NULL) {\n\tglobal $debug, $theme;\n\t$action = 'get_'.$section;\n\t$debug->runtime_checkpoint('[Theme] Action: '.$action);\n\t\n\tdo_action($action, $name);\n\t\n\t$locations = array();\n\t$name      = (string) $name;\n\tif (!empty($name)) {\n\t\t$locations[] = sprintf('%1$s-%2$s', $theme->content_sub_path, $section, $name);\n\t\t$locations[] = sprintf('%1$s/%2$s-%3$s', $theme->content_sub_path, $section, $name);\n\t}\n\t$locations[] = $section;\n\t$locations[] = $theme->content_sub_path.'/'.$section;\n\t\n\tforeach ($locations as $loc) {\n\t\tif (template_part__locate($loc.'.php')) {\n\t\t\treturn template_part($loc, $name);\n\t\t}\n\t}\n\t$debug->runtime_checkpoint('[Theme] Failed Action: '.$action);\n\treturn NULL;\n}\n"
  },
  {
    "path": "src/include/function/theme_footer.php",
    "content": "<?php\n/**\n * theme_footer() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_footer()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_footer\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction theme_footer($name = NULL) {\n\ttheme__section('footer', $name);\n}\n"
  },
  {
    "path": "src/include/function/theme_header.php",
    "content": "<?php\n/**\n * theme_header() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_header()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_header\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction theme_header($name = NULL) {\n\ttheme__section('header', $name);\n}\n"
  },
  {
    "path": "src/include/function/theme_sidebar.php",
    "content": "<?php\n/**\n * theme_sidebar() function\n */\n\n/**\n * A drop-in replacement for WordPress' get_sidebar()\n * \n * NOTE: This is largely copied from the WordPress 4.2.2 core\n * \n * Improvements:\n *   - Function variables do not interfere with included file\n *   - Returns the the return value of the file\n *   - Better Debugging\n *   - Supports overrides via template_use_part()\n *   - Also checks content directory\n * \n * @see https://codex.wordpress.org/Function_Reference/get_sidebar\n * @param string|null $name The name of the specialized template.\n * @return mixed            The returned value of the file on success, NULL otherwise\n */\nfunction theme_sidebar($name = NULL) {\n\ttheme__section('sidebar', $name);\n}\n"
  },
  {
    "path": "src/index.php",
    "content": "<?php\n/**\n * Chooses the template to display\n * \n * On used when the page doesn't have its \"page template\" option set.\n */\n\nif (is_404()) {\n\t// There was an error with the request, display the 404 page.\n\ttemplate_use_part($theme->template_sub_path.'/default', $theme->template_sub_path.'/default-page');\n\ttemplate_use_part($theme->content_sub_path.'/loop', $theme->content_sub_path.'/404');\n} elseif (is_front_page() || is_home()) {\n\t// This the home page, which is typically designed differently from the rest of the site\n\ttemplate_use_part($theme->template_sub_path.'/default', $theme->template_sub_path.'/home');\n}\ntemplate_part($theme->template_sub_path.'/default', $theme->post_type);\n"
  },
  {
    "path": "src/style.css",
    "content": "/*\nTheme Name: Semanitic UI: Developer Edition\nVersion: 1.0.0\nTheme URI: https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\nDescription: A starter/developer theme designed with <a href=\\\"http://semantic-ui.com\\\">Semantic UI</a> by <a href=\\\"https://github.com/jlukic\\\">Jack Lukic</a>. This theme also includes some techniques for creating fast, responsive, and easy-to-maintain themes for WordPress. <a href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\">View the source on Github</a>\nAuthor: Nicholas Jordon\nAuthor URI: https://github.com/ProjectCleverWeb\nLicense: MIT\nLicense URI: http://opensource.org/licenses/MIT\nText Domain: semantic\nTags: responsive-layout, microformats, rtl-language-support, dark, light, gray, one-column, two-columns, three-columns, left-sidebar, right-sidebar, editor-style, featured-images, flexible-header, sticky-post, theme-options, threaded-comments\n\n\n\nIf you are looking for the main stylesheet for the site check: asset/style/main.css\n*/\n"
  },
  {
    "path": "src/template/default-page.php",
    "content": "<?php\n/**\n * The default page template\n * \n * Shows pages as the default template without any sidebars.\n */\n\ntemplate_part($theme->template_sub_path.'/default', 'sidebar-none');\n"
  },
  {
    "path": "src/template/default-sidebar-both.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: Both\n*/\n\ntheme_header();\n?>\n<div class=\"ui stackable grid\">\n\t<div class=\"four wide column\">\n\t\t<?php\n\t\t$left_sidebar = 'sidebar-widget-area-left';\n\t\tif (is_active_sidebar($left_sidebar)) {\n\t\t\tdynamic_sidebar($left_sidebar);\n\t\t} else {\n\t\t\techo 'The left sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n\t<main class=\"eight wide column\">\n\t\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n\t</main>\n\t<div class=\"four wide column\">\n\t\t<?php\n\t\t$right_sidebar = 'sidebar-widget-area-right';\n\t\tif (is_active_sidebar($right_sidebar)) {\n\t\t\tdynamic_sidebar($right_sidebar);\n\t\t} else {\n\t\t\techo 'The right sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n</div>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "src/template/default-sidebar-left.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: Left\n*/\n\ntheme_header();\n?>\n<div class=\"ui stackable grid\">\n\t<div class=\"five wide column\">\n\t\t<?php\n\t\t$left_sidebar = 'sidebar-widget-area-left';\n\t\tif (is_active_sidebar($left_sidebar)) {\n\t\t\tdynamic_sidebar($left_sidebar);\n\t\t} else {\n\t\t\techo 'The left sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n\t<main class=\"eleven wide column\">\n\t\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n\t</main>\n</div>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "src/template/default-sidebar-none.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: None\n*/\n\ntheme_header();\n?>\n<main>\n\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n</main>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "src/template/default-sidebar-right.php",
    "content": "<?php\n/*\nTemplate Name: Sidebar: Right\n*/\n\n// This just an alias to the default\ntemplate_part($theme->template_sub_path.'/default');\n"
  },
  {
    "path": "src/template/default.php",
    "content": "<?php\n/**\n * The default theme template\n * \n * Shows pages as the default template without any sidebars.\n */\n\n\ntheme_header();\n?>\n<div class=\"ui stackable grid\">\n\t<main class=\"eleven wide column\">\n\t\t<?php template_part($theme->content_sub_path.'/loop', $theme->post_type); ?>\n\t</main>\n\t<div class=\"five wide column\">\n\t\t<?php\n\t\t$right_sidebar = 'sidebar-widget-area-right';\n\t\tif (is_active_sidebar($right_sidebar)) {\n\t\t\tdynamic_sidebar($right_sidebar);\n\t\t} else {\n\t\t\techo 'The right sidebar does not have any widgets!';\n\t\t}\n\t\t?>\n\t</div>\n</div>\n<?php\ntheme_footer();\n"
  },
  {
    "path": "src/template/first-run.php",
    "content": "<?php\n/*\nTemplate Name: First-Run\n*/\n\ntemplate_use_part($theme->content_sub_path.'/modals', $theme->content_sub_path.'/empty');\n\ntheme_header('none');\n?>\n<main>\n\t<div class=\"empty size-10\">&nbsp;</div>\n\t<img src=\"<?php echo esc_url($theme->uri.'/logo.png'); ?>\" class=\"ui centered image\">\n\t<h1 class=\"ui center aligned dividing header\">\n\t\tWelcome to Semantic UI for WordPress!\n\t\t<?php\n\t\tif (current_user_can('edit_theme_options')) {\n\t\t\t?>\n\t\t\t<div class=\"sub header\">This is the first-run page, you can disable it from the <a href=\"<?php echo $theme->options_uri(); ?>\">Theme Options</a> page.</div>\n\t\t\t<?php\n\t\t} else {\n\t\t\t?>\n\t\t\t<div class=\"sub header\">This is the first-run page, <strong>once you login</strong>, you can disable it from the Theme Options page.</div>\n\t\t\t<?php\n\t\t}\n\t\t?>\n\t</h1>\n\t<div class=\"ui basic segment\">\n\t\t<?php template_part($theme->content_sub_path.'/first-run'); ?>\n\t</div>\n</main>\n<?php\ntheme_footer('none');\n"
  },
  {
    "path": "src/template/home.php",
    "content": "<?php\n/*\nTemplate Name: Home With Posts\n*/\n\n// This just an alias to the default\ntemplate_part($theme->template_sub_path.'/default');\n"
  },
  {
    "path": "src/template/login.php",
    "content": "<?php\n/**\n * Template Name: Login Page\n */\n\nif (is_user_logged_in()) {\n\t$loc = home_url();\n\tif (!empty($_REQUEST['redirect'])) {\n\t\t$loc = $_REQUEST['redirect'];\n\t}\n\twp_redirect($loc);\n\texit;\n}\n\ntheme_header('none');\n?>\n<div class=\"ui middle aligned center aligned stackable grid\" id=\"login-container\">\n\t<main class=\"five wide column\">\n\t\t<?php\n\t\ttemplate_part($theme->content_sub_path.'/login-form', $theme->post_type);\n\t\t?>\n\t</main>\n</div>\n<style type=\"text/css\">\n\thtml {\n\t\theight: 100% !important;\n\t}\n\thtml, body, #page-wrapper, #page-container, #main-content-grid {\n\t\theight: 100%;\n\t\tbackground: #EFEFEF;\n\t}\n\t#login-container {\n\t\theight: 100%;\n\t}\n</style>\n<?php\ntheme_footer('none');\n"
  },
  {
    "path": "src/template/theme-options.php",
    "content": "<?php\n/**\n * This template loads in the WordPress Dashboard, but produces an error any\n * time it is loaded by someone without the permissions to \"Edit Theme Options\"\n */\n\nif (current_user_can('edit_theme_options')) {\n\t?>\n\t<div id=\"theme-options-page\" class=\"ui basic segment\" style=\"max-width:99%;\">\n\t\t<h1 class=\"ui huge header\">\n\t\t\tTheme Options\n\t\t\t<div class=\"sub header\">\n\t\t\t\tView the <a target=\"_blank\" href=\"<?php echo $theme->uri ?>/asset/docs/\">Code Docs</a>\n\t\t\t\t| Open the <a target=\"_blank\" href=\"<?php echo $theme->uri ?>/readme.pdf\">README</a>\n\t\t\t\t| Source on <a target=\"_blank\" href=\"https://github.com/ProjectCleverWeb/Semantic-UI-WordPress\">Github</a></div>\n\t\t</h1>\n\t\t\n\t\t<?php template_part($theme->content_sub_path.'/theme-options/page'); ?>\n\t</div>\n\t<?php\n} else {\n\techo 'You do not have permission to edit theme options.';\n}\n"
  },
  {
    "path": "src/woocommerce.php",
    "content": "<?php\n/**\n * Woocommerce Specific Page.\n * \n * This page is only used by Woocommerce when it is installed as a plugin. This\n * page is otherwise pointless. This page just replaces the standard loop with\n * the woocommerce content.\n */\n\ntemplate_use_part($theme->content_sub_path.'/loop', $theme->content_sub_path.'/woocommerce');\ntemplate_part($theme->template_sub_path.'/default');\n"
  },
  {
    "path": "testing/bootstrap.php",
    "content": "<?php\n\n\n// Load WordPress without the theme being printed.\ndefine('WP_USE_THEMES', FALSE);\nrequire_once __DIR__.'/vendor/wordpress/wp-blog-header.php';\n\n\n\n\n\n\n\n"
  },
  {
    "path": "testing/database.sql",
    "content": "-- phpMyAdmin SQL Dump\n-- version 4.2.7.1\n-- http://www.phpmyadmin.net\n--\n-- Host: localhost\n-- Generation Time: Sep 05, 2014 at 10:34 PM\n-- Server version: 5.5.38-0ubuntu0.14.04.1\n-- PHP Version: 5.5.9-1ubuntu4.3\n\nSET SQL_MODE = \"NO_AUTO_VALUE_ON_ZERO\";\nSET time_zone = \"+00:00\";\n\n\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;\n/*!40101 SET NAMES utf8 */;\n\n--\n-- Database: `semantic-for-wordpress`\n--\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_commentmeta`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_commentmeta` (\n`meta_id` bigint(20) unsigned NOT NULL,\n  `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `meta_key` varchar(255) DEFAULT NULL,\n  `meta_value` longtext\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_comments`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_comments` (\n`comment_ID` bigint(20) unsigned NOT NULL,\n  `comment_post_ID` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `comment_author` tinytext NOT NULL,\n  `comment_author_email` varchar(100) NOT NULL DEFAULT '',\n  `comment_author_url` varchar(200) NOT NULL DEFAULT '',\n  `comment_author_IP` varchar(100) NOT NULL DEFAULT '',\n  `comment_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `comment_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `comment_content` text NOT NULL,\n  `comment_karma` int(11) NOT NULL DEFAULT '0',\n  `comment_approved` varchar(20) NOT NULL DEFAULT '1',\n  `comment_agent` varchar(255) NOT NULL DEFAULT '',\n  `comment_type` varchar(20) NOT NULL DEFAULT '',\n  `comment_parent` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `user_id` bigint(20) unsigned NOT NULL DEFAULT '0'\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;\n\n--\n-- Dumping data for table `wp_comments`\n--\n\nINSERT INTO `wp_comments` (`comment_ID`, `comment_post_ID`, `comment_author`, `comment_author_email`, `comment_author_url`, `comment_author_IP`, `comment_date`, `comment_date_gmt`, `comment_content`, `comment_karma`, `comment_approved`, `comment_agent`, `comment_type`, `comment_parent`, `user_id`) VALUES\n(1, 1, 'Mr WordPress', '', 'https://wordpress.org/', '', '2014-09-06 02:11:43', '2014-09-06 02:11:43', 'Hi, this is a comment.\\nTo delete a comment, just log in and view the post&#039;s comments. There you will have the option to edit or delete them.', 0, '1', '', '', 0, 0);\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_links`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_links` (\n`link_id` bigint(20) unsigned NOT NULL,\n  `link_url` varchar(255) NOT NULL DEFAULT '',\n  `link_name` varchar(255) NOT NULL DEFAULT '',\n  `link_image` varchar(255) NOT NULL DEFAULT '',\n  `link_target` varchar(25) NOT NULL DEFAULT '',\n  `link_description` varchar(255) NOT NULL DEFAULT '',\n  `link_visible` varchar(20) NOT NULL DEFAULT 'Y',\n  `link_owner` bigint(20) unsigned NOT NULL DEFAULT '1',\n  `link_rating` int(11) NOT NULL DEFAULT '0',\n  `link_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `link_rel` varchar(255) NOT NULL DEFAULT '',\n  `link_notes` mediumtext NOT NULL,\n  `link_rss` varchar(255) NOT NULL DEFAULT ''\n) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_options`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_options` (\n`option_id` bigint(20) unsigned NOT NULL,\n  `option_name` varchar(64) NOT NULL DEFAULT '',\n  `option_value` longtext NOT NULL,\n  `autoload` varchar(20) NOT NULL DEFAULT 'yes'\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=131 ;\n\n--\n-- Dumping data for table `wp_options`\n--\n\nINSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES\n(1, 'siteurl', 'http://localhost/Semantic-UI-WordPress/testing/vendor/wordpress', 'yes'),\n(2, 'blogname', 'My Testing Site', 'yes'),\n(3, 'blogdescription', 'Just another WordPress site', 'yes'),\n(4, 'users_can_register', '0', 'yes'),\n(5, 'admin_email', 'projectcleverweb@gmail.com', 'yes'),\n(6, 'start_of_week', '1', 'yes'),\n(7, 'use_balanceTags', '0', 'yes'),\n(8, 'use_smilies', '1', 'yes'),\n(9, 'require_name_email', '1', 'yes'),\n(10, 'comments_notify', '1', 'yes'),\n(11, 'posts_per_rss', '10', 'yes'),\n(12, 'rss_use_excerpt', '0', 'yes'),\n(13, 'mailserver_url', 'mail.example.com', 'yes'),\n(14, 'mailserver_login', 'login@example.com', 'yes'),\n(15, 'mailserver_pass', 'password', 'yes'),\n(16, 'mailserver_port', '110', 'yes'),\n(17, 'default_category', '1', 'yes'),\n(18, 'default_comment_status', 'open', 'yes'),\n(19, 'default_ping_status', 'open', 'yes'),\n(20, 'default_pingback_flag', '1', 'yes'),\n(21, 'posts_per_page', '10', 'yes'),\n(22, 'date_format', 'F j, Y', 'yes'),\n(23, 'time_format', 'g:i a', 'yes'),\n(24, 'links_updated_date_format', 'F j, Y g:i a', 'yes'),\n(25, 'comment_moderation', '0', 'yes'),\n(26, 'moderation_notify', '1', 'yes'),\n(27, 'permalink_structure', '', 'yes'),\n(28, 'gzipcompression', '0', 'yes'),\n(29, 'hack_file', '0', 'yes'),\n(30, 'blog_charset', 'UTF-8', 'yes'),\n(31, 'moderation_keys', '', 'no'),\n(32, 'active_plugins', 'a:0:{}', 'yes'),\n(33, 'home', 'http://localhost/Semantic-UI-WordPress/testing/vendor/wordpress', 'yes'),\n(34, 'category_base', '', 'yes'),\n(35, 'ping_sites', 'http://rpc.pingomatic.com/', 'yes'),\n(36, 'advanced_edit', '0', 'yes'),\n(37, 'comment_max_links', '2', 'yes'),\n(38, 'gmt_offset', '0', 'yes'),\n(39, 'default_email_category', '1', 'yes'),\n(40, 'recently_edited', '', 'no'),\n(41, 'template', 'Semantic-UI-WordPress', 'yes'),\n(42, 'stylesheet', 'Semantic-UI-WordPress', 'yes'),\n(43, 'comment_whitelist', '1', 'yes'),\n(44, 'blacklist_keys', '', 'no'),\n(45, 'comment_registration', '0', 'yes'),\n(46, 'html_type', 'text/html', 'yes'),\n(47, 'use_trackback', '0', 'yes'),\n(48, 'default_role', 'subscriber', 'yes'),\n(49, 'db_version', '27916', 'yes'),\n(50, 'uploads_use_yearmonth_folders', '1', 'yes'),\n(51, 'upload_path', '', 'yes'),\n(52, 'blog_public', '1', 'yes'),\n(53, 'default_link_category', '2', 'yes'),\n(54, 'show_on_front', 'posts', 'yes'),\n(55, 'tag_base', '', 'yes'),\n(56, 'show_avatars', '1', 'yes'),\n(57, 'avatar_rating', 'G', 'yes'),\n(58, 'upload_url_path', '', 'yes'),\n(59, 'thumbnail_size_w', '150', 'yes'),\n(60, 'thumbnail_size_h', '150', 'yes'),\n(61, 'thumbnail_crop', '1', 'yes'),\n(62, 'medium_size_w', '300', 'yes'),\n(63, 'medium_size_h', '300', 'yes'),\n(64, 'avatar_default', 'mystery', 'yes'),\n(65, 'large_size_w', '1024', 'yes'),\n(66, 'large_size_h', '1024', 'yes'),\n(67, 'image_default_link_type', 'file', 'yes'),\n(68, 'image_default_size', '', 'yes'),\n(69, 'image_default_align', '', 'yes'),\n(70, 'close_comments_for_old_posts', '0', 'yes'),\n(71, 'close_comments_days_old', '14', 'yes'),\n(72, 'thread_comments', '1', 'yes'),\n(73, 'thread_comments_depth', '5', 'yes'),\n(74, 'page_comments', '0', 'yes'),\n(75, 'comments_per_page', '50', 'yes'),\n(76, 'default_comments_page', 'newest', 'yes'),\n(77, 'comment_order', 'asc', 'yes'),\n(78, 'sticky_posts', 'a:0:{}', 'yes'),\n(79, 'widget_categories', 'a:2:{i:2;a:4:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:12:\"hierarchical\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}', 'yes'),\n(80, 'widget_text', 'a:0:{}', 'yes'),\n(81, 'widget_rss', 'a:0:{}', 'yes'),\n(82, 'uninstall_plugins', 'a:0:{}', 'no'),\n(83, 'timezone_string', '', 'yes'),\n(84, 'page_for_posts', '0', 'yes'),\n(85, 'page_on_front', '0', 'yes'),\n(86, 'default_post_format', '0', 'yes'),\n(87, 'link_manager_enabled', '0', 'yes'),\n(88, 'initial_db_version', '27916', 'yes'),\n(89, 'wp_user_roles', 'a:5:{s:13:\"administrator\";a:2:{s:4:\"name\";s:13:\"Administrator\";s:12:\"capabilities\";a:62:{s:13:\"switch_themes\";b:1;s:11:\"edit_themes\";b:1;s:16:\"activate_plugins\";b:1;s:12:\"edit_plugins\";b:1;s:10:\"edit_users\";b:1;s:10:\"edit_files\";b:1;s:14:\"manage_options\";b:1;s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:6:\"import\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:8:\"level_10\";b:1;s:7:\"level_9\";b:1;s:7:\"level_8\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;s:12:\"delete_users\";b:1;s:12:\"create_users\";b:1;s:17:\"unfiltered_upload\";b:1;s:14:\"edit_dashboard\";b:1;s:14:\"update_plugins\";b:1;s:14:\"delete_plugins\";b:1;s:15:\"install_plugins\";b:1;s:13:\"update_themes\";b:1;s:14:\"install_themes\";b:1;s:11:\"update_core\";b:1;s:10:\"list_users\";b:1;s:12:\"remove_users\";b:1;s:9:\"add_users\";b:1;s:13:\"promote_users\";b:1;s:18:\"edit_theme_options\";b:1;s:13:\"delete_themes\";b:1;s:6:\"export\";b:1;}}s:6:\"editor\";a:2:{s:4:\"name\";s:6:\"Editor\";s:12:\"capabilities\";a:34:{s:17:\"moderate_comments\";b:1;s:17:\"manage_categories\";b:1;s:12:\"manage_links\";b:1;s:12:\"upload_files\";b:1;s:15:\"unfiltered_html\";b:1;s:10:\"edit_posts\";b:1;s:17:\"edit_others_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:10:\"edit_pages\";b:1;s:4:\"read\";b:1;s:7:\"level_7\";b:1;s:7:\"level_6\";b:1;s:7:\"level_5\";b:1;s:7:\"level_4\";b:1;s:7:\"level_3\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:17:\"edit_others_pages\";b:1;s:20:\"edit_published_pages\";b:1;s:13:\"publish_pages\";b:1;s:12:\"delete_pages\";b:1;s:19:\"delete_others_pages\";b:1;s:22:\"delete_published_pages\";b:1;s:12:\"delete_posts\";b:1;s:19:\"delete_others_posts\";b:1;s:22:\"delete_published_posts\";b:1;s:20:\"delete_private_posts\";b:1;s:18:\"edit_private_posts\";b:1;s:18:\"read_private_posts\";b:1;s:20:\"delete_private_pages\";b:1;s:18:\"edit_private_pages\";b:1;s:18:\"read_private_pages\";b:1;}}s:6:\"author\";a:2:{s:4:\"name\";s:6:\"Author\";s:12:\"capabilities\";a:10:{s:12:\"upload_files\";b:1;s:10:\"edit_posts\";b:1;s:20:\"edit_published_posts\";b:1;s:13:\"publish_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_2\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;s:22:\"delete_published_posts\";b:1;}}s:11:\"contributor\";a:2:{s:4:\"name\";s:11:\"Contributor\";s:12:\"capabilities\";a:5:{s:10:\"edit_posts\";b:1;s:4:\"read\";b:1;s:7:\"level_1\";b:1;s:7:\"level_0\";b:1;s:12:\"delete_posts\";b:1;}}s:10:\"subscriber\";a:2:{s:4:\"name\";s:10:\"Subscriber\";s:12:\"capabilities\";a:2:{s:4:\"read\";b:1;s:7:\"level_0\";b:1;}}}', 'yes'),\n(90, 'widget_search', 'a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}', 'yes'),\n(91, 'widget_recent-posts', 'a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}', 'yes'),\n(92, 'widget_recent-comments', 'a:2:{i:2;a:2:{s:5:\"title\";s:0:\"\";s:6:\"number\";i:5;}s:12:\"_multiwidget\";i:1;}', 'yes'),\n(93, 'widget_archives', 'a:2:{i:2;a:3:{s:5:\"title\";s:0:\"\";s:5:\"count\";i:0;s:8:\"dropdown\";i:0;}s:12:\"_multiwidget\";i:1;}', 'yes'),\n(94, 'widget_meta', 'a:2:{i:2;a:1:{s:5:\"title\";s:0:\"\";}s:12:\"_multiwidget\";i:1;}', 'yes'),\n(95, 'sidebars_widgets', 'a:5:{s:19:\"wp_inactive_widgets\";a:0:{}s:24:\"sidebar-widget-area-left\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:25:\"sidebar-widget-area-right\";a:0:{}s:25:\"footer-widget-area-footer\";a:0:{}s:13:\"array_version\";i:3;}', 'yes'),\n(96, 'cron', 'a:4:{i:1409989740;a:1:{s:20:\"wp_maybe_auto_update\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1410012706;a:3:{s:16:\"wp_version_check\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:17:\"wp_update_plugins\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}s:16:\"wp_update_themes\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:10:\"twicedaily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:43200;}}}i:1410055916;a:1:{s:19:\"wp_scheduled_delete\";a:1:{s:32:\"40cd750bba9870f18aada2478b24840a\";a:3:{s:8:\"schedule\";s:5:\"daily\";s:4:\"args\";a:0:{}s:8:\"interval\";i:86400;}}}s:7:\"version\";i:2;}', 'yes'),\n(98, '_site_transient_update_core', 'O:8:\"stdClass\":4:{s:7:\"updates\";a:2:{i:0;O:8:\"stdClass\":10:{s:8:\"response\";s:7:\"upgrade\";s:8:\"download\";s:57:\"https://downloads.wordpress.org/release/wordpress-4.0.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:57:\"https://downloads.wordpress.org/release/wordpress-4.0.zip\";s:10:\"no_content\";s:68:\"https://downloads.wordpress.org/release/wordpress-4.0-no-content.zip\";s:11:\"new_bundled\";s:69:\"https://downloads.wordpress.org/release/wordpress-4.0-new-bundled.zip\";s:7:\"partial\";b:0;s:8:\"rollback\";b:0;}s:7:\"current\";s:3:\"4.0\";s:7:\"version\";s:3:\"4.0\";s:11:\"php_version\";s:5:\"5.2.4\";s:13:\"mysql_version\";s:3:\"5.0\";s:11:\"new_bundled\";s:3:\"3.8\";s:15:\"partial_version\";s:0:\"\";}i:1;O:8:\"stdClass\":11:{s:8:\"response\";s:10:\"autoupdate\";s:8:\"download\";s:57:\"https://downloads.wordpress.org/release/wordpress-4.0.zip\";s:6:\"locale\";s:5:\"en_US\";s:8:\"packages\";O:8:\"stdClass\":5:{s:4:\"full\";s:57:\"https://downloads.wordpress.org/release/wordpress-4.0.zip\";s:10:\"no_content\";s:68:\"https://downloads.wordpress.org/release/wordpress-4.0-no-content.zip\";s:11:\"new_bundled\";s:69:\"https://downloads.wordpress.org/release/wordpress-4.0-new-bundled.zip\";s:7:\"partial\";b:0;s:8:\"rollback\";b:0;}s:7:\"current\";s:3:\"4.0\";s:7:\"version\";s:3:\"4.0\";s:11:\"php_version\";s:5:\"5.2.4\";s:13:\"mysql_version\";s:3:\"5.0\";s:11:\"new_bundled\";s:3:\"3.8\";s:15:\"partial_version\";s:0:\"\";s:13:\"support_email\";s:27:\"updatehelp392@wordpress.org\";}}s:12:\"last_checked\";i:1409969511;s:15:\"version_checked\";s:5:\"3.9.2\";s:12:\"translations\";a:0:{}}', 'yes'),\n(101, '_site_transient_timeout_theme_roots', '1409971639', 'yes'),\n(102, '_site_transient_theme_roots', 'a:4:{s:21:\"Semantic-UI-WordPress\";s:7:\"/themes\";s:14:\"twentyfourteen\";s:7:\"/themes\";s:14:\"twentythirteen\";s:7:\"/themes\";s:12:\"twentytwelve\";s:7:\"/themes\";}', 'yes'),\n(104, '_site_transient_timeout_browser_d7c94cf4a875485019e643ede745bb39', '1410574313', 'yes'),\n(105, '_site_transient_browser_d7c94cf4a875485019e643ede745bb39', 'a:9:{s:8:\"platform\";s:5:\"Linux\";s:4:\"name\";s:6:\"Chrome\";s:7:\"version\";s:13:\"36.0.1985.143\";s:10:\"update_url\";s:28:\"http://www.google.com/chrome\";s:7:\"img_src\";s:49:\"http://s.wordpress.org/images/browsers/chrome.png\";s:11:\"img_src_ssl\";s:48:\"https://wordpress.org/images/browsers/chrome.png\";s:15:\"current_version\";s:2:\"18\";s:7:\"upgrade\";b:0;s:8:\"insecure\";b:0;}', 'yes'),\n(106, '_site_transient_update_plugins', 'O:8:\"stdClass\":3:{s:12:\"last_checked\";i:1409969514;s:8:\"response\";a:1:{s:19:\"akismet/akismet.php\";O:8:\"stdClass\":6:{s:2:\"id\";s:2:\"15\";s:4:\"slug\";s:7:\"akismet\";s:6:\"plugin\";s:19:\"akismet/akismet.php\";s:11:\"new_version\";s:5:\"3.0.2\";s:3:\"url\";s:38:\"https://wordpress.org/plugins/akismet/\";s:7:\"package\";s:56:\"https://downloads.wordpress.org/plugin/akismet.3.0.2.zip\";}}s:12:\"translations\";a:0:{}}', 'yes'),\n(107, 'can_compress_scripts', '0', 'yes'),\n(108, '_transient_timeout_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1410012715', 'no');\nINSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES\n(109, '_transient_feed_ac0b00fe65abe10e0c5b588f3ed8c7ca', 'a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\\n\\n\\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:51:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\t\\n\t\t\\n\t\\n\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:3:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://wordpress.org/news\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WordPress News\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:13:\"lastBuildDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:05:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/?v=4.1-alpha\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:10:{i:0;a:6:{s:4:\"data\";s:42:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"WordPress 4.0 “Benny”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"http://wordpress.org/news/2014/09/benny/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"http://wordpress.org/news/2014/09/benny/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:05:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3296\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:370:\"Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we&#8217;ve put a little extra polish into it. This release brings you a smoother writing and management experience [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:23312:\"<p>Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader <a href=\"http://en.wikipedia.org/wiki/Benny_Goodman\">Benny Goodman</a>, is available <a href=\"http://wordpress.org/download/\">for download</a> or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we&#8217;ve put a little extra polish into it. This release brings you a smoother writing and management experience we think you&#8217;ll enjoy.</p>\\n<div id=\"v-bUdzKMro-1\" class=\"video-player\"><embed id=\"v-bUdzKMro-1-video\" src=\"http://s0.videopress.com/player.swf?v=1.03&amp;guid=bUdzKMro&amp;isDynamicSeeking=true\" type=\"application/x-shockwave-flash\" width=\"692\" height=\"388\" title=\"Introducing WordPress 4.0 &quot;Benny&quot;\" wmode=\"direct\" seamlesstabbing=\"true\" allowfullscreen=\"true\" allowscriptaccess=\"always\" overstretch=\"true\"></embed></div>\\n<hr />\\n<h2 style=\"text-align: center\">Manage your media with style</h2>\\n<p><img class=\"alignnone size-full wp-image-3316\" src=\"http://i0.wp.com/wordpress.org/news/files/2014/09/media.jpg?resize=692%2C406\" alt=\"Media Library\" data-recalc-dims=\"1\" />Explore your uploads in a beautiful, endless grid. A new details preview makes viewing and editing any amount of media in sequence a snap.</p>\\n<hr />\\n<h2 style=\"text-align: center\">Working with embeds has never been easier</h2>\\n<div style=\"width: 632px; height: 445px; \" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement(''video'');</script><![endif]-->\\n<video class=\"wp-video-shortcode\" id=\"video-3296-1\" width=\"632\" height=\"445\" autoplay=\"true\" preload=\"metadata\" controls=\"controls\"><source type=\"video/mp4\" src=\"//s.w.org/images/core/4.0/embed.mp4?_=1\" /><source type=\"video/webm\" src=\"//s.w.org/images/core/4.0/embed.webm?_=1\" /><source type=\"video/ogg\" src=\"//s.w.org/images/core/4.0/embed.ogv?_=1\" /><a href=\"//s.w.org/images/core/4.0/embed.mp4\">//s.w.org/images/core/4.0/embed.mp4</a></video></div>\\n<p>Paste in a YouTube URL on a new line, and watch it magically become an embedded video. Now try it with a tweet. Oh yeah — embedding has become a visual experience. The editor shows a true preview of your embedded content, saving you time and giving you confidence.</p>\\n<p>We’ve expanded the services supported by default, too — you can embed videos from CollegeHumor, playlists from YouTube, and talks from TED. <a href=\"http://codex.wordpress.org/Embeds\">Check out all of the embeds</a> that WordPress supports.</p>\\n<hr />\\n<h2 style=\"text-align: center\">Focus on your content</h2>\\n<div style=\"width: 632px; height: 356px; \" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-3296-2\" width=\"632\" height=\"356\" autoplay=\"true\" preload=\"metadata\" controls=\"controls\"><source type=\"video/mp4\" src=\"//s.w.org/images/core/4.0/focus.mp4?_=2\" /><source type=\"video/webm\" src=\"//s.w.org/images/core/4.0/focus.webm?_=2\" /><source type=\"video/ogg\" src=\"//s.w.org/images/core/4.0/focus.ogv?_=2\" /><a href=\"//s.w.org/images/core/4.0/focus.mp4\">//s.w.org/images/core/4.0/focus.mp4</a></video></div>\\n<p>Writing and editing is smoother and more immersive with an editor that expands to fit your content as you write, and keeps the formatting tools available at all times.</p>\\n<hr />\\n<h2 style=\"text-align: center\">Finding the right plugin</h2>\\n<p><img class=\"aligncenter size-large wp-image-3309\" src=\"http://i0.wp.com/wordpress.org/news/files/2014/09/add-plugin1.png?resize=692%2C405\" alt=\"Add plugins\" data-recalc-dims=\"1\" /></p>\\n<p>There are more than 30,000 free and open source plugins in the WordPress plugin directory. WordPress 4.0 makes it easier to find the right one for your needs, with new metrics, improved search, and a more visual browsing experience.</p>\\n<hr />\\n<h2 style=\"text-align: center\">The Ensemble</h2>\\n<p>This release was led by <a href=\"http://helenhousandi.com\">Helen Hou-Sandí</a>, with the help of these fine individuals. There are 275 contributors with props in this release, a new high. Pull up some Benny Goodman on your music service of choice, as a bandleader or in one of his turns as a classical clarinetist, and check out some of their profiles:</p>\\n<p><a href=\"http://profiles.wordpress.org/aaroncampbell\">Aaron D. Campbell</a>, <a href=\"http://profiles.wordpress.org/jorbin\">Aaron Jorbin</a>, <a href=\"http://profiles.wordpress.org/adamsilverstein\">Adam Silverstein</a>, <a href=\"http://profiles.wordpress.org/viper007bond\">Alex Mills (Viper007Bond)</a>, <a href=\"http://profiles.wordpress.org/tellyworth\">Alex Shiels</a>, <a href=\"http://profiles.wordpress.org/alexanderrohmann\">Alexander Rohmann</a>, <a href=\"http://profiles.wordpress.org/aliso\">Alison Barrett</a>, <a href=\"http://profiles.wordpress.org/collinsinternet\">Allan Collins</a>, <a href=\"http://profiles.wordpress.org/amit\">Amit Gupta</a>, <a href=\"http://profiles.wordpress.org/sabreuse\">Amy Hendrix (sabreuse)</a>, <a href=\"http://profiles.wordpress.org/afercia\">Andrea Fercia</a>, <a href=\"http://profiles.wordpress.org/andrezrv\">Andres Villarreal</a>, <a href=\"http://profiles.wordpress.org/zamfeer\">Andrew Mowe</a>, <a href=\"http://profiles.wordpress.org/nacin\">Andrew Nacin</a>, <a href=\"http://profiles.wordpress.org/azaozz\">Andrew Ozz</a>, <a href=\"http://profiles.wordpress.org/andy\">Andy Skelton</a>, <a href=\"http://profiles.wordpress.org/ankit-k-gupta\">Ankit K Gupta</a>, <a href=\"http://profiles.wordpress.org/atimmer\">Anton Timmermans</a>, <a href=\"http://profiles.wordpress.org/arnee\">arnee</a>, <a href=\"http://profiles.wordpress.org/aubreypwd\">Aubrey Portwood</a>, <a href=\"http://profiles.wordpress.org/filosofo\">Austin Matzko</a>, <a href=\"http://profiles.wordpress.org/empireoflight\">Ben Dunkle</a>, <a href=\"http://profiles.wordpress.org/kau-boy\">Bernhard Kau</a>, <a href=\"http://profiles.wordpress.org/boonebgorges\">Boone Gorges</a>, <a href=\"http://profiles.wordpress.org/bradyvercher\">Brady Vercher</a>, <a href=\"http://profiles.wordpress.org/bramd\">bramd</a>, <a href=\"http://profiles.wordpress.org/kraftbj\">Brandon Kraft</a>, <a href=\"http://profiles.wordpress.org/krogsgard\">Brian Krogsgard</a>, <a href=\"http://profiles.wordpress.org/brianlayman\">Brian Layman</a>, <a href=\"http://profiles.wordpress.org/rzen\">Brian Richards</a>, <a href=\"http://profiles.wordpress.org/camdensegal\">Camden Segal</a>, <a href=\"http://profiles.wordpress.org/lukecarbis\">Carbis</a>, <a href=\"http://profiles.wordpress.org/sixhours\">Caroline Moore</a>, <a href=\"http://profiles.wordpress.org/mackensen\">Charles Fulton</a>, <a href=\"http://profiles.wordpress.org/chouby\">Chouby</a>, <a href=\"http://profiles.wordpress.org/chrico\">ChriCo</a>, <a href=\"http://profiles.wordpress.org/c3mdigital\">Chris Olbekson</a>, <a href=\"http://profiles.wordpress.org/chrisl27\">chrisl27</a>, <a href=\"http://profiles.wordpress.org/caxelsson\">Christian Axelsson</a>, <a href=\"http://profiles.wordpress.org/cfinke\">Christopher Finke</a>, <a href=\"http://profiles.wordpress.org/boda1982\">Christopher Spires</a>, <a href=\"http://profiles.wordpress.org/clifgriffin\">Clifton Griffin</a>, <a href=\"http://profiles.wordpress.org/jupiterwise\">Corey McKrill</a>, <a href=\"http://profiles.wordpress.org/corphi\">Corphi</a>, <a href=\"http://profiles.wordpress.org/extendwings\">Daisuke Takahashi</a>, <a href=\"http://profiles.wordpress.org/ghost1227\">Dan Griffiths</a>, <a href=\"http://profiles.wordpress.org/danielbachhuber\">Daniel Bachhuber</a>, <a href=\"http://profiles.wordpress.org/danielhuesken\">Daniel Husken</a>, <a href=\"http://profiles.wordpress.org/redsweater\">Daniel Jalkut (Red Sweater)</a>, <a href=\"http://profiles.wordpress.org/dannydehaan\">Danny de Haan</a>, <a href=\"http://profiles.wordpress.org/dkotter\">Darin Kotter</a>, <a href=\"http://profiles.wordpress.org/koop\">Daryl Koopersmith</a>, <a href=\"http://profiles.wordpress.org/dllh\">Daryl L. L. Houston (dllh)</a>, <a href=\"http://profiles.wordpress.org/davidakennedy\">David A. Kennedy</a>, <a href=\"http://profiles.wordpress.org/dlh\">David Herrera</a>, <a href=\"http://profiles.wordpress.org/dnaber-de\">David Naber</a>, <a href=\"http://profiles.wordpress.org/davidthemachine\">DavidTheMachine</a>, <a href=\"http://profiles.wordpress.org/debaat\">DeBAAT</a>, <a href=\"http://profiles.wordpress.org/dd32\">Dion Hulse</a>, <a href=\"http://profiles.wordpress.org/ocean90\">Dominik Schilling</a>, <a href=\"http://profiles.wordpress.org/donncha\">Donncha O Caoimh</a>, <a href=\"http://profiles.wordpress.org/drewapicture\">Drew Jaynes</a>, <a href=\"http://profiles.wordpress.org/dustyn\">Dustyn Doyle</a>, <a href=\"http://profiles.wordpress.org/eddiemoya\">Eddie Moya</a>, <a href=\"http://profiles.wordpress.org/oso96_2000\">Eduardo Reveles</a>, <a href=\"http://profiles.wordpress.org/edwin-at-studiojoyocom\">Edwin Siebel</a>, <a href=\"http://profiles.wordpress.org/ehg\">ehg</a>, <a href=\"http://profiles.wordpress.org/tmeister\">Enrique Chavez</a>, <a href=\"http://profiles.wordpress.org/erayalakese\">erayalakese</a>, <a href=\"http://profiles.wordpress.org/ericlewis\">Eric Andrew Lewis</a>, <a href=\"http://profiles.wordpress.org/ebinnion\">Eric Binnion</a>, <a href=\"http://profiles.wordpress.org/ericmann\">Eric Mann</a>, <a href=\"http://profiles.wordpress.org/ejdanderson\">Evan Anderson</a>, <a href=\"http://profiles.wordpress.org/eherman24\">Evan Herman</a>, <a href=\"http://profiles.wordpress.org/fab1en\">Fabien Quatravaux</a>, <a href=\"http://profiles.wordpress.org/fahmiadib\">Fahmi Adib</a>, <a href=\"http://profiles.wordpress.org/feedmeastraycat\">feedmeastraycat</a>, <a href=\"http://profiles.wordpress.org/frank-klein\">Frank Klein</a>, <a href=\"http://profiles.wordpress.org/garhdez\">garhdez</a>, <a href=\"http://profiles.wordpress.org/garyc40\">Gary Cao</a>, <a href=\"http://profiles.wordpress.org/garyj\">Gary Jones</a>, <a href=\"http://profiles.wordpress.org/pento\">Gary Pendergast</a>, <a href=\"http://profiles.wordpress.org/garza\">garza</a>, <a href=\"http://profiles.wordpress.org/gauravmittal1995\">gauravmittal1995</a>, <a href=\"http://profiles.wordpress.org/gavra\">Gavrisimo</a>, <a href=\"http://profiles.wordpress.org/georgestephanis\">George Stephanis</a>, <a href=\"http://profiles.wordpress.org/grahamarmfield\">Graham Armfield</a>, <a href=\"http://profiles.wordpress.org/vancoder\">Grant Mangham</a>, <a href=\"http://profiles.wordpress.org/gcorne\">Gregory Cornelius</a>, <a href=\"http://profiles.wordpress.org/bordoni\">Gustavo Bordoni</a>, <a href=\"http://profiles.wordpress.org/harrym\">harrym</a>, <a href=\"http://profiles.wordpress.org/hebbet\">hebbet</a>, <a href=\"http://profiles.wordpress.org/hinnerk\">Hinnerk Altenburg</a>, <a href=\"http://profiles.wordpress.org/hlashbrooke\">Hugh Lashbrooke</a>, <a href=\"http://profiles.wordpress.org/iljoja\">iljoja</a>, <a href=\"http://profiles.wordpress.org/imath\">imath</a>, <a href=\"http://profiles.wordpress.org/ipstenu\">Ipstenu (Mika Epstein)</a>, <a href=\"http://profiles.wordpress.org/issuu\">issuu</a>, <a href=\"http://profiles.wordpress.org/jdgrimes\">J.D. Grimes</a>, <a href=\"http://profiles.wordpress.org/jacklenox\">Jack Lenox</a>, <a href=\"http://profiles.wordpress.org/jackreichert\">Jack Reichert</a>, <a href=\"http://profiles.wordpress.org/jacobdubail\">Jacob Dubail</a>, <a href=\"http://profiles.wordpress.org/janhenkg\">JanHenkG</a>, <a href=\"http://profiles.wordpress.org/avryl\">Janneke Van Dorpe</a>, <a href=\"http://profiles.wordpress.org/jwenerd\">Jared Wenerd</a>, <a href=\"http://profiles.wordpress.org/jaza613\">Jaza613</a>, <a href=\"http://profiles.wordpress.org/jeffstieler\">Jeff Stieler</a>, <a href=\"http://profiles.wordpress.org/jeremyfelt\">Jeremy Felt</a>, <a href=\"http://profiles.wordpress.org/jpry\">Jeremy Pry</a>, <a href=\"http://profiles.wordpress.org/slimndap\">Jeroen Schmit</a>, <a href=\"http://profiles.wordpress.org/jerrysarcastic\">Jerry Bates (jerrysarcastic)</a>, <a href=\"http://profiles.wordpress.org/jesin\">Jesin A</a>, <a href=\"http://profiles.wordpress.org/jayjdk\">Jesper Johansen (jayjdk)</a>, <a href=\"http://profiles.wordpress.org/jesper800\">Jesper van Engelen</a>, <a href=\"http://profiles.wordpress.org/engelen\">Jesper van Engelen</a>, <a href=\"http://profiles.wordpress.org/jessepollak\">Jesse Pollak</a>, <a href=\"http://profiles.wordpress.org/jgadbois\">jgadbois</a>, <a href=\"http://profiles.wordpress.org/jartes\">Joan Artes</a>, <a href=\"http://profiles.wordpress.org/joedolson\">Joe Dolson</a>, <a href=\"http://profiles.wordpress.org/joehoyle\">Joe Hoyle</a>, <a href=\"http://profiles.wordpress.org/jkudish\">Joey Kudish</a>, <a href=\"http://profiles.wordpress.org/johnbillion\">John Blackbourn</a>, <a href=\"http://profiles.wordpress.org/johnjamesjacoby\">John James Jacoby</a>, <a href=\"http://profiles.wordpress.org/johnzanussi\">John Zanussi</a>, <a href=\"http://profiles.wordpress.org/duck_\">Jon Cave</a>, <a href=\"http://profiles.wordpress.org/jonnyauk\">jonnyauk</a>, <a href=\"http://profiles.wordpress.org/joostdevalk\">Joost de Valk</a>, <a href=\"http://profiles.wordpress.org/softmodeling\">Jordi Cabot</a>, <a href=\"http://profiles.wordpress.org/jjeaton\">Josh Eaton</a>, <a href=\"http://profiles.wordpress.org/tai\">JOTAKI Taisuke</a>, <a href=\"http://profiles.wordpress.org/juliobox\">Julio Potier</a>, <a href=\"http://profiles.wordpress.org/justinsainton\">Justin Sainton</a>, <a href=\"http://profiles.wordpress.org/jtsternberg\">Justin Sternberg</a>, <a href=\"http://profiles.wordpress.org/greenshady\">Justin Tadlock</a>, <a href=\"http://profiles.wordpress.org/kadamwhite\">K.Adam White</a>, <a href=\"http://profiles.wordpress.org/trepmal\">Kailey (trepmal)</a>, <a href=\"http://profiles.wordpress.org/ixkaito\">Kaito</a>, <a href=\"http://profiles.wordpress.org/kapeels\">kapeels</a>, <a href=\"http://profiles.wordpress.org/ryelle\">Kelly Dwan</a>, <a href=\"http://profiles.wordpress.org/kevinlangleyjr\">Kevin Langley</a>, <a href=\"http://profiles.wordpress.org/kworthington\">Kevin Worthington</a>, <a href=\"http://profiles.wordpress.org/kpdesign\">Kim Parsell</a>, <a href=\"http://profiles.wordpress.org/kwight\">Kirk Wight</a>, <a href=\"http://profiles.wordpress.org/kitchin\">kitchin</a>, <a href=\"http://profiles.wordpress.org/knutsp\">Knut Sparhell</a>, <a href=\"http://profiles.wordpress.org/kovshenin\">Konstantin Kovshenin</a>, <a href=\"http://profiles.wordpress.org/obenland\">Konstantin Obenland</a>, <a href=\"http://profiles.wordpress.org/kurtpayne\">Kurt Payne</a>, <a href=\"http://profiles.wordpress.org/lancewillett\">Lance Willett</a>, <a href=\"http://profiles.wordpress.org/leewillis77\">Lee Willis</a>, <a href=\"http://profiles.wordpress.org/lessbloat\">lessbloat</a>, <a href=\"http://profiles.wordpress.org/layotte\">Lew Ayotte</a>, <a href=\"http://profiles.wordpress.org/lritter\">lritter</a>, <a href=\"http://profiles.wordpress.org/lgedeon\">Luke Gedeon</a>, <a href=\"http://profiles.wordpress.org/m_i_n\">m_i_n</a>, <a href=\"http://profiles.wordpress.org/funkatronic\">Manny Fleurmond</a>, <a href=\"http://profiles.wordpress.org/targz-1\">Manuel Schmalstieg</a>, <a href=\"http://profiles.wordpress.org/clorith\">Marius Jensen (Clorith)</a>, <a href=\"http://profiles.wordpress.org/markjaquith\">Mark Jaquith</a>, <a href=\"http://profiles.wordpress.org/markoheijnen\">Marko Heijnen</a>, <a href=\"http://profiles.wordpress.org/mjbanks\">Matt Banks</a>, <a href=\"http://profiles.wordpress.org/sivel\">Matt Martz</a>, <a href=\"http://profiles.wordpress.org/matt\">Matt Mullenweg</a>, <a href=\"http://profiles.wordpress.org/mattwiebe\">Matt Wiebe</a>, <a href=\"http://profiles.wordpress.org/mboynes\">Matthew Boynes</a>, <a href=\"http://profiles.wordpress.org/mdbitz\">Matthew Denton</a>, <a href=\"http://profiles.wordpress.org/mattheweppelsheimer\">Matthew Eppelsheimer</a>, <a href=\"http://profiles.wordpress.org/mattheu\">Matthew Haines-Young</a>, <a href=\"http://profiles.wordpress.org/mattyrob\">mattyrob</a>, <a href=\"http://profiles.wordpress.org/meekyhwang\">meekyhwang</a>, <a href=\"http://profiles.wordpress.org/melchoyce\">Mel Choyce</a>, <a href=\"http://profiles.wordpress.org/midxcat\">mi_cat</a>, <a href=\"http://profiles.wordpress.org/mdawaffe\">Michael Adams (mdawaffe)</a>, <a href=\"http://profiles.wordpress.org/michalzuber\">michalzuber</a>, <a href=\"http://profiles.wordpress.org/mauteri\">Mike Auteri</a>, <a href=\"http://profiles.wordpress.org/mikehansenme\">Mike Hansen</a>, <a href=\"http://profiles.wordpress.org/mikejolley\">Mike Jolley</a>, <a href=\"http://profiles.wordpress.org/mikelittle\">Mike Little</a>, <a href=\"http://profiles.wordpress.org/mikemanger\">Mike Manger</a>, <a href=\"http://profiles.wordpress.org/dh-shredder\">Mike Schroder</a>, <a href=\"http://profiles.wordpress.org/mikeyarce\">Mikey Arce</a>, <a href=\"http://profiles.wordpress.org/dimadin\">Milan Dinic</a>, <a href=\"http://profiles.wordpress.org/mnelson4\">mnelson4</a>, <a href=\"http://profiles.wordpress.org/morganestes\">Morgan Estes</a>, <a href=\"http://profiles.wordpress.org/usermrpapa\">Mr Papa</a>, <a href=\"http://profiles.wordpress.org/mrmist\">mrmist</a>, <a href=\"http://profiles.wordpress.org/m_uysl\">Mustafa Uysal</a>, <a href=\"http://profiles.wordpress.org/muvimotv\">MuViMoTV</a>, <a href=\"http://profiles.wordpress.org/nabil_kadimi\">nabil_kadimi</a>, <a href=\"http://profiles.wordpress.org/namibia\">Namibia</a>, <a href=\"http://profiles.wordpress.org/alex-ye\">Nashwan Doaqan</a>, <a href=\"http://profiles.wordpress.org/nd987\">nd987</a>, <a href=\"http://profiles.wordpress.org/neil_pie\">Neil Pie</a>, <a href=\"http://profiles.wordpress.org/niallkennedy\">Niall Kennedy</a>, <a href=\"http://profiles.wordpress.org/celloexpressions\">Nick Halsey</a>, <a href=\"http://profiles.wordpress.org/nbachiyski\">Nikolay Bachiyski</a>, <a href=\"http://profiles.wordpress.org/schoenwaldnils\">Nils Schonwald</a>, <a href=\"http://profiles.wordpress.org/ninos-ego\">Ninos</a>, <a href=\"http://profiles.wordpress.org/nvwd\">Nowell VanHoesen</a>, <a href=\"http://profiles.wordpress.org/compute\">Patrick Hesselberg</a>, <a href=\"http://profiles.wordpress.org/pbearne\">Paul Bearne</a>, <a href=\"http://profiles.wordpress.org/pdclark\">Paul Clark</a>, <a href=\"http://profiles.wordpress.org/paulwilde\">Paul Wilde</a>, <a href=\"http://profiles.wordpress.org/paulschreiber\">paulschreiber</a>, <a href=\"http://profiles.wordpress.org/pavelevap\">pavelevap</a>, <a href=\"http://profiles.wordpress.org/westi\">Peter Westwood</a>, <a href=\"http://profiles.wordpress.org/philiparthurmoore\">Philip Arthur Moore</a>, <a href=\"http://profiles.wordpress.org/philipjohn\">Philip John</a>, <a href=\"http://profiles.wordpress.org/senlin\">Piet</a>, <a href=\"http://profiles.wordpress.org/psoluch\">Piotr Soluch</a>, <a href=\"http://profiles.wordpress.org/mordauk\">Pippin Williamson</a>, <a href=\"http://profiles.wordpress.org/purzlbaum\">purzlbaum</a>, <a href=\"http://profiles.wordpress.org/rachelbaker\">Rachel Baker</a>, <a href=\"http://profiles.wordpress.org/rclations\">RC Lations</a>, <a href=\"http://profiles.wordpress.org/iamfriendly\">Richard Tape</a>, <a href=\"http://profiles.wordpress.org/rickalee\">Ricky Lee Whittemore</a>, <a href=\"http://profiles.wordpress.org/rob1n\">rob1n</a>, <a href=\"http://profiles.wordpress.org/miqrogroove\">Robert Chapin</a>, <a href=\"http://profiles.wordpress.org/rdall\">Robert Dall</a>, <a href=\"http://profiles.wordpress.org/harmr\">RobertHarm</a>, <a href=\"http://profiles.wordpress.org/rohan013\">Rohan Rawat</a>, <a href=\"http://profiles.wordpress.org/rhurling\">Rouven Hurling</a>, <a href=\"http://profiles.wordpress.org/ruudjoyo\">Ruud Laan</a>, <a href=\"http://profiles.wordpress.org/ryan\">Ryan Boren</a>, <a href=\"http://profiles.wordpress.org/rmccue\">Ryan McCue</a>, <a href=\"http://profiles.wordpress.org/sammybeats\">Sam Brodie</a>, <a href=\"http://profiles.wordpress.org/otto42\">Samuel Wood (Otto)</a>, <a href=\"http://profiles.wordpress.org/sathishn\">sathishn</a>, <a href=\"http://profiles.wordpress.org/coffee2code\">Scott Reilly</a>, <a href=\"http://profiles.wordpress.org/wonderboymusic\">Scott Taylor</a>, <a href=\"http://profiles.wordpress.org/greglone\">ScreenfeedFr</a>, <a href=\"http://profiles.wordpress.org/scribu\">scribu</a>, <a href=\"http://profiles.wordpress.org/seanchayes\">Sean Hayes</a>, <a href=\"http://profiles.wordpress.org/nessworthy\">Sean Nessworthy</a>, <a href=\"http://profiles.wordpress.org/sergejmueller\">Sergej Muller</a>, <a href=\"http://profiles.wordpress.org/sergeybiryukov\">Sergey Biryukov</a>, <a href=\"http://profiles.wordpress.org/shanebp\">shanebp</a>, <a href=\"http://profiles.wordpress.org/sharonaustin\">Sharon Austin</a>, <a href=\"http://profiles.wordpress.org/shaunandrews\">Shaun Andrews</a>, <a href=\"http://profiles.wordpress.org/simonwheatley\">Simon Wheatley</a>, <a href=\"http://profiles.wordpress.org/simonp303\">simonp303</a>, <a href=\"http://profiles.wordpress.org/slobodanmanic\">Slobodan Manic</a>, <a href=\"http://profiles.wordpress.org/solarissmoke\">solarissmoke</a>, <a href=\"http://profiles.wordpress.org/sphoid\">sphoid</a>, <a href=\"http://profiles.wordpress.org/stephdau\">Stephane Daury</a>, <a href=\"http://profiles.wordpress.org/netweb\">Stephen Edgar</a>, <a href=\"http://profiles.wordpress.org/stompweb\">Steven Jones</a>, <a href=\"http://profiles.wordpress.org/strangerstudios\">strangerstudios</a>, <a href=\"http://profiles.wordpress.org/5um17\">Sumit Singh</a>, <a href=\"http://profiles.wordpress.org/sumobi\">sumobi</a>, <a href=\"http://profiles.wordpress.org/t4k1s\">t4k1s</a>, <a href=\"http://profiles.wordpress.org/iamtakashi\">Takashi Irie</a>, <a href=\"http://profiles.wordpress.org/taylorde\">Taylor Dewey</a>, <a href=\"http://profiles.wordpress.org/thomasvanderbeek\">Thomas van der Beek</a>, <a href=\"http://profiles.wordpress.org/tillkruess\">Till Kruss</a>, <a href=\"http://profiles.wordpress.org/codenameeli\">Tim ''Eli'' Dalbey</a>, <a href=\"http://profiles.wordpress.org/tobiasbg\">TobiasBg</a>, <a href=\"http://profiles.wordpress.org/tjnowell\">Tom J Nowell</a>, <a href=\"http://profiles.wordpress.org/willmot\">Tom Willmot</a>, <a href=\"http://profiles.wordpress.org/topher1kenobe\">Topher</a>, <a href=\"http://profiles.wordpress.org/torresga\">torresga</a>, <a href=\"http://profiles.wordpress.org/liljimmi\">Tracy Levesque</a>, <a href=\"http://profiles.wordpress.org/wpsmith\">Travis Smith</a>, <a href=\"http://profiles.wordpress.org/treyhunner\">treyhunner</a>, <a href=\"http://profiles.wordpress.org/umeshsingla\">Umesh Kumar</a>, <a href=\"http://profiles.wordpress.org/vinod-dalvi\">Vinod Dalvi</a>, <a href=\"http://profiles.wordpress.org/vlajos\">vlajos</a>, <a href=\"http://profiles.wordpress.org/voldemortensen\">voldemortensen</a>, <a href=\"http://profiles.wordpress.org/westonruter\">Weston Ruter</a>, <a href=\"http://profiles.wordpress.org/winterdev\">winterDev</a>, <a href=\"http://profiles.wordpress.org/wojtekszkutnik\">Wojtek Szkutnik</a>, <a href=\"http://profiles.wordpress.org/yoavf\">Yoav Farhi</a>, <a href=\"http://profiles.wordpress.org/katzwebdesign\">Zack Katz</a>, <a href=\"http://profiles.wordpress.org/tollmanz\">Zack Tollman</a>, and <a href=\"http://profiles.wordpress.org/zoerooney\">Zoe Rooney</a>. Also thanks to <a href=\"http://michaelpick.wordpress.com/\">Michael Pick</a> for producing the release video, and Helen with <a href=\"http://adriansandi.com\">Adrián Sandí</a> for the music.</p>\\n<p>If you want to follow along or help out, check out <a href=\"http://make.wordpress.org/\">Make WordPress</a> and our <a href=\"http://make.wordpress.org/core/\">core development blog</a>. Thanks for choosing WordPress. See you soon for version 4.1!</p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://wordpress.org/news/2014/09/benny/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:45:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"WordPress 4.0 Release Candidate\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 12:20:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3287\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:321:\"The first release candidate for WordPress 4.0 is now available! In RC 1, we’ve made refinements to what we&#8217;ve been working on for this release. Check out the Beta 1 announcement post for more details on those features. We hope to ship WordPress 4.0 next week, but we need your help to get there. If you [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2127:\"<p>The first release candidate for WordPress 4.0 is now available!</p>\\n<p>In RC 1, we’ve made refinements to what we&#8217;ve been working on for this release. Check out the <a href=\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/\">Beta 1 announcement post</a> for more details on those features. We hope to ship WordPress 4.0 <em>next week</em>, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)</p>\\n<p><strong>Think you’ve found a bug? </strong>Please post to the <a href=\"http://wordpress.org/support/forum/alphabeta/\">Alpha/Beta area in the support forums</a>. If any known issues come up, you’ll be able to <a href=\"http://core.trac.wordpress.org/report/5\">find them here</a>.</p>\\n<p>To test WordPress 4.0 RC1, try the <a href=\"http://wordpress.org/extend/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (you’ll want “bleeding edge nightlies”). Or you can <a href=\"http://wordpress.org/wordpress-4.0-RC1.zip\">download the release candidate here</a> (zip). If you’d like to learn more about what’s new in WordPress 4.0, visit the awesome About screen in your dashboard (<strong><img src=\"http://i0.wp.com/core.svn.wordpress.org/branches/3.6/wp-content/themes/twentyten/images/wordpress.png?w=692\" alt=\"\" width=\"16\" height=\"16\" /> → About</strong> in the toolbar).</p>\\n<p><strong>Developers,</strong> please test your plugins and themes against WordPress 4.0 and update your plugin&#8217;s <em>Tested up to</em> version in the readme to 4.0 before next week. If you find compatibility problems, please be sure to post any issues to the support forums so we can figure those out before the final release. You also may want to <a href=\"http://make.wordpress.org/core/2014/08/21/introducing-plugin-icons-in-the-plugin-installer/\">give your plugin an icon</a>, which we launched last week and will appear in the dashboard along with banners.</p>\\n<p><em>It is almost time</em><br />\\n<em> For the 4.0 release</em><br />\\n<em> And its awesomeness</em></p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:45:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.0 Beta 4\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/08/wordpress-4-0-beta-4/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"http://wordpress.org/news/2014/08/wordpress-4-0-beta-4/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 15 Aug 2014 05:06:19 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3280\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:353:\"The fourth and likely final beta for WordPress 4.0 is now available. We&#8217;ve made more than 250 changes in the past month, including: Further improvements to the editor scrolling experience, especially when it comes to the second column of boxes. Better handling of small screens in the media library modals. A separate bulk selection mode [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1999:\"<p>The fourth and likely final beta for WordPress 4.0 is now available. We&#8217;ve made <a href=\"https://core.trac.wordpress.org/log?rev=29496&amp;stop_rev=29229&amp;limit=300\">more than 250 changes</a> in the past month, including:</p>\\n<ul>\\n<li>Further improvements to the editor scrolling experience, especially when it comes to the second column of boxes.</li>\\n<li>Better handling of small screens in the media library modals.</li>\\n<li>A separate bulk selection mode for the media library grid view.</li>\\n<li>Improvements to the installation language selector.</li>\\n<li>Visual tweaks to plugin details and customizer panels.</li>\\n</ul>\\n<p><strong>We need your help</strong>. We’re still aiming for a release this month, which means the next week will be critical for identifying and squashing bugs. If you’re just joining us, please see <a href=\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/\">the Beta 1 announcement post</a> for what to look out for.</p>\\n<p><strong>If you think you’ve found a bug</strong>, you can post to the <a href=\"http://wordpress.org/support/forum/alphabeta\">Alpha/Beta area</a> in the support forums, where friendly moderators are standing by. <b>Plugin developers</b><strong>,</strong> if you haven’t tested WordPress 4.0 yet, now is the time — and be sure to update the “tested up to” version for your plugins so they’re listed as compatible with 4.0.</p>\\n<p><strong>This software is still in development,</strong> so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.0, try the <a href=\"http://wordpress.org/extend/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (you’ll want “bleeding edge nightlies”). Or you can <a href=\"http://wordpress.org/wordpress-4.0-beta4.zip\">download the beta here</a> (zip).</p>\\n<p><em>We are working hard</em><br />\\n<em>To finish up 4.0<br />\\n</em><em>Will you help us too?</em></p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wordpress.org/news/2014/08/wordpress-4-0-beta-4/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:45:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"WordPress 3.9.2 Security Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/news/2014/08/wordpress-3-9-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/news/2014/08/wordpress-3-9-2/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 06 Aug 2014 19:04:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3269\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:377:\"WordPress 3.9.2 is now available as a security release for all previous versions. We strongly encourage you to update your sites immediately. This release fixes a possible denial of service issue in PHP&#8217;s XML processing, reported by Nir Goldshlager of the Salesforce.com Product Security Team. It  was fixed by Michael Adams and Andrew Nacin of the WordPress [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2352:\"<p>WordPress 3.9.2 is now available as a security release for all previous versions. We strongly encourage you to update your sites immediately.</p>\\n<p>This release fixes a possible denial of service issue in PHP&#8217;s XML processing, reported by <a href=\"https://twitter.com/nirgoldshlager\">Nir Goldshlager</a> of the Salesforce.com Product Security Team. It  was fixed by Michael Adams and Andrew Nacin of the WordPress security team and David Rothstein of the <a href=\"https://www.drupal.org/SA-CORE-2014-004\">Drupal security team</a>. This is the first time our two projects have coordinated joint security releases.</p>\\n<p>WordPress 3.9.2 also contains other security changes:</p>\\n<ul>\\n<li>Fixes a possible but unlikely code execution when processing widgets (WordPress is not affected by default), discovered by <a href=\"http://www.buayacorp.com/\">Alex Concha</a> of the WordPress security team.</li>\\n<li>Prevents information disclosure via XML entity attacks in the external GetID3 library, reported by <a href=\"http://onsec.ru/en/\">Ivan Novikov</a> of ONSec.</li>\\n<li>Adds protections against brute attacks against CSRF tokens, reported by <a href=\"http://systemoverlord.com/\">David Tomaschik</a> of the Google Security Team.</li>\\n<li>Contains some additional security hardening, like preventing cross-site scripting that could be triggered only by administrators.</li>\\n</ul>\\n<p>We appreciated responsible disclosure of these issues directly to our security team. For more information, see the <a href=\"http://codex.wordpress.org/Version_3.9.2\">release notes</a> or consult the <a href=\"https://core.trac.wordpress.org/log/branches/3.9?stop_rev=29383&amp;rev=29411\">list of changes</a>.</p>\\n<p><a href=\"https://wordpress.org/download/\">Download WordPress 3.9.2</a> or venture over to <strong>Dashboard → Updates</strong> and simply click &#8220;Update Now&#8221;.</p>\\n<p>Sites that support automatic background updates will be updated to WordPress 3.9.2 within 12 hours. (If you are still on WordPress 3.8.3 or 3.7.3, you will also be updated to 3.8.4 or 3.7.4. We don&#8217;t support older versions, so please update to 3.9.2 for the latest and greatest.)</p>\\n<p>Already testing WordPress 4.0? The third beta is <a href=\"https://wordpress.org/wordpress-4.0-beta3.zip\">now available</a> (zip) and it contains these security fixes.</p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/08/wordpress-3-9-2/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:45:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.0 Beta 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-2/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 18 Jul 2014 21:15:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3261\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:374:\"WordPress 4.0 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. To get the beta, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can download the beta here (zip). For more of what’s new in version 4.0, check out [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:1738:\"<p>WordPress 4.0 Beta 2 is now available for download and testing. This is software still in development, so we don’t recommend that you run it on a production site. To get the beta, try the <a href=\"http://wordpress.org/extend/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (you’ll want “bleeding edge nightlies”). Or you can <a href=\"http://wordpress.org/wordpress-4.0-beta2.zip\">download the beta here</a> (zip).</p>\\n<p>For more of what’s new in version 4.0, <a href=\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/\">check out the Beta 1 blog post</a>. Some of the changes in Beta 2 include:</p>\\n<ul>\\n<li>Further refinements for the the plugin installation and media library experiences.</li>\\n<li>Updated TinyMCE, which now includes better indentation for lists and the restoration of the color picker.</li>\\n<li>Cookies are now tied to a session internally, so if you have trouble logging in, <a href=\"https://core.trac.wordpress.org/ticket/20276\">#20276</a> may be the culprit.</li>\\n<li>Various bug fixes (there were <a href=\"https://core.trac.wordpress.org/log?rev=29228&amp;stop_rev=29060&amp;limit=200\">nearly 170 changes</a> since last week).</li>\\n</ul>\\n<p>If you think you’ve found a bug, you can post to the <a href=\"http://wordpress.org/support/forum/alphabeta\">Alpha/Beta area</a> in the support forums. Or, if you’re comfortable writing a bug report, <a href=\"http://core.trac.wordpress.org/\">file one on the WordPress Trac</a>. There, you can also find <a href=\"http://core.trac.wordpress.org/tickets/major\">a list of known bugs</a> and <a href=\"http://core.trac.wordpress.org/query?status=closed&amp;group=component&amp;milestone=4.0\">everything we’ve fixed</a>.</p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-2/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:45:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"WordPress 4.0 Beta 1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:64:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 10 Jul 2014 10:17:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3248\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:329:\"WordPress 4.0 Beta 1 is now available! This software is still in development, so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.0, try the WordPress Beta Tester plugin (you’ll want “bleeding edge nightlies”). Or you can [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:4025:\"<p>WordPress 4.0 Beta 1 is now available!</p>\\n<p><strong>This software is still in development,</strong> so we don’t recommend you run it on a production site. Consider setting up a test site just to play with the new version. To test WordPress 4.0, try the <a href=\"http://wordpress.org/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (you’ll want “bleeding edge nightlies”). Or you can <a href=\"https://wordpress.org/wordpress-4.0-beta1.zip\">download the beta here</a> (zip).</p>\\n<p>4.0 is due out next month, but to get there, we need your help testing what we&#8217;ve been working on:</p>\\n<ul>\\n<li><strong>Previews of <a href=\"http://codex.wordpress.org/Embeds\">embedding via URLs</a></strong> in the visual editor and the &#8220;Insert from URL&#8221; tab in the media modal. Try pasting a URL (such as a <a href=\"http://wordpress.tv/\">WordPress.tv</a> or YouTube video) onto its own line in the visual editor. (<a href=\"https://core.trac.wordpress.org/ticket/28195\">#28195</a>, <a href=\"https://core.trac.wordpress.org/ticket/15490\">#15490</a>)</li>\\n<li>The <strong>Media Library</strong> now has a &#8220;grid&#8221; view in addition to the existing list view. Clicking on an item takes you into a modal where you can see a larger preview and edit information about that attachment, and you can navigate between items right from the modal without closing it. (<a href=\"https://core.trac.wordpress.org/ticket/24716\">#24716</a>)</li>\\n<li>We&#8217;re freshening up the <strong>plugin install experience</strong>. You&#8217;ll see some early visual changes as well as more information when searching for plugins and viewing details. (<a href=\"https://core.trac.wordpress.org/ticket/28785\">#28785</a>, <a href=\"https://core.trac.wordpress.org/ticket/27440\">#27440</a>)</li>\\n<li><strong>Selecting a language</strong> when you run the installation process. (<a href=\"https://core.trac.wordpress.org/ticket/28577\">#28577</a>)</li>\\n<li>The <strong>editor</strong> intelligently resizes and its top and bottom bars pin when needed. Browsers don&#8217;t like to agree on where to put things like cursors, so if you find a bug here, please also let us know your browser and operating system. (<a href=\"https://core.trac.wordpress.org/ticket/28328\">#28328</a>)</li>\\n<li>We&#8217;ve made some improvements to how your keyboard and cursor interact with <strong>TinyMCE views</strong> such as the gallery preview. Much like the editor resizing and scrolling improvements, knowing about your setup is particularly important for bug reports here. (<a href=\"https://core.trac.wordpress.org/ticket/28595\">#28595</a>)</li>\\n<li><strong>Widgets in the Customizer</strong> are now loaded in a separate panel. (<a href=\"https://core.trac.wordpress.org/ticket/27406\">#27406</a>)</li>\\n<li>We&#8217;ve also made some changes to some <strong>formatting</strong> functions, so if you see quotes curling in the wrong direction, please file a bug report.</li>\\n</ul>\\n<p><strong>If you think you’ve found a bug</strong>, you can post to the <a href=\"http://wordpress.org/support/forum/alphabeta\">Alpha/Beta area</a> in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, <a href=\"https://make.wordpress.org/core/reports/\">file one on the WordPress Trac</a>. There, you can also find <a href=\"http://core.trac.wordpress.org/tickets/major\">a list of known bugs</a> and <a href=\"http://core.trac.wordpress.org/query?status=closed&amp;group=component&amp;milestone=4.0\">everything we’ve fixed</a> so far.</p>\\n<p><strong>Developers:</strong> Never fear, we haven&#8217;t forgotten you. There&#8217;s plenty for you, too &#8211; more on that in upcoming posts. In the meantime, check out the <a href=\"http://make.wordpress.org/core/2014/07/08/customizer-improvements-in-4-0/#customizer-panels\">API for panels in the Customizer</a>.</p>\\n<p>Happy testing!</p>\\n<p><em>Plugins, editor</em><br />\\n<em>Media, things in between</em><br />\\n<em>Please help look for bugs</em></p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:42:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"WordPress 3.9.1 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/news/2014/05/wordpress-3-9-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/news/2014/05/wordpress-3-9-1/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 08 May 2014 18:40:58 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3241\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:385:\"After three weeks and more than 9 million downloads of WordPress 3.9, we&#8217;re pleased to announce that WordPress 3.9.1 is now available. This maintenance release fixes 34 bugs in 3.9, including numerous fixes for multisite networks, customizing widgets while previewing themes, and the updated visual editor. We&#8217;ve also made some improvements to the new audio/video [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:3077:\"<p>After three weeks and more than 9 million downloads of <a title=\"WordPress 3.9 “Smith”\" href=\"http://wordpress.org/news/2014/04/smith/\">WordPress 3.9</a>, we&#8217;re pleased to announce that WordPress 3.9.1 is now available.</p>\\n<p>This maintenance release fixes 34 bugs in 3.9, including numerous fixes for multisite networks, customizing widgets while previewing themes, and the updated visual editor. We&#8217;ve also made some improvements to the new audio/video playlists feature and made some adjustments to improve performance. For a full list of changes, consult the <a href=\"https://core.trac.wordpress.org/query?milestone=3.9.1\">list of tickets</a> and the <a href=\"https://core.trac.wordpress.org/log/branches/3.9?rev=28353&amp;stop_rev=28154\">changelog</a>.</p>\\n<p>If you are one of the millions already running WordPress 3.9, we&#8217;ve started rolling out automatic background updates for 3.9.1. For sites <a href=\"http://wordpress.org/plugins/background-update-tester/\">that support them</a>, of course.</p>\\n<p><a href=\"http://wordpress.org/download/\">Download WordPress 3.9.1</a> or venture over to <strong>Dashboard → Updates</strong> and simply click &#8220;Update Now.&#8221;</p>\\n<p>Thanks to all of these fine individuals for contributing to 3.9.1: <a href=\"http://profiles.wordpress.org/jorbin\">Aaron Jorbin</a>, <a href=\"http://profiles.wordpress.org/nacin\">Andrew Nacin</a>, <a href=\"http://profiles.wordpress.org/azaozz\">Andrew Ozz</a>, <a href=\"http://profiles.wordpress.org/rzen\">Brian Richards</a>, <a href=\"http://profiles.wordpress.org/ehg\">Chris Blower</a>, <a href=\"http://profiles.wordpress.org/jupiterwise\">Corey McKrill</a>, <a href=\"http://profiles.wordpress.org/danielbachhuber\">Daniel Bachhuber</a>, <a href=\"http://profiles.wordpress.org/ocean90\">Dominik Schilling</a>, <a href=\"http://profiles.wordpress.org/feedmeastraycat\">feedmeastraycat</a>, <a href=\"http://profiles.wordpress.org/gcorne\">Gregory Cornelius</a>, <a href=\"http://profiles.wordpress.org/helen\">Helen Hou-Sandi</a>, <a href=\"http://profiles.wordpress.org/imath\">imath</a>, <a href=\"http://profiles.wordpress.org/avryl\">Janneke Van Dorpe</a>, <a href=\"http://profiles.wordpress.org/jeremyfelt\">Jeremy Felt</a>, <a href=\"http://profiles.wordpress.org/johnbillion\">John Blackbourn</a>, <a href=\"http://profiles.wordpress.org/obenland\">Konstantin Obenland</a>, <a href=\"http://profiles.wordpress.org/lancewillett\">Lance Willett</a>, <a href=\"http://profiles.wordpress.org/m_i_n\">m_i_n</a>, <a href=\"http://profiles.wordpress.org/clorith\">Marius Jensen</a>, <a href=\"http://profiles.wordpress.org/markjaquith\">Mark Jaquith</a>, <a href=\"http://profiles.wordpress.org/dimadin\">Milan Dinić</a>, <a href=\"http://profiles.wordpress.org/celloexpressions\">Nick Halsey</a>, <a href=\"http://profiles.wordpress.org/pavelevap\">pavelevap</a>, <a href=\"http://profiles.wordpress.org/wonderboymusic\">Scott Taylor</a>, <a href=\"http://profiles.wordpress.org/SergeyBiryukov\">Sergey Biryukov</a>, and <a href=\"http://profiles.wordpress.org/westonruter\">Weston Ruter</a>.</p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/05/wordpress-3-9-1/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:42:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"WordPress 3.9 “Smith”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"http://wordpress.org/news/2014/04/smith/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"http://wordpress.org/news/2014/04/smith/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 16 Apr 2014 18:33:44 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3154\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:411:\"Version 3.9 of WordPress, named &#8220;Smith&#8221; in honor of jazz organist Jimmy Smith, is available for download or update in your WordPress dashboard. This release features a number of refinements that we hope you&#8217;ll love. A smoother media editing experience Improved visual editing The updated visual editor has improved speed, accessibility, and mobile support. You can paste into the [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:23216:\"<p>Version 3.9 of WordPress, named &#8220;Smith&#8221; in honor of jazz organist <a href=\"http://en.wikipedia.org/wiki/Jimmy_Smith_(musician)\">Jimmy Smith</a>, is available <a href=\"http://wordpress.org/download/\">for download</a> or update in your WordPress dashboard. This release features a number of refinements that we hope you&#8217;ll love.</p>\\n<embed src=\"//v0.wordpress.com/player.swf?v=1.03\" type=\"application/x-shockwave-flash\" width=\"640\" height=\"360\" wmode=\"direct\" seamlesstabbing=\"true\" allowfullscreen=\"true\" allowscriptaccess=\"always\" overstretch=\"true\" flashvars=\"guid=sAiXhCfV&amp;isDynamicSeeking=true\" title=\"\"></embed>\\n<h2 class=\"about-headline-callout\" style=\"text-align: center\">A smoother media editing experience</h2>\\n<div>\\n<p><img class=\"alignright wp-image-3168\" src=\"//wordpress.org/news/files/2014/04/editor1-300x233.jpg\" alt=\"editor\" width=\"228\" height=\"177\" /></p>\\n<h3>Improved visual editing</h3>\\n<p>The updated visual editor has improved speed, accessibility, and mobile support. You can paste into the visual editor from your word processor without wasting time to clean up messy styling. (Yeah, we’re talking about you, Microsoft Word.)</p>\\n</div>\\n<div style=\"clear: both\"></div>\\n<div>\\n<p><img class=\"alignright wp-image-3170\" src=\"//wordpress.org/news/files/2014/04/image1-300x233.jpg\" alt=\"image\" width=\"228\" height=\"178\" /></p>\\n<h3>Edit images easily</h3>\\n<p>With quicker access to crop and rotation tools, it’s now much easier to edit your images while editing posts. You can also scale images directly in the editor to find just the right fit.</p>\\n</div>\\n<div style=\"clear: both\"></div>\\n<div>\\n<p><img class=\"alignright wp-image-3187\" src=\"//wordpress.org/news/files/2014/04/dragdrop1-300x233.jpg\" alt=\"dragdrop\" width=\"228\" height=\"178\" /></p>\\n<h3>Drag and drop your images</h3>\\n<p>Uploading your images is easier than ever. Just grab them from your desktop and drop them in the editor.</p>\\n</div>\\n<div style=\"clear: both\"></div>\\n<hr />\\n<h2 style=\"text-align: center\">Gallery previews</h2>\\n<p><img class=\"aligncenter size-full wp-image-3169\" src=\"//wordpress.org/news/files/2014/04/gallery1.jpg\" alt=\"gallery\" width=\"980\" height=\"550\" /></p>\\n<p>Galleries display a beautiful grid of images right in the editor, just like they do in your published post.</p>\\n<hr />\\n<h2 style=\"text-align: center\">Do more with audio and video</h2>\\n\\n<a href=''http://wordpress.org/news/files/2014/04/AintMisbehavin.mp3''>Ain''t Misbehavin''</a>\\n<a href=''http://wordpress.org/news/files/2014/04/DavenportBlues.mp3''>Davenport Blues</a>\\n<a href=''http://wordpress.org/news/files/2014/04/JellyRollMorton-BuddyBoldensBlues.mp3''>Buddy Bolden''s Blues</a>\\n<a href=''http://wordpress.org/news/files/2014/04/Johnny_Hodges_Orchestra-Squaty_Roo-1941.mp3''>Squaty Roo</a>\\n<a href=''http://wordpress.org/news/files/2014/04/Louisiana_Five-Dixie_Blues-1919.mp3''>Dixie Blues</a>\\n<a href=''http://wordpress.org/news/files/2014/04/WolverineBlues.mp3''>Wolverine Blues</a>\\n\\n<p>Images have galleries; now we’ve added simple audio and video playlists, so you can showcase your music and clips.</p>\\n<hr />\\n<h2 style=\"text-align: center\">Live widget and header previews</h2>\\n<div style=\"width: 692px; height: 448px; \" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-3154-3\" width=\"692\" height=\"448\" preload=\"metadata\" controls=\"controls\"><source type=\"video/mp4\" src=\"//wordpress.org/news/files/2014/04/widgets.mp4?_=3\" /><a href=\"//wordpress.org/news/files/2014/04/widgets.mp4\">//wordpress.org/news/files/2014/04/widgets.mp4</a></video></div>\\n<p>Add, edit, and rearrange your site’s widgets right in the theme customizer. No “save and surprise” — preview your changes live and only save them when you’re ready.</p>\\n<p>The improved header image tool also lets you upload, crop, and manage headers while customizing your theme.</p>\\n<hr />\\n<h2 style=\"text-align: center\">Stunning new theme browser</h2>\\n<p><img class=\"aligncenter size-full wp-image-3172\" src=\"//wordpress.org/news/files/2014/04/theme1.jpg\" alt=\"theme\" width=\"1003\" height=\"558\" /><br />\\nLooking for a new theme should be easy and fun. Lose yourself in the boundless supply of free WordPress.org themes with the beautiful new theme browser.</p>\\n<hr />\\n<h2 style=\"text-align: center\">The Crew</h2>\\n<p>This release was led by <a href=\"http://nacin.com/\">Andrew Nacin</a> and <a href=\"http://www.getsource.net/\">Mike Schroder</a>, with the help of these fine individuals. There are 267 contributors with props in this release, a new high:</p>\\n<p><a href=\"http://profiles.wordpress.org/aaroncampbell\">Aaron D. Campbell</a>, <a href=\"http://profiles.wordpress.org/jorbin\">Aaron Jorbin</a>, <a href=\"http://profiles.wordpress.org/kawauso\">Adam Harley</a>, <a href=\"http://profiles.wordpress.org/adamsilverstein\">Adam Silverstein</a>, <a href=\"http://profiles.wordpress.org/adelval\">adelval</a>, <a href=\"http://profiles.wordpress.org/ajay\">Ajay</a>, <a href=\"http://profiles.wordpress.org/akeda\">Akeda Bagus</a>, <a href=\"http://profiles.wordpress.org/xknown\">Alex Concha</a>, <a href=\"http://profiles.wordpress.org/tellyworth\">Alex Shiels</a>, <a href=\"http://profiles.wordpress.org/aliso\">Alison Barrett</a>, <a href=\"http://profiles.wordpress.org/collinsinternet\">Allan Collins</a>, <a href=\"http://profiles.wordpress.org/sabreuse\">Amy Hendrix (sabreuse)</a>, <a href=\"http://profiles.wordpress.org/afercia\">Andrea Fercia</a>, <a href=\"http://profiles.wordpress.org/nacin\">Andrew Nacin</a>, <a href=\"http://profiles.wordpress.org/norcross\">Andrew Norcross</a>, <a href=\"http://profiles.wordpress.org/azaozz\">Andrew Ozz</a>, <a href=\"http://profiles.wordpress.org/rarst\">Andrey \"Rarst\" Savchenko</a>, <a href=\"http://profiles.wordpress.org/andykeith\">Andy Keith</a>, <a href=\"http://profiles.wordpress.org/andy\">Andy Skelton</a>, <a href=\"http://profiles.wordpress.org/atimmer\">Anton Timmermans</a>, <a href=\"http://profiles.wordpress.org/aubreypwd\">Aubrey Portwood</a>, <a href=\"http://profiles.wordpress.org/barry\">Barry</a>, <a href=\"http://profiles.wordpress.org/toszcze\">Bartosz Romanowski</a>, <a href=\"http://profiles.wordpress.org/bassgang\">bassgang</a>, <a href=\"http://profiles.wordpress.org/bcworkz\">bcworkz</a>, <a href=\"http://profiles.wordpress.org/empireoflight\">Ben Dunkle</a>, <a href=\"http://profiles.wordpress.org/neoxx\">Bernhard Riedl</a>, <a href=\"http://profiles.wordpress.org/bigdawggi\">bigdawggi</a>, <a href=\"http://profiles.wordpress.org/bobbravo2\">Bob Gregor</a>, <a href=\"http://profiles.wordpress.org/bobbingwide\">bobbingwide</a>, <a href=\"http://profiles.wordpress.org/bradt\">Brad Touesnard</a>, <a href=\"http://profiles.wordpress.org/bradparbs\">bradparbs</a>, <a href=\"http://profiles.wordpress.org/bramd\">bramd</a>, <a href=\"http://profiles.wordpress.org/kraftbj\">Brandon Kraft</a>, <a href=\"http://profiles.wordpress.org/brasofilo\">brasofilo</a>, <a href=\"http://profiles.wordpress.org/bravokeyl\">bravokeyl</a>, <a href=\"http://profiles.wordpress.org/bpetty\">Bryan Petty</a>, <a href=\"http://profiles.wordpress.org/cgaffga\">cgaffga</a>, <a href=\"http://profiles.wordpress.org/chiragswadia\">Chirag Swadia</a>, <a href=\"http://profiles.wordpress.org/chouby\">Chouby</a>, <a href=\"http://profiles.wordpress.org/ehg\">Chris Blower</a>, <a href=\"http://profiles.wordpress.org/cmmarslender\">Chris Marslender</a>, <a href=\"http://profiles.wordpress.org/c3mdigital\">Chris Olbekson</a>, <a href=\"http://profiles.wordpress.org/chrisscott\">Chris Scott</a>, <a href=\"http://profiles.wordpress.org/chriseverson\">chriseverson</a>, <a href=\"http://profiles.wordpress.org/chrisguitarguy\">chrisguitarguy</a>, <a href=\"http://profiles.wordpress.org/cfinke\">Christopher Finke</a>, <a href=\"http://profiles.wordpress.org/ciantic\">ciantic</a>, <a href=\"http://profiles.wordpress.org/antorome\">Comparativa de Bancos</a>, <a href=\"http://profiles.wordpress.org/cojennin\">Connor Jennings</a>, <a href=\"http://profiles.wordpress.org/corvannoorloos\">Cor van Noorloos</a>, <a href=\"http://profiles.wordpress.org/corphi\">Corphi</a>, <a href=\"http://profiles.wordpress.org/cramdesign\">cramdesign</a>, <a href=\"http://profiles.wordpress.org/danielbachhuber\">Daniel Bachhuber</a>, <a href=\"http://profiles.wordpress.org/redsweater\">Daniel Jalkut (Red Sweater)</a>, <a href=\"http://profiles.wordpress.org/dannydehaan\">Danny de Haan</a>, <a href=\"http://profiles.wordpress.org/koop\">Daryl Koopersmith</a>, <a href=\"http://profiles.wordpress.org/eightface\">Dave Kellam (eightface)</a>, <a href=\"http://profiles.wordpress.org/dpe415\">DaveE</a>, <a href=\"http://profiles.wordpress.org/davidakennedy\">David A. Kennedy</a>, <a href=\"http://profiles.wordpress.org/davidanderson\">David Anderson</a>, <a href=\"http://profiles.wordpress.org/davidmarichal\">David Marichal</a>, <a href=\"http://profiles.wordpress.org/denis-de-bernardy\">Denis de Bernardy</a>, <a href=\"http://profiles.wordpress.org/dd32\">Dion Hulse</a>, <a href=\"http://profiles.wordpress.org/ocean90\">Dominik Schilling</a>, <a href=\"http://profiles.wordpress.org/dougwollison\">Doug Wollison</a>, <a href=\"http://profiles.wordpress.org/drewapicture\">Drew Jaynes</a>, <a href=\"http://profiles.wordpress.org/drprotocols\">DrProtocols</a>, <a href=\"http://profiles.wordpress.org/dustyf\">Dustin Filippini</a>, <a href=\"http://profiles.wordpress.org/eatingrules\">eatingrules</a>, <a href=\"http://profiles.wordpress.org/plocha\">edik</a>, <a href=\"http://profiles.wordpress.org/oso96_2000\">Eduardo Reveles</a>, <a href=\"http://profiles.wordpress.org/eliorivero\">Elio Rivero</a>, <a href=\"http://profiles.wordpress.org/enej\">enej</a>, <a href=\"http://profiles.wordpress.org/ericlewis\">Eric Lewis</a>, <a href=\"http://profiles.wordpress.org/ericmann\">Eric Mann</a>, <a href=\"http://profiles.wordpress.org/evarlese\">Erica Varlese</a>, <a href=\"http://profiles.wordpress.org/ethitter\">Erick Hitter</a>, <a href=\"http://profiles.wordpress.org/ejdanderson\">Evan Anderson</a>, <a href=\"http://profiles.wordpress.org/fahmiadib\">Fahmi Adib</a>, <a href=\"http://profiles.wordpress.org/fboender\">fboender</a>, <a href=\"http://profiles.wordpress.org/frank-klein\">Frank Klein</a>, <a href=\"http://profiles.wordpress.org/garyc40\">Gary Cao</a>, <a href=\"http://profiles.wordpress.org/garyj\">Gary Jones</a>, <a href=\"http://profiles.wordpress.org/pento\">Gary Pendergast</a>, <a href=\"http://profiles.wordpress.org/genkisan\">genkisan</a>, <a href=\"http://profiles.wordpress.org/soulseekah\">Gennady Kovshenin</a>, <a href=\"http://profiles.wordpress.org/georgestephanis\">George Stephanis</a>, <a href=\"http://profiles.wordpress.org/grahamarmfield\">Graham Armfield</a>, <a href=\"http://profiles.wordpress.org/vancoder\">Grant Mangham</a>, <a href=\"http://profiles.wordpress.org/gcorne\">Gregory Cornelius</a>, <a href=\"http://profiles.wordpress.org/tivnet\">Gregory Karpinsky (@tivnet)</a>, <a href=\"http://profiles.wordpress.org/hakre\">hakre</a>, <a href=\"http://profiles.wordpress.org/hanni\">hanni</a>, <a href=\"http://profiles.wordpress.org/helen\">Helen Hou-Sandí</a>, <a href=\"http://profiles.wordpress.org/ippetkov\">ippetkov</a>, <a href=\"http://profiles.wordpress.org/ipstenu\">Ipstenu (Mika Epstein)</a>, <a href=\"http://profiles.wordpress.org/jdgrimes\">J.D. Grimes</a>, <a href=\"http://profiles.wordpress.org/jackreichert\">Jack Reichert</a>, <a href=\"http://profiles.wordpress.org/_jameslee\">jameslee</a>, <a href=\"http://profiles.wordpress.org/avryl\">Janneke Van Dorpe</a>, <a href=\"http://profiles.wordpress.org/janrenn\">janrenn</a>, <a href=\"http://profiles.wordpress.org/jaycc\">JayCC</a>, <a href=\"http://profiles.wordpress.org/jeffsebring\">Jeff Sebring</a>, <a href=\"http://profiles.wordpress.org/jenmylo\">Jen Mylo</a>, <a href=\"http://profiles.wordpress.org/jeremyfelt\">Jeremy Felt</a>, <a href=\"http://profiles.wordpress.org/jesin\">Jesin A</a>, <a href=\"http://profiles.wordpress.org/jayjdk\">Jesper Johansen (jayjdk)</a>, <a href=\"http://profiles.wordpress.org/jnielsendotnet\">jnielsendotnet</a>, <a href=\"http://profiles.wordpress.org/jartes\">Joan Artes</a>, <a href=\"http://profiles.wordpress.org/joedolson\">Joe Dolson</a>, <a href=\"http://profiles.wordpress.org/joehoyle\">Joe Hoyle</a>, <a href=\"http://profiles.wordpress.org/johnbillion\">John Blackbourn</a>, <a href=\"http://profiles.wordpress.org/johnjamesjacoby\">John James Jacoby</a>, <a href=\"http://profiles.wordpress.org/johnpbloch\">John P. Bloch</a>, <a href=\"http://profiles.wordpress.org/johnregan3\">John Regan</a>, <a href=\"http://profiles.wordpress.org/duck_\">Jon Cave</a>, <a href=\"http://profiles.wordpress.org/jond3r\">Jonas Bolinder (jond3r)</a>, <a href=\"http://profiles.wordpress.org/joostdevalk\">Joost de Valk</a>, <a href=\"http://profiles.wordpress.org/shelob9\">Josh Pollock</a>, <a href=\"http://profiles.wordpress.org/joshuaabenazer\">Joshua Abenazer</a>, <a href=\"http://profiles.wordpress.org/jstraitiff\">jstraitiff</a>, <a href=\"http://profiles.wordpress.org/juliobox\">Julio Potier</a>, <a href=\"http://profiles.wordpress.org/kopepasah\">Justin Kopepasah</a>, <a href=\"http://profiles.wordpress.org/justinsainton\">Justin Sainton</a>, <a href=\"http://profiles.wordpress.org/kadamwhite\">K.Adam White</a>, <a href=\"http://profiles.wordpress.org/trepmal\">Kailey (trepmal)</a>, <a href=\"http://profiles.wordpress.org/kasparsd\">Kaspars</a>, <a href=\"http://profiles.wordpress.org/ryelle\">Kelly Dwan</a>, <a href=\"http://profiles.wordpress.org/kerikae\">kerikae</a>, <a href=\"http://profiles.wordpress.org/kworthington\">Kevin Worthington</a>, <a href=\"http://profiles.wordpress.org/kpdesign\">Kim Parsell</a>, <a href=\"http://profiles.wordpress.org/kwight\">Kirk Wight</a>, <a href=\"http://profiles.wordpress.org/kitchin\">kitchin</a>, <a href=\"http://profiles.wordpress.org/klihelp\">klihelp</a>, <a href=\"http://profiles.wordpress.org/knutsp\">Knut Sparhell</a>, <a href=\"http://profiles.wordpress.org/kovshenin\">Konstantin Kovshenin</a>, <a href=\"http://profiles.wordpress.org/obenland\">Konstantin Obenland</a>, <a href=\"http://profiles.wordpress.org/drozdz\">Krzysiek Drozdz</a>, <a href=\"http://profiles.wordpress.org/lancewillett\">Lance Willett</a>, <a href=\"http://profiles.wordpress.org/leewillis77\">Lee Willis</a>, <a href=\"http://profiles.wordpress.org/lpointet\">lpointet</a>, <a href=\"http://profiles.wordpress.org/ldebrouwer\">Luc De Brouwer</a>, <a href=\"http://profiles.wordpress.org/spmlucas\">Lucas Karpiuk</a>, <a href=\"http://profiles.wordpress.org/lkwdwrd\">Luke Woodward</a>, <a href=\"http://profiles.wordpress.org/mark8barnes\">Mark Barnes</a>, <a href=\"http://profiles.wordpress.org/markjaquith\">Mark Jaquith</a>, <a href=\"http://profiles.wordpress.org/markoheijnen\">Marko Heijnen</a>, <a href=\"http://profiles.wordpress.org/marventus\">Marventus</a>, <a href=\"http://profiles.wordpress.org/iammattthomas\">Matt (Thomas) Miklic</a>, <a href=\"http://profiles.wordpress.org/mjbanks\">Matt Banks</a>, <a href=\"http://profiles.wordpress.org/matt\">Matt Mullenweg</a>, <a href=\"http://profiles.wordpress.org/mboynes\">Matthew Boynes</a>, <a href=\"http://profiles.wordpress.org/mdbitz\">Matthew Denton</a>, <a href=\"http://profiles.wordpress.org/mattheu\">Matthew Haines-Young</a>, <a href=\"http://profiles.wordpress.org/mattonomics\">mattonomics</a>, <a href=\"http://profiles.wordpress.org/mattyrob\">mattyrob</a>, <a href=\"http://profiles.wordpress.org/matveb\">Matías Ventura</a>, <a href=\"http://profiles.wordpress.org/maxcutler\">Max Cutler</a>, <a href=\"http://profiles.wordpress.org/mcadwell\">mcadwell</a>, <a href=\"http://profiles.wordpress.org/melchoyce\">Mel Choyce</a>, <a href=\"http://profiles.wordpress.org/meloniq\">meloniq</a>, <a href=\"http://profiles.wordpress.org/michael-arestad\">Michael Arestad</a>, <a href=\"http://profiles.wordpress.org/michelwppi\">Michel - xiligroup dev</a>, <a href=\"http://profiles.wordpress.org/mcsf\">Miguel Fonseca</a>, <a href=\"http://profiles.wordpress.org/gradyetc\">Mike Burns</a>, <a href=\"http://profiles.wordpress.org/mikehansenme\">Mike Hansen</a>, <a href=\"http://profiles.wordpress.org/mikemanger\">Mike Manger</a>, <a href=\"http://profiles.wordpress.org/mikeschinkel\">Mike Schinkel</a>, <a href=\"http://profiles.wordpress.org/dh-shredder\">Mike Schroder</a>, <a href=\"http://profiles.wordpress.org/mikecorkum\">mikecorkum</a>, <a href=\"http://profiles.wordpress.org/mitchoyoshitaka\">mitcho (Michael Yoshitaka Erlewine)</a>, <a href=\"http://profiles.wordpress.org/batmoo\">Mohammad Jangda</a>, <a href=\"http://profiles.wordpress.org/morganestes\">Morgan Estes</a>, <a href=\"http://profiles.wordpress.org/mor10\">Morten Rand-Hendriksen</a>, <a href=\"http://profiles.wordpress.org/Nao\">Naoko Takano</a>, <a href=\"http://profiles.wordpress.org/alex-ye\">Nashwan Doaqan</a>, <a href=\"http://profiles.wordpress.org/nendeb55\">nendeb55</a>, <a href=\"http://profiles.wordpress.org/celloexpressions\">Nick Halsey</a>, <a href=\"http://profiles.wordpress.org/nicolealleyinteractivecom\">Nicole Arnold</a>, <a href=\"http://profiles.wordpress.org/nikv\">Nikhil Vimal (NikV)</a>, <a href=\"http://profiles.wordpress.org/nivijah\">Nivi Jah</a>, <a href=\"http://profiles.wordpress.org/nofearinc\">nofearinc</a>, <a href=\"http://profiles.wordpress.org/nunomorgadinho\">Nuno Morgadinho</a>, <a href=\"http://profiles.wordpress.org/olivm\">olivM</a>, <a href=\"http://profiles.wordpress.org/jbkkd\">Omer Korner</a>, <a href=\"http://profiles.wordpress.org/originalexe\">OriginalEXE</a>, <a href=\"http://profiles.wordpress.org/patricknami\">patricknami</a>, <a href=\"http://profiles.wordpress.org/pbearne\">Paul Bearne</a>, <a href=\"http://profiles.wordpress.org/djpaul\">Paul Gibbs</a>, <a href=\"http://profiles.wordpress.org/paulwilde\">Paul Wilde</a>, <a href=\"http://profiles.wordpress.org/pavelevap\">pavelevap</a>, <a href=\"http://profiles.wordpress.org/westi\">Peter Westwood</a>, <a href=\"http://profiles.wordpress.org/philiparthurmoore\">Philip Arthur Moore</a>, <a href=\"http://profiles.wordpress.org/mordauk\">Pippin Williamson</a>, <a href=\"http://profiles.wordpress.org/nprasath002\">Prasath Nadarajah</a>, <a href=\"http://profiles.wordpress.org/prettyboymp\">prettyboymp</a>, <a href=\"http://profiles.wordpress.org/raamdev\">Raam Dev</a>, <a href=\"http://profiles.wordpress.org/rachelbaker\">Rachel Baker</a>, <a href=\"http://profiles.wordpress.org/mauryaratan\">Ram Ratan Maurya</a>, <a href=\"http://profiles.wordpress.org/ramonchiara\">ramonchiara</a>, <a href=\"http://profiles.wordpress.org/ounziw\">Rescuework Support</a>, <a href=\"http://profiles.wordpress.org/rhyswynne\">Rhys Wynne</a>, <a href=\"http://profiles.wordpress.org/ricardocorreia\">Ricardo Correia</a>, <a href=\"http://profiles.wordpress.org/theorboman\">Richard Sweeney</a>, <a href=\"http://profiles.wordpress.org/iamfriendly\">Richard Tape</a>, <a href=\"http://profiles.wordpress.org/richard2222\">richard2222</a>, <a href=\"http://profiles.wordpress.org/rickalee\">Ricky Lee Whittemore</a>, <a href=\"http://profiles.wordpress.org/miqrogroove\">Robert Chapin</a>, <a href=\"http://profiles.wordpress.org/robmiller\">robmiller</a>, <a href=\"http://profiles.wordpress.org/rodrigosprimo\">Rodrigo Primo</a>, <a href=\"http://profiles.wordpress.org/romaimperator\">romaimperator</a>, <a href=\"http://profiles.wordpress.org/roothorick\">roothorick</a>, <a href=\"http://profiles.wordpress.org/ruudjoyo\">Ruud Laan</a>, <a href=\"http://profiles.wordpress.org/ryan\">Ryan Boren</a>, <a href=\"http://profiles.wordpress.org/rmccue\">Ryan McCue</a>, <a href=\"http://profiles.wordpress.org/salcode\">Sal Ferrarello</a>, <a href=\"http://profiles.wordpress.org/otto42\">Samuel Wood (Otto)</a>, <a href=\"http://profiles.wordpress.org/sandyr\">Sandeep</a>, <a href=\"http://profiles.wordpress.org/scottlee\">Scott Lee</a>, <a href=\"http://profiles.wordpress.org/coffee2code\">Scott Reilly</a>, <a href=\"http://profiles.wordpress.org/wonderboymusic\">Scott Taylor</a>, <a href=\"http://profiles.wordpress.org/greglone\">ScreenfeedFr</a>, <a href=\"http://profiles.wordpress.org/scribu\">scribu</a>, <a href=\"http://profiles.wordpress.org/sdasse\">sdasse</a>, <a href=\"http://profiles.wordpress.org/bootsz\">Sean Butze</a>, <a href=\"http://profiles.wordpress.org/seanchayes\">Sean Hayes</a>, <a href=\"http://profiles.wordpress.org/nessworthy\">Sean Nessworthy</a>, <a href=\"http://profiles.wordpress.org/sergeybiryukov\">Sergey Biryukov</a>, <a href=\"http://profiles.wordpress.org/shahpranaf\">shahpranaf</a>, <a href=\"http://profiles.wordpress.org/shaunandrews\">Shaun Andrews</a>, <a href=\"http://profiles.wordpress.org/shinichin\">ShinichiN</a>, <a href=\"http://profiles.wordpress.org/pross\">Simon Prosser</a>, <a href=\"http://profiles.wordpress.org/simonwheatley\">Simon Wheatley</a>, <a href=\"http://profiles.wordpress.org/siobhan\">Siobhan</a>, <a href=\"http://profiles.wordpress.org/siobhyb\">Siobhan Bamber (siobhyb)</a>, <a href=\"http://profiles.wordpress.org/sirzooro\">sirzooro</a>, <a href=\"http://profiles.wordpress.org/solarissmoke\">solarissmoke</a>, <a href=\"http://profiles.wordpress.org/sonjanyc\">sonjanyc</a>, <a href=\"http://profiles.wordpress.org/spencerfinnell\">Spencer Finnell</a>, <a href=\"http://profiles.wordpress.org/piontkowski\">Spencer Piontkowski</a>, <a href=\"http://profiles.wordpress.org/stephcook22\">stephcook22</a>, <a href=\"http://profiles.wordpress.org/netweb\">Stephen Edgar</a>, <a href=\"http://profiles.wordpress.org/stephenharris\">Stephen Harris</a>, <a href=\"http://profiles.wordpress.org/sbruner\">Steve Bruner</a>, <a href=\"http://profiles.wordpress.org/stevenkword\">Steven Word</a>, <a href=\"http://profiles.wordpress.org/miyauchi\">Takayuki Miyauchi</a>, <a href=\"http://profiles.wordpress.org/tanner-m\">Tanner Moushey</a>, <a href=\"http://profiles.wordpress.org/tlovett1\">Taylor Lovett</a>, <a href=\"http://profiles.wordpress.org/tbrams\">tbrams</a>, <a href=\"http://profiles.wordpress.org/tobiasbg\">TobiasBg</a>, <a href=\"http://profiles.wordpress.org/tomauger\">Tom Auger</a>, <a href=\"http://profiles.wordpress.org/willmot\">Tom Willmot</a>, <a href=\"http://profiles.wordpress.org/topher1kenobe\">Topher</a>, <a href=\"http://profiles.wordpress.org/topquarky\">topquarky</a>, <a href=\"http://profiles.wordpress.org/zodiac1978\">Torsten Landsiedel</a>, <a href=\"http://profiles.wordpress.org/toru\">Toru</a>, <a href=\"http://profiles.wordpress.org/wpsmith\">Travis Smith</a>, <a href=\"http://profiles.wordpress.org/umeshsingla\">Umesh Kumar</a>, <a href=\"http://profiles.wordpress.org/undergroundnetwork\">undergroundnetwork</a>, <a href=\"http://profiles.wordpress.org/varunagw\">VarunAgw</a>, <a href=\"http://profiles.wordpress.org/wawco\">wawco</a>, <a href=\"http://profiles.wordpress.org/westonruter\">Weston Ruter</a>, <a href=\"http://profiles.wordpress.org/wokamoto\">wokamoto</a>, <a href=\"http://profiles.wordpress.org/xsonic\">xsonic</a>, <a href=\"http://profiles.wordpress.org/yoavf\">Yoav Farhi</a>, <a href=\"http://profiles.wordpress.org/yurivictor\">Yuri Victor</a>, <a href=\"http://profiles.wordpress.org/zbtirrell\">Zach Tirrell</a>, and <a href=\"http://profiles.wordpress.org/vanillalounge\">Ze Fontainhas</a>. Also thanks to <a href=\"http://michaelpick.wordpress.com/\">Michael Pick</a> for producing the release video.</p>\\n<p>If you want to follow along or help out, check out <a href=\"http://make.wordpress.org/\">Make WordPress</a> and our <a href=\"http://make.wordpress.org/core/\">core development blog</a>. Thanks for choosing WordPress. See you soon for version 4.0!</p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://wordpress.org/news/2014/04/smith/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:45:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WordPress 3.9 Release Candidate 2\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"http://wordpress.org/news/2014/04/wordpress-3-9-release-candidate-2/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"http://wordpress.org/news/2014/04/wordpress-3-9-release-candidate-2/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 15 Apr 2014 09:47:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:2:{i:0;a:5:{s:4:\"data\";s:11:\"Development\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}i:1;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3151\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:356:\"The second release candidate for WordPress 3.9 is now available for testing. If you haven&#8217;t tested 3.9 yet, you&#8217;re running out of time! We made about five dozen changes since the first release candidate, and those changes are all helpfully summarized in our weekly post on the development blog. Probably the biggest fixes are to live [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2273:\"<p>The second release candidate for WordPress 3.9 is now available for testing.</p>\\n<p>If you haven&#8217;t tested 3.9 yet, you&#8217;re running out of time! We made about five dozen changes since the <a title=\"WordPress 3.9 Release Candidate\" href=\"//wordpress.org/news/2014/04/wordpress-3-9-release-candidate/\">first release candidate</a>, and those changes are all helpfully summarized <a href=\"//make.wordpress.org/core/?p=10237\">in our weekly post</a> on the development blog. Probably the biggest fixes are to live widget previews and the new theme browser, along with some extra TinyMCE compatibility and some RTL fixes.</p>\\n<p><strong>Plugin authors:</strong> Could you test your plugins against 3.9, and if they&#8217;re compatible, make sure they are marked as tested up to 3.9? It only takes a few minutes and this really helps make launch easier. Be sure to follow along the core development blog; we&#8217;ve been posting <a href=\"//make.wordpress.org/core/tag/3-9-dev-notes/\">notes for developers for 3.9</a>. (For example: <a href=\"//make.wordpress.org/core/2014/04/15/html5-galleries-captions-in-wordpress-3-9/\">HTML5</a>, <a href=\"//make.wordpress.org/core/2014/04/14/symlinked-plugins-in-wordpress-3-9/\">symlinks</a>, <a href=\"//make.wordpress.org/core/2014/04/07/mysql-in-wordpress-3-9/\">MySQL</a>, <a href=\"//make.wordpress.org/core/2014/04/11/plupload-2-x-in-wordpress-3-9/\">Plupload</a>.)</p>\\n<p>To test WordPress 3.9 RC2, try the <a href=\"//wordpress.org/extend/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (you’ll want “bleeding edge nightlies”). Or you can <a href=\"//wordpress.org/wordpress-3.9-RC2.zip\">download the release candidate here</a> (zip). If you’d like to learn more about what’s new in WordPress 3.9, visit the nearly complete About screen in your dashboard (<strong><img src=\"//i0.wp.com/core.svn.wordpress.org/branches/3.6/wp-content/themes/twentyten/images/wordpress.png?w=692\" alt=\"\" width=\"16\" height=\"16\" /> → About</strong> in the toolbar) and also check out <a title=\"WordPress 3.9 Beta 1\" href=\"//wordpress.org/news/2014/03/wordpress-3-9-beta-1/\">the Beta 1 post</a>.</p>\\n<p><em>This is for testing,</em><br />\\n<em>so not recommended for<br />\\nproduction sites—yet.</em></p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"http://wordpress.org/news/2014/04/wordpress-3-9-release-candidate-2/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:42:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\\n\t\t\\n\t\t\\n\t\t\t\t\\n\t\t\t\\n\t\t\\n\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:5:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"WordPress 3.8.3 Maintenance Release\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/news/2014/04/wordpress-3-8-3/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/news/2014/04/wordpress-3-8-3/#comments\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 14 Apr 2014 19:29:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"category\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"Releases\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3145\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:338:\"WordPress 3.8.3 is now available to fix a small but unfortunate bug in the WordPress 3.8.2 security release. The &#8220;Quick Draft&#8221; tool on the dashboard screen was broken in the 3.8.2 update. If you tried to use it, your draft would disappear and it wouldn&#8217;t save. While we doubt anyone was writing a novella using [&#8230;]\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:12:\"Andrew Nacin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:40:\"http://purl.org/rss/1.0/modules/content/\";a:1:{s:7:\"encoded\";a:1:{i:0;a:5:{s:4:\"data\";s:2339:\"<p>WordPress 3.8.3 is now available to fix a small but unfortunate bug in the <a title=\"WordPress 3.8.2 Security Release\" href=\"http://wordpress.org/news/2014/04/wordpress-3-8-2/\">WordPress 3.8.2 security release</a>.</p>\\n<p>The &#8220;Quick Draft&#8221; tool on the dashboard screen was broken in the 3.8.2 update. If you tried to use it, your draft would disappear and it wouldn&#8217;t save. While we doubt anyone was writing a novella using this tool, <em>any</em> loss of content is unacceptable to us.</p>\\n<p>We recognize how much trust you place in us to safeguard your content, and we take this responsibility very seriously. We&#8217;re sorry we let you down.</p>\\n<p>We&#8217;ve all lost words we&#8217;ve written before, like an email thanks to a cat on the keyboard or a term paper to a blue screen of death. Over the last few WordPress releases, we&#8217;ve made a number of improvements to features like autosaves and revisions. With revisions, an old edit can always be restored. We&#8217;re trying our hardest to save your content somewhere even if your power goes out or your browser crashes. We even monitor your internet connection and prevent you from hitting that &#8220;Publish&#8221; button at the exact moment the coffee shop Wi-Fi has a hiccup.</p>\\n<p>It&#8217;s <em>possible</em> that the quick draft you lost last week is still in the database, and just hidden from view. As an added complication, these &#8220;discarded drafts&#8221; normally get deleted after seven days, and it&#8217;s already been six days since the release. If we were able to rescue your draft, you&#8217;ll see it on the &#8220;All Posts&#8221; screen after you update to 3.8.3. (We&#8217;ll also be pushing 3.8.3 out as a background update, so you may just see a draft appear.)</p>\\n<p>So, if you tried to jot down a quick idea last week, I hope WordPress has recovered it for you. Maybe it&#8217;ll turn into that novella.</p>\\n<p><a href=\"http://wordpress.org/download/\">Download WordPress 3.8.3</a> or click &#8220;Update Now&#8221; on Dashboard → Updates.</p>\\n<p><em>This affected version 3.7.2 as well, so we&#8217;re pushing a 3.7.3 to these installs, but we&#8217;d encourage you to update to the latest and greatest.</em></p>\\n<hr />\\n<p><em>Now for some good news:<br />\\nWordPress 3.9 is near.<br />\\nExpect it this week</em></p>\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:36:\"http://wellformedweb.org/CommentAPI/\";a:1:{s:10:\"commentRss\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/news/2014/04/wordpress-3-8-3/feed/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:38:\"http://purl.org/rss/1.0/modules/slash/\";a:1:{s:8:\"comments\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:31:\"http://wordpress.org/news/feed/\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:44:\"http://purl.org/rss/1.0/modules/syndication/\";a:2:{s:12:\"updatePeriod\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"hourly\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:15:\"updateFrequency\";a:1:{i:0;a:5:{s:4:\"data\";s:1:\"1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";a:9:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Sat, 06 Sep 2014 02:12:01 GMT\";s:12:\"content-type\";s:23:\"text/xml; charset=UTF-8\";s:10:\"connection\";s:5:\"close\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:10:\"x-pingback\";s:36:\"http://wordpress.org/news/xmlrpc.php\";s:13:\"last-modified\";s:29:\"Thu, 04 Sep 2014 17:05:39 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";}s:5:\"build\";s:14:\"20130911080210\";}', 'no');\nINSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES\n(110, '_transient_timeout_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1410012715', 'no'),\n(111, '_transient_feed_mod_ac0b00fe65abe10e0c5b588f3ed8c7ca', '1409969515', 'no'),\n(112, '_site_transient_update_themes', 'O:8:\"stdClass\":4:{s:12:\"last_checked\";i:1409969840;s:7:\"checked\";a:4:{s:21:\"Semantic-UI-WordPress\";s:5:\"1.0.0\";s:14:\"twentyfourteen\";s:3:\"1.1\";s:14:\"twentythirteen\";s:3:\"1.2\";s:12:\"twentytwelve\";s:3:\"1.4\";}s:8:\"response\";a:3:{s:14:\"twentyfourteen\";a:4:{s:5:\"theme\";s:14:\"twentyfourteen\";s:11:\"new_version\";s:3:\"1.2\";s:3:\"url\";s:43:\"https://wordpress.org/themes/twentyfourteen\";s:7:\"package\";s:60:\"https://wordpress.org/themes/download/twentyfourteen.1.2.zip\";}s:14:\"twentythirteen\";a:4:{s:5:\"theme\";s:14:\"twentythirteen\";s:11:\"new_version\";s:3:\"1.3\";s:3:\"url\";s:43:\"https://wordpress.org/themes/twentythirteen\";s:7:\"package\";s:60:\"https://wordpress.org/themes/download/twentythirteen.1.3.zip\";}s:12:\"twentytwelve\";a:4:{s:5:\"theme\";s:12:\"twentytwelve\";s:11:\"new_version\";s:3:\"1.5\";s:3:\"url\";s:41:\"https://wordpress.org/themes/twentytwelve\";s:7:\"package\";s:58:\"https://wordpress.org/themes/download/twentytwelve.1.5.zip\";}}s:12:\"translations\";a:0:{}}', 'yes'),\n(113, '_transient_timeout_feed_867bd5c64f85878d03a060509cd2f92c', '1410012716', 'no');\nINSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES\n(114, '_transient_feed_867bd5c64f85878d03a060509cd2f92c', 'a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\\n\\n\\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:61:\"\\n\t\\n\t\\n\t\\n\t\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"WordPress Planet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:2:\"en\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"WordPress Planet - http://planet.wordpress.org/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:50:{i:0;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:65:\"WPTavern: WordPress Theme Review Team to Launch Mentoring Program\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29636\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"http://wptavern.com/wordpress-theme-review-team-to-launch-mentoring-program\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3034:\"<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/01/WPMentorFeaturedImage1.jpg\" rel=\"prettyphoto[29636]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/01/WPMentorFeaturedImage1.jpg?resize=844%2C350\" alt=\"WPMentor Featured Image\" class=\"aligncenter size-full wp-image-14106\" /></a></p>\\n<p>The <a href=\"http://make.wordpress.org/themes/\" target=\"_blank\">WordPress.org Theme Review Team</a> put out a call for mentors this week. The team will be launching a mentoring program that will pair new reviewers with those who have experience.</p>\\n<p>&#8220;We are looking for currently active reviewers who want to give back to the community, of course, and to teach the next generation of theme reviewers,&#8221; Jose Castaneda said in the announcement. The mentoring program was proposed by TRT admin Tammie Lister as a sort of &#8220;buddy system&#8221; to help onboard new reviewers.</p>\\n<p>Currently, WordPress.org offers <a href=\"http://wordpress.org/themes/\" target=\"_blank\">2,677 themes</a> in its directory. As the number of themes continues to grow, so does the work load for approving new submissions as well as new theme version updates. Theme Review Team members are in short supply, and this program aims to get new members up to speed as fast as possible.</p>\\n<p>The response so far has been tremendous, with many team members already stepping up to the plate to volunteer as mentors. New reviewers will be paired up with mentors when they receive their first tickets. &#8220;We will be assigning from the <a href=\"http://make.wordpress.org/themes/about/trac-ticket-request-queue/trac-ticket-request-queue-summer-2014/\" target=\"_blank\">theme request list</a> each month,&#8221; Lister told the Tavern.</p>\\n<p>This is good news for any WordPress.org theme developers who have been frustrated by the amount of time it takes to get theme and updates approved. At times it can take weeks for a new theme to get pushed out to the directory.</p>\\n<p>Lister believes the mentoring program will help to improve the efficiency of reviewers working through the queue. &#8220;Anything that helps train will have a positive impact on the queue,&#8221; she said. &#8220;Every little improvement helps, but we also need more people reviewing &#8211; more hands to make light of the queue.&#8221;</p>\\n<p>The introduction of <a href=\"http://make.wordpress.org/themes/2014/08/28/the-role-of-trusted-reviewer/\" target=\"_blank\">Key Reviewers</a> will also help to speed things along. This is a new role within the Theme Review Team with the power to push their own theme reviews live, as well as those being reviewed by other team members. This results in more people available who can make themes live on WordPress.org.</p>\\n<p>Experienced theme reviewers who want to join are encouraged to comment on the <a href=\"http://make.wordpress.org/themes/2014/09/05/call-for-theme-review-mentors/\" target=\"_blank\">announcement post</a> with their WordPress.org usernames to be added to the list of available mentors.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 21:25:21 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:51:\"WPTavern: Flywheel Hosting Secures $1.2M In Funding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29960\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:60:\"http://wptavern.com/flywheel-hosting-secures-1-2m-in-funding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3846:\"<p>At this time last year, Flywheel Hosting <a title=\"http://wptavern.com/flywheel-hosting-opens-to-the-public\" href=\"http://wptavern.com/flywheel-hosting-opens-to-the-public\">opened its doors</a> to the public. Today, the <a title=\"http://getflywheel.com/announcing-the-flywheel-seed-funding/\" href=\"http://getflywheel.com/announcing-the-flywheel-seed-funding/\">company announced</a> it has secured $1.2M in seed funding. The round was led by <a href=\"http://linseedcapital.com\">Linseed Capital</a>, with participation from the <a href=\"http://nebraskaangels.org\">Nebraska Angels</a>, <a href=\"http://ludlowventures.com\">Ludlow Ventures</a> out of Detroit, <a href=\"http://lightbank.com\">Lightbank</a> and <a href=\"http://hydeparkvp.com\">Hyde Park Venture Partners</a> out of Chicago, and <a href=\"http://rosepaul.com/\">Rose Paul Ventures</a> out of NYC.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/FlywheelLogoOrange.png\" rel=\"prettyphoto[29960]\"><img class=\"aligncenter size-full wp-image-29976\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/FlywheelLogoOrange.png?resize=492%2C160\" alt=\"Flywheel Logo Orange\" /></a></p>\\n<p>Flywheel will use the funding to expand their team and infrastructure. Also as part of the announcement, Flywheel now offers bulk pricing plans. Bulk pricing starts with 10 sites with 150,000 visits for $100 a month and 25 sites with 500,000 visits for $250 a month. Flywheel hosting plans for small sites begin at $15 a month for sites with 5,000 visits. Since the customer base is mainly website designers and agencies, these new plans make sense, especially for managing all of their client sites in one location.</p>\\n<h2>Managing A Growth Phase</h2>\\n<p><a title=\"http://www.matthewwoodward.co.uk/reviews/webhost-trusted-wp-engine-hijacked-business-avoid-them/\" href=\"http://www.matthewwoodward.co.uk/reviews/webhost-trusted-wp-engine-hijacked-business-avoid-them/\">Some customers</a> of WPEngine have suggested that the company&#8217;s rapid growth resulted in lackluster support and reliable service during the height of its popularity. Earlier this year, an article on the WPEngine blog entitled <a title=\"http://wpengine.com/2014/05/21/growth-hard/\" href=\"http://wpengine.com/2014/05/21/growth-hard/\">Growth Is Hard,</a> explained the growing pains the company experienced.</p>\\n<p>I asked the co-founder and CEO of Flywheel, Dusty Davidson, how he plans to manage the next phase of Flywheel.</p>\\n<blockquote><p>We&#8217;re very aware of how hard it is to scale a support organization. We&#8217;re investing heavily in great people, great automation, tools, and other things to do our absolute best to provide the level of support that our customers have come to expect. It&#8217;s core to our mission to provide service at that level, even at scale and we&#8217;ll do what it takes to accomplish that.</p></blockquote>\\n<p>It&#8217;s rare to see so many people compliment a webhosting provider but that&#8217;s what I&#8217;ve witnessed over the past year. Through Twitter, WordCamps, and other venues, <a title=\"https://imajworks.com/2013/11/14/five-reasons-love-flywheel/\" href=\"https://imajworks.com/2013/11/14/five-reasons-love-flywheel/\">customers appear</a> to be unanimously happy with Flywheel. It will be interesting to see if the company can scale at a fast rate while maintaining their signature level of quality service and support.</p>\\n<h2>Tell Us About Your Experience With FlyWheel</h2>\\n<p>With so many companies in the managed WordPress hosting market, it&#8217;s encouraging to see a startup proving to be a hit amongst its customers. Instead of going after everyone, FlyWheel has carved out a niche within the market and is doing well. If you are a current or existing customer of FlyWheel Hosting, tell us about your experience in the comments.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 20:42:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:115:\"WPTavern: 1,000+ WordPress Themes on Envato Market Potentially Affected by Slider Revolution Security Vulnerability\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29940\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:123:\"http://wptavern.com/1000-wordpress-themes-on-envato-market-potentially-affected-by-revolution-slider-security-vulnerability\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6680:\"<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/envato.jpg\" rel=\"prettyphoto[29940]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/envato.jpg?resize=697%2C314\" alt=\"envato\" class=\"aligncenter size-full wp-image-29973\" /></a></p>\\n<p>A couple days ago we wrote about a <a href=\"http://wptavern.com/critical-security-vulnerability-found-in-wordpress-slider-revolution-plugin-immediate-update-advised\" target=\"_blank\">critical security vulnerability</a> that was found in the popular WordPress Slider Revolution plugin and silently patched by its author. Envato Market has since <a href=\"http://marketblog.envato.com/general/plugin-vulnerability/\" target=\"_blank\">launched further investigation</a> of the matter, as the product is not only hosted on their marketplace but also packaged with many other products.</p>\\n<p>The company has identified <a href=\"http://marketblog.envato.com/general/affected-themes/\" target=\"_blank\">more than 1,000 themes</a> sold through its marketplace that are potentially affected by this vulnerability. While many of the products have already been patched, some theme authors have not yet acted. In recognition of the severity of this vulnerability and the ease with which it&#8217;s exploited, the marketplace is temporarily disabling themes that have not yet been patched:</p>\\n<blockquote><p>We are starting to temporarily disable affected themes that haven’t been updated, contacting authors of those themes to get an update through ASAP. This will take a while as there are a lot of themes to manually sort through.</p></blockquote>\\n<p>Even with the products getting patched, the next challenge is to get users to update. Many themes do not have an auto-update system included to notify users and WordPress users do not always apply updates as soon as they are available, for fear of breaking something. Envato Market is addressing this by emailing users to inform them of the security vulnerability:</p>\\n<blockquote><p>We will be contacting all buyers of affected themes directly via their Envato Market email address asap, to ensure they read and act on this information.</p></blockquote>\\n<p>Envato Market published detailed instructions to help users determine if they are affected and update accordingly.</p>\\n<h2>The Danger of Bundling Plugins With Themes</h2>\\n<p>When a security vulnerability potentially affects more than 1,000 products, silent patching is not acceptable. This should have been publicly disclosed by the ThemePunch team at the time it occurred, which might have prevented this vulnerability from being actively exploited in the wild.</p>\\n<p>At the end of the post, Envato Market highlights what they are doing to ensure that this doesn&#8217;t happen again:</p>\\n<blockquote><p>We will be releasing guidelines and processes to make sure issues like this get to us faster, and to help authors make sure their buyers are updated and patched as fast as possible. </p>\\n<p>We are also going to revisit how updates are handled for bundles and themes that include separate plugins.</p></blockquote>\\n<p>Unfortunately, &#8220;more guidelines and processes&#8221; do not address the root of this problem. This vulnerability highlights the danger of allowing theme authors to bundle plugins in their products. Envato Market would have no need to list out 1,000+ potentially affected themes if it discouraged, or even forbade, theme authors from bundling plugins.</p>\\n<p>Since the vast majority of Envato&#8217;s top-selling themes do not follow industry best practices, forbidding them to bundle plugins would most certainly result in a loss of profit. There seems to be little incentive for Envato Market to act decisively on the lesson of this security vulnerability and move toward best practices.</p>\\n<p>Respected professionals in the WordPress community have been calling on theme authors to keep plugins separate for years. This situation has renewed the debate:</p>\\n<blockquote class=\"twitter-tweet\" width=\"550\"><p>.<a href=\"https://twitter.com/envato\">@envato</a> This is why you should never permit bundled plugins in themes: <a href=\"http://t.co/XFAU1anKef\">http://t.co/XFAU1anKef</a> &#8211; no exceptions</p>\\n<p>&mdash; Pippinsplugins (@pippinsplugins) <a href=\"https://twitter.com/pippinsplugins/status/507907279140945921\">September 5, 2014</a></p></blockquote>\\n<p></p>\\n<p>Historically, Envato has been slow to act on theme best practices. Last year&#8217;s addition of a <a href=\"http://notes.envato.com/general/100-gpl-option-now-available-plus-woothemes-arrives\" target=\"_blank\">GPL licensing option</a> and the <a href=\"http://notes.envato.com/news/update-wordpress-theme-submission-requirements\" target=\"_blank\">updated theme submission requirements</a> were a good start, but authors have found ways to skirt the requirements. Justin Tadlock offers some insight on this practice, following his <a href=\"http://justintadlock.com/archives/2013/09/11/the-themeforest-experiment-one-year-later\" target=\"_blank\">Themeforest experiment</a>:</p>\\n<blockquote><p>Based on what I’ve seen in the forums, many authors are just looking for ways to do what they’ve already been doing but just putting it in a plugin packaged with their theme. Basically, they don’t want anyone to “steal their code” nor do they want to truly make a wonderful user experience, one in which users will keep coming back long after they’ve switched to a new theme. If you package your plugin functionality into a plugin that’s only ever going to be useful with your theme, then you’re _doing_it_wrong(). That’s what I envision, but I hope that’s the sort of thing Envato will take a stand against. Otherwise, you’re just pulling the same ol’ tricks in a different costume.</p></blockquote>\\n<p>This experience prompted Tadlock to continue building standalone <a href=\"http://themehybrid.com/plugins\" target=\"_blank\">plugins </a>that theme authors can add support for when building their products. This frees theme authors up to focus on the theme itself and offer better data portability for users via plugins. Adopting a standard for plugin functionality is good for users and creates less work for theme authors. They can continue building more themes, instead of wasting time patching their themes for a slider&#8217;s security vulnerability.</p>\\n<p>WordPress is now used by more than 23% of the world&#8217;s websites and will always be a target for hackers looking to exploit vulnerabilities. If Envato Market doesn&#8217;t take a stand against theme authors packaging plugins, it will continue to encounter the same security problems that are topping the headlines this week.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 19:48:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"Matt: Tale of Two Automatticians\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44084\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"http://ma.tt/2014/09/tale-of-two-automatticians/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:423:\"<p>Today we hear from two Automatticians: <a href=\"http://extrapolate.me/2014/09/04/ten-years-since-my-first-open-source-contribution/\">Nikolay talks about his first open source contribution ten years ago and the path his life has taken since</a>, and Andrea <a href=\"http://andreabadgley.com/2014/09/03/call-me-democratizer/\">says she &#8220;can’t wipe this grin off my face&#8221; at the start of a new journey</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 17:34:46 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"WPTavern: Rams: A Free WordPress Blogging Theme With Zero Fluff\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29752\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"http://wptavern.com/rams-a-free-wordpress-blogging-theme-with-zero-fluff\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2745:\"<p><a href=\"http://wordpress.org/themes/rams\" target=\"_blank\">Rams</a> is a new release from WordPress theme developer <a href=\"http://www.andersnoren.se/\" target=\"_blank\">Anders Norén</a>. The theme is aptly named for <a href=\"http://en.wikipedia.org/wiki/Dieter_Rams\" target=\"_blank\">Dieter Rams</a>, a German industrial designer who is well known for his innovative, unobtrusive, and timeless product design.</p>\\n<p>Rams is a minimalist blogging theme that bears Noren&#8217;s trademark <a href=\"http://wptavern.com/anders-noren-on-achieving-simplicity-in-wordpress-theme-design\" target=\"_blank\">simplicity</a>. Norén said that he designed the theme with &#8220;zero fluff&#8221; to put the content in focus.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/rams.png\" rel=\"prettyphoto[29752]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/rams.png?resize=880%2C660\" alt=\"rams\" class=\"aligncenter size-full wp-image-29904\" /></a></p>\\n<p>Rams includes support for the gallery, video and quote post formats. It is retina-ready and responsive, providing a high quality reading experience on desktop, tablets, and mobile phones.</p>\\n<p>The theme comes packaged with a beautiful, simplified archive template and built-in editor styles. It also includes support for <a href=\"http://jetpack.me/support/tiled-galleries/\" target=\"_blank\">Jetpack Tiled Galleries</a> and infinite scroll.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/jetpack-tiled-gallery.png\" rel=\"prettyphoto[29752]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/jetpack-tiled-gallery.png?resize=1025%2C617\" alt=\"jetpack-tiled-gallery\" class=\"aligncenter size-full wp-image-29921\" /></a></p>\\n<p>Check out a <a href=\"http://www.andersnoren.se/themes/rams/\" target=\"_blank\">live demo</a> to see Rams in action and make sure to navigate through the various templates and styles.</p>\\n<h3>One Theme Option</h3>\\n<p>Rams includes only one theme option. Yes, you read that correctly. The color control option allows you to set the background color of the sidebar as well as the accent color of the content. Rams includes no other options and no widget areas. That means that it takes no effort whatsoever to get your site looking just like the demo.</p>\\n<p>Norén skillfully captures the essence of Dieter Rams&#8217; <a href=\"http://www.sfmoma.org/about/press/press_exhibitions/releases/880\" target=\"_blank\">principles of good design</a> in this tribute theme. If you&#8217;re looking for a beautiful, simple blog design with plenty of room for content to breathe, Rams is a solid option. <a href=\"http://wordpress.org/themes/rams\" target=\"_blank\">Download</a> it for free from WordPress.org.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 05 Sep 2014 04:58:21 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"WPTavern: Syed Balkhi on The Overnight Success of OptinMonster\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29899\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"http://wptavern.com/syed-balkhi-on-the-overnight-success-of-optinmonster\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3253:\"<a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/MonsterFeaturedImage.png\" rel=\"prettyphoto[29899]\"><img class=\"size-full wp-image-29901\" src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/MonsterFeaturedImage.png?resize=640%2C345\" alt=\"Monster Featured Image\" /></a>photo credit: <a href=\"https://www.flickr.com/photos/jdhancock/3777558632/\">JD Hancock</a> &#8211; <a href=\"http://creativecommons.org/licenses/by/2.0/\">cc</a>\\n<p>Created by Syed Balkhi and Thomas Griffin, <a title=\"http://optinmonster.com/\" href=\"http://optinmonster.com/\">OptinMonster</a> is one of the most popular WordPress plugins when it comes to converting visitors into subscribers and customers. Its success is one of the reasons the duo decided to <a title=\"http://www.poststat.us/syed-balkhi-thomas-griffin-awesome-motive/\" href=\"http://www.poststat.us/syed-balkhi-thomas-griffin-awesome-motive/\">join forces</a>. While the team enjoys the success of OptinMonster today, the plugin almost didn&#8217;t make it to the market.</p>\\n<p>Balkhi <a title=\"http://www.balkhis.com/how-we-turned-a-failed-product-into-a-six-figure-business-in-less-than-a-month/\" href=\"http://www.balkhis.com/how-we-turned-a-failed-product-into-a-six-figure-business-in-less-than-a-month/\">shares a story on his personal site</a> that explains how he and Griffin turned OptinMonster into a 10 month-long, overnight success story.</p>\\n<blockquote><p>That night was the longest night ever. Once we added List25 along with few other sites, our servers crashed. Since neither of us were sysadmins, we couldn’t get the servers to scale properly.</p>\\n<p>We consulted with a few sysadmins and long story short the issue was our reporting. The WordPress database couldn’t handle that many rewrites. We were tracking impressions and conversions for every site (imagine the amount of database writes).</p>\\n<p>We really had two options at this point: completely pivot in 30 days or close down shop.</p></blockquote>\\n<p>Stories like this are great because it gives us a glimpse into the work involved to create a stellar product. What&#8217;s of particular interest to me is that it almost didn&#8217;t see the light of day. The team persevered, made a pivot, and are now the proud owners of a great plugin.</p>\\n<p>I&#8217;d love to see more developers share their journeys. Other developers that have shared their stories include:</p>\\n<ul>\\n<li><a href=\"http://wptavern.com/chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes\" target=\"_blank\">Chris Wiegman on Why He Sold Better WP Security to iThemes</a></li>\\n<li><a href=\"http://wptavern.com/jason-schuller-shares-his-experience-running-a-wordpress-theme-business\" target=\"_blank\">Jason Schuller Shares His Experience Running a WordPress Theme Business</a></li>\\n<li><a title=\"https://bruteprotect.com/bruteprotect-joins-automattic/\" href=\"https://bruteprotect.com/bruteprotect-joins-automattic/\">BruteProtect Joins Automattic</a></li>\\n</ul>\\n<p>I almost think I&#8217;m in the wrong business when I hear about WordPress companies or specific products making millions of dollars. However, stories like the ones above are reminders that there is a lot of work that goes on behind the scenes to create a successful product.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 23:04:15 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:61:\"WPTavern: Poll: Who Uses Reader In The WordPress Mobile Apps?\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29874\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:69:\"http://wptavern.com/poll-who-uses-reader-in-the-wordpress-mobile-apps\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2434:\"<p>WordPress for iOS 4.3 is <a title=\"http://apps.wordpress.org/2014/09/04/4-3-release/\" href=\"http://apps.wordpress.org/2014/09/04/4-3-release/\">now available</a> for download from the App Store. The new release contains updates to stats and reader. You can now see more details in the stats chart for Visitors and Views. Just tap any of the views available such as Days, Weeks, or Months.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/WordPressForiOS4point3FeaturedImage.png\" rel=\"prettyphoto[29874]\"><img class=\"aligncenter size-full wp-image-29876\" src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/WordPressForiOS4point3FeaturedImage.png?resize=735%2C321\" alt=\"WordPress For iOS 4 Poin 3 Featured Image\" /></a></p>\\n<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/FollowAnyASiteInReader.png\" rel=\"prettyphoto[29874]\"><img class=\"wp-image-29882 size-medium\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/FollowAnyASiteInReader.png?resize=300%2C111\" alt=\"Follow Any Site In Reader\" /></a>Follow Any Site In Reader\\n<p>In previous versions of the app, reader was limited to WordPress.com and self hosted sites using Jetpack. In 4.3, you can add any site to the reader by URL or tag essentially turning it into an RSS Feed Reader.</p>\\n<p>The app contains several improvements under the hood to prepare for the release of iOS 8. Among some of the features slated for the next version include an iOS 8 <em>Today</em> extension to view stats, a major interface update for notifications, and a limited roll out of a new WYSIWYG post editor.</p>\\n<h2>Who Uses The Reader Part Of The Mobile Apps?</h2>\\n<p>Being able to add any site to the reader is a nice enhancement but it&#8217;s not enough to convince me to use it. I use <a title=\"http://feedly.com/\" href=\"http://feedly.com/\">Feedly</a> as my feed reader both on the desktop and my phone. The interface of reader makes it difficult to quickly skim the headlines of several different websites and I&#8217;d rather not manage so many sites on my phone. I&#8217;ve also found it to not be the ideal experience to consume content.</p>\\n<p>I wonder how many people use this portion of the app. Help me figure it out by participating in the poll. If you vote yes, let me know in the comments how you use it.</p>\\nNote: There is a poll embedded within this post, please visit the site to participate in this post''s poll.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 21:56:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Matt: 4.0\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44082\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://ma.tt/2014/09/4-0/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:534:\"<p>WordPress 4.0, code-named Benny, <a href=\"http://wordpress.org/news/2014/09/benny/\">is now available</a>. The response so far has been great, over 200k downloads in just a few hours. Today we celebrate, <a href=\"http://wordpress.org/download/counter/\">watch the counter</a>, and tomorrow go back to work on 4.1. <img src=\"http://i1.wp.com/s.ma.tt/blog/wp-includes/images/smilies/icon_smile.gif?w=604\" alt=\":)\" class=\"wp-smiley\" /> For those following along at home, the 3.x series of WordPress was downloaded 300 million times.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 21:00:50 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"WPTavern: Pressgram to Shut Down, Development Discontinued\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29842\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"http://wptavern.com/pressgram-to-shut-down-development-discontinued\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4734:\"<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/03/pressgram-feature.jpg\" rel=\"prettyphoto[29842]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/03/pressgram-feature.jpg?resize=800%2C373\" alt=\"pressgram-feature\" class=\"aligncenter size-full wp-image-19956\" /></a></p>\\n<p><a href=\"http://pressgr.am/\" target=\"_blank\">Pressgram</a> founder John Saddington <a href=\"http://john.do/bye-pressgram/\" target=\"_blank\">announced</a> today that he will be shutting down the project and pulling the app from the Apple Store on September 11. The app started as a <a href=\"http://wptavern.com/pressgram-launches-wordpress-powered-photo-sharing-app\" target=\"_blank\">WordPress-powered photo sharing app</a> and evolved to support all kinds of publishing platforms. Last March, Saddington <a href=\"http://wptavern.com/pressgram-2-0-removes-social-layer-to-focus-on-publishing\" target=\"_blank\">dropped the social layer</a> in favor of focusing his efforts on the publishing features.</p>\\n<p>Despite running a successful <a href=\"https://www.kickstarter.com/projects/tentblogger/pressgram-an-image-sharing-app-built-for-an-indepe\" target=\"_blank\">$50K+ Kickstarter campaign</a>, Saddington was not able to continue development on the project.</p>\\n<blockquote><p>Today marks the 2-year (official) anniversary of Pressgram and it is with a very heavy heart that I am announcing that active development on Pressgram is being discontinued.</p></blockquote>\\n<p>He does not specify the reasons for shutting down the app in his departure post, which is more of a thank you to investors and a farewell to users. However, his responses to users on Twitter indicate that he could not continue to uphold the financial burden of the Amazon AWS costs of running the service, which centralized publishing requests to various social outlets.</p>\\n<blockquote class=\"twitter-tweet\" width=\"550\"><p><a href=\"https://twitter.com/Tarendai\">@Tarendai</a> <a href=\"https://twitter.com/Pressgram\">@Pressgram</a> // custom built API to handle a ton of requests from the users, especially to publish to multiple techs and platforms.</p>\\n<p>&mdash; John Saddington (@saddington) <a href=\"https://twitter.com/saddington/status/507596625582120960\">September 4, 2014</a></p></blockquote>\\n<p></p>\\n<p>In response to users who inquired whether or not they will be able to continue using the app, Saddington <a href=\"https://twitter.com/saddington/status/507523755485052928\" target=\"_blank\">replied</a>, &#8220;The service will turn off officially at the end of the month, unfortunately.&#8221;</p>\\n<p>When Pressgram was in the crowdfunding stage, WordPress co-founder Matt Mullenweg had pledged $10K dollars to help get it off the ground but eventually withdrew his pledge when he learned that the project would not be open source. The last time we spoke with Saddington, he was open to open sourcing the app but has thus far continued with it under a proprietary license. Now that development is being discontinued, users want to know about the possibility of open sourcing the code so that it doesn&#8217;t disappear. He confirmed that this is still a possibility.</p>\\n<blockquote class=\"twitter-tweet\" width=\"550\"><p><a href=\"https://twitter.com/ramiabraham\">@ramiabraham</a> <a href=\"https://twitter.com/Pressgram\">@Pressgram</a> always a possibility.</p>\\n<p>&mdash; John Saddington (@saddington) <a href=\"https://twitter.com/saddington/status/507587286129598464\">September 4, 2014</a></p></blockquote>\\n<p></p>\\n<p>At a later date, Saddington <a href=\"https://twitter.com/saddington/status/507479571688476673\" target=\"_blank\">plans to share more thoughts</a> about why the project didn&#8217;t end up working out. The information will undoubtedly be of interest to his many Kickstarter backers, some of whom pledged hundreds of dollars to see this app become a reality.</p>\\n<p>From the beginning, Pressgram had mass appeal, given that it used WordPress to power a creative application with the potential to become a viable alternative to some of the larger players, such as Instagram. Many in the WordPress community were hoping that that app would be open source, since it was originally based on open source software and could potentially help move the WordPress app space forward.</p>\\n<p>If Pressgram were open source, it&#8217;s possible that someone could use the code as a starting place to build an app that doesn&#8217;t require a centralized service. Where could Saddington have taken Pressgram if he had a team of enthusiastic open source contributors surrounding the project and improving upon it at a faster rate? Would you like to see the app open sourced or do you think it should be simply retired? Let us know in the comments.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 20:42:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"WPTavern: WPWeekly Episode 161 – The CTO Of CrowdFavorite, Chris Lema\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://wptavern.com?p=29854&preview_id=29854\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"http://wptavern.com/wpweekly-episode-161-the-cto-of-crowdfavorite-chris-lema\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3852:\"<p><a title=\"http://marcuscouch.com/\" href=\"http://marcuscouch.com/\">Marcus Couch</a> and I are joined by <a title=\"http://crowdfavorite.com\" href=\"http://crowdfavorite.com\">CrowdFavorite</a> CTO, <a title=\"http://chrislema.com/\" href=\"http://chrislema.com/\">Chris Lema</a>. We talk about his new position and what the <a title=\"http://crowdfavorite.com/blog/2014/08/ithemes-crowd-favorite-partner-in-new-product-development/\" href=\"http://crowdfavorite.com/blog/2014/08/ithemes-crowd-favorite-partner-in-new-product-development/\">joint-venture partnership</a> means for both CrowdFavorite and iThemes. Lema explains what the word <em>enterprise</em> means for WordPress products and near the end of the show, gives us his prediction on what will happen in the service and product sectors of the WordPress ecosystem.</p>\\n<h2>Stories Discussed:</h2>\\n<p><a title=\"http://wptavern.com/critical-security-vulnerability-found-in-wordpress-slider-revolution-plugin-immediate-update-advised\" href=\"http://wptavern.com/critical-security-vulnerability-found-in-wordpress-slider-revolution-plugin-immediate-update-advised\">Critical Security Vulnerability Found in WordPress Slider Revolution Plugin, Immediate Update Advised</a><br />\\n<a title=\"http://wptavern.com/prowordpress-subreddit-passes-1000-subscribers\" href=\"http://wptavern.com/prowordpress-subreddit-passes-1000-subscribers\">ProWordPress Subreddit Passes 1,000 Subscribers </a><br />\\n<a title=\"http://wptavern.com/why-you-might-consider-adding-development-hours-to-your-changelog\" href=\"http://wptavern.com/why-you-might-consider-adding-development-hours-to-your-changelog\">Why You Might Consider Adding Development Hours to Your Changelog</a><br />\\n<a title=\"http://wptavern.com/the-hidden-savings-of-a-wordcamp-ticket\" href=\"http://wptavern.com/the-hidden-savings-of-a-wordcamp-ticket\">The Hidden Savings Of a WordCamp Ticket</a></p>\\n<h2>Plugins Picked By Marcus:</h2>\\n<p><a title=\"http://wordpress.org/plugins/wp-scroll-depth/\" href=\"http://wordpress.org/plugins/wp-scroll-depth/\">WP Scroll Depth</a> is a small Google Analytics plugin that allows you to measure how far down the page your users are scrolling. It monitors the 25%, 50%, 75%, and 100% scroll points, sending a Google Analytics Event at each one. You can also track when specific elements on the page are scrolled into view. On a blog, for example, you could send a Scroll Depth event whenever the user reaches the end of a post.</p>\\n<p><a title=\"http://wordpress.org/plugins/embed-custom-field/\" href=\"http://wordpress.org/plugins/embed-custom-field/\">Embed Custom Field</a> adds a shortcode for including a custom field on a page or post. Create a custom field on your post/page, then use the following shortcode to include it on your site: [embed_custom_field \"field-name-here\"]</p>\\n<p><a title=\"http://wordpress.org/plugins/wp-taxi-me/\" href=\"http://wordpress.org/plugins/wp-taxi-me/\">WP Taxi Me</a> adds the ability to order a taxi directly from your mobile site using Uber. You can encourage users to register for Uber using an optional setting as well. The plugin hides itself if the user isn&#8217;t on mobile, but users can still register for Uber.</p>\\n<h2>WPWeekly Meta:</h2>\\n<p><strong>Next Episode:</strong> Wednesday, September 10th 9:30 P.M. Eastern</p>\\n<p><strong>Subscribe To WPWeekly Via Itunes: </strong><a href=\"https://itunes.apple.com/us/podcast/wordpress-weekly/id694849738\" target=\"_blank\">Click here to subscribe</a></p>\\n<p><strong>Subscribe To WPWeekly Via RSS: </strong><a href=\"http://www.wptavern.com/feed/podcast\" target=\"_blank\">Click here to subscribe</a></p>\\n<p><strong>Subscribe To WPWeekly Via Stitcher Radio: </strong><a href=\"http://www.stitcher.com/podcast/wordpress-weekly-podcast?refid=stpr\" target=\"_blank\">Click here to subscribe</a></p>\\n<p><strong>Listen To Episode #161:</strong><br />\\n</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 19:38:29 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"WPTavern: WordPress 4.0 Benny Now Available for Download\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29690\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"http://wptavern.com/wordpress-4-0-benny-now-available-for-download\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6916:\"<p>WordPress 4.0 &#8220;Benny&#8221; was released today, named for American jazz and swing musician <a href=\"http://en.wikipedia.org/wiki/Benny_Goodman\" target=\"_blank\">Benny Goodman</a>, also known as the &#8220;King of Swing.&#8221;</p>\\n<p>Development for 4.0 <a href=\"http://wptavern.com/wordpress-4-0-kicks-off-development-today-helen-hou-sandi-to-lead-release\" target=\"_blank\">kicked off at the end of April</a>, led by <a href=\"http://profiles.wordpress.org/helen\" target=\"_blank\">Helen Hou-Sandí</a>. This release includes hundreds of refinements and a few brand new features, culminating in a more polished media and editing experience. You&#8217;ll also find some exciting new tools for developers. Here&#8217;s a quick overview of what&#8217;s new.</p>\\n<h2>New Media Grid View</h2>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/media-library.png\" rel=\"prettyphoto[29690]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/media-library.png?resize=1025%2C409\" alt=\"media-library\" class=\"aligncenter size-full wp-image-29695\" /></a></p>\\n<p>The WordPress media library has a beautiful new default grid view. When you click on an item, the attachment details will launch a preview that allows you to easily edit and navigate items in your library. Media is now easier to manage with the &#8220;bulk select&#8221; option which enables you to delete multiple items at once.</p>\\n<h2>Improved Writing Experience</h2>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/sticky-editing-tools.png\" rel=\"prettyphoto[29690]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/sticky-editing-tools.png?resize=1025%2C572\" alt=\"sticky-editing-tools\" class=\"aligncenter size-full wp-image-29706\" /></a></p>\\n<p>Composing in WordPress has never been better. The visual editor now expands to fit your content, instead of the awkward scrollbar you used to see within the content area. The editing experience is smoother with a fixed toolbar as you scroll, which means your tools will follow you as your content expands.</p>\\n<h2>oEmbed Previews</h2>\\n<div class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement(''video'');</script><![endif]-->\\n<a href=\"http://wptavern.com/wp-content/uploads/2014/09/oembed-previews.mp4\">http://wptavern.com/wp-content/uploads/2014/09/oembed-previews.mp4</a></div><div class=\"media-shortcode-extend\"><div class=\"media-info video-info\"><ul class=\"media-meta\"><li><span class=\"prep\">Run Time</span> <span class=\"data\">0:17</span></li><li><span class=\"prep\">Dimensions</span> <span class=\"data\">1,312 &#215; 800</span></li><li><span class=\"prep\">File Name</span> <span class=\"data\"><a href=\"http://wptavern.com/wp-content/uploads/2014/09/oembed-previews.mp4\">oembed-previews.mp4</a></span></li><li><span class=\"prep\">File Size</span> <span class=\"data\">2.41 MB</span></li><li><span class=\"prep\">File Type</span> <span class=\"data\">MP4</span></li><li><span class=\"prep\">Mime Type</span> <span class=\"data\">video/quicktime</span></li></ul></div><button class=\"media-info-toggle\">Video Info</button></div>\\n<p>WordPress 4.0 adds oEmbed support for TED talks, Mixcloud, CollegeHumor.com, Issuu, Polldaddy’s short URL format, YouTube playlist URLs. The visual editor now displays previews of media added via on oEmbed URL. The video above is included on the 4.0 about page, demonstrating oEmbed previews in action.</p>\\n<h2>Refreshed Plugin Install and Search Experience</h2>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/add-plugins.png\" rel=\"prettyphoto[29690]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/add-plugins.png?resize=1025%2C447\" alt=\"add-plugins\" class=\"aligncenter size-full wp-image-29712\" /></a></p>\\n<p>WordPress 4.0 makes it much easier to search for plugins in the admin. The plugin installer now displays plugin as cards in a grid view. Plugin authors can add <a href=\"http://wptavern.com/wordpress-4-0-adds-custom-icons-to-the-plugin-installer\" target=\"_blank\">custom icons</a> that will appear in the installer. Clicking on a listing launches the plugin details modal with a description, ratings, reviews, compatibility information and more.</p>\\n<h2>Improved Language Support</h2>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/07/wordpress-languages.jpg\" rel=\"prettyphoto[29690]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/07/wordpress-languages.jpg?resize=809%2C381\" alt=\"wordpress-languages\" class=\"aligncenter size-full wp-image-25834\" /></a></p>\\n<p>This release adds major <a href=\"http://wptavern.com/major-internationalization-improvements-planned-for-wordpress-4-0\" target=\"_blank\">internationalization improvements</a> to the software. <a href=\"http://wptavern.com/wordpress-4-0-to-add-language-selection-to-installation\">Language selection</a> is now available at installation and language management has been streamlined in the dashboard.</p>\\n<h3>What&#8217;s new under the hood?</h3>\\n<p>WordPress 4.0 also includes an exciting array of new developer goodies. Here are a few of the highlights:</p>\\n<h5>Customizer API</h5>\\n<p>This release adds a new <a href=\"https://core.trac.wordpress.org/ticket/27406\" target=\"_blank\">Panels API</a> that enables developers to group customizer controls into sections. It also includes support for contextual controls that will be visible or hidden based on the page the user is viewing. The improved customizer offers a wider array of controls and parameters that allow developers to extend it for more varied uses beyond themes.</p>\\n<h5>Query Ordering</h5>\\n<p>WordPress 4.0 includes <a href=\"http://make.wordpress.org/core/2014/08/29/a-more-powerful-order-by-in-wordpress-4-0/\" target=\"_blank\">a more powerful ORDER BY</a> argument for developers working with <a href=\"http://codex.wordpress.org/Class_Reference/WP_Query\" target=\"_blank\">WP_Query</a>. Developers can now pass an array to WP_Query as the value for <a href=\"http://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters\" target=\"_blank\">orderby</a> for more flexible and precise querying.</p>\\n<h5>External Libraries</h5>\\n<p>This major release includes updates for libraries used in WordPress, including TinyMCE 4.1.3, jQuery 1.11.1, MediaElement 2.15.</p>\\n<p>You can find the full list of all the changes on the <a href=\"http://codex.wordpress.org/Version_4.0\" target=\"_blank\">4.0 release page</a>, which was created by volunteers from the docs team.</p>\\n<p>WordPress 4.0 is the result of the tireless efforts of 275 contributors. If code is poetry, then this release is a skillfully-written sonnet that resolves problem spots and introduces new tools that users will love. Once you update, you&#8217;ll wonder how you ever lived without these improvements. Visit your WordPress site and navigate to Dashboard > Update to get 4.0 and take advantage of all the shiny new features.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:13:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"Dev Blog: WordPress 4.0 “Benny”\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3296\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:40:\"http://wordpress.org/news/2014/09/benny/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:21825:\"<p>Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader <a href=\"http://en.wikipedia.org/wiki/Benny_Goodman\">Benny Goodman</a>, is available <a href=\"http://wordpress.org/download/\">for download</a> or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we&#8217;ve put a little extra polish into it. This release brings you a smoother writing and management experience we think you&#8217;ll enjoy.</p>\\n<div id=\"v-bUdzKMro-1\" class=\"video-player\"></div>\\n<hr />\\n<h2>Manage your media with style</h2>\\n<p><img class=\"alignnone size-full wp-image-3316\" src=\"http://i0.wp.com/wordpress.org/news/files/2014/09/media.jpg?resize=692%2C406\" alt=\"Media Library\" />Explore your uploads in a beautiful, endless grid. A new details preview makes viewing and editing any amount of media in sequence a snap.</p>\\n<hr />\\n<h2>Working with embeds has never been easier</h2>\\n<div class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement(''video'');</script><![endif]-->\\n<a href=\"http://s.w.org/images/core/4.0/embed.mp4\">//s.w.org/images/core/4.0/embed.mp4</a></div>\\n<p>Paste in a YouTube URL on a new line, and watch it magically become an embedded video. Now try it with a tweet. Oh yeah — embedding has become a visual experience. The editor shows a true preview of your embedded content, saving you time and giving you confidence.</p>\\n<p>We’ve expanded the services supported by default, too — you can embed videos from CollegeHumor, playlists from YouTube, and talks from TED. <a href=\"http://codex.wordpress.org/Embeds\">Check out all of the embeds</a> that WordPress supports.</p>\\n<hr />\\n<h2>Focus on your content</h2>\\n<div class=\"wp-video\"><a href=\"http://s.w.org/images/core/4.0/focus.mp4\">//s.w.org/images/core/4.0/focus.mp4</a></div>\\n<p>Writing and editing is smoother and more immersive with an editor that expands to fit your content as you write, and keeps the formatting tools available at all times.</p>\\n<hr />\\n<h2>Finding the right plugin</h2>\\n<p><img class=\"aligncenter size-large wp-image-3309\" src=\"http://i0.wp.com/wordpress.org/news/files/2014/09/add-plugin1.png?resize=692%2C405\" alt=\"Add plugins\" /></p>\\n<p>There are more than 30,000 free and open source plugins in the WordPress plugin directory. WordPress 4.0 makes it easier to find the right one for your needs, with new metrics, improved search, and a more visual browsing experience.</p>\\n<hr />\\n<h2>The Ensemble</h2>\\n<p>This release was led by <a href=\"http://helenhousandi.com\">Helen Hou-Sandí</a>, with the help of these fine individuals. There are 275 contributors with props in this release, a new high. Pull up some Benny Goodman on your music service of choice, as a bandleader or in one of his turns as a classical clarinetist, and check out some of their profiles:</p>\\n<p><a href=\"http://profiles.wordpress.org/sharonaustin\">_Redd</a>, <a href=\"http://profiles.wordpress.org/aaroncampbell\">Aaron D. Campbell</a>, <a href=\"http://profiles.wordpress.org/jorbin\">Aaron Jorbin</a>, <a href=\"http://profiles.wordpress.org/adamsilverstein\">Adam Silverstein</a>, <a href=\"http://profiles.wordpress.org/viper007bond\">Alex Mills (Viper007Bond)</a>, <a href=\"http://profiles.wordpress.org/tellyworth\">Alex Shiels</a>, <a href=\"http://profiles.wordpress.org/alexanderrohmann\">Alexander Rohmann</a>, <a href=\"http://profiles.wordpress.org/aliso\">Alison Barrett</a>, <a href=\"http://profiles.wordpress.org/collinsinternet\">Allan Collins</a>, <a href=\"http://profiles.wordpress.org/amit\">Amit Gupta</a>, <a href=\"http://profiles.wordpress.org/sabreuse\">Amy Hendrix (sabreuse)</a>, <a href=\"http://profiles.wordpress.org/afercia\">Andrea Fercia</a>, <a href=\"http://profiles.wordpress.org/andrezrv\">Andres Villarreal</a>, <a href=\"http://profiles.wordpress.org/zamfeer\">Andrew Mowe</a>, <a href=\"http://profiles.wordpress.org/nacin\">Andrew Nacin</a>, <a href=\"http://profiles.wordpress.org/azaozz\">Andrew Ozz</a>, <a href=\"http://profiles.wordpress.org/andy\">Andy Skelton</a>, <a href=\"http://profiles.wordpress.org/ankit-k-gupta\">Ankit K Gupta</a>, <a href=\"http://profiles.wordpress.org/atimmer\">Anton Timmermans</a>, <a href=\"http://profiles.wordpress.org/arnee\">Arne Brachhold</a>, <a href=\"http://profiles.wordpress.org/aubreypwd\">Aubrey Portwood</a>, <a href=\"http://profiles.wordpress.org/filosofo\">Austin Matzko</a>, <a href=\"http://profiles.wordpress.org/empireoflight\">Ben Dunkle</a>, <a href=\"http://profiles.wordpress.org/kau-boy\">Bernhard Kau</a>, <a href=\"http://profiles.wordpress.org/boonebgorges\">Boone Gorges</a>, <a href=\"http://profiles.wordpress.org/bradyvercher\">Brady Vercher</a>, <a href=\"http://profiles.wordpress.org/bramd\">bramd</a>, <a href=\"http://profiles.wordpress.org/kraftbj\">Brandon Kraft</a>, <a href=\"http://profiles.wordpress.org/krogsgard\">Brian Krogsgard</a>, <a href=\"http://profiles.wordpress.org/brianlayman\">Brian Layman</a>, <a href=\"http://profiles.wordpress.org/rzen\">Brian Richards</a>, <a href=\"http://profiles.wordpress.org/camdensegal\">camden</a>, <a href=\"http://profiles.wordpress.org/lukecarbis\">Carbis</a>, <a href=\"http://profiles.wordpress.org/sixhours\">Caroline Moore</a>, <a href=\"http://profiles.wordpress.org/mackensen\">Charles Fulton</a>, <a href=\"http://profiles.wordpress.org/chouby\">Chouby</a>, <a href=\"http://profiles.wordpress.org/chrico\">ChriCo</a>, <a href=\"http://profiles.wordpress.org/c3mdigital\">Chris Olbekson</a>, <a href=\"http://profiles.wordpress.org/chrisl27\">chrisl27</a>, <a href=\"http://profiles.wordpress.org/caxelsson\">Christian Axelsson</a>, <a href=\"http://profiles.wordpress.org/cfinke\">Christopher Finke</a>, <a href=\"http://profiles.wordpress.org/boda1982\">Christopher Spires</a>, <a href=\"http://profiles.wordpress.org/clifgriffin\">Clifton Griffin</a>, <a href=\"http://profiles.wordpress.org/codenameeli\">codenameEli</a>, <a href=\"http://profiles.wordpress.org/jupiterwise\">Corey McKrill</a>, <a href=\"http://profiles.wordpress.org/corphi\">Corphi</a>, <a href=\"http://profiles.wordpress.org/extendwings\">Daisuke Takahashi</a>, <a href=\"http://profiles.wordpress.org/ghost1227\">Dan Griffiths</a>, <a href=\"http://profiles.wordpress.org/danielbachhuber\">Daniel Bachhuber</a>, <a href=\"http://profiles.wordpress.org/danielhuesken\">Daniel Husken</a>, <a href=\"http://profiles.wordpress.org/redsweater\">Daniel Jalkut (Red Sweater)</a>, <a href=\"http://profiles.wordpress.org/dannydehaan\">Danny de Haan</a>, <a href=\"http://profiles.wordpress.org/dkotter\">Darin Kotter</a>, <a href=\"http://profiles.wordpress.org/koop\">Daryl Koopersmith</a>, <a href=\"http://profiles.wordpress.org/dllh\">Daryl L. L. Houston (dllh)</a>, <a href=\"http://profiles.wordpress.org/davidakennedy\">David A. Kennedy</a>, <a href=\"http://profiles.wordpress.org/dlh\">David Herrera</a>, <a href=\"http://profiles.wordpress.org/dnaber-de\">David Naber</a>, <a href=\"http://profiles.wordpress.org/davidthemachine\">DavidTheMachine</a>, <a href=\"http://profiles.wordpress.org/debaat\">DeBAAT</a>, <a href=\"http://profiles.wordpress.org/dd32\">Dion Hulse</a>, <a href=\"http://profiles.wordpress.org/ocean90\">Dominik Schilling</a>, <a href=\"http://profiles.wordpress.org/donncha\">Donncha O Caoimh</a>, <a href=\"http://profiles.wordpress.org/drewapicture\">Drew Jaynes</a>, <a href=\"http://profiles.wordpress.org/dustyn\">dustyn</a>, <a href=\"http://profiles.wordpress.org/eddiemoya\">Eddie Moya</a>, <a href=\"http://profiles.wordpress.org/oso96_2000\">Eduardo Reveles</a>, <a href=\"http://profiles.wordpress.org/edwin-at-studiojoyocom\">Edwin Siebel</a>, <a href=\"http://profiles.wordpress.org/ehg\">ehg</a>, <a href=\"http://profiles.wordpress.org/tmeister\">Enrique Chavez</a>, <a href=\"http://profiles.wordpress.org/erayalakese\">erayalakese</a>, <a href=\"http://profiles.wordpress.org/ericlewis\">Eric Andrew Lewis</a>, <a href=\"http://profiles.wordpress.org/ebinnion\">Eric Binnion</a>, <a href=\"http://profiles.wordpress.org/ericmann\">Eric Mann</a>, <a href=\"http://profiles.wordpress.org/ejdanderson\">Evan Anderson</a>, <a href=\"http://profiles.wordpress.org/eherman24\">Evan Herman</a>, <a href=\"http://profiles.wordpress.org/fab1en\">Fabien Quatravaux</a>, <a href=\"http://profiles.wordpress.org/fahmiadib\">Fahmi Adib</a>, <a href=\"http://profiles.wordpress.org/feedmeastraycat\">feedmeastraycat</a>, <a href=\"http://profiles.wordpress.org/frank-klein\">Frank Klein</a>, <a href=\"http://profiles.wordpress.org/garhdez\">garhdez</a>, <a href=\"http://profiles.wordpress.org/garyc40\">Gary Cao</a>, <a href=\"http://profiles.wordpress.org/garyj\">Gary Jones</a>, <a href=\"http://profiles.wordpress.org/pento\">Gary Pendergast</a>, <a href=\"http://profiles.wordpress.org/garza\">garza</a>, <a href=\"http://profiles.wordpress.org/gauravmittal1995\">gauravmittal1995</a>, <a href=\"http://profiles.wordpress.org/gavra\">Gavrisimo</a>, <a href=\"http://profiles.wordpress.org/georgestephanis\">George Stephanis</a>, <a href=\"http://profiles.wordpress.org/grahamarmfield\">Graham Armfield</a>, <a href=\"http://profiles.wordpress.org/vancoder\">Grant Mangham</a>, <a href=\"http://profiles.wordpress.org/gcorne\">Gregory Cornelius</a>, <a href=\"http://profiles.wordpress.org/bordoni\">Gustavo Bordoni</a>, <a href=\"http://profiles.wordpress.org/harrym\">harrym</a>, <a href=\"http://profiles.wordpress.org/hebbet\">hebbet</a>, <a href=\"http://profiles.wordpress.org/hinnerk\">Hinnerk Altenburg</a>, <a href=\"http://profiles.wordpress.org/hlashbrooke\">Hugh Lashbrooke</a>, <a href=\"http://profiles.wordpress.org/iljoja\">iljoja</a>, <a href=\"http://profiles.wordpress.org/imath\">imath</a>, <a href=\"http://profiles.wordpress.org/ipstenu\">Ipstenu (Mika Epstein)</a>, <a href=\"http://profiles.wordpress.org/issuu\">issuu</a>, <a href=\"http://profiles.wordpress.org/jdgrimes\">J.D. Grimes</a>, <a href=\"http://profiles.wordpress.org/jacklenox\">Jack Lenox</a>, <a href=\"http://profiles.wordpress.org/jackreichert\">Jack Reichert</a>, <a href=\"http://profiles.wordpress.org/jacobdubail\">Jacob Dubail</a>, <a href=\"http://profiles.wordpress.org/janhenkg\">JanHenkG</a>, <a href=\"http://profiles.wordpress.org/avryl\">Janneke Van Dorpe</a>, <a href=\"http://profiles.wordpress.org/jaza613\">Jaza613</a>, <a href=\"http://profiles.wordpress.org/jeffstieler\">Jeff Stieler</a>, <a href=\"http://profiles.wordpress.org/jeremyfelt\">Jeremy Felt</a>, <a href=\"http://profiles.wordpress.org/jpry\">Jeremy Pry</a>, <a href=\"http://profiles.wordpress.org/slimndap\">Jeroen Schmit</a>, <a href=\"http://profiles.wordpress.org/jerrysarcastic\">Jerry Bates (jerrysarcastic)</a>, <a href=\"http://profiles.wordpress.org/jesin\">Jesin A</a>, <a href=\"http://profiles.wordpress.org/jayjdk\">Jesper Johansen (jayjdk)</a>, <a href=\"http://profiles.wordpress.org/engelen\">Jesper van Engelen</a>, <a href=\"http://profiles.wordpress.org/jesper800\">Jesper van Engelen</a>, <a href=\"http://profiles.wordpress.org/jessepollak\">jessepollak</a>, <a href=\"http://profiles.wordpress.org/jgadbois\">jgadbois</a>, <a href=\"http://profiles.wordpress.org/jartes\">Joan Artes</a>, <a href=\"http://profiles.wordpress.org/joedolson\">Joe Dolson</a>, <a href=\"http://profiles.wordpress.org/joehoyle\">Joe Hoyle</a>, <a href=\"http://profiles.wordpress.org/jkudish\">Joey Kudish</a>, <a href=\"http://profiles.wordpress.org/johnbillion\">John Blackbourn</a>, <a href=\"http://profiles.wordpress.org/johnjamesjacoby\">John James Jacoby</a>, <a href=\"http://profiles.wordpress.org/johnzanussi\">John Zanussi</a>, <a href=\"http://profiles.wordpress.org/duck_\">Jon Cave</a>, <a href=\"http://profiles.wordpress.org/jonnyauk\">jonnyauk</a>, <a href=\"http://profiles.wordpress.org/joostdevalk\">Joost de Valk</a>, <a href=\"http://profiles.wordpress.org/softmodeling\">Jordi Cabot</a>, <a href=\"http://profiles.wordpress.org/jjeaton\">Josh Eaton</a>, <a href=\"http://profiles.wordpress.org/tai\">JOTAKI Taisuke</a>, <a href=\"http://profiles.wordpress.org/juliobox\">Julio Potier</a>, <a href=\"http://profiles.wordpress.org/justinsainton\">Justin Sainton</a>, <a href=\"http://profiles.wordpress.org/jtsternberg\">Justin Sternberg</a>, <a href=\"http://profiles.wordpress.org/greenshady\">Justin Tadlock</a>, <a href=\"http://profiles.wordpress.org/jwenerd\">jwenerd</a>, <a href=\"http://profiles.wordpress.org/kadamwhite\">K.Adam White</a>, <a href=\"http://profiles.wordpress.org/trepmal\">Kailey (trepmal)</a>, <a href=\"http://profiles.wordpress.org/ixkaito\">Kaito</a>, <a href=\"http://profiles.wordpress.org/kapeels\">kapeels</a>, <a href=\"http://profiles.wordpress.org/ryelle\">Kelly Dwan</a>, <a href=\"http://profiles.wordpress.org/kevinlangleyjr\">Kevin Langley</a>, <a href=\"http://profiles.wordpress.org/kworthington\">Kevin Worthington</a>, <a href=\"http://profiles.wordpress.org/kpdesign\">Kim Parsell</a>, <a href=\"http://profiles.wordpress.org/kwight\">Kirk Wight</a>, <a href=\"http://profiles.wordpress.org/kitchin\">kitchin</a>, <a href=\"http://profiles.wordpress.org/knutsp\">Knut Sparhell</a>, <a href=\"http://profiles.wordpress.org/kovshenin\">Konstantin Kovshenin</a>, <a href=\"http://profiles.wordpress.org/obenland\">Konstantin Obenland</a>, <a href=\"http://profiles.wordpress.org/kurtpayne\">Kurt Payne</a>, <a href=\"http://profiles.wordpress.org/lancewillett\">Lance Willett</a>, <a href=\"http://profiles.wordpress.org/leewillis77\">Lee Willis</a>, <a href=\"http://profiles.wordpress.org/lessbloat\">lessbloat</a>, <a href=\"http://profiles.wordpress.org/layotte\">Lew Ayotte</a>, <a href=\"http://profiles.wordpress.org/lritter\">lritter</a>, <a href=\"http://profiles.wordpress.org/lgedeon\">Luke Gedeon</a>, <a href=\"http://profiles.wordpress.org/m_i_n\">m_i_n</a>, <a href=\"http://profiles.wordpress.org/funkatronic\">Manny Fleurmond</a>, <a href=\"http://profiles.wordpress.org/targz-1\">Manuel Schmalstieg</a>, <a href=\"http://profiles.wordpress.org/clorith\">Marius Jensen (Clorith)</a>, <a href=\"http://profiles.wordpress.org/markjaquith\">Mark Jaquith</a>, <a href=\"http://profiles.wordpress.org/markoheijnen\">Marko Heijnen</a>, <a href=\"http://profiles.wordpress.org/mjbanks\">Matt Banks</a>, <a href=\"http://profiles.wordpress.org/sivel\">Matt Martz</a>, <a href=\"http://profiles.wordpress.org/matt\">Matt Mullenweg</a>, <a href=\"http://profiles.wordpress.org/mattwiebe\">Matt Wiebe</a>, <a href=\"http://profiles.wordpress.org/mboynes\">Matthew Boynes</a>, <a href=\"http://profiles.wordpress.org/mdbitz\">Matthew Denton</a>, <a href=\"http://profiles.wordpress.org/mattheweppelsheimer\">Matthew Eppelsheimer</a>, <a href=\"http://profiles.wordpress.org/mattheu\">Matthew Haines-Young</a>, <a href=\"http://profiles.wordpress.org/mattyrob\">mattyrob</a>, <a href=\"http://profiles.wordpress.org/meekyhwang\">meekyhwang</a>, <a href=\"http://profiles.wordpress.org/melchoyce\">Mel Choyce</a>, <a href=\"http://profiles.wordpress.org/midxcat\">mi_cat</a>, <a href=\"http://profiles.wordpress.org/mdawaffe\">Michael Adams (mdawaffe)</a>, <a href=\"http://profiles.wordpress.org/michalzuber\">michalzuber</a>, <a href=\"http://profiles.wordpress.org/mauteri\">Mike Auteri</a>, <a href=\"http://profiles.wordpress.org/mikehansenme\">Mike Hansen</a>, <a href=\"http://profiles.wordpress.org/mikelittle\">Mike Little</a>, <a href=\"http://profiles.wordpress.org/mikemanger\">Mike Manger</a>, <a href=\"http://profiles.wordpress.org/dh-shredder\">Mike Schroder</a>, <a href=\"http://profiles.wordpress.org/mikejolley\">mikejolley</a>, <a href=\"http://profiles.wordpress.org/mikeyarce\">mikeyarce</a>, <a href=\"http://profiles.wordpress.org/dimadin\">Milan Dinic</a>, <a href=\"http://profiles.wordpress.org/mnelson4\">mnelson4</a>, <a href=\"http://profiles.wordpress.org/morganestes\">Morgan Estes</a>, <a href=\"http://profiles.wordpress.org/usermrpapa\">Mr Papa</a>, <a href=\"http://profiles.wordpress.org/mrmist\">mrmist</a>, <a href=\"http://profiles.wordpress.org/m_uysl\">Mustafa Uysal</a>, <a href=\"http://profiles.wordpress.org/muvimotv\">MuViMoTV</a>, <a href=\"http://profiles.wordpress.org/nabil_kadimi\">nabil_kadimi</a>, <a href=\"http://profiles.wordpress.org/namibia\">Namibia</a>, <a href=\"http://profiles.wordpress.org/nd987\">nd987</a>, <a href=\"http://profiles.wordpress.org/neil_pie\">Neil Pie</a>, <a href=\"http://profiles.wordpress.org/niallkennedy\">Niall Kennedy</a>, <a href=\"http://profiles.wordpress.org/celloexpressions\">Nick Halsey</a>, <a href=\"http://profiles.wordpress.org/nbachiyski\">Nikolay Bachiyski</a>, <a href=\"http://profiles.wordpress.org/schoenwaldnils\">Nils Schonwald</a>, <a href=\"http://profiles.wordpress.org/ninos-ego\">Ninos</a>, <a href=\"http://profiles.wordpress.org/nvwd\">Nowell VanHoesen</a>, <a href=\"http://profiles.wordpress.org/compute\">Patrick Hesselberg</a>, <a href=\"http://profiles.wordpress.org/pbearne\">Paul Bearne</a>, <a href=\"http://profiles.wordpress.org/pdclark\">Paul Clark</a>, <a href=\"http://profiles.wordpress.org/paulwilde\">Paul Wilde</a>, <a href=\"http://profiles.wordpress.org/paulschreiber\">paulschreiber</a>, <a href=\"http://profiles.wordpress.org/pavelevap\">pavelevap</a>, <a href=\"http://profiles.wordpress.org/westi\">Peter Westwood</a>, <a href=\"http://profiles.wordpress.org/philiparthurmoore\">Philip Arthur Moore</a>, <a href=\"http://profiles.wordpress.org/philipjohn\">Philip John</a>, <a href=\"http://profiles.wordpress.org/senlin\">Piet</a>, <a href=\"http://profiles.wordpress.org/psoluch\">Piotr Soluch</a>, <a href=\"http://profiles.wordpress.org/mordauk\">Pippin Williamson</a>, <a href=\"http://profiles.wordpress.org/purzlbaum\">purzlbaum</a>, <a href=\"http://profiles.wordpress.org/rachelbaker\">Rachel Baker</a>, <a href=\"http://profiles.wordpress.org/rclations\">rclations</a>, <a href=\"http://profiles.wordpress.org/iamfriendly\">Richard Tape</a>, <a href=\"http://profiles.wordpress.org/rickalee\">Ricky Lee Whittemore</a>, <a href=\"http://profiles.wordpress.org/rob1n\">rob1n</a>, <a href=\"http://profiles.wordpress.org/miqrogroove\">Robert Chapin</a>, <a href=\"http://profiles.wordpress.org/rdall\">Robert Dall</a>, <a href=\"http://profiles.wordpress.org/harmr\">RobertHarm</a>, <a href=\"http://profiles.wordpress.org/rohan013\">Rohan Rawat</a>, <a href=\"http://profiles.wordpress.org/rhurling\">Rouven Hurling</a>, <a href=\"http://profiles.wordpress.org/ruudjoyo\">Ruud Laan</a>, <a href=\"http://profiles.wordpress.org/ryan\">Ryan Boren</a>, <a href=\"http://profiles.wordpress.org/rmccue\">Ryan McCue</a>, <a href=\"http://profiles.wordpress.org/sammybeats\">Sam Brodie</a>, <a href=\"http://profiles.wordpress.org/otto42\">Samuel Wood (Otto)</a>, <a href=\"http://profiles.wordpress.org/sathishn\">sathishn</a>, <a href=\"http://profiles.wordpress.org/coffee2code\">Scott Reilly</a>, <a href=\"http://profiles.wordpress.org/wonderboymusic\">Scott Taylor</a>, <a href=\"http://profiles.wordpress.org/greglone\">ScreenfeedFr</a>, <a href=\"http://profiles.wordpress.org/scribu\">scribu</a>, <a href=\"http://profiles.wordpress.org/seanchayes\">Sean Hayes</a>, <a href=\"http://profiles.wordpress.org/nessworthy\">Sean Nessworthy</a>, <a href=\"http://profiles.wordpress.org/sergejmueller\">Sergej Muller</a>, <a href=\"http://profiles.wordpress.org/sergeybiryukov\">Sergey Biryukov</a>, <a href=\"http://profiles.wordpress.org/shanebp\">shanebp</a>, <a href=\"http://profiles.wordpress.org/shaunandrews\">Shaun Andrews</a>, <a href=\"http://profiles.wordpress.org/simonwheatley\">Simon Wheatley</a>, <a href=\"http://profiles.wordpress.org/simonp303\">simonp303</a>, <a href=\"http://profiles.wordpress.org/slobodanmanic\">Slobodan Manic</a>, <a href=\"http://profiles.wordpress.org/solarissmoke\">solarissmoke</a>, <a href=\"http://profiles.wordpress.org/sphoid\">sphoid</a>, <a href=\"http://profiles.wordpress.org/stephdau\">Stephane Daury</a>, <a href=\"http://profiles.wordpress.org/netweb\">Stephen Edgar</a>, <a href=\"http://profiles.wordpress.org/stompweb\">Steven Jones</a>, <a href=\"http://profiles.wordpress.org/strangerstudios\">strangerstudios</a>, <a href=\"http://profiles.wordpress.org/5um17\">Sumit Singh</a>, <a href=\"http://profiles.wordpress.org/sumobi\">sumobi</a>, <a href=\"http://profiles.wordpress.org/t4k1s\">t4k1s</a>, <a href=\"http://profiles.wordpress.org/iamtakashi\">Takashi Irie</a>, <a href=\"http://profiles.wordpress.org/taylorde\">Taylor Dewey</a>, <a href=\"http://profiles.wordpress.org/thomasvanderbeek\">Thomas van der Beek</a>, <a href=\"http://profiles.wordpress.org/tillkruess\">Till Kruss</a>, <a href=\"http://profiles.wordpress.org/tobiasbg\">TobiasBg</a>, <a href=\"http://profiles.wordpress.org/tjnowell\">Tom J Nowell</a>, <a href=\"http://profiles.wordpress.org/willmot\">Tom Willmot</a>, <a href=\"http://profiles.wordpress.org/topher1kenobe\">Topher</a>, <a href=\"http://profiles.wordpress.org/torresga\">torresga</a>, <a href=\"http://profiles.wordpress.org/liljimmi\">Tracy Levesque</a>, <a href=\"http://profiles.wordpress.org/wpsmith\">Travis Smith</a>, <a href=\"http://profiles.wordpress.org/treyhunner\">treyhunner</a>, <a href=\"http://profiles.wordpress.org/umeshsingla\">Umesh Kumar</a>, <a href=\"http://profiles.wordpress.org/vinod-dalvi\">Vinod Dalvi</a>, <a href=\"http://profiles.wordpress.org/vlajos\">vlajos</a>, <a href=\"http://profiles.wordpress.org/westonruter\">Weston Ruter</a>, <a href=\"http://profiles.wordpress.org/winterdev\">winterDev</a>, <a href=\"http://profiles.wordpress.org/wojtekszkutnik\">Wojtek Szkutnik</a>, <a href=\"http://profiles.wordpress.org/yoavf\">Yoav Farhi</a>, <a href=\"http://profiles.wordpress.org/katzwebdesign\">Zack Katz</a>, <a href=\"http://profiles.wordpress.org/tollmanz\">Zack Tollman</a>, and <a href=\"http://profiles.wordpress.org/zoerooney\">Zoe Rooney</a>. Also thanks to <a href=\"http://michaelpick.wordpress.com/\">Michael Pick</a> for producing the release video, and Helen with <a href=\"http://adriansandi.com\">Adrián Sandí</a> for the music.</p>\\n<p>If you want to follow along or help out, check out <a href=\"http://make.wordpress.org/\">Make WordPress</a> and our <a href=\"http://make.wordpress.org/core/\">core development blog</a>. Thanks for choosing WordPress. See you soon for version 4.1!</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 17:05:39 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"WP iPhone: WordPress for iOS 4.3 Released\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://apps.wordpress.org/?p=2207\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"http://apps.wordpress.org/2014/09/04/4-3-release/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3735:\"<p>WordPress for iOS 4.3 is here! The download is available from the App Store. Here&#8217;s a glimpse at the latest updates:</p>\\n<h3>Various stats improvements</h3>\\n<p>We know you love checking your stats on the go, wherever you may be. On your Stats page, you can now see more details in the stats chart in your Visitors and Views. Just tap on any view &#8212; Days, Weeks, Months &#8212; and then click on a particular day, week, or month to view specific views and visitors stats for that item.</p>\\n\\n<a href=\"http://apps.wordpress.org/2014/09/04/4-3-release/photo-aug-26-9-37-51-am/\"><img width=\"84\" height=\"150\" src=\"http://wpmobileapps.files.wordpress.com/2014/08/photo-aug-26-9-37-51-am.png?w=84&h=150\" class=\"attachment-thumbnail\" alt=\"Stat details for a specific day, August 20\" /></a>\\n<a href=\"http://apps.wordpress.org/2014/09/04/4-3-release/photo-aug-26-9-39-06-am/\"><img width=\"84\" height=\"150\" src=\"http://wpmobileapps.files.wordpress.com/2014/08/photo-aug-26-9-39-06-am.png?w=84&h=150\" class=\"attachment-thumbnail\" alt=\"Stat details for the week of August 4\" /></a>\\n<a href=\"http://apps.wordpress.org/2014/09/04/4-3-release/photo-aug-26-9-38-57-am/\"><img width=\"84\" height=\"150\" src=\"http://wpmobileapps.files.wordpress.com/2014/08/photo-aug-26-9-38-57-am.png?w=84&h=150\" class=\"attachment-thumbnail\" alt=\"Stat details for July 2014\" /></a>\\n\\n<h3>Follow more sites in your Reader</h3>\\n<p>You can now follow a blog or website, on WordPress.com and elsewhere on the web, by adding its URL. In your Reader, click on the tag at the top right of the screen, and enter the URL of the site you&#8217;d like to follow:</p>\\n<p><a href=\"https://wpmobileapps.files.wordpress.com/2014/08/photo-aug-26-9-49-28-am.png\"><img class=\"alignnone size-medium wp-image-2214\" src=\"http://wpmobileapps.files.wordpress.com/2014/08/photo-aug-26-9-49-28-am.png?w=300&h=110\" alt=\"Photo Aug 26, 9 49 28 AM\" width=\"300\" height=\"110\" /></a></p>\\n<p>After you click &#8220;Done,&#8221; you&#8217;ll see a &#8220;Followed&#8221; message on the screen that confirms you&#8217;ve successfully followed the site.</p>\\n<h3>Other updates and fixes</h3>\\n<p>In addition, we&#8217;ve provided initial support for iOS 8 in preparation for upcoming features &#8212; we&#8217;re excited about what&#8217;s to come! We&#8217;ve also released numerous stability updates, including fixes for errors that affected some users, including a crash when opening the Reader, as well as an error for live chat users who were unable to follow up on their support requests.</p>\\n<p>As usual, we&#8217;re hard at work on the next release, which will include an iOS 8 &#8220;Today&#8221; extension to view stats, a major interface update for notifications and a limited rollout of a new WYSIWYG post editor.</p>\\n<p>Many thanks to the contributors who worked on this release: <a href=\"https://github.com/astralbodies\">Aaron Douglas</a>, <a href=\"https://github.com/irbrad\">Brad Angelcyk</a>, <a href=\"https://github.com/cyrilchandelier\">Cyril Chandelier</a>, <a href=\"https://github.com/roundhill\">Dan Roundhill</a>, <a href=\"https://github.com/davidfilip\">David Filip</a>, <a href=\"https://github.com/aerych\">Eric Johnson</a>, <a href=\"https://github.com/koke\">Jorge Bernal</a>, <a href=\"https://github.com/jleandroperez\">Jorge Leandro Perez</a>, <a href=\"https://github.com/bummytime\">Matt Bumgardner</a>, <a href=\"https://github.com/oguzkocer\">Oguz Kocer</a> and <a href=\"https://github.com/sendhil\">Sendhil Panchadsaram</a>.</p>\\n<p>If you have feedback, please leave a comment below or tweet us @WordPressiOS. Thanks!</p><img alt=\"\" border=\"0\" src=\"http://pixel.wp.com/b.gif?host=apps.wordpress.org&blog=62767514&post=2207&subd=wpmobileapps&ref=&feed=1\" width=\"1\" height=\"1\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 15:18:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Brad Angelcyk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"WordPress.tv Blog: WordPress.tv Weekly Staff Picks\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"http://blog.wordpress.tv/?p=369\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"http://blog.wordpress.tv/2014/09/04/wordpress-tv-weekly-staff-picks/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4078:\"<p>The past week (August 25-31, 2014) has brought with it a great collection of WordCamp videos for designers and developers alike.  If you&#8217;re looking to learn more about WordPress, these videos are a great way to level up!</p>\\n<h3>Loris Grillet: Selling Your Projects and Building the Perfect Client Relationship</h3>\\n<p>From <a href=\"http://wordpress.tv/event/wordcamp-switzerland-2014/\" title=\"Visit the WordCamp Switzerland event page on WordPress.tv\" target=\"_blank\">WordCamp Switzerland</a> (May 3-4, 2014) comes this great presentation by web and UX designer Loris Grillet on presenting design work and building a good relationship with clients.</p>\\n<div id=\"v-Be6CkbNN-1\" class=\"video-player\">\\n</div>\\n<p><a href=\"http://wordpress.tv/2014/08/25/loris-grillet-selling-your-projects-and-building-the-perfect-client-relationship/\" title=\"View Loris Grillet: Selling Your Projects and Building the Perfect Client Relationship\" target=\"_blank\">View on WordPress.tv</a></p>\\n<h3>Simon Owen: Optimising Your Front-End Workflow for WordPress</h3>\\n<p>For theme developers, this presentation from <a href=\"http://wordpress.tv/event/wordcamp-manchester-2014/\" title=\"Visit the WordCamp Manchester event page on WordPress.tv\" target=\"_blank\">WordCamp Manchester</a> (June 28-29, 2014) by Simon Owen covers the techniques, applications and shortcuts that he uses to help him when building WordPress themes.</p>\\n<div id=\"v-jtf0hlWq-1\" class=\"video-player\">\\n</div>\\n<p><a href=\"http://wordpress.tv/2014/08/29/simon-owen-optimising-your-front-end-workflow-for-wordpress/\" title=\"View Simon Owen: Optimising Your Front-End Workflow for WordPress on WordPress.tv\" target=\"_blank\">View on WordPress.tv</a></p>\\n<h3>Kevin Stover: The Candid Developer. Developing and Maintaining A Successful Plugin… Is Scary</h3>\\n<p>Also from <a href=\"http://wordpress.tv/event/wordcamp-manchester-2014/\" title=\"Visit the WordCamp Manchester event page on WordPress.tv\" target=\"_blank\">WordCamp Manchester</a> (June 28-29, 2014) comes this presentation from Kevin Stover that is an honest look at the very scary prospect of releasing a plugin to the public, and how to overcome that fear.</p>\\n<div id=\"v-1WQjXPlQ-1\" class=\"video-player\">\\n</div>\\n<p><a href=\"http://wordpress.tv/2014/08/29/kevin-stover-the-candid-developer-developing-and-maintaining-a-successful-plugin-is-scary-2/\" title=\"View Kevin Stover: The Candid Developer. Developing and Maintaining A Successful Plugin Is Scary on WordPress.tv\" target=\"_blank\">View on WordPress.tv</a></p>\\n<p>Of course, this is just a sampling of the great videos that are being published every day, so feel free to visit <a href=\"http://wordpress.tv\" title=\"Visit the WordPress.tv homepage\" target=\"_blank\">WordPress.tv</a> and expand your WordPress knowledge!</p>\\n<p>- Your WordPress.tv Moderator Squad</p><br />  <a rel=\"nofollow\" href=\"http://feeds.wordpress.com/1.0/gocomments/wptvblog.wordpress.com/369/\"><img alt=\"\" border=\"0\" src=\"http://feeds.wordpress.com/1.0/comments/wptvblog.wordpress.com/369/\" /></a> <img alt=\"\" border=\"0\" src=\"http://pixel.wp.com/b.gif?host=blog.wordpress.tv&blog=5310177&post=369&subd=wptvblog&ref=&feed=1\" width=\"1\" height=\"1\" /><div><a href=\"http://blog.wordpress.tv/2014/09/04/wordpress-tv-weekly-staff-picks/\"><img alt=\"Loris Grillet: Selling Your Projects and Building the Perfect Client Relationship\" src=\"http://videos.videopress.com/Be6CkbNN/loris-grillet-wcch14_scruberthumbnail_1.jpg\" width=\"160\" height=\"120\" /></a></div><div><a href=\"http://blog.wordpress.tv/2014/09/04/wordpress-tv-weekly-staff-picks/\"><img alt=\"Simon Owen: Optimising Your Front-End Workflow for WordPress\" src=\"http://videos.videopress.com/jtf0hlWq/video-365e1f5a2b_scruberthumbnail_0.jpg\" width=\"160\" height=\"120\" /></a></div><div><a href=\"http://blog.wordpress.tv/2014/09/04/wordpress-tv-weekly-staff-picks/\"><img alt=\"Kevin Stover: The Candid Developer. Developing and Maintaining A Successful Plugin… Is Scary\" src=\"http://videos.videopress.com/1WQjXPlQ/video-7fd062bfb2_scruberthumbnail_2.jpg\" width=\"160\" height=\"120\" /></a></div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 04 Sep 2014 01:01:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Jerry Bates\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:111:\"WPTavern: Critical Security Vulnerability Found in WordPress Slider Revolution Plugin, Immediate Update Advised\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29756\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:120:\"http://wptavern.com/critical-security-vulnerability-found-in-wordpress-slider-revolution-plugin-immediate-update-advised\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5906:\"<p>The security team at Sucuri <a href=\"http://blog.sucuri.net/2014/09/slider-revolution-plugin-critical-vulnerability-being-exploited.html\" target=\"_blank\">publicized a critical vulnerability</a> found in the WordPress Slider Revolution plugin recently. The bug has since been patched, but the development team for <a href=\"http://codecanyon.net/item/slider-revolution-responsive-wordpress-plugin/2751380\" target=\"_blank\">Slider Revolution</a> kept silent about it and did not notify their users of the importance of updating.</p>\\n<p>The popular commercial slider plugin is hosted on Codecanyon, an offshoot of <a href=\"http://market.envato.com/\" target=\"_blank\">EnvatoMarket</a>. The slider is bundled in theme packages, such as <a href=\"http://theme-fusion.com/avada/\" target=\"_blank\">Avada</a>, Themeforest&#8217;s top-selling theme. It&#8217;s also packaged with other popular <a href=\"http://marketblog.envato.com/general/affected-themes/\" target=\"_blank\">themes</a> such as <a href=\"http://themeforest.net/item/x-the-theme/5871901\" target=\"_blank\">X Theme</a>, <a href=\"http://themeforest.net/item/udesign-responsive-wordpress-theme/253220\" target=\"_blank\">uDesign</a>, and <a href=\"http://themeforest.net/item/jupiter-multipurpose-responsive-theme/5177775\" target=\"_blank\">Jupiter</a>, in addition to being used independently on thousands of websites.</p>\\n<h3>Details of the Vulnerability</h3>\\n<p>This is a nasty security vulnerability by which virtually anyone could easily gain access to your database credentials and everything else. It allows a remote attacker to download any file from the server, including the <em>wp-config.php</em> file, which gives the hacker full access to your site. Sucuri shared an example of how one might easily access a site&#8217;s wp-config file by exploiting the vulnerability:</p>\\n<p><code>http://victim.com/wp-admin/admin-ajax.php?action=revslider_show_image&#038;img=../wp-config.php</code></p>\\n<p>&#8220;This type of vulnerability is known as a Local File Inclusion (LFI) attack,&#8221; Sucuri explained. &#8220;The attacker is able to access, review, download a local file on the server.&#8221;</p>\\n<p>The Slider Revolution vulnerability was first disclosed via underground forums before the plugin&#8217;s author decided to patch it silently. A team of Bangladeshi hackers published a <a href=\"https://www.youtube.com/watch?v=8wlTaWnhSvQ\" target=\"_blank\">video</a> on Youtube, detailing how to exploit sites that are vulnerable.</p>\\n<p>The <a href=\"https://msisac.cisecurity.org/advisories/2014/2014-070.cfm\" target=\"_blank\">cyber advisory</a> issued on the security threat states that the vulnerability is being actively exploited in the wild. The vulnerability places small, medium, and large government and business entities at a high risk.</p>\\n<p>Sucuri analyzed <a href=\"http://cloudproxy.sucuri.net/\" target=\"_blank\">WAF</a> access logs and confirmed that today alone &#8220;there were 64 different IP addresses trying to trigger this vulnerability on more than 1,000 different websites within our environment.&#8221;</p>\\n<h3>Users Advised to Update Slider Revolution Immediately</h3>\\n<p>If you are using the Slider Revolution plugin on your site, you need to update immediately to avoid becoming a victim of this critical vulnerability. You should also scan your files and database for evidence of hacking and put <a href=\"http://codex.wordpress.org/Hardening_WordPress\" target=\"_blank\">hardening measures</a> in place to prevent future attacks.</p>\\n<p>Although the issue was fixed in version 4.2 of the plugin, issued February 25th, the changelog simply referenced a &#8220;security fix.&#8221; Users have since <a href=\"http://codecanyon.net/item/slider-revolution-responsive-wordpress-plugin/2751380/comments#comment_7681157\" target=\"_blank\">commented</a> on the product&#8217;s Codecanyon page to express outrage at not having been further notified:</p>\\n<blockquote><p>You should have let us know to update immediately. I am signed up for notifications of updates, but the only way I found out about this was through the Sucuri blog.</p></blockquote>\\n<p>The team at <a href=\"http://codecanyon.net/user/themepunch\" target=\"_blank\">ThemePunch</a>, the plugin&#8217;s creators, allegedly contacted multiple security companies for advice on the matter.</p>\\n<p>&#8220;We urgently discussed this security issue with leading Security Companies and we were strongly advised to go with a Silent Update,&#8221; a ThemePunch representative replied. They also referenced an auto update system that users can sign up for to receive notice in the future.</p>\\n<p>&#8220;We have an Update system for Auto Updates, for which you can register once you have purchased the item, which informs you about new updates.&#8221;</p>\\n<h3>The Risk of Using Free or Commercial Extensions Without Update Notifications</h3>\\n<p>If you are using a commercial plugin or theme that has no auto-update system or relies on email to notify you of updates, you need to be very proactive about keeping yourself informed.  A critical security vulnerability, such as the one reported for Slider Revolution, can easily take down your site(s) if you neglect updates. Theme authors don&#8217;t always update their bundled plugins and their users cannot take advantage of the auto update system provided by the plugin author.</p>\\n<p>This particular security threat wouldn&#8217;t put so many sites in danger if the Slider Revolution plugin was not bundled into themes. Bundling commercial plugins with themes tends to obscure the details of how users can get plugin updates. Even with an update notification system, users are made vulnerable by developers who patch silently and don&#8217;t make an effort to notify their user base about a critical security update. Users can protect themselves from situations like this by declining to purchase themes that bundle plugins/functionality.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 23:39:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:15;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"WPTavern: Tom McFarlin Launches Crowdfunding Campaign For PodsCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29684\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:76:\"http://wptavern.com/tom-mcfarlin-launches-crowdfunding-campaign-for-podscamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2467:\"<p>Running a conference is usually <a title=\"http://wptavern.com/the-hidden-savings-of-a-wordcamp-ticket\" href=\"http://wptavern.com/the-hidden-savings-of-a-wordcamp-ticket\">an expensive</a> endeavor. Scott Kingsley Clark is finding out personally as he continues to work towards putting on the first ever <a title=\"http://podscamp.org/\" href=\"http://podscamp.org/\">PodsCamp</a>, a <a title=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp\" href=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp\">conference devoted</a> to the <a title=\"http://pods.io/\" href=\"http://pods.io/\">Pods Framework</a>. Tom McFarlin hopes to ease budget concerns and has started a <a title=\"https://www.tilt.com/campaigns/podscamp\" href=\"https://www.tilt.com/campaigns/podscamp\">Crowd Tilt campaign</a> for PodsCamp.</p>\\n<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/PodsCampCrowdTilt.png\" rel=\"prettyphoto[29684]\"><img class=\"size-full wp-image-29750\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/PodsCampCrowdTilt.png?resize=667%2C447\" alt=\"Crowd Tilt Campaign For PodsCamp\" /></a>Crowd Tilt Campaign For PodsCamp\\n<p>The campaign is set to tilt at $1,500 with $3,000 being the target amount. According to the <a title=\"https://www.tilt.com/campaigns/podscamp/description\" href=\"https://www.tilt.com/campaigns/podscamp/description\">campaign description</a>, it offers an opportunity for people to give back to the project.</p>\\n<blockquote><p>Since the Pods team has given so much to WordPress in a variety of ways and since I <i>know</i> how generous the WordPress community is, I&#8217;d love to raise some money to help out with the finances of the conference.</p>\\n<p>No amount is too small. Seriously &#8211; $1.00 is helpful &#8211; but I know that Scott and his team are doing amazing things for WordPress, and I know that many of us are benefiting from it &#8211; or will benefit from it &#8211; in some way.</p></blockquote>\\n<p>An alternative to donating is to <a title=\"http://podscamp.org/tickets/\" href=\"http://podscamp.org/tickets/\">purchase a ticket</a> for $50 and attend the event. It&#8217;s October 3rd in Dallas, TX, and will focus on all things Pods. It&#8217;s the first time the entire development team will be in the same physical location.</p>\\n<p>If you&#8217;ve been thinking about donating to the Pods plugin, consider contributing to the campaign to help Clark put on a phenomenal conference.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 21:46:24 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:16;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:103:\"WPTavern: Gitium Provides Automatic Git Version Control and Deployment for WordPress Plugins and Themes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29556\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:113:\"http://wptavern.com/gitium-provides-automatic-git-version-control-and-deployment-for-wordpress-plugins-and-themes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3894:\"<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/gitium.jpg\" rel=\"prettyphoto[29556]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/gitium.jpg?resize=1025%2C481\" alt=\"gitium\" class=\"aligncenter size-full wp-image-29717\" /></a></p>\\n<p>One important trend surfacing this year is WordPress developers&#8217; growing desire to add git-based version control to their sites. It adds an extra layer of safety in case you need to revert changes. Version control also helps multi-person teams work together more efficiently on the same website.</p>\\n<p>Several plugin options are in the works in varying stages of development. While VersionPress <a href=\"http://wptavern.com/versionpress-misses-crowdfunding-goal-by-14-5k\" target=\"_blank\">missed its crowdfunding goal by $14.5K</a> and struggles to put out a working prototype, the <a href=\"http://wptavern.com/free-revisr-plugin-offers-git-management-for-wordpress\" target=\"_blank\">Revisr plugin</a> is open source and already available on WordPress.org.</p>\\n<p><a href=\"http://www.gitium.com/\" target=\"_blank\">Gitium</a> is a new plugin in beta, targeted specifically at adding version control for plugins and themes. It enables continuous deployment for WordPress and integrates with Github, Bitbucket, or Travis-CI.The plugin provides automatic git version control and deployment for WordPress extensions and also tracks code edits that originate in the plugin and theme editors.</p>\\n<p>Gitium was built by the folks at <a href=\"http://www.presslabs.com/\" target=\"_blank\">PressLabs</a>, a Romanian-based WordPress hosting company. It requires the git command line tool (minimum version of 1.7) installed on the server and the <a href=\"http://php.net/manual/en/function.proc-open.php\" target=\"_blank\">proc_open PHP function</a> enabled.</p>\\n<p>Gitium installs like a normal plugin and the settings page prompts the user to provide a URL for remote access to a Git repository via SSH, HTTPS, or Subversion. If you use <a href=\"https://github.com/\" target=\"_blank\">GitHub</a> or <a href=\"https://bitbucket.org/\" target=\"_blank\">Bitbucket</a>, you will need the key issued by Gitum for SSH key-based authentication to allow write access to your repository.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/gitium-settings.jpg\" rel=\"prettyphoto[29556]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/gitium-settings.jpg?resize=779%2C453\" alt=\"gitium-settings\" class=\"aligncenter size-full wp-image-29718\" /></a></p>\\n<p>Once configured, Gitium will monitor when you add, remove, update or change files in a plugin or theme. The plugin sets the WordPress logged-in user as the author of the commits. It allows for staging and production to follow different branches of the same repository. Code can be deployed using <code>git push</code>. In the event of a conflict, Gitium will overwrite the changes on the origin repository with the local changes- local modifications will always take precedence over remove ones.</p>\\n<p>Ordinarily, most of the code changes on a WordPress site happen within the context of plugins and themes. Gitium allows you to keep track of who changed what. At the moment, the plugin does not support WordPress multisite or submodules. If you need to track changes in both the files and database of your site, then <a href=\"http://wptavern.com/free-revisr-plugin-offers-git-management-for-wordpress\" target=\"_blank\">Revisr</a> might be a more suitable option for adding git-based version control to your site.</p>\\n<p>Gitium is licensed under the GPLv2 license. It is still in beta and is not yet ready for production use. Adventurous folks can download it for free from the <a href=\"http://www.gitium.com/\" target=\"_blank\">Gitium</a> website or check out the project on <a href=\"https://github.com/PressLabs/gitium\" target=\"_blank\">GitHub</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 19:06:11 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:17;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Matt: ALS Challenge Fails\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44069\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"http://ma.tt/2014/09/als-challenge-fails/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:394:\"<p><span class=\"embed-youtube\"></span></p>\\n<p>Pretty hilarious compilation of ALS Ice Bucket Challenges gone wrong. I&#8217;ve been challenged and it&#8217;s not going to happen, but <a href=\"http://www.alsa.org/donate/\">did make a donation to the foundation</a>. Really clever marketing, reminenscent of <a href=\"http://www.charitywater.org/\">charity: water&#8217;s</a> birthday campaigns.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 17:34:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:18;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"WP iPhone: WordPress Android App Version 3.1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://apps.wordpress.org/?p=2193\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:71:\"http://apps.wordpress.org/2014/09/03/wordpress-android-app-version-3-1/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3747:\"<p>The WordPress Android app version 3.1 is now available in the Google Play Store. This update brings robust statistics to the app experience, and makes keeping up with your favorite sites in the Reader even easier.</p>\\n<h1>Native Statistics Details</h1>\\n<p>Now, you can tap the bar chart in your Statistics to access more detailed stats. Tap a specific bar in the Days, Weeks, or Months views to see detailed data on your views and visitors.</p>\\n\\n<a href=\"http://apps.wordpress.org/?attachment_id=2228\"><img width=\"84\" height=\"150\" src=\"http://wpmobileapps.files.wordpress.com/2014/09/native-stats-day.png?w=84&h=150\" class=\"attachment-thumbnail\" alt=\"native-stats-day\" /></a>\\n<a href=\"http://apps.wordpress.org/?attachment_id=2229\"><img width=\"84\" height=\"150\" src=\"http://wpmobileapps.files.wordpress.com/2014/09/native-stats-week.png?w=84&h=150\" class=\"attachment-thumbnail\" alt=\"native-stats-week\" /></a>\\n<a href=\"http://apps.wordpress.org/?attachment_id=2230\"><img width=\"84\" height=\"150\" src=\"http://wpmobileapps.files.wordpress.com/2014/09/native-stats-month.png?w=84&h=150\" class=\"attachment-thumbnail\" alt=\"native-stats-month\" /></a>\\n\\n<h1>General Changes</h1>\\n<ul>\\n<li>Automatic refresh: Statistics and Reader post lists automatically refresh when you open the app, so you always see the newest data.</li>\\n<li>Improved Reader experience: To make interacting on the go easier, we added <a href=\"http://en.blog.wordpress.com/2014/08/07/introducing-comment-likes/\" target=\"_blank\">comment likes</a> to the Reader. You can also block blogs on Reader tag pages to customize your reading experience.</li>\\n<li>Updated blog preview. See screenshot below:</li>\\n</ul>\\n<p><a href=\"https://wpmobileapps.files.wordpress.com/2014/08/new-blog-preview2.png\"><img class=\"alignnone size-large wp-image-2205\" src=\"http://wpmobileapps.files.wordpress.com/2014/08/new-blog-preview2.png?w=720&h=352\" alt=\"new-blog-preview2\" width=\"720\" height=\"352\" /></a></p>\\n<p>&nbsp;</p>\\n<p>We&#8217;ve also temporarily disabled the live chat with Automattic support due to an issue with the library we&#8217;re using. We expect to re-enable it in the next version or two.</p>\\n<h1>Bug Fixes</h1>\\n<p>This version also comes with a bunch of bug fixes. Here&#8217;s a non-exhaustive list:</p>\\n<ul>\\n<li>Improved notifications synchronization, which sometimes got stuck.</li>\\n<li>Fixed the ability to follow a blog by its URL.</li>\\n<li>Fixed broken blockquote styling in the comments view.</li>\\n</ul>\\n<h1>What’s Next?</h1>\\n<p>A big thanks to all of the contributors who worked on this release: <a href=\"https://github.com/beaucollins\">@beaucollins</a>, <a href=\"https://github.com/daniloercoli\">@daniloercoli</a>, <a href=\"https://github.com/maxme\">@maxme</a>, <a href=\"https://github.com/mjangda\">@mjangda</a>, <a href=\"https://github.com/nbradbury\">@nbradbury</a>, <a href=\"https://github.com/roundhill\">@roundhill</a> and <a href=\"https://github.com/sendhil\">@sendhil</a>! You can keep up with the development progress for the next version by visiting <a href=\"https://github.com/wordpress-mobile/WordPress-Android/issues?q=is%3Aopen+is%3Aissue+milestone%3A3.2\">our 3.2 milestone on GitHub</a> or by following us on Twitter <a href=\"http://twitter.com/wpandroid\">@WPAndroid</a>.</p>\\n<p>Beta testers have access to beta versions with beta updates shipped directly through Google Play. The beta versions may have new features, new fixes, and possibly new bugs. If you want to join them, request access on our <a href=\"https://plus.google.com/communities/108813167297661427043\">Google+ Community</a>.</p><img alt=\"\" border=\"0\" src=\"http://pixel.wp.com/b.gif?host=apps.wordpress.org&blog=62767514&post=2193&subd=wpmobileapps&ref=&feed=1\" width=\"1\" height=\"1\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 14:30:16 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:6:\"Maxime\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:19;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"Matt: Downtown Vegas Podcast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44072\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://ma.tt/2014/09/downtown-vegas-podcast/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:430:\"<p>I&#8217;m a fan of Tony Hsieh&#8217;s <a href=\"http://downtownproject.com/\">Downtown Project</a> and try to do something with the community whenever I&#8217;m in town. On Thursday I&#8217;m going to be on the <a href=\"http://www.downtownpodcast.tv/\">Downtown Vegas Podcast</a> which will be filmed live at 9 pm at <a href=\"https://www.facebook.com/inspirelv\">Inspire Theatre</a>. Please come by if you&#8217;re in the area!</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 03 Sep 2014 06:55:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:20;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:62:\"WPTavern: Sprout Apps Launches Free WordPress Invoicing Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29553\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:72:\"http://wptavern.com/sprout-apps-launches-free-wordpress-invoicing-plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4837:\"<p>Last month, <a href=\"https://sproutapps.co/\" target=\"_blank\">Sprout Apps</a> announced that it would soon be <a href=\"http://wptavern.com/sprout-apps-to-launch-a-suite-of-wordpress-powered-apps-targeted-at-freelancers-and-small-businesses\" target=\"_blank\">launching a suite of business apps</a> targeted at WordPress freelancers and small businesses. While the company is still in pre-launch operations, <a href=\"http://wordpress.org/plugins/sprout-invoices/\" target=\"_blank\">Sprout Invoices</a> was just released on WordPress.org as part of the launch plan.</p>\\n<p><a href=\"http://dancameron.org/\" target=\"_blank\">Dan Cameron</a>, the founder of Sprout Apps, believes there are some distinct advantages to managing common business-related tasks in the admin. The Sprout Apps product suite aims to streamline and brand all client communications, making your WordPress site the center of activity for your business. Cameron hopes that users will opt for a homegrown WordPress solution that fits right into their websites, instead of relegating business tasks to third-party applications with narrow customization options.</p>\\n<p>The <a href=\"http://wordpress.org/plugins/sprout-invoices/\" target=\"_blank\">Sprout Invoices</a> plugin unifies the workflow of estimate creation and invoice management. It allows you to receive estimate requests via a default form, or you can integrate it with Gravity Forms or Ninja Forms. The plugin automatically creates estimates based on the requests you receive and you can easily manage their status in the admin:</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/easy-estimate-management.png\" rel=\"prettyphoto[29553]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/easy-estimate-management.png?resize=1025%2C705\" alt=\"easy-estimate-management\" class=\"aligncenter size-full wp-image-29660\" /></a></p>\\n<p>Once an estimate is accepted, the plugin automatically generates the invoice to speed up the process of being paid. Sprout Invoicing has built-in support for deposit payments.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/sprout-invoice.png\" rel=\"prettyphoto[29553]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/sprout-invoice.png?resize=1025%2C795\" alt=\"sprout-invoice\" class=\"aligncenter size-full wp-image-29662\" /></a></p>\\n<p>Sprout Invoicing allows for custom estimate and invoice templates, which you can brand for your business via a standards WordPress theme template. Notification editing allows for plain-text or HTML, so you can also match the branding in your email communications.</p>\\n<p>The plugin&#8217;s dashboard lets you know how your business is doing at a glance, with charts and summaries:</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/sprout-invoicing-dashboard.gif\" rel=\"prettyphoto[29553]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/sprout-invoicing-dashboard.gif?resize=606%2C342\" alt=\"sprout-invoicing-dashboard\" class=\"aligncenter size-full wp-image-29665\" /></a></p>\\n<p>Sprout Invoicing also includes dynamic reports, which allow for date filtering, sorting, search, and exporting &#8211; all of the features you would normally expect from your standard invoicing app.</p>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/dynamic-reports.gif\" rel=\"prettyphoto[29553]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/dynamic-reports.gif?resize=606%2C342\" alt=\"dynamic-reports\" class=\"aligncenter size-full wp-image-29666\" /></a></p>\\n<p>The free Sprout Invoicing plugin allows you to accept payment via Paypal Pro or send customers to Paypal to pay invoices. The <a href=\"https://sproutapps.co/marketplace/\" target=\"_blank\">Sprout App marketplace</a> includes additional upgrades and payment add-ons.</p>\\n<p>Sprout Invoicing features at a glance include:</p>\\n<ul>\\n<li>Advanced Estimate and Invoice Admin</li>\\n<li>200+ filters and actions for hooking into the plugin and altering anything</li>\\n<li>Customizable invoice and estimate templates</li>\\n<li>Discounts</li>\\n<li>Deposit Payments</li>\\n<li>Taxes</li>\\n<li>Client records with multiple points of contact</li>\\n<li>Nested line items</li>\\n<li>Pre-defined tasks/line items</li>\\n<li>AJAX throughout to speed up workflow</li>\\n</ul>\\n<p>In the future, Cameron plans to add importing from WP-Invoice, Harvest, and Freshbooks. Other major features on the roadmap include time tracking, recurring payments, and payment terms.</p>\\n<p>If you are currently using commercial invoicing software and want to save your small business a little bit of cash, Sprout Invoices looks like a promising WordPress-based alternative. You can <a href=\"http://wordpress.org/plugins/sprout-invoices/\" target=\"_blank\">download</a> it for free from WordPress.org.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 22:00:08 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:21;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:49:\"WPTavern: The Hidden Savings Of a WordCamp Ticket\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29602\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wptavern.com/the-hidden-savings-of-a-wordcamp-ticket\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:12345:\"<p>When we wrote about tickets going on sale for the <a title=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp\" href=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp\">first ever PodsCamp</a>, some folks commented that <a title=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp#comment-58410\" href=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp#comment-58410\">$50 was too much</a> for a one day event, especially when compared to a WordCamp. I agree with <a title=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp#comment-58440\" href=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp#comment-58440\">Sarah Pressler who said</a>, &#8220;WordCampers are spoiled by the $20-40 fees associated with WordCamps.&#8221;</p>\\n<p>To see how spoiled the WordPress community is in having the WordPress Foundation, WordCamp Central pillar sponsors, and <a title=\"http://central.wordcamp.org/multi-event-sponsorship-packages/\" href=\"http://central.wordcamp.org/multi-event-sponsorship-packages/\">Multi-Event Sponsors</a> foot most of the bill for WordCamps, I compared their prices with other conferences. I also discovered through public budget reports that ticket prices are 2-4 times cheaper than what the total amount of expenses are per attendee.</p>\\n<h2>Joomla Conferences</h2>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/Joomla-Logo.png\" rel=\"prettyphoto[29602]\"><img class=\"aligncenter size-full wp-image-29604\" src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/Joomla-Logo.png?resize=1025%2C260\" alt=\"Joomla Logo\" /></a></p>\\n<p>Joomla has two different types of conferences. One is called <a title=\"http://docs.joomla.org/JoomlaDays\" href=\"http://docs.joomla.org/JoomlaDays\">Joomla Day</a> while the other is <a title=\"http://events.joomla.org./joomla-conferences/699-joomla-world-conference\" href=\"http://events.joomla.org./joomla-conferences/699-joomla-world-conference\">Joomla World</a>. Joomla Day is a 1-3 day event, similar to WordCamps. They&#8217;re held all over the world. Based on my research, prices for events based in the United States range from $20-$80.</p>\\n<p>Joomla World is similar to WordCamp San Francisco in that its a once a year, unique experience in addition to learning about Joomla from premiere speakers. The location of Joomla World changes every year.</p>\\n<p>This year, it&#8217;s in Grand Oasis Cancun, Mexico, November 7th-9th. Early bird tickets are $199 while standard tickets are $299. The 3-day pass includes access to all the sessions from Friday through Sunday. Food and accommodations are <strong>NOT</strong> included with the ticket.</p>\\n<p>According to the <a title=\"http://events.joomla.org./how-to-organize-a-joomla-day\" href=\"http://events.joomla.org./how-to-organize-a-joomla-day\">Joomla events website</a>, <a title=\"http://opensourcematters.org/\" href=\"http://opensourcematters.org/\">Open Source Matters</a> will provide $2,500 in funding to first time Joomla Days. For subsequent annual events, OSM will provide $1,500 in financial support.</p>\\n<h2>Drupal Conferences</h2>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/drupal_logo-blue.png\" rel=\"prettyphoto[29602]\"><img class=\"aligncenter size-full wp-image-29657\" src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/drupal_logo-blue.png?resize=620%2C249\" alt=\"Drupal Logo\" /></a></p>\\n<p>Drupal also has two different conference types, Drupal Camp and DrupalCon. A <a title=\"https://www.drupal.org/node/247972\" href=\"https://www.drupal.org/node/247972\">Drupal Camp</a> is similar to WordCamp in that it&#8217;s a 1-2 day event that focuses on many aspects of Drupal in one location. DrupalCon is the official conference of the Drupal Community.</p>\\n<p>Tickets for DrupalCon Austin, TX, that took place June 2nd-6th ranged in price depending on when you purchased them. Here&#8217;s what the ticket price break down looks like.</p>\\n<ul>\\n<li>Earlybird     $400     ends April 4</li>\\n<li>Regular        $500     ends May 2</li>\\n<li>Late              $550     ends May 30</li>\\n<li>Onsite          $600     ends June 5</li>\\n</ul>\\n<p>These are the average prices for a DrupalCon held in the United States. A ticket to DrupalCon Austin would have given you access to a daily lunch and morning coffee break, most of the event, and swag items. Drupal Camps on the other hand average $20 for admission. The ticket price includes food and swag items.</p>\\n<p><a title=\"http://www.acquia.com/\" href=\"http://www.acquia.com/\">Acquia</a> is the commercial entity that supports the Drupal project and is the top-tier sponsor for most DrupalCons. Similar to WordPress and Joomla, <a title=\"https://assoc.drupal.org/\" href=\"https://assoc.drupal.org/\">Drupal has an association</a> dedicated to helping the open-source CMS project flourish. Unlike Joomla and WordPress, the Drupal Association does not help with the fiscal responsibilities of Drupal Camps.</p>\\n<h2>Everyone Sees Value Differently</h2>\\n<a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/PodsCampFeaturedImage.png\" rel=\"prettyphoto[29602]\"><img class=\"size-full wp-image-29491\" src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/PodsCampFeaturedImage.png?resize=697%2C284\" alt=\"The First Ever Podscamp\" /></a>The First Ever Podscamp\\n<p>The only person that determines whether a conference is worth the price of admission is the attendee. On price alone, WordCamps are substantially more affordable than several other conferences related to open source software. This is in large part due to the financial support provided by the <a title=\"http://wordpressfoundation.org/\" href=\"http://wordpressfoundation.org/\">WordPress Foundation, </a> <a title=\"http://central.wordcamp.org/sponsorship-level/wordcamp-pillar/\" href=\"http://central.wordcamp.org/sponsorship-level/wordcamp-pillar/\">WordCamp Pillar Sponsors</a>, and <a title=\"http://central.wordcamp.org/multi-event-sponsorship-packages/\" href=\"http://central.wordcamp.org/multi-event-sponsorship-packages/\">Multi-Event Sponsors</a>.</p>\\n<p>While Scott Kingsley Clark would love to have <a title=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp#comment-58437\" href=\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp#comment-58437\">PodsCamp be free to attend</a>, the costs associated with the event prohibit it from happening. Since it&#8217;s a separate event from WordCamp, Clark doesn&#8217;t have access to the funds WordCamps enjoy. Instead, he&#8217;s relying on sponsors to help offset the costs so everything is not out of his pocket.</p>\\n<p>Again, value is determined by an individual but for $50, you get food, a full day of sessions devoted to Pods, and face to face access with the entire development team. I think $50 is a bargain, especially for those who use Pods extensively.</p>\\n<h2>Should Open Source Conferences Be Free?</h2>\\n<p>There is a line of thought that open source conferences should be free to attend. Steve Burge, of OSTraining.com, <a title=\"https://www.ostraining.com/blog/general/open-source-event-free/\" href=\"https://www.ostraining.com/blog/general/open-source-event-free/\">explains why</a>.</p>\\n<blockquote><p>If you want to increase the number of people using your software, you should leverage your event to attract as many people as you possibly can.</p>\\n<p>If you charge $50 or more, you&#8217;ll only ever attract the same old people. If you want to attract new people, try and remove all barriers that might stop them from attending.</p></blockquote>\\n<p>Burge goes on to list a few different ways offering free tickets can work. I&#8217;ve never organized a WordCamp myself but have spoken to many who have. Several of them have told me the cost of the venue is the most expensive part of the event. Food and beverages are typically the second largest expense. Swag items are not as expensive as you might think since they are purchased in bulk.</p>\\n<p>I don&#8217;t think what Burge describes is likely to happen for WordCamps. Part of the reason is expectations. The other is that because of the <a title=\"http://plan.wordcamp.org/\" href=\"http://plan.wordcamp.org/\">WordCamp guidelines</a>, several of the events are <em>cookie cutter</em> in nature. By upping the ante with a bigger after party or extravagant offerings, WordCamps can differentiate themselves. It&#8217;s possible the cost of differentiating the event will generate more expensive tickets unless it&#8217;s offset by a sponsorship.</p>\\n<p>One item Burge doesn&#8217;t mention in his post is the incentive given to people who pay for a ticket. The <a title=\"http://plan.wordcamp.org/planning-details/selling-tickets/\" href=\"http://plan.wordcamp.org/planning-details/selling-tickets/\">WordCamp planning site</a> explains the benefits of charging a small fee.</p>\\n<blockquote><p>We think of WordCamp tickets not as being comparable to conference tickets (for many WordCamp lineups, you’d have to pay hundreds of dollars at a regular conference), but as being just enough to get people out of bed on that sleepy WordCamp morning.</p>\\n<p>Typical prices run about $15-20 per day, which basically covers lunch and a t-shirt, leaving you to cover the additional event costs through <a title=\"Fundraising\" href=\"http://plan.wordcamp.org/planning-details/fundraising/\">fundraising</a>. If you think you need to charge more than $20 per day, chances are there’s something going on your budget that can be adjusted.</p></blockquote>\\n<h2>WordCamp Budgets Show How Much Money We&#8217;re Saving On Ticket Prices</h2>\\n<a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/06/CashRegisterFeaturedImage.png\" rel=\"prettyphoto[29602]\"><img class=\"size-full wp-image-25380\" src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/06/CashRegisterFeaturedImage.png?resize=637%2C200\" alt=\"Cash Register Featured Image\" /></a>photo credit: <a href=\"http://www.flickr.com/photos/jalevega/8733967750/\">Historias Visuales</a> &#8211; <a href=\"http://creativecommons.org/licenses/by-nc-sa/2.0/\">cc</a>\\n<p>At least a few WordCamps have their budget reports available for public viewing. The numbers that jump out at me are the total expenses per attendee.</p>\\n<ul>\\n<li><a title=\"http://2013.london.wordcamp.org/2014/04/30/wordcamp-london-2013-budget/\" href=\"http://2013.london.wordcamp.org/2014/04/30/wordcamp-london-2013-budget/\">WordCamp London 2013</a></li>\\n<li><a title=\"https://docs.google.com/spreadsheet/ccc?key=0ArMhzS3WJ97adExMLXZBbDVrVkxKZks2c1BhWGdQc3c&usp=sharing\" href=\"https://docs.google.com/spreadsheet/ccc?key=0ArMhzS3WJ97adExMLXZBbDVrVkxKZks2c1BhWGdQc3c&usp=sharing\">WordCamp Milwaukee 2014</a></li>\\n<li><a title=\"http://2013.sf.wordcamp.org/2013/04/07/the-wordcamp-san-francisco-budget-or-how-i-learned-to-stop-worrying-and-love-the-spreadsheet/\" href=\"http://2013.sf.wordcamp.org/2013/04/07/the-wordcamp-san-francisco-budget-or-how-i-learned-to-stop-worrying-and-love-the-spreadsheet/\">WordCamp San Francisco 2013</a></li>\\n<li><a title=\"http://www.wordcamphouston.com/2010-wordcamp-budget/\" href=\"http://www.wordcamphouston.com/2010-wordcamp-budget/\">WordCamp Houston 2010</a></li>\\n</ul>\\n<p>Both WordCamp San Francisco and Milwaukee had a total expense amount close to $83 per attendee. This means both events would have needed to charge attendees $84 to put on the event without financial support from external sources. WCSF charged $20 per day per person while Milwaukee charged $25 for Saturday and Sunday. Thanks to sponsorships and the WordPress Foundation, attendees saved anywhere from $40-$60 per ticket.</p>\\n<h2>WordCamps Need To Keep Ticket Prices Low</h2>\\n<p>The biggest point Burge makes in his post and something I agree with is that the more affordable conferences are, the more people who can attend them. I&#8217;d hate to see average WordCamp prices between $50-$80 for 1-2 days of learning. More expensive WordCamps would cause exclusivity which is against the ethos of WordPress.</p>\\n<p>I&#8217;d love to hear from WordCamp organizers on ideas or steps you&#8217;ve taken to get more people with low income levels to attend your event. I&#8217;m also interested to know if you offer free tickets to college students or members of non-profit organizations.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 21:12:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:22;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Saga: A Free WordPress Theme for Writers from Theme Hybrid\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29076\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"http://wptavern.com/saga-a-free-wordpress-theme-for-writers-from-theme-hybrid\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4333:\"<p>When Theme Hybrid <a href=\"http://wptavern.com/stargazer-a-free-design-specific-parent-theme-for-wordpress\" target=\"_blank\">launched its Stargazer theme</a>, the idea of a design-specific parent theme that would provide limitations landed in stark contrast to the super generic, all-encompassing themes that permeate the market. You&#8217;ve probably seen themes marketed as &#8220;the last WordPress theme you&#8217;ll ever need.&#8221; They kinds of themes purport to have so much flexibility that they can be suitable for any kind of website. Stargazer was launched as the exact opposite.</p>\\n<p>Justin Tadlock is aiming to restore the original design for the relationship between parent and child themes. His post on <a href=\"http://themehybrid.com/weblog/designing-the-box\" target=\"_blank\">Designing in a Box</a> further explains the philosophy behind child themes with limitations where the parent theme houses the majority of the design. The Stargazer experiment inspired a flurry of child themes. It represented a shift in how Theme Hybrid themes are built and its overwhelming success prompted Tadlock to create another.</p>\\n<p><a href=\"http://themehybrid.com/weblog/saga-wordpress-theme\" target=\"_blank\">Saga</a> is the next parent theme in Theme Hybrid&#8217;s revolution. It was designed specifically for writers and has been stripped of anything that would distract from the content.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/saga.png\" rel=\"prettyphoto[29076]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/09/saga.png?resize=880%2C660\" alt=\"saga\" class=\"aligncenter size-full wp-image-29607\" /></a></p>\\n<p>The theme was designed with careful attention to typography, since it focuses on the written word. The homepage and single posts display big, bold featured images. The customizer offers custom color options and a header icon option with 400+ icons to choose from. Navigation is mobile-friendly and hidden until clicked.</p>\\n<p>Saga seamlessly integrates with several of Tadlock&#8217;s free plugins for further customization, including <a href=\"http://themehybrid.com/plugins/custom-background-extended\" target=\"_blank\">Custom Background Extended</a>, <a href=\"http://themehybrid.com/plugins/grid-columns\" target=\"_blank\">Grid Columns</a>, and <a href=\"http://themehybrid.com/plugins/custom-header-extended\" target=\"_blank\">Custom Header Extended</a> for per-post headers and backgrounds.</p>\\n<p>The theme is compatible with Philip Author Moore’s new <a href=\"http://wptavern.com/new-plugin-adds-subtitles-to-wordpress-posts-pages-and-custom-post-types\" target=\"_blank\">Subtitles</a> plugin, which offers an elegant and portable way to include subtitles even if you change themes.</p>\\n<p>Saga also includes beautiful support for post formats with a unique design for each format.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/saga-post-formats.png\" rel=\"prettyphoto[29076]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/saga-post-formats.png?resize=970%2C540\" alt=\"saga-post-formats\" class=\"aligncenter size-full wp-image-29625\" /></a></p>\\n<p>Check out a <a href=\"http://locallylost.com/saga/\" target=\"_blank\">live demo</a> of Saga to see the theme in action.</p>\\n<h3>Build a Saga Child Theme</h3>\\n<p>If you want to build a child theme for Saga, the barrier for entry is intentionally low so that new theme developers can easily get started experimenting. &#8220;Like Stargazer, you can literally build a custom child theme for Saga with just a few lines of code,&#8221; Tadlock said. Child theme authors who submit their themes to Theme Hybrid and WordPress.org will receive a free, lifetime membership to Theme Hybrid. You&#8217;ll also receive a detailed technical review from Tadlock and the WordPress Theme Review Team, which will help you refine your skills as a theme author.</p>\\n<p>Even if you&#8217;re not planning on building a child theme, Saga is beautiful without any modifications. It offers writers a unique design for sharing stories while keeping the focus on the content. If your blog needs a design refresh, you can <a href=\"http://themehybrid.com/themes/saga\" target=\"_blank\">download Saga</a> for free from Theme Hybrid. It will also be arriving soon on WordPress.org, pending approval.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 18:32:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:23;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:78:\"WPTavern: WordPress Plugin Boilerplate 3.0 Released with New Community Website\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29559\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:88:\"http://wptavern.com/wordpress-plugin-boilerplate-3-0-released-with-new-community-website\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:6679:\"<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/wppb.png\" rel=\"prettyphoto[29559]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/09/wppb.png?resize=1025%2C482\" alt=\"wppb\" class=\"aligncenter size-full wp-image-29572\" /></a></p>\\n<p>Version 3.0 of the <a href=\"https://github.com/tommcfarlin/WordPress-Plugin-Boilerplate\" target=\"_blank\">WordPress Plugin Boilerplate</a> was released today. The open source project was started in 2011 by Tom McFarlin as a GitHub repository for storing code while he learned plugin development. Over the past three years, the boilerplate has matured beyond his expectations with the help of 39 contributors. It now has more than 1800 stars on GitHub and a brand new logo and <a href=\"http://wppb.io/\" target=\"_blank\">website</a>.</p>\\n<h3>What&#8217;s New in 3.0?</h3>\\n<p>The 3.0 release constitutes a major rewrite of the boilerplate. The primary objective of the project is to provide a standardized, object-oriented starting place for building high quality plugins.</p>\\n<p>&#8220;In the new version, we&#8217;ve broken things down into a very, very specific organizational structure,&#8221; McFarlin explained. &#8220;It&#8217;s much more object-oriented than it&#8217;s predecessor, the code doesn&#8217;t include a lot of TODO&#8217;s. Instead, the comments give developers guidance as to what a variable or a function should be doing when using the Boilerplate.&#8221;</p>\\n<p>As developers implement their own work using the boilerplate, they are encouraged to overwrite the comments that are included as a guide.</p>\\n<p>McFarlin and contributors made every effort to ensure that the code in version 3.0 conforms to WordPress&#8217; <a href=\"http://codex.wordpress.org/WordPress_Coding_Standards\" target=\"_blank\">coding standards</a> and its <a href=\"http://codex.wordpress.org/Inline_Documentation\" target=\"_blank\">inline documentation standards</a>.</p>\\n<p>The plugin boilerplate now includes classes that are responsible for everything. There are classes for:</p>\\n<ul>\\n<li>Plugin activation</li>\\n<li>Plugin deactivation</li>\\n<li>Plugin Internationalization</li>\\n<li>A class that&#8217;s used to register all hooks with WordPress</li>\\n<li>A core plugin class</li>\\n<li>Some use of common object-oriented design paradigms</li>\\n<li>A specific location for dashboard-related functionality, styles, and scripts</li>\\n<li>A location for public-facing styles, and scripts</li>\\n<li>A location for shared code (be it libraries or not)</li>\\n<li>A template for a plugin readme</li>\\n<li>A directory structure that mimics the WordPress Plugin Repository&#8217;s Subversion directory</li>\\n<li>Places for screenshots, banner images, and even the <a href=\"http://wptavern.com/wordpress-4-0-adds-custom-icons-to-the-plugin-installer\" target=\"_blank\">custom icons</a> that were just announced for WordPress 4.0</li>\\n</ul>\\n<p>The new directory structure is now broken down into assets and trunk directories:</p>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/wppb-directory-structure.png\" rel=\"prettyphoto[29559]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/09/wppb-directory-structure.png?resize=884%2C620\" alt=\"wppb-directory-structure\" class=\"aligncenter size-full wp-image-29580\" /></a></p>\\n<p>One of the most exciting updates to 3.0 is that this version of the boilerplate can be installed and activated like a regular plugin, making it easier for new plugin developers to get started. &#8220;It doesn&#8217;t introduce any functionality into WordPress,&#8221; McFarlin explained. &#8220;But there are two sample JavaScript files that show how to use the core Boilerplate code to get started.&#8221;</p>\\n<h3>The Future of the WordPress Plugin Boilerplate: Expanded Documentation and Community</h3>\\n<p>Version 3.0 omits the <a href=\"https://github.com/afragen/github-updater\" target=\"_blank\">Github Updater</a>, which was part of previous versions. The reason behind this change is that McFarlin wanted to scale back the boilerplate&#8217;s contents in order to offer only the bare essentials to get started.</p>\\n<p><strong>&#8220;I want to start up Editions (or basically forks) of the Boilerplate that are tailored to those who like to use Grunt or Composer or those who want to include the GitHub updater in the plugin,&#8221;</strong> he said. &#8220;Personally, I&#8217;m a big fan of it and I use it in a number of my plugins, but I didn&#8217;t want to build it into this version when it can just as easily be added by someone else&#8217;s fork.&#8221;</p>\\n<p>With the new website and branding in place, McFarlin hopes to develop the community behind the project. &#8220;Hopefully, having a face to relate to the Boilerplate will help elevate it beyond just a miscellaneous GitHub repository,&#8221; he said. &#8220;A domain, a logo, branding, and all of that stuff can go a long way in helping others to associate a project with an idea and a group of people more than an open source repository and a README could ever do.&#8221;</p>\\n<p>McFarlin plans to expand the boilerplate&#8217;s documentation on the website and grow a community where developers can share ideas and forks that they&#8217;ve created for specific use cases, such as WordPress multisite.</p>\\n<p>Appealing to new developers is also part of the goal for the new website. <strong>&#8220;I want to make the Boilerplate more accessible &#8211; GitHub is great, but it&#8217;s great if you&#8217;re a programmer,&#8221;<strong> McFarlin said. &#8220;If not, it&#8217;s really intimidating and people have no idea how to get started with contributing to a project.&#8221;</p>\\n<p>The boilerplate website will serve to provide documentation, example code, and an explanation of how people can get involved contributing to the project. McFarlin is even considering adding courses, editions, and a forum. &#8220;To be honest, I&#8217;ve even considered holding online events where people can pay to learn how to use the Boilerplate for certain things, though this and all of the other things are so far on the backburner that it&#8217;s hard to envision how it&#8217;s going to play out right now,&#8221; he said.</p>\\n<p>Over the years, the community surrounding the boilerplate has helped to shape its future and McFarlin is committed to move the project in a direction that continues to serve WordPress plugin developers.</p>\\n<p>&#8220;I think the one thing that I never expect to hear, yet never get tired of hearing, is: <em>&#8216;I didn&#8217;t know how to write a plugin or where to start until I found the Boilerplate,&#8217;</em>&#8221; he said. &#8220;That&#8217;s a really great feeling.&#8221;</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 02 Sep 2014 14:41:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:24;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"Matt: Fight Club A/B Testing\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44063\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"http://ma.tt/2014/09/fight-club-abtesting/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:221:\"<p>Luca Sartoni writes <a href=\"http://lucasartoni.com/2014/08/28/the-rules-of-ab-testing-by-tyler-durden/\">The Rules of A/B Testing by Tyler Durden</a>. &#8220;1st Rule: You don&#8217;t talk about A/B Testing.&#8221;</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 01 Sep 2014 15:39:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:25;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"Akismet: August Stats Roundup\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"http://blog.akismet.com/?p=1680\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:56:\"http://blog.akismet.com/2014/09/01/august-stats-roundup/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3819:\"<div id=\"attachment_1681\" class=\"wp-caption alignright\"><img class=\"wp-image-1681 size-medium\" src=\"http://akismet.files.wordpress.com/2014/09/harry_potter_stack_of_books.jpg?w=240&h=300\" alt=\"Harry Potter stack of books\" width=\"240\" height=\"300\" /><p class=\"wp-caption-text\"><a href=\"https://www.flickr.com/photos/angelic0devil6/865080396\">&#8220;Potter II&#8221; by </a><a href=\"https://www.flickr.com/photos/angelic0devil6/\">L. Whittaker</a><a href=\"https://www.flickr.com/photos/angelic0devil6/865080396\"> is licensed under </a><a href=\"https://creativecommons.org/licenses/by/2.0/\">CC BY 2.0</a></p></div>\\n<p><em>This post is part of a monthly series summarizing some stats and figures from the Akismet universe. Feel free to browse <a href=\"http://blog.akismet.com/category/monthly-roundup/\">all of the posts in the series</a>.</em></p>\\n<p>In August, there were 7,203,785,500 pieces of spam that came through Akismet. <strong>If each piece of spam were one word, it would take 6645 copies of the Harry Potter series to accomodate them all.</strong></p>\\n<p>Here&#8217;s a breakdown of the number of spam and legitimate comments (what we call ham) we saw last month:</p>\\n<div id=\"attachment_1682\" class=\"wp-caption alignnone\"><a href=\"https://akismet.files.wordpress.com/2014/09/akismet-spam-and-ham-stats-aug-2014.png\"><img class=\"wp-image-1682 size-large\" src=\"http://akismet.files.wordpress.com/2014/09/akismet-spam-and-ham-stats-aug-2014.png?w=700&h=436\" alt=\"Akismet spam and ham stats Aug 2014\" /></a><p class=\"wp-caption-text\">Our busiest day was August 21, with about 269 million spam messages, and the slowest day was August 3 with 173 million. We missed only about 1 in every 5,916 spams.</p></div>\\n<p>The number of spam message is up 92% from last year, which is a similar large rise we&#8217;ve seen in previous months. It&#8217;s also up from last month by 28%.</p>\\n<p>The number of legimate messages that went through this month is 33,377,8500. <strong>If each legitimate comment was a word, they&#8217;d only fill 307 copies of the Harry Potter series.</strong> The amount of legitimate content going around is only about 4% &#8211; and the large difference is business as usual.</p>\\n<p>As always, if your own missed spam or false positive numbers are on the rise, we&#8217;d love to help. You can reach out through our <a href=\"http://akismet.com/contact/\">contact form</a>.</p>\\n<p>August was a big month in the spam universe, three services were in the news. Google added new spam filtering support to Gmail &#8211; you can find more info on <a href=\"http://www.pcworld.com/article/2464440/google-tightens-gmail-spam-filtering.html\">PC World</a>. Twitter <a href=\"https://blog.twitter.com/2014/fighting-spam-with-botmaker\">announced</a> its new spam filtering system, BotMaker. And, Apple&#8217;s iMessage seems to have been hit with a bout of spam. Wired <a href=\"http://www.wired.com/2014/08/apples-imessage-is-being-taken-over-by-spammers/\">explained why</a>, though MacWorld showed us why the numbers <a href=\"http://www.macworld.com/article/2597429/hold-the-phone-imessage-spam-not-all-its-cracked-up-to-be.html\">may not in fact be so dire</a>.</p>\\n<p>And now for a question for the readers: <strong>what other data tidbits would you like to see mentioned or discussed in these monthly spam reports?</strong> We&#8217;d love to hear from you, and accomodate where we can <span class=\"wp-smiley emoji emoji-smile\" title=\":)\">:)</span></p><br />  <a rel=\"nofollow\" href=\"http://feeds.wordpress.com/1.0/gocomments/akismet.wordpress.com/1680/\"><img alt=\"\" border=\"0\" src=\"http://feeds.wordpress.com/1.0/comments/akismet.wordpress.com/1680/\" /></a> <img alt=\"\" border=\"0\" src=\"http://pixel.wp.com/b.gif?host=blog.akismet.com&blog=116920&post=1680&subd=akismet&ref=&feed=1\" width=\"1\" height=\"1\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 01 Sep 2014 05:43:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Valerie\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:26;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"Matt: You Can’t Tell This is 3D Rendered\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44052\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:29:\"http://ma.tt/2014/08/ikea-3d/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:442:\"<p><img class=\"aligncenter size-full wp-image-44057\" src=\"http://i2.wp.com/s.ma.tt/files/2014/08/2014-08-27-ikea-3d-01.jpg?resize=604%2C411\" alt=\"\" /></p>\\n<p>Khoi Vinh writes about <a href=\"http://www.subtraction.com/2014/08/27/ikea-is-selling-you-a-pack-3d-rendered-of-lies/\">How 75% of the real-looking photographs you see in an Ikea catalog are actually 3d-rendered</a>. <cite>Hat tip: <a href=\"http://hfz.im/\">Hafiz Rahman</a>.</cite></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 31 Aug 2014 15:29:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:27;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Matt: Why LaTeX?\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44050\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"http://ma.tt/2014/08/whylatex/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:448:\"<blockquote class=\"twitter-tweet\" width=\"550\"><p>Posts like this are why <a href=\"https://twitter.com/wordpressdotcom\">@wordpressdotcom</a> and <a href=\"https://twitter.com/jetpack\">@jetpack</a> offer LaTeX / Beautiful Math support. <a href=\"http://t.co/rYUbyq2IpR\">http://t.co/rYUbyq2IpR</a></p>\\n<p>&mdash; George Stephanis (@daljo628) <a href=\"https://twitter.com/daljo628/statuses/504230941514944512\">August 26, 2014</a></p></blockquote>\\n<p></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 30 Aug 2014 14:58:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:28;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"WPTavern: Tickets On Sale For The First Ever PodsCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29485\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"http://wptavern.com/tickets-on-sale-for-the-first-ever-podscamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4175:\"<a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/PodsCampFeaturedImage.png\" rel=\"prettyphoto[29485]\"><img class=\"size-full wp-image-29491\" src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/PodsCampFeaturedImage.png?resize=697%2C284\" alt=\"The First Ever Podscamp\" /></a>The First Ever PodsCamp\\n<p>Tickets are <a title=\"http://podscamp.org/tickets/\" href=\"http://podscamp.org/tickets/\">now on sale</a> for the first ever <a title=\"http://podscamp.org/\" href=\"http://podscamp.org/\">PodsCamp</a>. It&#8217;s being held in Dallas, TX on October 3rd, 2014, a day before <a title=\"http://2014.dfw.wordcamp.org/\" href=\"http://2014.dfw.wordcamp.org/\">WordCamp DFW</a> (Dallas/Fort Worth) with a ticket price of $50 each. Each ticket grants you access to the event, BBQ for lunch, and direct access to the developers of Pods Framework.</p>\\n<p>The event will focus on what you can do with Pods and will <a title=\"http://podscamp.org/schedule/\" href=\"http://podscamp.org/schedule/\">feature sessions on topics</a> such as an introduction to Pods, building applications, and a Q&amp;A session with the Pods development team. For those not familiar with the plugin, <a title=\"http://wordpress.org/plugins/pods/\" href=\"http://wordpress.org/plugins/pods/\">Pods</a> is a framework for creating, managing, and deploying customized content types and fields.</p>\\n<h2>A First For The Pods Development Team</h2>\\n<p>The event will mark the first time the entire Pods development team will be under one roof. Lead developer for Pods, Scott Kingsley Clark, said the team will be in Dallas, TX the Wednesday before WordCamp and will be working on putting the finishing touches on Pods 3.0.</p>\\n<p>Clark explains why the team hasn&#8217;t had a PodsCamp in the past. &#8220;We&#8217;ve been talking about and planning an event like this for years, but it wasn&#8217;t until the Pods team grew large enough for me to feel like we could really do something worth people&#8217;s time.&#8221;</p>\\n<h2>No Conflicts With WordCamp</h2>\\n<p>Initially, I thought PodsCamp was taking place at the same time as WordCamp DFW but since it&#8217;s a day before, it won&#8217;t interfere with the event. &#8220;It&#8217;s completely separate, in terms of organization and funding,&#8221; Clark told the Tavern.</p>\\n<p>A few years ago, <a title=\"http://podcamp.pbworks.com/w/page/17344268/FrontPage\" href=\"http://podcamp.pbworks.com/w/page/17344268/FrontPage\">PodCamps</a> would sometimes be merged with a WordCamp to offer attendees a chance to attend two events with one ticket. However, WordCamp central frowns against this practice and now states that WordCamps must be focused on WordPress. From the WordCamp Central FAQ:</p>\\n<blockquote><p><strong>Q.</strong> Can I do a track at a BarCamp/PodCamp/other event and call it WordCamp?<br />\\n<strong>A.</strong> No. The use of the WordCamp name indicates that it is a standalone event dedicated to WordPress, and to prevent confusion, WordPress “tracks” within larger events such as BarCamp or other conferences are no longer called WordCamps.</p></blockquote>\\n<h2>Sponsoring and Needing to Be Sponsored</h2>\\n<p>The <a title=\"http://podsfoundation.org/\" href=\"http://podsfoundation.org/\">Pods Foundation</a> is sponsoring the WordCamp DFW Contributor Day on October 5th, through a deal Clark made to secure the same space for both days. At the same time, PodsCamp is in need of more sponsors. If you&#8217;re interested in <a title=\"http://podscamp.org/2014/08/19/call-sponsors/\" href=\"http://podscamp.org/2014/08/19/call-sponsors/\">sponsorship opportunities</a>, please get in touch with the organizing team. SiteGround, Chris Lema, Aesop Interactive, and Beil Media are just a sample of the sponsors already on board with helping the event.</p>\\n<p>I think it&#8217;s great to see events like PodsCamp where you can focus on a particular plugin or subject while not conflicting with a WordCamp that same weekend. I like the strategy on the part of Clark and his team for the event to be a day before WordCamp so people can attend both without worrying about missing sessions.</p>\\n<p>Will you be attending the first ever PodsCamp?</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 22:36:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:29;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"WPTavern: How to Create a Quick Style Guide for Client Websites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29499\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"http://wptavern.com/how-to-create-a-quick-style-guide-for-client-websites\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3870:\"<p>The business of building WordPress websites is exploding, and most agencies and freelancers have more work than they can handle. Clients are attracted to WordPress because of how easy it is to manage content. In the old days, if you had a website built, you would still need to hire a developer to make updates to your content or design. WordPress makes it possible for anyone to create new posts, pages, products, etc., without any technical experience.</p>\\n<p>The flip side of this is that your design may be in danger when everything is so easy to edit. If you want to keep branding consistent across a website, you may need to include a style guide to breakdown the design you&#8217;ve created.</p>\\n<p>Having a style guide for reference is especially important if you are passing off a CMS to a client who will be using it to create content on a regular basis. Without a guide your client may go nuts with customization features that may be built into the theme. Before you know it, he will have used 10 different typefaces in various places and multiple header colors and sizes. The beautiful website you created can end up looking like digital goulash in the end, which is no good for your portfolio.</p>\\n<p>I&#8217;d like to introduce you to <a href=\"http://stylifyme.com/\" target=\"_blank\">Stylify Me</a>, a handy new tool that can automatically create a quick style guide for any website. Simply enter the site URL and the app will return its background colors, text colors, typography, and image dimensions.</p>\\n<p>Here are the colors you get when you input WordPress.org:</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/wordpress-styles.jpg\" rel=\"prettyphoto[29499]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/wordpress-styles.jpg?resize=982%2C552\" alt=\"wordpress-styles\" class=\"aligncenter size-full wp-image-29504\" /></a></p>\\n<p>It also returns the typography and image dimensions found on the homeapage.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/wordpress-typography.png\" rel=\"prettyphoto[29499]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/wordpress-typography.png?resize=973%2C491\" alt=\"wordpress-typography\" class=\"aligncenter size-full wp-image-29517\" /></a></p>\\n<p>The download for your style guide comes in the form of a PDF, a somewhat inconvenient file type that many clients seem to love for whatever reason. Obviously, this is just a quick start which you can further edit and fine tune. Some homepages may not lend themselves as well to demonstrating the site&#8217;s style. In that case you may want to select another content page from which the app can extract styles more representative of the site as a whole.</p>\\n<p>The Stylify Me app was built on <a href=\"http://nodejs.org/\" target=\"_blank\">NodeJS</a> and <a href=\"http://phantomjs.org/\" target=\"_blank\">PhantomJS</a>. Its creators, <a href=\"https://twitter.com/annabelleyoon\" target=\"_blank\">Annabelle Yoon</a> and <a href=\"https://twitter.com/MicMro\" target=\"_blank\">Michael Mrowetz</a>, wanted to provide a tool that would allow designers to research sites more efficiently, without having to inspect each element. The app is hosted on <a href=\"http://heroku.com/\" target=\"_blank\">Heroku</a> using the <a href=\"https://github.com/ddollar/heroku-buildpack-multi\" target=\"_blank\">multi buildpack</a> and is MIT-licensed. Check out the code on <a href=\"https://github.com/micmro/Stylify-Me\" target=\"_blank\">GitHub</a> to see how it works.</p>\\n<p><a href=\"http://stylifyme.com\" target=\"_blank\">Stylify Me</a> gives you the ability to quickly generate a style guide that will help your clients keep their websites within the realm of the original design. Providing a style guide adds an extra touch, which demonstrates that you care and are invested in your client&#8217;s success.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 22:23:12 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:30;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:30:\"Matt: Journalism vs Mass-Media\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44047\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://ma.tt/2014/08/journalism-vsmass-media/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:335:\"<p>Matthew Ingram writes for Gigaom: <a href=\"http://gigaom.com/2014/08/26/journalism-is-doing-just-fine-thanks-its-mass-media-business-models-that-are-ailing/\">Journalism is doing just fine, thanks — it’s mass-media business models that are ailing</a>. <cite>Hat tip: <a href=\"http://stratechery.com/\">Ben Thompson</a>.</cite></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 20:52:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:31;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: Nouveau Riche: A Free WordPress Blogging Theme for Creative Minds\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29473\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:84:\"http://wptavern.com/nouveau-riche-a-free-wordpress-blogging-theme-for-creative-minds\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3987:\"<p><a href=\"http://fortisthemes.com\" target=\"_blank\">Denis Bosire</a> has been working with WordPress for more than five years. As client work became more frustrating, he decided to focus his attention on WordPress themes. After an unsuccessful attempt to monetize themes at Creative Market, Bosire decided to try his hand at developing themes for WordPress.org. <a href=\"http://wordpress.org/themes/nouveau-riche\" target=\"_blank\">Nouveau Riche</a> was approved this week and is his first theme in the directory.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/nouveau-riche.png\" rel=\"prettyphoto[29473]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/nouveau-riche.png?resize=880%2C660\" alt=\"nouveau-riche\" class=\"aligncenter size-full wp-image-29483\" /></a></p>\\n<p>Nouveau Riche is a simple, customizable blogging theme that was designed for creative minds. It offers beautiful support for post formats, with custom icons assigned to each. The theme utilizes the native WordPress customizer to include options for uploading a logo, adding a header and background image, and setting colors for the header, background, and theme.</p>\\n<p>The sidebar is hidden by default and slides out when clicked. The theme also includes support for two other widget areas- main footer and sub footer.</p>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/nouveau-riche-sidebar.jpg\" rel=\"prettyphoto[29473]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/nouveau-riche-sidebar.jpg?resize=1025%2C701\" alt=\"nouveau-riche-sidebar\" class=\"aligncenter size-full wp-image-29489\" /></a></p>\\n<p>Check out a <a href=\"http://demo.fortisthemes.com/nouveau/\" target=\"_blank\">live demo</a> to see the theme in action.</p>\\n<p>Nouveau Riche is based on the <a href=\"http://underscores.me/\" target=\"_blank\">Underscores</a> starter theme. &#8220;I didn&#8217;t use any framework, just _S starter theme, which I use for ALL of my other themes,&#8221; Bosire told the Tavern. &#8220;No CSS framework either; I find them very unsuitable for WordPress themes because of all the bloat. Took me about three days from start to finish and submitted it immediately,&#8221; he said.</p>\\n<p>Bosire found that building the theme was easy and quick, because he was used to all the WordPress coding standards after finishing a theme for WordPress.com. His commercial theme is currently undergoing review and should be launching in a few days. He plans to release another free theme in September in addition to another commercial blogging theme that is still in process.</p>\\n<p>His journey began when he started offering free themes on his website. &#8220;I started building simple blogging themes and offering them for free on my website,&#8221; Bosire said. &#8220;I then proceeded to build premium themes that I sell on Creative Market. Sadly, they didn&#8217;t sell as expected but I really enjoyed building themes, so I decided to continue doing it, this time for WordPress.org.&#8221;</p>\\n<p>Bosire&#8217;s tenacity in continuing theme development after a discouraging experience is admirable. If you build a theme and submit it to one marketplace where it doesn&#8217;t take off, don&#8217;t get discouraged and stop building themes. If you love creating themes for WordPress users, try again via a different distribution route. If you choose to go the WordPress.org route, you&#8217;ll learn quite a bit during the process with the help of <a href=\"http://wptavern.com/a-day-in-the-life-of-a-wordpress-theme-reviewer\" target=\"_blank\">Theme Review Team</a>.</p>\\n<p>Nouveau Riche is a beautiful and simple blogging theme that you can personalize in a matter of minutes. It&#8217;s responsive and translation-ready. If your blog needs a fresh design but you don&#8217;t have a lot of time, this might be good option. <a href=\"http://wordpress.org/themes/nouveau-riche\" target=\"_blank\">Download </a> Nouveau Riche for free from WordPress.org.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 20:43:35 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:32;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:75:\"WPTavern: Why You Might Consider Adding Development Hours to Your Changelog\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29275\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:85:\"http://wptavern.com/why-you-might-consider-adding-development-hours-to-your-changelog\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3936:\"<p>Jean Galea, who is a member of the <a title=\"https://www.facebook.com/groups/advancedwp/\" href=\"https://www.facebook.com/groups/advancedwp/\">Advanced WordPress group</a> on Facebook, recently shared a plugin with an interesting changelog. It&#8217;s called <a title=\"https://wordpress.org/plugins/bulk-delete\" href=\"https://wordpress.org/plugins/bulk-delete\">Bulk Delete</a> and is developed by Sudar Muthu, a developer based in Bangalore, India. The changelog not only shows which bugs have been fixed or features that were added, it also displays the amount of time spent on each release.</p>\\n<a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/BulkDeleteChangelog.png\" rel=\"prettyphoto[29275]\"><img class=\"size-full wp-image-29472\" src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/BulkDeleteChangelog.png?resize=524%2C462\" alt=\"Bulk Delete Changelog On WordPress.org\" /></a>Bulk Delete Changelog On WordPress.org\\n<p>Due to some personal things going in his life, Muthu began to track how much time he was investing in his side projects. &#8220;This happened because I got married and suddenly the amount of free time that I used to have in my life started to dry up. I wanted to find out which pet projects are taking up the majority of my free time,&#8221; Muthu Told the Tavern. In April of 2012, <a title=\"http://sudarmuthu.com/blog/started-tracking-time-spend-on-my-pet-projects/\" href=\"http://sudarmuthu.com/blog/started-tracking-time-spend-on-my-pet-projects/\">he wrote about the initiative</a> and started adding the metrics to the changelog of Bulk Delete.</p>\\n<a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/BulkDeleteInAction.png\" rel=\"prettyphoto[29275]\"><img class=\"size-full wp-image-29471\" src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/BulkDeleteInAction.png?resize=955%2C655\" alt=\"Bulk Delete Settings Page\" /></a>Bulk Delete Settings Page\\n<p>Some plugin authors have funded development of their plugin by having users pay for specific features. Muthu doesn&#8217;t get paid to work on Bulk Delete but he has started to sell <a title=\"http://bulkwp.com/\" href=\"http://bulkwp.com/\">commercial addons</a> for it.</p>\\n<h2>A Different Approach to Getting Free Support</h2>\\n<p>One of the things Muthu has noticed is how users approach him to receive free support. &#8220;After I started adding the amount of time I am spending on different plugins in the changelog, the way people interact in the support forum seems to have changed a bit. I felt that they were able to understand the amount of time I am investing in developing and supporting a free plugin,&#8221; Muthu said.</p>\\n<p>I asked if he thinks this is something other plugin authors should consider implementing. &#8220;Each developer has their own preference but I guess if possible, I would like plugin authors to do this. It seems <a title=\"https://twitter.com/kelter/status/478983307884236801\" href=\"https://twitter.com/kelter/status/478983307884236801\">people like it</a> and it will also let people know how much time an author spends in developing and maintaining a free plugin,&#8221; Muthu said.</p>\\n<h2>I Think It&#8217;s a Great Idea</h2>\\n<p>As someone who investigates the changelog for every plugin update, I&#8217;ve seen my share of them. However, I&#8217;ve yet to see one that is as detailed and informative as <a title=\"https://wordpress.org/plugins/bulk-delete/changelog/\" href=\"https://wordpress.org/plugins/bulk-delete/changelog/\">Bulk Delete</a>. Showing the amount of time each version takes to develop gives users a perspective of the time and effort required to maintain a plugin. We generally hear how much time is involved, but rarely get to see how much.</p>\\n<p>Would you like to see this type of information added to the changelog of more plugins? Will seeing the amount of time change the way you approach the author to receive support? Sound off in the comments.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 19:56:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:33;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:93:\"WPTavern: Google Authorship is Officially Dead, WordPress Authorship Plugins are Now Obsolete\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29438\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:228:\"http://wptavern.com/google-authorship-is-officially-dead-wordpress-authorship-plugins-are-now-obsolete?utm_source=rss&utm_medium=rss&utm_campaign=google-authorship-is-officially-dead-wordpress-authorship-plugins-are-now-obsolete\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4329:\"<p>John Mueller, Webmaster Trends Analyst at Google, <a href=\"https://plus.google.com/u/0/+JohnMueller/posts/HZf3KDP1Dm8\" target=\"_blank\">announced</a> today that Google will be discontinuing its support for authorship in search results.</p>\\n<blockquote><p>We&#8217;ve gotten lots of useful feedback from all kinds of webmasters and users, and we&#8217;ve tweaked, updated, and honed recognition and displaying of authorship information. Unfortunately, we&#8217;ve also observed that this information isn’t as useful to our users as we’d hoped, and can even distract from those results. With this in mind, we&#8217;ve made the difficult decision to stop showing authorship in search results.</p></blockquote>\\n<p>In June 2014, author photos were <a href=\"http://searchengineland.com/google-plays-authorship-search-results-dropping-profile-image-google-circle-count-195163\" target=\"_blank\">dropped from search results</a> in order to reduce clutter in the design, according to Mueller. Today&#8217;s announcement means that the rel=author markup will no longer be tracked on websites.</p>\\n<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2013/09/cutts.jpg\" rel=\"prettyphoto[29438]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2013/09/cutts.jpg?resize=472%2C280\" alt=\"Google authorship in action\" class=\"size-full wp-image-9315\" /></a>Google authorship in action\\n<p>Authorship was an experiment that Google had been running for the past three years. Mueller reported that their tests showed that removing authorship generally does not seem to reduce traffic to sites, nor does it make it more likely that users will click on ads. The change was allegedly implemented to improve users&#8217; experience.</p>\\n<p>Although the authorship schema is no longer used to identify a post&#8217;s author in search results, Mueller says there&#8217;s no need to be in a rush to remove it from your code. &#8220;We&#8217;re no longer using it for authorship, we treat it like any other markup on your pages. Leaving it is fine, it won&#8217;t cause problems (and perhaps your users appreciate being able to find out more about you through your profile too),&#8221; he said.</p>\\n<p>Jetpack 2.5 introduced an easy way for WordPress users to <a href=\"http://wptavern.com/automatically-add-google-authorship-to-wordpress-posts-with-jetpack-2-5\" target=\"_blank\">add authorship to posts</a>. Representatives from the Jetpack team were not immediately available to comment on whether or not the plugin will shed the dead weight of authorship in the next release. There are many other WordPress <a href=\"http://wordpress.org/plugins/search.php?q=google+authorship\" target=\"_blank\">plugins that add Google authorship</a>, though not as elegantly as Jetpack did. Several major SEO plugins also incorporate ways to add authorship to posts. The authorship-related functionality in these plugins is now obsolete.</p>\\n<p>Mueller emphasized that even though authorship is being discontinued, Google will continue its support for structured markup:</p>\\n<blockquote><p>Going forward, we&#8217;re strongly committed to continuing and expanding our support of structured markup (such as <a href=\"http://schema.org/\" target=\"_blank\">schema.org</a>). This markup helps all search engines better understand the content and context of pages on the web, and we&#8217;ll continue to use it to show rich snippets in search results.</p></blockquote>\\n<p>Many SEO specialists have speculated that linking authorship to Google+ profiles was a ploy to get more people to use Google+, a product that has failed to gain momentum. Fans of the authorship feature are baffled by its removal, given that Google&#8217;s research indicates that it doesn&#8217;t seem to affect search results. From a user&#8217;s standpoint, seeing an author you recognize can be tremendously beneficial when selecting among similar search results.</p>\\n<p>Google is well known for experimenting with features and products and killing them off as soon as tests show that they are no longer valuable. It&#8217;s not clear whether or not authorship will be reincarnated in some other form down the road. If you&#8217;re using a WordPress plugin that adds authorship to your site for SEO purposes, you are safe to disable it, as Google is no longer interested in that data.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 29 Aug 2014 01:25:13 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:34;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:57:\"WPTavern: ProWordPress Subreddit Passes 1,000 Subscribers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29393\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:156:\"http://wptavern.com/prowordpress-subreddit-passes-1000-subscribers?utm_source=rss&utm_medium=rss&utm_campaign=prowordpress-subreddit-passes-1000-subscribers\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4264:\"<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/reddit.jpg\" rel=\"prettyphoto[29393]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/reddit.jpg?resize=877%2C399\" alt=\"reddit\" class=\"aligncenter size-full wp-image-29436\" /></a></p>\\n<p>Earlier this year we featured the <a href=\"http://www.reddit.com/r/ProWordPress/\" target=\"_blank\">/r/ProWordPress </a> subreddit on a post exploring various <a href=\"http://wptavern.com/add-these-subreddits-to-your-list-of-wordpress-watering-holes\" target=\"_blank\">WordPress watering holes</a>. If you&#8217;re not familiar with subreddits, they are essentially focused topics where where registered users can vote article submissions &#8220;up&#8221; or &#8220;down.&#8221; Subscribing to a subreddit allows you to hone in on specific topics where you have an interest.</p>\\n<p>/r/ProWordPress was started by Brad Williams, CEO of <a href=\"http://webdevstudios.com/\" target=\"_blank\">WebDevStudios</a> and author of <a href=\"http://www.amazon.com/Professional-WordPress-Plugin-Development-Williams/dp/0470916222\" target=\"_blank\">Professional WordPress Plugin Development</a>. As a developer, Williams has a strong interest in exploring more technical topics surrounding WordPress. The group recently passed 1,000 subscribers (currently at 1,027 readers) and continues to grow.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/prowordpress-subreddit.png\" rel=\"prettyphoto[29393]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/prowordpress-subreddit.png?resize=743%2C309\" alt=\"prowordpress-subreddit\" class=\"aligncenter size-full wp-image-29421\" /></a></p>\\n<p>&#8220;I started the r/ProWordPress subreddit to focus on more advanced WordPress topics,&#8221; Williams told the Tavern.  &#8220;<a href=\"http://www.reddit.com/r/Wordpress\" target=\"_blank\">r/WordPress</a> is great but will always have more beginner users, so it&#8217;s hard for the more advanced topics to surface. <strong>r/ProWordPress is a smaller, more focused subreddit with a focus on advanced WP topics.</strong>&#8221;</p>\\n<p>As the subreddit has grown, r/ProWordPress has become one of William&#8217;s main sources of news on WordPress development. More subscribers translates into a wider reach of advanced topics as well as more voting users to curate the quality of articles that float to the top. Williams has the ability to moderate the topics submitted but reports that, unless you have a highly active subreddit, very little work is required.</p>\\n<p>With WordPress now powering <a href=\"http://w3techs.com/technologies/overview/content_management/all\" target=\"_blank\">more than 23% of all websites online</a>, the community surrounding the software is growing at breakneck speed. People are working with WordPress every day, building businesses on top of it, and are seeking out places online to learn from each other. Matt Mullenweg recently jumped in on the <a href=\"http://wptavern.com/matt-mullenweg-hosts-impromptu-qa-session-on-facebook\" target=\"_blank\">Advanced WordPress group on Facebook</a>, which has accrued more than 9,000 members. This group explores a wide range of WordPress-related topics but may not appeal to everyone.</p>\\n<p>While some WordPress users enjoy interacting on Facebook, others are taking to forums such as <a href=\"http://wptavern.com/wpchat-relaunches-as-a-forum-dedicated-to-wordpress\" target=\"_blank\">WP Chat</a>. Different kinds of groups are popping up, reflecting the various interaction styles that WordPress community members use to connect.</p>\\n<p><strong>&#8220;WordPress has such a large user base that it&#8217;s hard to have a one size fits all area for all topics,&#8221;</strong> Williams said. In his corner of the internet, he hopes that /r/ProWordPress will continue to be a nice place to share and read about more advanced topics. In some ways Reddit combines the best aspects of both Twitter and forums, in that you can share articles, vote, and comment to enter into discussions with other members. If advanced WordPress development falls within your wheelhouse, make sure to drop by the <a href=\"http://www.reddit.com/r/ProWordPress/\" target=\"_blank\">/r/ProWordPress </a> subreddit and subscribe to new topics.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 23:15:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:35;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:102:\"WPTavern: WP Settings Generator: Quickly Create a Custom Options Page Using the WordPress Settings API\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29385\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:246:\"http://wptavern.com/wp-settings-generator-quickly-create-a-custom-options-page-using-the-wordpress-settings-api?utm_source=rss&utm_medium=rss&utm_campaign=wp-settings-generator-quickly-create-a-custom-options-page-using-the-wordpress-settings-api\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3454:\"<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/switches.png\" rel=\"prettyphoto[29385]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/switches.png?resize=949%2C461\" alt=\"photo credit: Leo Reynolds - cc\" class=\"size-full wp-image-29409\" /></a>photo credit: <a href=\"https://www.flickr.com/photos/lwr/7293237710/\">Leo Reynolds</a> &#8211; <a href=\"http://creativecommons.org/licenses/by-nc-sa/2.0/\">cc</a>\\n<p>Yesterday we featured a plugin, created by application developer Jeroen Sormani, that <a href=\"http://wptavern.com/wp-dashboard-notes-clones-google-keep-in-the-wordpress-dashboard\" target=\"_blank\">clones Google Keep functionality in the WordPress dashboard</a>. Sormani has produced a number of other interesting experiment with WordPress, including a little known tool for generating WordPress settings.</p>\\n<p>The <a href=\"http://wpsettingsapi.jeroensormani.com/\" target=\"_blank\">WP Settings Generator</a> is a tool for plugin and theme developers. It generates a custom options page that is fully compatible with the <a href=\"http://codex.wordpress.org/Settings_API\" target=\"_blank\">WordPress Settings API</a> standards. The tool is similar to the kinds of generators found at <a href=\"http://generatewp.com/\" target=\"_blank\">GenerateWP</a>, which lacks a tool for creating settings.</p>\\n<p>On the config tab you can enter your plugin/theme name, plugin prefix, and text domain. Select your menu position and then proceed to the next tab.</p>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/settings-generator.png\" rel=\"prettyphoto[29385]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/settings-generator.png?resize=730%2C417\" alt=\"settings-generator\" class=\"aligncenter size-full wp-image-29387\" /></a></p>\\n<p>The next screen provides a drag-and-drop interface for adding settings fields:</p>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/settings-fields.png\" rel=\"prettyphoto[29385]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/settings-fields.png?resize=974%2C662\" alt=\"settings-fields\" class=\"aligncenter size-full wp-image-29388\" /></a></p>\\n<p>Once you have added all your fields, you will be presented with your customized settings code, which you can scroll through and copy to your plugin. Although it is designed to create settings pages for themes or plugins, the general consensus these days is that it&#8217;s preferable to utilize the native customizer for theme settings.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/the-code.png\" rel=\"prettyphoto[29385]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/the-code.png?resize=974%2C551\" alt=\"the-code\" class=\"aligncenter size-full wp-image-29390\" /></a></p>\\n<p>After reviewing your code, you have the opportunity to leave a personalized review of the generator. If you find that the code you receive has any errors or seems off, make sure to let Sormani know with a quick comment.</p>\\n<p>Of course, using a settings generator isn&#8217;t going to help you learn how the WordPress Settings API works, but it does give you a quick start for creating options. It&#8217;s not so much of a teaching tool but rather designed to eliminate the rote task of writing your own settings. <a href=\"http://wpsettingsapi.jeroensormani.com/\" target=\"_blank\">Check it out</a> and let us know if it ends up saving you time.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 21:03:47 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:36;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:27:\"Matt: Everything Is Bloated\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44042\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:42:\"http://ma.tt/2014/08/everything-isbloated/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:126:\"<p>Tom McFarlin writes <a href=\"http://tommcfarlin.com/everything-is-bloated/\">Everything Is Bloated, Nothing Is Good</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 17:30:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:37;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: An Easy Way To Notify Users When Their Comment Is Approved\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29371\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"http://wptavern.com/an-easy-way-to-notify-users-when-their-comment-is-approved?utm_source=rss&utm_medium=rss&utm_campaign=an-easy-way-to-notify-users-when-their-comment-is-approved\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2475:\"<p>By default, WordPress doesn&#8217;t notify users when their comments are approved from the moderation queue. If you&#8217;d like to change that, consider using the <a title=\"http://wordpress.org/plugins/comment-approved/\" href=\"http://wordpress.org/plugins/comment-approved/\">Comment Approved</a> plugin by <a title=\"http://media-enzo.nl/\" href=\"http://media-enzo.nl/\">Niels van Renselaar</a>. The plugin is simple to use and configure. After it&#8217;s installed and activated, you&#8217;ll find the settings in <strong>Settings &gt; Comment Approved</strong>. It&#8217;s important to note that even when the plugin is activated, it won&#8217;t send out notifications unless you check mark the box to enable the comment approved message.</p>\\n<a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/CommentApprovedSettings.png\" rel=\"prettyphoto[29371]\"><img class=\"size-full wp-image-29372\" src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/CommentApprovedSettings.png?resize=1014%2C561\" alt=\"Click The Checkbox To Enable The Comment Approved Message\" /></a>Click The Checkbox To Enable The Comment Approved Message\\n<p>The text area is populated with a default message using the only two shortcodes available. You can customize this message using standard HTML. Here is what the default message looks like in an email.</p>\\n<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/CommentApprovedEmailContent.png\" rel=\"prettyphoto[29371]\"><img class=\"size-full wp-image-29373\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/CommentApprovedEmailContent.png?resize=726%2C210\" alt=\"Default Approved Message Email Content\" /></a>Default Approved Message Email Content\\n<p>While I like the default behavior to notify users when their comment is approved, you can use this plugin to award first time commenters. For example, you can send them a link to a free eBook or a different promotional item. Once the user&#8217;s comment is approved, they won&#8217;t see the approval message again.</p>\\n<p>It&#8217;s strange that comment approval notifications are not part of the default behaviour of WordPress. I think it makes sense, especially if the front-end notifies them that their comment may be held in moderation. While I doubt this plugin will prevent commenters from getting in touch with site administrators to figure out why their comment is not displaying on the site, at least they&#8217;ll know when it&#8217;s approved.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 07:49:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:38;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"WPTavern: Jason Schuller Shares His Experience Running a WordPress Theme Business\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29349\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:206:\"http://wptavern.com/jason-schuller-shares-his-experience-running-a-wordpress-theme-business?utm_source=rss&utm_medium=rss&utm_campaign=jason-schuller-shares-his-experience-running-a-wordpress-theme-business\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4642:\"<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/01/Press75LogoFeaturedImage.jpg\" rel=\"prettyphoto[29349]\"><img class=\"aligncenter size-full wp-image-15225\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/01/Press75LogoFeaturedImage.jpg?resize=650%2C200\" alt=\"Press75 Logo Featured Image\" /></a></p>\\n<p>Jason Schuller who was the previous owner of <a title=\"http://press75.com/\" href=\"http://press75.com/\">Press75.com</a>, has <a title=\"https://medium.com/@jschuller/a-brief-history-of-a-wordpress-theme-business-3847e16fcba4\" href=\"https://medium.com/@jschuller/a-brief-history-of-a-wordpress-theme-business-3847e16fcba4\">published a great post</a> detailing his experience of running a WordPress commercial theme business from 2008-2014. While Schuller describes a variety of ups and downs he encountered while running the business, I thought his reasoning for losing his way in 2010 was fascinating.</p>\\n<blockquote><p>As WordPress became increasingly more complex and option rich, so did the demand for themes. The proverbial “gold rush” of the WordPress world hit and new shops were launching almost weekly with themes that were powered by complex frameworks including endless layout, customization, style options and “shortcodes”. In 2010 I began to focus more on the “bar” that had been set by the market and less on why I started Press75 to begin with.</p></blockquote>\\n<p>Instead of continuing to focus on what he was so good at doing, he started developing themes to cater to the market which was outside of his passion. The increase in complexity in WordPress coupled with various development techniques he implemented in his catalog of 20 themes became a huge burden, especially when it came to support. One piece of advice Schuller shares that I think is important and hits home for many commercial theme authors is to <span class=\"pullquote alignleft\">never forget who you are and what your own style is. Be inspired by what others are doing, but always stay true to yourself.</span></p>\\n<p>Schuller is not the first person to learn this lesson the hard way. When <a title=\"https://upthemes.com/open-letter/\" href=\"https://upthemes.com/open-letter/\">UpThemes announced</a> a complete restructuring of their theme business in early 2014, they cited poor infrastructure as one of the main culprits of creating a large demand for support.</p>\\n<blockquote><p>Building the themes was easy enough, but then selling, deploying, supporting, updating, and generally making a profit on them was something we struggled with, mightily. With every theme, we introduced a ton of new code that had to be supported and maintained. This was at a time when WordPress was still changing the way themes worked. It made development more difficult.</p></blockquote>\\n<p>One of the things Schuller wished he had done is to hire the right people once the business became too much to handle. Not doing so put all of the pressure of running the business on his shoulders. In the post, he shares a few other lessons I think aspiring theme shop owners can learn from as well. If you&#8217;d like to hear Schuller tell his story, listen to this <a title=\"http://wptavern.com/interview-with-jason-schuller-founder-of-press75-com\" href=\"http://wptavern.com/interview-with-jason-schuller-founder-of-press75-com\">special interview</a> I did with him early in 2014.</p>\\n<div class=\"audio-shortcode-wrap\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/01/Press75LogoFeaturedImage.jpg?resize=175%2C131\" alt=\"Press75 Logo Featured Image\" class=\"landscape thumbnail post-thumbnail audio-image\" /><!--[if lt IE 9]><script>document.createElement(''audio'');</script><![endif]-->\\n<a href=\"http://wptavern.com/wp-content/uploads/2014/01/Interview-With-Jason-Schuller.mp3\">http://wptavern.com/wp-content/uploads/2014/01/Interview-With-Jason-Schuller.mp3</a></div><div class=\"media-shortcode-extend\"><div class=\"media-info audio-info\"><ul class=\"media-meta\"><li><span class=\"prep\">Run Time</span> <span class=\"data\">50:36</span></li><li><span class=\"prep\">Artist</span> <span class=\"data\">Jeff Chandler</span></li><li><span class=\"prep\">File Name</span> <span class=\"data\"><a href=\"http://wptavern.com/wp-content/uploads/2014/01/Interview-With-Jason-Schuller.mp3\">Interview-With-Jason-Schuller.mp3</a></span></li><li><span class=\"prep\">File Size</span> <span class=\"data\">28.96 MB</span></li><li><span class=\"prep\">File Type</span> <span class=\"data\">MP3</span></li><li><span class=\"prep\">Mime Type</span> <span class=\"data\">audio/mpeg</span></li></ul></div><button class=\"media-info-toggle\">Audio Info</button></div>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 07:34:54 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:39;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:77:\"WPTavern: WPWeekly Episode 160 – The Founder Of BruteProtect, Sam Hotchkiss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://wptavern.com?p=29356&preview_id=29356\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:188:\"http://wptavern.com/wpweekly-episode-160-the-founder-of-bruteprotect-sam-hotchkiss?utm_source=rss&utm_medium=rss&utm_campaign=wpweekly-episode-160-the-founder-of-bruteprotect-sam-hotchkiss\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4191:\"<p>In this weeks show, <a title=\"http://marcuscouch.com/\" href=\"http://marcuscouch.com/\">Marcus Couch</a> and I are joined by the founder of <a title=\"https://bruteprotect.com/\" href=\"https://bruteprotect.com/\">BruteProtect</a>, Sam Hotchkiss. We learn the circumstances which lead to the birth of BruteProtect and how it operates. Hotchkiss explains the details of the <a title=\"http://wptavern.com/automattic-acquires-parka-llc-the-creators-of-bruteprotect\" href=\"http://wptavern.com/automattic-acquires-parka-llc-the-creators-of-bruteprotect\">acquisition with Automattic</a> and how it will be rolled into Jetpack. While some people are not happy that it&#8217;s being added to Jetpack, we discuss why it&#8217;s a huge win. Last but not least, Hotchkiss explains the process he went through to obtain funding and offers advice to plugin authors who may find themselves in the same position.</p>\\n<h2>Stories Discussed:</h2>\\n<p><a title=\"http://wptavern.com/wordpress-4-0-adds-custom-icons-to-the-plugin-installer\" href=\"http://wptavern.com/wordpress-4-0-adds-custom-icons-to-the-plugin-installer\">WordPress 4.0 Adds Custom Icons to the Plugin Installer</a><br />\\n<a title=\"http://wptavern.com/wordpress-plugin-wp-inject-renames-to-imageinject-and-introduces-new-features\" href=\"http://wptavern.com/wordpress-plugin-wp-inject-renames-to-imageinject-and-introduces-new-features\">WordPress Plugin WP Inject Renames to ImageInject and Introduces New Features</a><br />\\n<a title=\"http://wptavern.com/buddypress-2-1-beta-1-now-available-for-testing\" href=\"http://wptavern.com/buddypress-2-1-beta-1-now-available-for-testing\">BuddyPress 2.1 Beta 1 Now Available for Testing</a><br />\\n<a title=\"http://wptavern.com/chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes\" href=\"http://wptavern.com/chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes\">Chris Wiegman on Why He Sold Better WP Security to iThemes</a><br />\\n<a title=\"http://wptavern.com/wordpress-4-0-release-candidate-now-available-for-testing\" href=\"http://wptavern.com/wordpress-4-0-release-candidate-now-available-for-testing\">WordPress 4.0 Release Candidate Now Available for Testing</a></p>\\n<h2>Plugins Picked By Marcus:</h2>\\n<p><a title=\"http://wordpress.org/plugins/wp-admin-quicknav/\" href=\"http://wordpress.org/plugins/wp-admin-quicknav/\">WP Admin Quicknav</a> adds a simple dropdown box at the top admin edit screens allowing you to quickly jump from one page, post, or custom post type to the next without having to return to the respective listing page. This is easily customized and can be really handy for saving time navigating to specific admin pages.</p>\\n<p><a title=\"http://wordpress.org/plugins/comment-approved/\" href=\"http://wordpress.org/plugins/comment-approved/\">Comment Approved</a> can be used to notify a user when their comment is approved. This is a great way to keep the communication channel open between you and your loyal readers. You can customize the approval notification enabling you to reward those who participate. This could include an ebook, a link to special content, etc.</p>\\n<p><a title=\"http://wordpress.org/plugins/wp-is-mobile-text-widget/\" href=\"http://wordpress.org/plugins/wp-is-mobile-text-widget/\">WP Is Mobile Text Widget</a> adds a text widget that switches the display text using the <em>wp_is_mobile()</em> function depending on whether the device is mobile or not. This is a great enhancement for delivering a simple, custom piece of text content based on the detection of a mobile browser.</p>\\n<h2>WPWeekly Meta:</h2>\\n<p><strong>Next Episode:</strong> Wednesday, September 3rd 9:30 P.M. Eastern</p>\\n<p><strong>Subscribe To WPWeekly Via Itunes: </strong><a href=\"https://itunes.apple.com/us/podcast/wordpress-weekly/id694849738\" target=\"_blank\">Click here to subscribe</a></p>\\n<p><strong>Subscribe To WPWeekly Via RSS: </strong><a href=\"http://www.wptavern.com/feed/podcast\" target=\"_blank\">Click here to subscribe</a></p>\\n<p><strong>Subscribe To WPWeekly Via Stitcher Radio: </strong><a href=\"http://www.stitcher.com/podcast/wordpress-weekly-podcast?refid=stpr\" target=\"_blank\">Click here to subscribe</a></p>\\n<p><strong>Listen To Episode #160:</strong><br />\\n</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 28 Aug 2014 07:30:40 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:40;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:81:\"WPTavern: WP Dashboard Notes Plugin Clones Google Keep in the WordPress Dashboard\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29322\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:192:\"http://wptavern.com/wp-dashboard-notes-clones-google-keep-in-the-wordpress-dashboard?utm_source=rss&utm_medium=rss&utm_campaign=wp-dashboard-notes-clones-google-keep-in-the-wordpress-dashboard\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:3991:\"<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/wp-dashboard-notes.jpg\" rel=\"prettyphoto[29322]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/wp-dashboard-notes.jpg?resize=772%2C250\" alt=\"wp-dashboard-notes\" class=\"aligncenter size-full wp-image-29326\" /></a></p>\\n<p>Dashboard notes can come in handy when working with multiple people on a WordPress site. Even when working alone, you can use notes to collect ideas for posts or to remind yourself of important publishing-related tasks and ways to promote your posts. While there are many varying plugins devoted to creating sticky notes in the dashboard, the new <a href=\"http://wordpress.org/plugins/wp-dashboard-notes/\" target=\"_blank\">WP Dashboard Notes</a> plugin stands out with an interesting implementation that mirrors Google&#8217;s popular note-taking service.</p>\\n<p>Google junkies will notice that the color scheme of the notes is strangely similar to that of Google Keep, if not identical. The note creation and management process is also very similar in that there is no save button for editing and everything is saved automatically in the background.</p>\\n<p>WP Dashboard Notes doesn&#8217;t add any admin menus. Once installed, you can create a new note by clicking &#8220;Add Note&#8221; under Screen Options in the upper right corner. After you create your first note, you can add new notes from the black bar within existing notes.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/add-note.png\" rel=\"prettyphoto[29322]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/add-note.png?resize=976%2C291\" alt=\"add-note\" class=\"aligncenter size-full wp-image-29331\" /></a></p>\\n<p>A new note pops into your dashboard, which you can now edit and skin with one of the preset colors. Like Google Keep, notes can be set as a single note or a list. Users also have the option to set the visibility to &#8216;Everyone&#8217; or &#8216;Private.&#8217; Here&#8217;s a quick demo:</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/wp-dashboard-notes.gif\" rel=\"prettyphoto[29322]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/wp-dashboard-notes.gif?resize=578%2C473\" alt=\"wp-dashboard-notes\" class=\"aligncenter size-full wp-image-29333\" /></a></p>\\n<p>WP Dashboard Notes contains virtually all the same capabilities of Google Keep, minus the ability to upload images. The plugin&#8217;s features include:</p>\\n<ul>\\n<li>Colored notes</li>\\n<li>List notes or regular notes</li>\\n<li>Public or private notes</li>\\n<li>Edit on dashboard</li>\\n<li>Add as many notes as you like</li>\\n<li>Drag and drop list items</li>\\n<li>No save button needed</li>\\n</ul>\\n<p>Multiple notes arranged together create a colorful dashboard full of ideas and users will see public notes upon logging in.</p>\\n<p><a href=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/notes.png\" rel=\"prettyphoto[29322]\"><img src=\"http://i2.wp.com/wptavern.com/wp-content/uploads/2014/08/notes.png?resize=1025%2C470\" alt=\"notes\" class=\"aligncenter size-full wp-image-29338\" /></a></p>\\n<p>After testing the plugin I found that it was simple and intuitive to use. The plugin, created by application developer <a href=\"http://www.jeroensormani.com/\" target=\"_blank\">Jeroen Sormani</a>, elegantly merges WordPress and Google Keep functionality to create a useful addition to the dashboard.</p>\\n<p>You can customize the colors by overriding the plugin&#8217;s CSS from another stylesheet. Additional color palettes and per-user visibility settings might make the plugin even more fun, but for now Sormani has kept it delightfully simple.</p>\\n<p>If you need note-taking capabilities for better collaboration in the dashboard, this plugin works as advertised and goes far beyond most other dashboard notes plugins. <a href=\"http://wordpress.org/plugins/wp-dashboard-notes/\" target=\"_blank\">WP Dashboard Notes</a> is available for free from WordPress.org.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 22:41:41 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:41;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Matt Mullenweg Hosts Impromptu Q&amp;A Session On Facebook\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29278\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:170:\"http://wptavern.com/matt-mullenweg-hosts-impromptu-qa-session-on-facebook?utm_source=rss&utm_medium=rss&utm_campaign=matt-mullenweg-hosts-impromptu-qa-session-on-facebook\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7047:\"<p>WordPress co-creator, Matt Mullenweg, stopped by the <a title=\"https://www.facebook.com/groups/advancedwp/\" href=\"https://www.facebook.com/groups/advancedwp/\">Advanced WordPress Facebook group</a> and participated in a WordPress edition of <a title=\"http://www.reddit.com/r/AMA/\" href=\"http://www.reddit.com/r/AMA/\">ask me anything</a>. After receiving a warm welcome from the group, Mullenweg outlined what types of questions he would answer.</p>\\n<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/MattMullenwegAdvancedWPFacebookGroup.png\" rel=\"prettyphoto[29278]\"><img class=\"size-full wp-image-29312\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/MattMullenwegAdvancedWPFacebookGroup.png?resize=504%2C233\" alt=\"Rules Of Engagement\" /></a>Rules Of Engagement\\n<p>Once the gates were opened, the questions started pouring in. Here are a few of my favorites along with Mullenweg&#8217;s answers.</p>\\n<p><strong>What is the most important thing we can do to support and bring value to WordPress?</strong></p>\\n<p><em>Everyone really sets their own path. Think about the thing that makes you happiest, what you consider your gift that you can share with the world, or something that you want to learn a lot more about.</em></p>\\n<p><strong>What are your thoughts on the businesses and entire industries that are built around WordPress and what opportunities do you see in the future?</strong></p>\\n<p><em>I think it&#8217;s awesome there are whole industries built on WordPress, that was part of the idea from very early on. It&#8217;s counter-intuitive, but I actually think one of bigger opportunities is in consulting and building sites right now. WordPress can get people 90% of the way there, but that last 10% represents a lot of opportunity for clients from the Fortune 500 to the smallest personal sites.</em></p>\\n<p><strong>I&#8217;m curious about Automattic&#8217;s policy about unlimited vacation days. I have never heard of this policy anywhere else. How does that play out? Seems like such an awesome place to work.</strong></p>\\n<p><em>I think open vacation policies are becoming more common, here&#8217;s an article that covers the pros and cons fairly well and says 1% of companies offer them now: <a href=\"http://www.businessinsider.com/pros-and-cons-of-unlimited-vacation-2013-12\" target=\"_blank\" rel=\"nofollow\">The Pros And Cons Of Unlimited Vacation Policies</a></em></p>\\n<p><em>I think it really comes down to hiring. With the right people you can have very liberal policies like this because people think about the organization as a whole and do the right thing. If anything we sometimes have to encourage people to take a bit more time off, something I don&#8217;t always set the best example of but I&#8217;m trying this week. I&#8217;ll be completely offline Thursday through Sunday.</em></p>\\n<p><strong>Is the Codex really going to disappear eventually?</strong></p>\\n<p><em>We&#8217;re not going to take down the Codex until we have something better to replace it. It&#8217;s more likely you&#8217;ll just see more links default to someplace new and Codex traffic will trail off until at some point, we&#8217;ll put it into archive mode.</em></p>\\n<p><strong>Do you think now that JSON support in WordPress core is coming, should it be used over RSS for building things like Mobile Apps? What you would recommend?</strong></p>\\n<p><em>Whether you use the prototype JSON API or RSS for a mobile app I would say depends a lot on what it does. Think of the JSON API more as replacing XML-RPC.</em></p>\\n<p><em>What would be great for everyone is to start to try and build applications on top of the prototype API, and let the team know where you get stuck or find things hard to understand. I&#8217;m extremely anxious to have a cleaner API in core, but I feel strongly that it should remain a plugin until we&#8217;ve built a few independent third-party applications on top of it when it&#8217;s in plugin form, utilizing every aspect of the API, so we know where it works well and where it&#8217;s lacking.</em></p>\\n<p><em>This is a lesson I&#8217;ve learned from my experience at Automattic. You can never design a perfect API and anticipate all needs, you really need to use it to solve real problems a few times before you can iterate it to have it be something that works well and that you&#8217;ll want to support for many years to come.</em></p>\\n<p>This is just a sample of the questions and answers within the conversation that took place on Facebook. If you want to see the rest of them, you&#8217;ll need to join the<a title=\"https://www.facebook.com/groups/advancedwp/\" href=\"https://www.facebook.com/groups/advancedwp/\"> Advanced WordPress group</a> on Facebook. It&#8217;s free and the moderators are quick to approve new members.</p>\\n<h2>I&#8217;d Like To See More Of These Types Of Events</h2>\\n<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/bucky-box-opensource-matt-mullenweg.jpg\" rel=\"prettyphoto[29278]\"><img class=\"size-full wp-image-29315\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/bucky-box-opensource-matt-mullenweg.jpg?resize=1025%2C742\" alt=\"Conversation With Matt\" /></a>Image Courtesy of <a title=\"http://blog.buckybox.com/2014/06/opening-up-the-secret-sauce-open-sourcing-bucky-box/\" href=\"http://blog.buckybox.com/2014/06/opening-up-the-secret-sauce-open-sourcing-bucky-box/\">Bucky Box</a>\\n<p>This was just a sample of the questions and answers within the conversation. If you want to see the rest of them, you&#8217;ll need to <a title=\"https://www.facebook.com/groups/advancedwp/\" href=\"https://www.facebook.com/groups/advancedwp/\">join the Facebook group</a>. It&#8217;s free and the moderators are quick to approve new members.</p>\\n<p>Seeing Mullenweg join the Facebook Group and then participate by answering questions was a shock to me. I know from experience that he likes to hang out where discussions of WordPress are taking place but it&#8217;s rare that I see him participate in the discussions, let alone host an impromptu Q&amp;A session.</p>\\n<p>I&#8217;d like to see more of these types of events from Mullenweg whether it be on his blog or through a medium of his choice. Perhaps once a month, he can hold a Q&amp;A session at a different WordPress hangout.</p>\\n<p>The community can be a fickle bunch but I think it would be beneficial if he participated in more discussions outside of what&#8217;s going on in core. In <a title=\"http://www.mattcromwell.com/coder-troll-matt-mullenweg-walk-bar/\" href=\"http://www.mattcromwell.com/coder-troll-matt-mullenweg-walk-bar/\">his roundup post</a>, Matt Cromwell hits the nail on the head on what it means to some folks to have a direct conversation with Mullenweg.</p>\\n<blockquote><p>I hope Mullenweg drops by again in the future. For him it may have been a quick dip into the WP Community. But for boat loads of WordPress developers, it was the highlight of the week.</p></blockquote>\\n<p>Just out of curiosity, if you had one question to ask Mullenweg, what would it be?</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 18:52:55 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:42;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:79:\"Lorelle on WP: Two WordPress College Classes Offered at Clark College This Fall\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:37:\"http://lorelle.wordpress.com/?p=11855\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"http://lorelle.wordpress.com/2014/08/27/two-wordpress-college-classes-offered-at-clark-college-this-fall/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:482:\"The WordPress I CTEC 160 courses at Clark College are about to close and there are still seats open in the Monday/Wednesday classes. This fall there are two times to choose from. Days from 1-3:30PM and evenings from 6:30-9PM. The 5-credit course covers the basics of WordPress, from content to design. Much of the classwork [&#8230;]<img alt=\"\" border=\"0\" src=\"http://pixel.wp.com/b.gif?host=lorelle.wordpress.com&blog=72&post=11855&subd=lorelle&ref=&feed=1\" width=\"1\" height=\"1\" />\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 18:08:59 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"Lorelle VanFossen\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:43;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"WPTavern: WP Tech Event Will No Longer Be a WordCamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29222\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:148:\"http://wptavern.com/wp-tech-event-will-no-longer-be-a-wordcamp?utm_source=rss&utm_medium=rss&utm_campaign=wp-tech-event-will-no-longer-be-a-wordcamp\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:7380:\"<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/07/nantes-featured.jpg\" rel=\"prettyphoto[29222]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/07/nantes-featured.jpg?resize=1025%2C493\" alt=\"nantes-featured\" class=\"aligncenter size-full wp-image-26172\" /></a></p>\\n<p>WP Tech is &#8220;breaking up with WordCamp,&#8221; according to co-organizer <a href=\"http://wabeo.fr/\" target=\"_blank\">Willy Bahuaud</a>. The developer-centric event, previously called <a href=\"http://wptavern.com/nantes-france-to-host-a-wordcamp-for-developers-in-november\" target=\"_blank\">WordCamp Nantes WP Tech</a>, is set to be held at the end of November and was welcomed as France&#8217;s second official WordCamp.</p>\\n<p>During the course of working with <a href=\"http://central.wordcamp.org/\" target=\"_blank\">WordCamp Central</a>, the organizers decided to opt out of keeping WP Tech under the WordCamp umbrella due to a number of conflicts.</p>\\n<p>&#8220;WordCamp Central gave us too many constraints, and we would not have been able to create a great technical event about WordPress,&#8221; co-organizer Daniel Roch told the Tavern. &#8220;It will be an independent WordPress tech event, like other great events such as Pressnomics, WPSessions, WordSesh or WordUps.&#8221;</p>\\n<p>The organizing team found that some of the WC Central rules would have forced them to change the core concept of WP Tech. &#8220;In our case, we wanted to hold WP Tech as a national event, inviting speakers from France to a provincial town (Nantes),&#8221; said Bahuaud. However, this poses a problem, as WordCamps are meant to be <a href=\"http://plan.wordcamp.org/planning-details/speakers/\" target=\"_blank\">local events</a> and the majority of speakers have to be from the city where the event takes place.</p>\\n<p>The second critical conflict they encountered was regarding speaker expenses. &#8220;We want to cover speakers&#8217;s travel cost. WordCamp central was very firm with this point: we can&#8217;t. The WP Tech team was told that the only people&#8217;s expenses that can be covered are those who appear on the sidebar of <a href=\"http://wordpress.org/about/\" target=\"_blank\">WordPress&#8217; about page</a>.</p>\\n<p>&#8220;WC Central&#8217;s position is that traveling to speak at a conference is a legitimate business expense,&#8221; Bahuaud said. &#8220;But we think it&#8217;s not. We believe that if people spent time to prepare a conference, it&#8217;s normal to cover their $200 (on average) travel and accommodation costs.&#8221;</p>\\n<p>Additionally, Bahuaud reports that the requirement to use the WordCamp platform for the event&#8217;s website was problematic, since it doesn&#8217;t allow for extensive customization. The event branding requirements were also an issue. Organizers changed the event name to &#8220;WordCamp Nantes WP Tech&#8221; but WC Central required further changes to make it compatible with guidelines.</p>\\n<p>&#8220;Four months before the event, rules were still changing and we had to be accountable on each step. It was very frustrating, so we decided to break up with WordCamp, and make our event separate,&#8221; Bahuaud explained.</p>\\n<h3>Cultural and Economic Differences Regarding Speaker Travel Guidelines</h3>\\n<p><a href=\"https://twitter.com/jennybeaumont\" target=\"_blank\">Jenny Beaumont</a>, a WordPress developer and an active member of the French WordPress community, commented on the conflict with insight on the economic differences experienced by non-US event organizers:</p>\\n<blockquote><p>In France, a majority of people in the WordPress community are freelancers, and as such, many of us have a legal status that&#8217;s called an &#8216;auto-entrepreneur&#8217;. It&#8217;s part of what is known as a micro-regime that gives us a tax break on social contributions, which are very imposing here (45% for regular business owners). </p>\\n<p>The flip side to this is two-fold: 1) We have a ceiling on earnings, 2) We can&#8217;t deduct expenses. It&#8217;s this last fact that also influences the desire on the part of WordCamp organizers in France to want to reimburse speakers for their travels costs. WordCamp Paris has been doing it for years, though in light of recent events, may be prohibited from doing so in the future.</p></blockquote>\\n<p>Whereas Americans are free to deduct work-related travel expenses as a business expense from their taxes, French speakers do not share that same privilege. At this point in time, WC Central guidelines don&#8217;t currently allow for flexibility on the issue of speaker travel, but the guidelines are not written in stone. WordCamp Central is open to further discussion on the matter.</p>\\n<p>Andrea Middleton <a href=\"http://make.wordpress.org/community/2014/08/27/speaker-travel-for-wordcamps/\" target=\"_blank\">clarified the issue of speaker travel expenses</a> today on the make.wordpress.org Community blog. She highlighted the importance of WordCamps as local events and how paying for speaker travel costs doesn&#8217;t mesh well with that guideline:</p>\\n<blockquote><p>WordCamps are locally-focused, so there’s an inherent disconnect between paying for people from out of town to speak at a WordCamp and that emphasis on local community. Local experts are assets to their communities all year round, whereas visiting speakers don’t typically serve as ongoing resources once they have returned to their home cities.</p></blockquote>\\n<p>Middleton suggests the more cost-effective option of utilizing Skype or Google hangouts to pull in out-of-town speakers who are unable to cover their own travel expenses. The idea is that the WordCamp budget can be better used to serve the local community.</p>\\n<p><strong>&#8220;A WordCamp’s primary focus is on connecting local community and lifting up local experts, rather than blowing our budgets on flying people around the world when technology can get them there so much faster,&#8221;</strong> she explained.</p>\\n<p>Community members who want to advocate a different opinion on the guidelines have the opportunity to do so. Middleton invites discussion in the comments of her <a href=\"http://make.wordpress.org/community/2014/08/27/speaker-travel-for-wordcamps/\" target=\"_blank\">post</a>. She also plans to discuss the issue with contributors at the WordPress Community Summit in October, which will include WordCamp and meetup organizers from around the world. Data from WordCamp San Francisco&#8217;s new <a href=\"http://2014.sf.wordcamp.org/location/travel-assistance/\" target=\"_blank\">travel assistance program</a> may also factor into the discussion.</p>\\n<p>Not every WordPress event has to be a WordCamp. It&#8217;s not a failure on the part of the organizers or WC Central if there are irreconcilable differences. If an event finds the WordCamp guidelines to be too problematic, organizers can host it as an independent event. WC Central exists to nurture local pockets of WordPress enthusiasm, but not every event will share that mission. There&#8217;s no mandate that all WordPress events have to be WordCamps and many successful events run outside of that umbrella.</p>\\n<p>Do you think the economic differences in other countries are an influencing factor regarding the creation of new WordCamps? Should cultural and economic differences come into play when it comes to officially-sanctioned WordCamp events?</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 17:11:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:44;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:26:\"Matt: How The Sun Sees You\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"http://ma.tt/?p=44036\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"http://ma.tt/2014/08/how-the-sun-seesyou/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:243:\"<p><span class=\"embed-youtube\"></span></p>\\n<p>This video really makes you want to wear sunblock, something I haven&#8217;t been as good about this week. (Sorry Mom!) <cite>Hat tip: <a href=\"http://www.sararosso.com/\">Sara Rosso</a>.</cite></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 17:00:00 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:45;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:67:\"WPTavern: WordPress 4.0 Release Candidate Now Available for Testing\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29281\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:178:\"http://wptavern.com/wordpress-4-0-release-candidate-now-available-for-testing?utm_source=rss&utm_medium=rss&utm_campaign=wordpress-4-0-release-candidate-now-available-for-testing\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2011:\"<p><a href=\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/\" target=\"_blank\">WordPress 4.0 RC 1</a> is now available for download. Helen Hou-Sandí announced the release candidate today with an update to the <a href=\"http://make.wordpress.org/core/version-4-0-project-schedule/\" target=\"_blank\">project schedule</a>. The official release was targeted for the week of August 25th but will likely be arriving the following week.</p>\\n<p><strong>&#8220;We hope to ship WordPress 4.0 <em>next week</em>, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present,&#8221;</strong> Hou-Sandí said in the release announcement.</p>\\n<p>The easiest way to test RC1 is to put the <a href=\"http://wordpress.org/extend/plugins/wordpress-beta-tester/\" target=\"_blank\">WordPress Beta Tester</a> plugin on a test site and start running through all the <a href=\"http://wptavern.com/preview-wordpress-4-0-features-beta-1-now-available-for-testing\" target=\"_blank\">new features</a>, many of which are highlighted on the 4.0 about page in the admin (wp-admin/about.php). If you want a more in-depth look at the new features, Hou-Sandí <a href=\"http://wptavern.com/helen-hou-sandi-previews-wordpress-4-0-at-nyc-meetup\" target=\"_blank\">previewed WordPress 4.0</a> at a recent NYC Meetup and you can watch the video.</p>\\n<p>The good news is that plugin and theme authors still have plenty of time to test their extensions against the release candidate for compatibility. Since <a href=\"http://wptavern.com/wordpress-4-0-adds-custom-icons-to-the-plugin-installer\" target=\"_blank\">WordPress 4.0 adds icons to the admin plugin installer</a>, plugin developers will want to put their custom icons in place to improve visibility among all the auto-generated ones.</p>\\n<p>Over the past month of four beta releases, WordPress 4.0 has incorporated hundreds of fixes and refinements that make it truly a joy to use. Watch for the official release to drop sometime next week.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 16:06:34 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:46;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:41:\"Dev Blog: WordPress 4.0 Release Candidate\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"http://wordpress.org/news/?p=3287\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:66:\"http://wordpress.org/news/2014/08/wordpress-4-0-release-candidate/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2126:\"<p>The first release candidate for WordPress 4.0 is now available!</p>\\n<p>In RC 1, we’ve made refinements to what we&#8217;ve been working on for this release. Check out the <a href=\"http://wordpress.org/news/2014/07/wordpress-4-0-beta-1/\">Beta 1 announcement post</a> for more details on those features. We hope to ship WordPress 4.0 <em>next week</em>, but we need your help to get there. If you haven’t tested 4.0 yet, there’s no time like the present. (Please, not on a production site, unless you’re adventurous.)</p>\\n<p><strong>Think you’ve found a bug? </strong>Please post to the <a href=\"http://wordpress.org/support/forum/alphabeta/\">Alpha/Beta area in the support forums</a>. If any known issues come up, you’ll be able to <a href=\"http://core.trac.wordpress.org/report/5\">find them here</a>.</p>\\n<p>To test WordPress 4.0 RC1, try the <a href=\"http://wordpress.org/extend/plugins/wordpress-beta-tester/\">WordPress Beta Tester</a> plugin (you’ll want “bleeding edge nightlies”). Or you can <a href=\"http://wordpress.org/wordpress-4.0-RC1.zip\">download the release candidate here</a> (zip). If you’d like to learn more about what’s new in WordPress 4.0, visit the awesome About screen in your dashboard (<strong><img src=\"http://i0.wp.com/core.svn.wordpress.org/branches/3.6/wp-content/themes/twentyten/images/wordpress.png?w=692\" alt=\"\" width=\"16\" height=\"16\" /> → About</strong> in the toolbar).</p>\\n<p><strong>Developers,</strong> please test your plugins and themes against WordPress 4.0 and update your plugin&#8217;s <em>Tested up to</em> version in the readme to 4.0 before next week. If you find compatibility problems, please be sure to post any issues to the support forums so we can figure those out before the final release. You also may want to <a href=\"http://make.wordpress.org/core/2014/08/21/introducing-plugin-icons-in-the-plugin-installer/\">give your plugin an icon</a>, which we launched last week and will appear in the dashboard along with banners.</p>\\n<p><em>It is almost time</em><br />\\n<em> For the 4.0 release</em><br />\\n<em> And its awesomeness</em></p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 12:20:37 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"Helen Hou-Sandi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:47;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"WPTavern: Menu Humility: A Plugin to Put Plugins in Their Place\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29253\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:168:\"http://wptavern.com/menu-humility-a-plugin-to-put-plugins-in-their-place?utm_source=rss&utm_medium=rss&utm_campaign=menu-humility-a-plugin-to-put-plugins-in-their-place\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:2017:\"<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/menu-humility.png\" rel=\"prettyphoto[29253]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/menu-humility.png?resize=772%2C250\" alt=\"menu-humility\" class=\"aligncenter size-full wp-image-29256\" /></a></p>\\n<p>Giving a plugin a top level admin menu between Dashboard and Posts is somewhat frowned upon among WordPress plugin developers. Although the <a href=\"http://codex.wordpress.org/Administration_Menus\" target=\"_blank\">Administration Menus</a> section of the WordPress codex doesn&#8217;t outright forbid top level menus above Posts, plugin authors are strongly encouraged to consider placing their plugin&#8217;s menu underneath an existing WordPress top-level menu.</p>\\n<p>Nevertheless, many plugins assume a higher level of importance by placing their admin menus above WordPress&#8217; core publishing features such as Posts, Comments, and Media. Jetpack is a prime example. As useful as the plugin is, its settings menu is not something that most users need to access more often than posts or comments.</p>\\n<p>That&#8217;s why WordPress lead developer Mark Jaquith created <a href=\"http://wordpress.org/plugins/menu-humility/\" target=\"_blank\">Menu Humility</a>, a plugin that reassigns the menu location for errant menu items. For example, if you use it on a site with Jetpack installed, it will put its admin menu at the very bottom below Settings.</p>\\n<p>Menu Humility is not a new plugin. In fact, it&#8217;s three years old &#8211; ancient in WordPress years. After testing the plugin today, I found that it&#8217;s still effective at stripping plugins of their assumed preeminence in the admin.</p>\\n<p>The bottom line is that most plugins don&#8217;t require top billing. If you feel that a top level menu item constitutes a plugin getting too big for its britches, then install the <a href=\"http://wordpress.org/plugins/menu-humility/\" target=\"_blank\">Menu Humility</a> plugin to bring it back down to its place.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 04:10:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:48;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:68:\"WPTavern: Chris Wiegman on Why He Sold Better WP Security to iThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29247\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:180:\"http://wptavern.com/chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes?utm_source=rss&utm_medium=rss&utm_campaign=chris-wiegman-on-why-he-sold-better-wp-security-to-ithemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:4755:\"<a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2013/12/chriswiegman.jpg\" rel=\"prettyphoto[29247]\"><img class=\"size-full wp-image-12530\" src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2013/12/chriswiegman.jpg?resize=250%2C250\" alt=\"WordPress Security Expert Chris Wiegman\" /></a>WordPress Security Expert Chris Wiegman\\n<p>If you&#8217;ve ever wondered why Chris Wiegman sold Better WP Security to iThemes, he <a title=\"http://www.chriswiegman.com/2014/08/sold-better-wp-security/\" href=\"http://www.chriswiegman.com/2014/08/sold-better-wp-security/\">answers the question</a> in a post on his personal site. The birth of Better WP Security started off as a mixture of features from several of his favorite security plugins. &#8220;I started mashing together features of some of the plugins I liked while adding in some of the functionality we wanted as a department (like &#8216;Away mode&#8217;) to produce something that I could manage myself and would make sure I kept off of anyone’s radar by not being hacked,&#8221; Wiegman said.</p>\\n<p>Wiegman goes on to describe the success the plugin had and how much money he was making in donations. At the peak of its popularity, it was downloaded over 1M times with $20,000 earned in donations. This prompted Wiegman to create a premium support channel. &#8220;It was so big I was no longer able to keep up and had to implement premium support only for folks who needed it. This was a new revenue stream and the first official revenue stream for the plugin.&#8221; The surge of popularity came at a time when Wiegman was teaching and reviewing books for APress. This severely limited the amount of time he had available to develop new features.</p>\\n<h2>iThemes Enters The Picture</h2>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2013/10/ithemeslogo2.jpg\" rel=\"prettyphoto[29247]\"><img class=\"alignright size-full wp-image-10776\" src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2013/10/ithemeslogo2.jpg?resize=255%2C53\" alt=\"iThemes logo 2\" /></a>One day, the founder of iThemes, Cory Miller, reached out to Wiegman for support after he was locked out of his site. &#8220;What started out as a rather simple conversation quickly lead to something more. I realized that the medicine the project needed to get off life support wasn’t necessarily something I needed to provide myself but could in fact come in the form of selling the plugin to a group who had the resources to make more of it,&#8221; Wiegman said.</p>\\n<p>According to the post, he reached out to a few other groups but stuck with iThemes because they had products that complimented a security plugin such as BackupBuddy and Exchange. Better WP Security was <a title=\"http://wptavern.com/ithemes-acquires-better-wp-security-plugin-and-hires-wordpress-security-expert-chris-wiegman\" href=\"http://wptavern.com/ithemes-acquires-better-wp-security-plugin-and-hires-wordpress-security-expert-chris-wiegman\">sold to iThemes on December 1st, 2013</a> and renamed to <a title=\"https://wordpress.org/plugins/better-wp-security/\" href=\"https://wordpress.org/plugins/better-wp-security/\">iThemes Security</a>. As part of the deal, Wiegman joined iThemes as a full-time employee to continue developing iThemes Security.</p>\\n<h2>Not Every Plugin Has a Happy Ending</h2>\\n<p>What I like most about Wiegman&#8217;s story is how a simple idea turns into a solid product. I think a lot of WordPress plugins are created because they scratch an itch or solve a problem. The plugin&#8217;s creator usually submits the plugin to the directory with a mindset that it can help others as well. Since WordPress is used on <a title=\"http://w3techs.com/\" href=\"http://w3techs.com/\">23% of the web</a>, there&#8217;s a good chance that a plugin distributed through the directory will help more than one person.</p>\\n<p>While Wiegman&#8217;s tale has a happy ending, so many plugins never reach the type of adoption of Better WP Security. In fact, quite a few end up in a <a title=\"http://wptavern.com/could-wordpress-plugin-adoption-lower-the-rate-of-abandonment\" href=\"http://wptavern.com/could-wordpress-plugin-adoption-lower-the-rate-of-abandonment\">graveyard of abandonment</a> for any number of reasons. If you find yourself in this situation, read our guide on <a title=\"http://wptavern.com/how-to-adopt-a-plugin-or-put-it-up-for-adoption\" href=\"http://wptavern.com/how-to-adopt-a-plugin-or-put-it-up-for-adoption\">how to adopt a plugin and put one up for adoption.</a> It could end up being the next Better WP Security or <a title=\"http://wptavern.com/automattic-acquires-parka-llc-the-creators-of-bruteprotect\" href=\"http://wptavern.com/automattic-acquires-parka-llc-the-creators-of-bruteprotect\">BruteProtect</a>.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Wed, 27 Aug 2014 03:55:22 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Jeff Chandler\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:49;a:6:{s:4:\"data\";s:13:\"\\n\t\\n\t\\n\t\\n\t\\n\t\\n\t\\n\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"WPTavern: 3 Quick Ways to Create bbPress Test Data\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:28:\"http://wptavern.com/?p=29172\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:144:\"http://wptavern.com/3-quick-ways-to-create-bbpress-test-data?utm_source=rss&utm_medium=rss&utm_campaign=3-quick-ways-to-create-bbpress-test-data\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:5651:\"<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/bbpress-test-data-feature.jpg\" rel=\"prettyphoto[29172]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/bbpress-test-data-feature.jpg?resize=766%2C380\" alt=\"bbpress-test-data-feature\" class=\"aligncenter size-full wp-image-29219\" /></a></p>\\n<p><a href=\"http://bbpress.org/blog/2013/11/bbpress-2-5-released/\" target=\"_blank\">bbPress 2.5</a> introduced a host of new importers for AEF, Drupal, FluxBB, Kunena Forums (Joomla), MyBB, Phorum, PHPFox, PHPWind, PunBB, SMF, Xenforo and XMB, making it easier than ever to bring forums into WordPress. bbPress 2.5 also improved existing importers to include better support for importing stickies, topic tags, and forum categories.</p>\\n<p>If you&#8217;re thinking about importing forums into bbPress or starting with a fresh installation, you may want to set up a test site first to see how different themes and plugins will work with your content. There&#8217;s nothing more tedious than trying to create a bunch of forums, topics, and replies manually, so you&#8217;ll need an automatic way to generate a bunch of demo data.</p>\\n<p>In searching for bbPress demo data, I found that there&#8217;s no standard way to generate it. Several developers have created and shared their own tools. Depending on your development workflow, one method may prove easier than another, so we&#8217;ll check out all three.</p>\\n<h3>XML: bbPress Unit Testing Data</h3>\\n<p>The first option is a set of <a href=\"https://bbpress.trac.wordpress.org/ticket/2516\" target=\"_blank\">bbPress unit testing data</a> stored in an XML file, which allows you to import it via the standard WordPress import tool. The file was created by bbPress core commiter <a href=\"https://twitter.com/netweb\" target=\"_blank\">Stephen Edgar</a>. It gives you 17 forums, including 15 public, 1 private, and 1 hidden.</p>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/xml-demo-data.png\" rel=\"prettyphoto[29172]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/xml-demo-data.png?resize=923%2C490\" alt=\"xml-demo-data\" class=\"aligncenter size-full wp-image-29187\" /></a></p>\\n<p>The demo data includes multiple topics and replies and also a group of forums and categories based on the <a href=\"https://en.wikipedia.org/wiki/Nested_set_model\" target=\"_blank\">Nested set model</a>.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/forums.png\" rel=\"prettyphoto[29172]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/forums.png?resize=982%2C586\" alt=\"forums\" class=\"aligncenter size-full wp-image-29189\" /></a></p>\\n<p>Technically, this unit testing data is still in process, as it&#8217;s currently hosted in <a href=\"https://bbpress.trac.wordpress.org/ticket/2516\" target=\"_blank\">a ticket on bbPress trac</a> and is open to further improvement.</p>\\n<h3>Plugin: bbpFauxData</h3>\\n<p><a href=\"https://github.com/MZAWeb/bbpFauxData\" target=\"_blank\">bbpFauxData</a> is another option created by WordPress developer <a href=\"http://mzaweb.com/\" target=\"_blank\">Daniel Dvorkin</a>. It&#8217;s a quick and dirty plugin to help you populate a bbPress instance with faux data which seems real, generated by the <a href=\"https://github.com/fzaninotto/Faker\" target=\"_blank\">Faker</a> PHP library, in order to test performance.</p>\\n<p><a href=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/bbpfauxdata.png\" rel=\"prettyphoto[29172]\"><img src=\"http://i1.wp.com/wptavern.com/wp-content/uploads/2014/08/bbpfauxdata.png?resize=900%2C613\" alt=\"bbpfauxdata\" class=\"aligncenter size-full wp-image-29197\" /></a></p>\\n<p>Once installed, you can set how many users, forums, topics and replies that you want to generate:</p>\\n<pre class=\"brush: php; light: true; title: ; notranslate\">\\n$bfd = new bbpFauxData();\\n\\nconst USERS   = 50;\\nconst FORUMS  = 5;\\nconst TOPICS  = 100;\\nconst REPLIES = 1000;\\n\\nfor ( $i = 0; $i &lt; USERS; $i++ ) {\\n    $bfd-&gt;generate_user();\\n}\\n\\nfor ( $i = 0; $i &lt; FORUMS; $i++ ) {\\n    $bfd-&gt;generate_forum();\\n}\\n\\nfor ( $i = 0; $i &lt; TOPICS; $i++ ) {\\n    $bfd-&gt;generate_topic();\\n}\\n\\nfor ( $i = 0; $i &lt; REPLIES; $i++ ) {\\n    $bfd-&gt;generate_reply();\\n}</pre>\\n<p>This plugin gives you a little more control over how much demo data you want to generate, as it is geared more towards testing performance. Dvorkin suggests that you bump up the &#8216;max_execution_time&#8217; and &#8216;memory_limit&#8217;, if implementing this data at higher numbers.</p>\\n<h3>Plugin: Test Data for bbPress</h3>\\n<p><a href=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/bbpress-test-data.jpg\" rel=\"prettyphoto[29172]\"><img src=\"http://i0.wp.com/wptavern.com/wp-content/uploads/2014/08/bbpress-test-data.jpg?resize=772%2C459\" alt=\"bbpress-test-data\" class=\"aligncenter size-full wp-image-29214\" /></a></p>\\n<p><a href=\"http://www.epicwebs.co.uk/bbpress-tutorials/test-data-for-bbpress-plugin/\" target=\"_blank\">Test Data for bbPress</a> is a plugin created by <a href=\"http://www.epicwebs.co.uk/\" target=\"_blank\">Rob Mehew</a>, who needed demo data while developing a theme. The plugin creates the following:</p>\\n<ul>\\n<li>Adds a forum with nested forums</li>\\n<li>Adds a forum with loads of topics</li>\\n<li>Adds a topic with loads of replies</li>\\n</ul>\\n<p>Test Data for bbPress was created for the purpose of testing themes and includes lorem ipsum for sample text. As with all of the above options, this plugin should only be used on a development site; it is not designed for use on a live site.</p>\\n<p>Anyone have other bbPress demo data creation tools? Let us know in the comments.</p>\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Tue, 26 Aug 2014 19:35:17 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Sarah Gooding\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";a:10:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Sat, 06 Sep 2014 02:12:01 GMT\";s:12:\"content-type\";s:8:\"text/xml\";s:14:\"content-length\";s:6:\"245742\";s:10:\"connection\";s:5:\"close\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:13:\"last-modified\";s:29:\"Sat, 06 Sep 2014 02:00:15 GMT\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";s:13:\"accept-ranges\";s:5:\"bytes\";}s:5:\"build\";s:14:\"20130911080210\";}', 'no');\nINSERT INTO `wp_options` (`option_id`, `option_name`, `option_value`, `autoload`) VALUES\n(115, '_transient_timeout_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1410012716', 'no'),\n(116, '_transient_feed_mod_867bd5c64f85878d03a060509cd2f92c', '1409969516', 'no'),\n(117, '_transient_timeout_feed_b9388c83948825c1edaef0d856b7b109', '1410012717', 'no'),\n(118, '_transient_feed_b9388c83948825c1edaef0d856b7b109', 'a:4:{s:5:\"child\";a:1:{s:0:\"\";a:1:{s:3:\"rss\";a:1:{i:0;a:6:{s:4:\"data\";s:3:\"\\n\t\\n\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:7:\"version\";s:3:\"2.0\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:1:{s:0:\"\";a:1:{s:7:\"channel\";a:1:{i:0;a:6:{s:4:\"data\";s:72:\"\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\t\t\\n\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\t\t\\n\\n\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:7:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"WordPress Plugins » View: Most Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:44:\"http://wordpress.org/plugins/browse/popular/\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:39:\"WordPress Plugins » View: Most Popular\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:8:\"language\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"en-US\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sat, 06 Sep 2014 01:52:31 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:9:\"generator\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"http://bbpress.org/?v=1.1\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"item\";a:15:{i:0;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:7:\"Akismet\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:45:\"http://wordpress.org/plugins/akismet/#post-15\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:11:30 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:32:\"15@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:98:\"Akismet checks your comments against the Akismet Web service to see if they look like spam or not.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Matt Mullenweg\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:1;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Contact Form 7\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"http://wordpress.org/plugins/contact-form-7/#post-2141\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 02 Aug 2007 12:45:03 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2141@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"Just another contact form plugin. Simple but flexible.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Takayuki Miyoshi\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:2;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:22:\"WordPress SEO by Yoast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:53:\"http://wordpress.org/plugins/wordpress-seo/#post-8321\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 Jan 2009 20:34:44 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"8321@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:131:\"Improve your WordPress SEO: Write better content and have a fully optimized WordPress site using Yoast&#039;s WordPress SEO plugin.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Joost de Valk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:3;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"All in One SEO Pack\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:58:\"http://wordpress.org/plugins/all-in-one-seo-pack/#post-753\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 30 Mar 2007 20:08:18 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"753@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:126:\"All in One SEO Pack is a WordPress SEO plugin to automatically optimize your WordPress blog for Search Engines such as Google.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:8:\"uberdose\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:4;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Google XML Sitemaps\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"http://wordpress.org/plugins/google-sitemap-generator/#post-132\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 09 Mar 2007 22:31:32 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"132@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:105:\"This plugin will generate a special XML sitemap which will help search engines to better index your blog.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:5:\"arnee\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:5;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"Wordfence Security\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:50:\"http://wordpress.org/plugins/wordfence/#post-29832\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Sun, 04 Sep 2011 03:13:51 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29832@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:137:\"Wordfence Security is a free enterprise class security and performance plugin that makes your site up to 50 times faster and more secure.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Wordfence\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:6;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:24:\"Jetpack by WordPress.com\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:48:\"http://wordpress.org/plugins/jetpack/#post-23862\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 Jan 2011 02:21:38 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"23862@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:104:\"Supercharge your WordPress site with powerful features previously only available to WordPress.com users.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Tim Moore\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:7;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:20:\"MailPoet Newsletters\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/plugins/wysija-newsletters/#post-32629\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 02 Dec 2011 17:09:16 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"32629@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:94:\"Send newsletters, post notifications or autoresponders from WordPress easily, and beautifully.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"MailPoet Staff\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:8;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:18:\"WordPress Importer\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/plugins/wordpress-importer/#post-18101\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 20 May 2010 17:42:45 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"18101@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:101:\"Import posts, pages, comments, custom fields, categories, tags and more from a WordPress export file.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"Brian Colinger\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:9;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:21:\"WPtouch Mobile Plugin\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:47:\"http://wordpress.org/plugins/wptouch/#post-5468\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Thu, 01 May 2008 04:58:09 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"5468@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:63:\"Create a slick mobile WordPress website with just a few clicks.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:17:\"BraveNewCode Inc.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:10;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:15:\"NextGEN Gallery\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:55:\"http://wordpress.org/plugins/nextgen-gallery/#post-1169\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 23 Apr 2007 20:08:06 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"1169@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:121:\"The most popular WordPress gallery plugin and one of the most popular plugins of all time with over 10 million downloads.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"Alex Rabe\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:11;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:33:\"WooCommerce - excelling eCommerce\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:52:\"http://wordpress.org/plugins/woocommerce/#post-29860\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Sep 2011 08:13:36 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:35:\"29860@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:97:\"WooCommerce is a powerful, extendable eCommerce plugin that helps you sell anything. Beautifully.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:9:\"WooThemes\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:12;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:25:\"Google Analytics by Yoast\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:70:\"http://wordpress.org/plugins/google-analytics-for-wordpress/#post-2316\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Fri, 14 Sep 2007 12:15:27 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2316@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:124:\"Track your WordPress site easily with the latest tracking codes and lots added data for search result pages and error pages.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:13:\"Joost de Valk\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:13;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:19:\"Broken Link Checker\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:59:\"http://wordpress.org/plugins/broken-link-checker/#post-2441\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 08 Oct 2007 21:35:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2441@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:131:\"This plugin will check your posts, comments and other content for broken links and missing images, and notify you if any are found.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:11:\"Janis Elsts\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}i:14;a:6:{s:4:\"data\";s:30:\"\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\\n\t\t\t\t\t\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";s:5:\"child\";a:2:{s:0:\"\";a:5:{s:5:\"title\";a:1:{i:0;a:5:{s:4:\"data\";s:14:\"WP Super Cache\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:54:\"http://wordpress.org/plugins/wp-super-cache/#post-2572\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:7:\"pubDate\";a:1:{i:0;a:5:{s:4:\"data\";s:31:\"Mon, 05 Nov 2007 11:40:04 +0000\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:4:\"guid\";a:1:{i:0;a:5:{s:4:\"data\";s:34:\"2572@http://wordpress.org/plugins/\";s:7:\"attribs\";a:1:{s:0:\"\";a:1:{s:11:\"isPermaLink\";s:5:\"false\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}s:11:\"description\";a:1:{i:0;a:5:{s:4:\"data\";s:73:\"A very fast caching engine for WordPress that produces static html files.\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}s:32:\"http://purl.org/dc/elements/1.1/\";a:1:{s:7:\"creator\";a:1:{i:0;a:5:{s:4:\"data\";s:16:\"Donncha O Caoimh\";s:7:\"attribs\";a:0:{}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}s:27:\"http://www.w3.org/2005/Atom\";a:1:{s:4:\"link\";a:1:{i:0;a:5:{s:4:\"data\";s:0:\"\";s:7:\"attribs\";a:1:{s:0:\"\";a:3:{s:4:\"href\";s:45:\"http://wordpress.org/plugins/rss/view/popular\";s:3:\"rel\";s:4:\"self\";s:4:\"type\";s:19:\"application/rss+xml\";}}s:8:\"xml_base\";s:0:\"\";s:17:\"xml_base_explicit\";b:0;s:8:\"xml_lang\";s:0:\"\";}}}}}}}}}}}}s:4:\"type\";i:128;s:7:\"headers\";a:11:{s:6:\"server\";s:5:\"nginx\";s:4:\"date\";s:29:\"Sat, 06 Sep 2014 02:12:03 GMT\";s:12:\"content-type\";s:23:\"text/xml; charset=UTF-8\";s:10:\"connection\";s:5:\"close\";s:4:\"vary\";s:15:\"Accept-Encoding\";s:7:\"expires\";s:29:\"Sat, 06 Sep 2014 02:27:31 GMT\";s:13:\"cache-control\";s:0:\"\";s:6:\"pragma\";s:0:\"\";s:13:\"last-modified\";s:31:\"Sat, 06 Sep 2014 01:52:31 +0000\";s:15:\"x-frame-options\";s:10:\"SAMEORIGIN\";s:4:\"x-nc\";s:11:\"HIT lax 249\";}s:5:\"build\";s:14:\"20130911080210\";}', 'no'),\n(119, '_transient_timeout_feed_mod_b9388c83948825c1edaef0d856b7b109', '1410012717', 'no'),\n(120, '_transient_feed_mod_b9388c83948825c1edaef0d856b7b109', '1409969517', 'no'),\n(121, '_transient_timeout_plugin_slugs', '1410055917', 'no'),\n(122, '_transient_plugin_slugs', 'a:2:{i:0;s:19:\"akismet/akismet.php\";i:1;s:9:\"hello.php\";}', 'no'),\n(123, '_transient_timeout_dash_4077549d03da2e451c8b5f002294ff51', '1410012717', 'no'),\n(124, '_transient_dash_4077549d03da2e451c8b5f002294ff51', '<div class=\"rss-widget\"><ul><li><a class=''rsswidget'' href=''http://wordpress.org/news/2014/09/benny/''>WordPress 4.0 “Benny”</a> <span class=\"rss-date\">September 4, 2014</span><div class=\"rssSummary\">Version 4.0 of WordPress, named “Benny” in honor of jazz clarinetist and bandleader Benny Goodman, is available for download or update in your WordPress dashboard. While 4.0 is just another number for us after 3.9 and before 4.1, we feel we’ve put a little extra polish into it. This release brings you a smoother writing and management experience […]</div></li></ul></div><div class=\"rss-widget\"><ul><li><a class=''rsswidget'' href=''http://wptavern.com/wordpress-theme-review-team-to-launch-mentoring-program'' title=''The WordPress.org Theme Review Team put out a call for mentors this week. The team will be launching a mentoring program that will pair new reviewers with those who have experience. “We are looking for currently active reviewers who want to give back to the community, of course, and to teach the next generation of theme reviewers,” Jose Castaneda said in the''>WPTavern: WordPress Theme Review Team to Launch Mentoring Program</a></li><li><a class=''rsswidget'' href=''http://wptavern.com/flywheel-hosting-secures-1-2m-in-funding'' title=''At this time last year, Flywheel Hosting opened its doors to the public. Today, the company announced it has secured $1.2M in seed funding. The round was led by Linseed Capital, with participation from the Nebraska Angels, Ludlow Ventures out of Detroit, Lightbank and Hyde Park Venture Partners out of Chicago, and Rose Paul Ventures out of NYC. Flywheel will''>WPTavern: Flywheel Hosting Secures $1.2M In Funding</a></li><li><a class=''rsswidget'' href=''http://wptavern.com/1000-wordpress-themes-on-envato-market-potentially-affected-by-revolution-slider-security-vulnerability'' title=''A couple days ago we wrote about a critical security vulnerability that was found in the popular WordPress Slider Revolution plugin and silently patched by its author. Envato Market has since launched further investigation of the matter, as the product is not only hosted on their marketplace but also packaged with many other products. The company has identif''>WPTavern: 1,000+ WordPress Themes on Envato Market Potentially Affected by Slider Revolution Security Vulnerability</a></li></ul></div><div class=\"rss-widget\"><ul><li class=''dashboard-news-plugin''><span>Popular Plugin:</span> <a href=''http://wordpress.org/plugins/wordfence/'' class=''dashboard-news-plugin-link''>Wordfence Security</a>&nbsp;<span>(<a href=''plugin-install.php?tab=plugin-information&amp;plugin=wordfence&amp;_wpnonce=621e0de563&amp;TB_iframe=true&amp;width=600&amp;height=800'' class=''thickbox'' title=''Wordfence Security''>Install</a>)</span></li></ul></div>', 'no'),\n(126, 'theme_mods_twentyfourteen', 'a:1:{s:16:\"sidebars_widgets\";a:2:{s:4:\"time\";i:1409969982;s:4:\"data\";a:4:{s:19:\"wp_inactive_widgets\";a:0:{}s:9:\"sidebar-1\";a:6:{i:0;s:8:\"search-2\";i:1;s:14:\"recent-posts-2\";i:2;s:17:\"recent-comments-2\";i:3;s:10:\"archives-2\";i:4;s:12:\"categories-2\";i:5;s:6:\"meta-2\";}s:9:\"sidebar-2\";a:0:{}s:9:\"sidebar-3\";a:0:{}}}}', 'yes'),\n(127, 'current_theme', 'Semanitic UI for WordPress', 'yes'),\n(128, 'theme_mods_Semantic-UI-WordPress', 'a:1:{i:0;b:0;}', 'yes'),\n(129, 'theme_switched', '', 'yes'),\n(130, 'semantic_ui_options', '{\"first_run\":true,\"mobile_meta\":true,\"mobile_size\":\"450\",\"logo_url\":\"http:\\\\/\\\\/placehold.it\\\\/200x125.png\"}', 'yes');\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_postmeta`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_postmeta` (\n`meta_id` bigint(20) unsigned NOT NULL,\n  `post_id` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `meta_key` varchar(255) DEFAULT NULL,\n  `meta_value` longtext\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;\n\n--\n-- Dumping data for table `wp_postmeta`\n--\n\nINSERT INTO `wp_postmeta` (`meta_id`, `post_id`, `meta_key`, `meta_value`) VALUES\n(1, 2, '_wp_page_template', 'default');\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_posts`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_posts` (\n`ID` bigint(20) unsigned NOT NULL,\n  `post_author` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `post_date_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `post_content` longtext NOT NULL,\n  `post_title` text NOT NULL,\n  `post_excerpt` text NOT NULL,\n  `post_status` varchar(20) NOT NULL DEFAULT 'publish',\n  `comment_status` varchar(20) NOT NULL DEFAULT 'open',\n  `ping_status` varchar(20) NOT NULL DEFAULT 'open',\n  `post_password` varchar(20) NOT NULL DEFAULT '',\n  `post_name` varchar(200) NOT NULL DEFAULT '',\n  `to_ping` text NOT NULL,\n  `pinged` text NOT NULL,\n  `post_modified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `post_modified_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `post_content_filtered` longtext NOT NULL,\n  `post_parent` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `guid` varchar(255) NOT NULL DEFAULT '',\n  `menu_order` int(11) NOT NULL DEFAULT '0',\n  `post_type` varchar(20) NOT NULL DEFAULT 'post',\n  `post_mime_type` varchar(100) NOT NULL DEFAULT '',\n  `comment_count` bigint(20) NOT NULL DEFAULT '0'\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;\n\n--\n-- Dumping data for table `wp_posts`\n--\n\nINSERT INTO `wp_posts` (`ID`, `post_author`, `post_date`, `post_date_gmt`, `post_content`, `post_title`, `post_excerpt`, `post_status`, `comment_status`, `ping_status`, `post_password`, `post_name`, `to_ping`, `pinged`, `post_modified`, `post_modified_gmt`, `post_content_filtered`, `post_parent`, `guid`, `menu_order`, `post_type`, `post_mime_type`, `comment_count`) VALUES\n(1, 1, '2014-09-06 02:11:43', '2014-09-06 02:11:43', 'Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!', 'Hello world!', '', 'publish', 'open', 'open', '', 'hello-world', '', '', '2014-09-06 02:11:43', '2014-09-06 02:11:43', '', 0, 'http://localhost/Semantic-UI-WordPress/testing/vendor/wordpress/?p=1', 0, 'post', '', 1),\n(2, 1, '2014-09-06 02:11:43', '2014-09-06 02:11:43', 'This is an example page. It''s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:\\n\\n<blockquote>Hi there! I''m a bike messenger by day, aspiring actor by night, and this is my blog. I live in Los Angeles, have a great dog named Jack, and I like pi&#241;a coladas. (And gettin'' caught in the rain.)</blockquote>\\n\\n...or something like this:\\n\\n<blockquote>The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.</blockquote>\\n\\nAs a new WordPress user, you should go to <a href=\"http://localhost/Semantic-UI-WordPress/testing/vendor/wordpress/wp-admin/\">your dashboard</a> to delete this page and create new pages for your content. Have fun!', 'Sample Page', '', 'publish', 'open', 'open', '', 'sample-page', '', '', '2014-09-06 02:11:43', '2014-09-06 02:11:43', '', 0, 'http://localhost/Semantic-UI-WordPress/testing/vendor/wordpress/?page_id=2', 0, 'page', '', 0),\n(3, 1, '2014-09-06 02:11:53', '0000-00-00 00:00:00', '', 'Auto Draft', '', 'auto-draft', 'open', 'open', '', '', '', '', '2014-09-06 02:11:53', '0000-00-00 00:00:00', '', 0, 'http://localhost/Semantic-UI-WordPress/testing/vendor/wordpress/?p=3', 0, 'post', '', 0);\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_terms`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_terms` (\n`term_id` bigint(20) unsigned NOT NULL,\n  `name` varchar(200) NOT NULL DEFAULT '',\n  `slug` varchar(200) NOT NULL DEFAULT '',\n  `term_group` bigint(10) NOT NULL DEFAULT '0'\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;\n\n--\n-- Dumping data for table `wp_terms`\n--\n\nINSERT INTO `wp_terms` (`term_id`, `name`, `slug`, `term_group`) VALUES\n(1, 'Uncategorized', 'uncategorized', 0);\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_term_relationships`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_term_relationships` (\n  `object_id` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `term_taxonomy_id` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `term_order` int(11) NOT NULL DEFAULT '0'\n) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n--\n-- Dumping data for table `wp_term_relationships`\n--\n\nINSERT INTO `wp_term_relationships` (`object_id`, `term_taxonomy_id`, `term_order`) VALUES\n(1, 1, 0);\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_term_taxonomy`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_term_taxonomy` (\n`term_taxonomy_id` bigint(20) unsigned NOT NULL,\n  `term_id` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `taxonomy` varchar(32) NOT NULL DEFAULT '',\n  `description` longtext NOT NULL,\n  `parent` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `count` bigint(20) NOT NULL DEFAULT '0'\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;\n\n--\n-- Dumping data for table `wp_term_taxonomy`\n--\n\nINSERT INTO `wp_term_taxonomy` (`term_taxonomy_id`, `term_id`, `taxonomy`, `description`, `parent`, `count`) VALUES\n(1, 1, 'category', '', 0, 1);\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_usermeta`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_usermeta` (\n`umeta_id` bigint(20) unsigned NOT NULL,\n  `user_id` bigint(20) unsigned NOT NULL DEFAULT '0',\n  `meta_key` varchar(255) DEFAULT NULL,\n  `meta_value` longtext\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=15 ;\n\n--\n-- Dumping data for table `wp_usermeta`\n--\n\nINSERT INTO `wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES\n(1, 1, 'first_name', ''),\n(2, 1, 'last_name', ''),\n(3, 1, 'nickname', 'admin'),\n(4, 1, 'description', ''),\n(5, 1, 'rich_editing', 'true'),\n(6, 1, 'comment_shortcuts', 'false'),\n(7, 1, 'admin_color', 'fresh'),\n(8, 1, 'use_ssl', '0'),\n(9, 1, 'show_admin_bar_front', 'true'),\n(10, 1, 'wp_capabilities', 'a:1:{s:13:\"administrator\";b:1;}'),\n(11, 1, 'wp_user_level', '10'),\n(12, 1, 'dismissed_wp_pointers', 'wp350_media,wp360_revisions,wp360_locks,wp390_widgets'),\n(13, 1, 'show_welcome_panel', '1'),\n(14, 1, 'wp_dashboard_quick_press_last_post_id', '3');\n\n-- --------------------------------------------------------\n\n--\n-- Table structure for table `wp_users`\n--\n\nCREATE TABLE IF NOT EXISTS `wp_users` (\n`ID` bigint(20) unsigned NOT NULL,\n  `user_login` varchar(60) NOT NULL DEFAULT '',\n  `user_pass` varchar(64) NOT NULL DEFAULT '',\n  `user_nicename` varchar(50) NOT NULL DEFAULT '',\n  `user_email` varchar(100) NOT NULL DEFAULT '',\n  `user_url` varchar(100) NOT NULL DEFAULT '',\n  `user_registered` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',\n  `user_activation_key` varchar(60) NOT NULL DEFAULT '',\n  `user_status` int(11) NOT NULL DEFAULT '0',\n  `display_name` varchar(250) NOT NULL DEFAULT ''\n) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;\n\n--\n-- Dumping data for table `wp_users`\n--\n\nINSERT INTO `wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES\n(1, 'admin', '$P$BMK/AgjgJl4oQcHOrSWUMtdp4Kj7Kv0', 'admin', 'projectcleverweb@gmail.com', '', '2014-09-06 02:11:42', '', 0, 'admin');\n\n--\n-- Indexes for dumped tables\n--\n\n--\n-- Indexes for table `wp_commentmeta`\n--\nALTER TABLE `wp_commentmeta`\n ADD PRIMARY KEY (`meta_id`), ADD KEY `comment_id` (`comment_id`), ADD KEY `meta_key` (`meta_key`);\n\n--\n-- Indexes for table `wp_comments`\n--\nALTER TABLE `wp_comments`\n ADD PRIMARY KEY (`comment_ID`), ADD KEY `comment_post_ID` (`comment_post_ID`), ADD KEY `comment_approved_date_gmt` (`comment_approved`,`comment_date_gmt`), ADD KEY `comment_date_gmt` (`comment_date_gmt`), ADD KEY `comment_parent` (`comment_parent`);\n\n--\n-- Indexes for table `wp_links`\n--\nALTER TABLE `wp_links`\n ADD PRIMARY KEY (`link_id`), ADD KEY `link_visible` (`link_visible`);\n\n--\n-- Indexes for table `wp_options`\n--\nALTER TABLE `wp_options`\n ADD PRIMARY KEY (`option_id`), ADD UNIQUE KEY `option_name` (`option_name`);\n\n--\n-- Indexes for table `wp_postmeta`\n--\nALTER TABLE `wp_postmeta`\n ADD PRIMARY KEY (`meta_id`), ADD KEY `post_id` (`post_id`), ADD KEY `meta_key` (`meta_key`);\n\n--\n-- Indexes for table `wp_posts`\n--\nALTER TABLE `wp_posts`\n ADD PRIMARY KEY (`ID`), ADD KEY `post_name` (`post_name`), ADD KEY `type_status_date` (`post_type`,`post_status`,`post_date`,`ID`), ADD KEY `post_parent` (`post_parent`), ADD KEY `post_author` (`post_author`);\n\n--\n-- Indexes for table `wp_terms`\n--\nALTER TABLE `wp_terms`\n ADD PRIMARY KEY (`term_id`), ADD UNIQUE KEY `slug` (`slug`), ADD KEY `name` (`name`);\n\n--\n-- Indexes for table `wp_term_relationships`\n--\nALTER TABLE `wp_term_relationships`\n ADD PRIMARY KEY (`object_id`,`term_taxonomy_id`), ADD KEY `term_taxonomy_id` (`term_taxonomy_id`);\n\n--\n-- Indexes for table `wp_term_taxonomy`\n--\nALTER TABLE `wp_term_taxonomy`\n ADD PRIMARY KEY (`term_taxonomy_id`), ADD UNIQUE KEY `term_id_taxonomy` (`term_id`,`taxonomy`), ADD KEY `taxonomy` (`taxonomy`);\n\n--\n-- Indexes for table `wp_usermeta`\n--\nALTER TABLE `wp_usermeta`\n ADD PRIMARY KEY (`umeta_id`), ADD KEY `user_id` (`user_id`), ADD KEY `meta_key` (`meta_key`);\n\n--\n-- Indexes for table `wp_users`\n--\nALTER TABLE `wp_users`\n ADD PRIMARY KEY (`ID`), ADD KEY `user_login_key` (`user_login`), ADD KEY `user_nicename` (`user_nicename`);\n\n--\n-- AUTO_INCREMENT for dumped tables\n--\n\n--\n-- AUTO_INCREMENT for table `wp_commentmeta`\n--\nALTER TABLE `wp_commentmeta`\nMODIFY `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT;\n--\n-- AUTO_INCREMENT for table `wp_comments`\n--\nALTER TABLE `wp_comments`\nMODIFY `comment_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;\n--\n-- AUTO_INCREMENT for table `wp_links`\n--\nALTER TABLE `wp_links`\nMODIFY `link_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT;\n--\n-- AUTO_INCREMENT for table `wp_options`\n--\nALTER TABLE `wp_options`\nMODIFY `option_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=131;\n--\n-- AUTO_INCREMENT for table `wp_postmeta`\n--\nALTER TABLE `wp_postmeta`\nMODIFY `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;\n--\n-- AUTO_INCREMENT for table `wp_posts`\n--\nALTER TABLE `wp_posts`\nMODIFY `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=4;\n--\n-- AUTO_INCREMENT for table `wp_terms`\n--\nALTER TABLE `wp_terms`\nMODIFY `term_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;\n--\n-- AUTO_INCREMENT for table `wp_term_taxonomy`\n--\nALTER TABLE `wp_term_taxonomy`\nMODIFY `term_taxonomy_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;\n--\n-- AUTO_INCREMENT for table `wp_usermeta`\n--\nALTER TABLE `wp_usermeta`\nMODIFY `umeta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=15;\n--\n-- AUTO_INCREMENT for table `wp_users`\n--\nALTER TABLE `wp_users`\nMODIFY `ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT,AUTO_INCREMENT=2;\n/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;\n/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;\n/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;\n"
  },
  {
    "path": "testing/tests/00_ConfigurationTest.php",
    "content": "<?php\n\n/**\n * @requires PHP 5.4\n * @requires PHPUnit 4\n */\nclass ConfigurationTest extends \\PHPUnit_Framework_TestCase {\n\t\n\t/**\n\t * @test\n\t */\n\tpublic function True() {\n\t\t$this->assertTrue(TRUE);\n\t}\n}\n"
  },
  {
    "path": "testing/wp-config.php",
    "content": "<?php\n\ndefine('DB_NAME', 'semantic');\ndefine('DB_USER', 'root');\ndefine('DB_PASSWORD', '');\ndefine('DB_HOST', 'localhost');\ndefine('DB_CHARSET', 'utf8');\ndefine('DB_COLLATE', '');\n\ndefine('AUTH_KEY',         '7UzOnWV3%f_&0C>!o|r{$+T0dLpR91`|!9)p<o;~&/+l<|CQJGM]wUxJr&ZhbxF&');\ndefine('SECURE_AUTH_KEY',  'JfwR=1lqPGeAxH3g1&~p,aK.+cKn%oC;6-u4 |T,)z<QyE@HO+b;`{?5p,dz1t0k');\ndefine('LOGGED_IN_KEY',    'uX:Wt>|$tr*nc~Tq#i7hzk8r$!lp-!{6NM`T:Vpt_2^}zWX<vhnEv6=$pk]|71Hy');\ndefine('NONCE_KEY',        'UmM3|fRT3X6 Y` A//9c2QW!SStu!tD)6xn$dj{),?z,+Nv9+yUI;b@9Fe+~Tbo ');\ndefine('AUTH_SALT',        'r1n3c7izyu`DDkCW^M4c 5uS9vv~R1BS-`T?B>4Ca6XLv: [pTkwTDa)x7*>xg6!');\ndefine('SECURE_AUTH_SALT', '0wOi4TdcJ:lSGEKB7pKQR:~ZG;|4D|CB3EDT,Mm+?WDRQF>6ZaU3oxoj-su!5ebz');\ndefine('LOGGED_IN_SALT',   'AJCX%~rC`h9YjLegg#|0+Jw|@nF,u)p|h;Rd<AR>_KQW,>NDWpb*IaAwT;6;rRTS');\ndefine('NONCE_SALT',       '|o<pvcFu`O[x>Jwv{G|+[2d]iBV0f25|ump kWM9HN^JJ%V0{%%//iCvI |{oucO');\n\n$table_prefix  = 'wp_';\n\ndefine('WPLANG', '');\n\ndefine('WP_DEBUG', FALSE);\n\nif (!defined('ABSPATH')) {\n\tdefine('ABSPATH', __DIR__.'/');\n}\n\nrequire_once(ABSPATH . 'wp-settings.php');\n"
  }
]